/* ============================================================ */
/* From: prototype-home-v0716.html */
/* ============================================================ */

:root {
  --ink: #0e0e0e;
  --ink-lift: #171717;
  --ink-deep: #080808;
  --cream: #e5e5e5;
  --cream-dim: #b0b0b0;
  --muted: #6a6a6a;
  --paper: #f0ebe0;
  --paper-ink: #141414;
  --paper-muted: #6e675c;
  --accent: #006241;
  --accent-bright: #008554;
  --accent-glow: rgba(20, 200, 122, 0.55);
  --line: rgba(255, 255, 255, 0.10);
  --paper-line: rgba(20, 20, 20, 0.12);
  --green-line: rgba(255, 255, 255, 0.18);
}

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

html, body {
  background: var(--ink);
  color: var(--cream);
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 300;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}

::selection { background: var(--accent); color: #fff; }

.container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; }

/* ============ NAV ============ */
nav.top {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 1.25rem 2rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  background: transparent;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, border-color 0.3s ease;
  border-bottom: 1px solid transparent;
}
nav.top > .brand { justify-self: start; }
nav.top > .menu-trigger { justify-self: center; }
nav.top > .nav-right { justify-self: end; }
nav.top.scrolled {
  background: rgba(14, 14, 14, 0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom-color: var(--line);
}
nav.top.on-paper {
  background: rgba(240, 235, 224, 0.75);
  border-bottom-color: var(--paper-line);
}
nav.top.on-paper .brand,
nav.top.on-paper .nav-link { color: var(--paper-ink); }
nav.top.on-paper .brand-dot { color: var(--accent); }
nav.top.on-paper .nav-menu-placeholder { color: var(--paper-muted); border-color: var(--paper-line); }
nav.top.on-green {
  background: rgba(8, 117, 80, 0.8);
  border-bottom-color: var(--green-line);
}
nav.top.on-green .nav-menu-placeholder { color: rgba(255,255,255,0.7); border-color: var(--green-line); }
.brand-logo { height: 40px; width: 40px; display: block; image-rendering: -webkit-optimize-contrast; }
.brand-logo-dark { display: none; }
nav.top.on-paper .brand-logo-light { display: none; }
nav.top.on-paper .brand-logo-dark { display: block; }
.nav-right { display: flex; gap: 1.5rem; align-items: center; }
.nav-link {
  color: var(--cream-dim);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.2s;
}
.nav-link:hover { color: var(--cream); }
.nav-pill {
  background: var(--accent);
  color: #fff;
  padding: 0.55rem 1.2rem;
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  transition: background 0.2s ease, transform 0.2s ease;
}
.nav-pill:hover { background: var(--accent-bright); transform: translateY(-1px); }
nav.top.on-green .nav-pill { background: #fff; color: var(--accent); }
nav.top.on-green .nav-pill:hover { background: var(--cream); }
.nav-menu-placeholder {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--muted);
  padding: 0.3rem 0.7rem;
  border: 1px dashed var(--line);
  border-radius: 4px;
  transition: color 0.3s ease, border-color 0.3s ease;
}

/* ============ SHARED SECTION PARTS ============ */
.section-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.section-label .dot {
  width: 7px; height: 7px;
  background: var(--accent-bright);
  border-radius: 50%;
  animation: pulse 2.2s ease-in-out infinite;
  box-shadow: 0 0 8px var(--accent-glow);
}
@keyframes pulse {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.4); }
}
.section-head {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  line-height: 1.03;
  letter-spacing: -0.02em;
  max-width: 22ch;
  margin-bottom: 4rem;
}
.section-head em { font-style: italic; color: var(--accent-bright); }

/* ============ HERO ============ */
.hero {
  min-height: 100vh;
  padding: 8rem 2rem 4rem;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 15% 25%, rgba(20, 200, 122, 0.09), transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(8, 117, 80, 0.06), transparent 50%);
  pointer-events: none;
}
.hero-inner { position: relative; max-width: 1400px; margin: 0 auto; width: 100%; }
.eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  color: var(--muted);
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 2rem;
  opacity: 0;
}
.eyebrow-dot {
  width: 7px; height: 7px;
  background: var(--accent-bright);
  border-radius: 50%;
  animation: pulse 2.2s ease-in-out infinite;
  box-shadow: 0 0 8px var(--accent-glow);
}
.hero h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-size: clamp(2.8rem, 8.5vw, 7.5rem);
  line-height: 0.9;
  letter-spacing: -0.025em;
  max-width: 14ch;
  margin-bottom: 2.5rem;
}
.hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.hero h1 .word { display: inline-block; transform: translateY(110%); will-change: transform; }
.hero h1 em { font-style: italic; color: var(--accent-bright); }
.hero .sub {
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  color: var(--cream-dim);
  max-width: 54ch;
  margin-bottom: 3rem;
  opacity: 0;
  font-weight: 300;
}
.hero-ctas { display: flex; gap: 1.5rem; align-items: center; opacity: 0; }
.btn-primary {
  background: var(--accent);
  color: #fff;
  padding: 0.9rem 1.75rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: background 0.2s ease, transform 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.btn-primary:hover { background: var(--accent-bright); transform: translateY(-2px); }
.btn-arrow { transition: transform 0.2s ease; display: inline-block; }
.btn-primary:hover .btn-arrow { transform: translateX(3px); }
.btn-ghost {
  color: var(--cream);
  text-decoration: none;
  font-size: 0.95rem;
  border-bottom: 1px solid var(--muted);
  padding-bottom: 3px;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.btn-ghost:hover { border-color: var(--accent-bright); color: var(--accent-bright); }
.scroll-cue {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--muted);
  letter-spacing: 0.2em;
  display: flex; flex-direction: column; align-items: center; gap: 0.7rem;
  opacity: 0;
}
.scroll-cue-line {
  width: 1px; height: 40px;
  background: linear-gradient(to bottom, var(--muted), transparent);
  animation: cueLine 2.5s ease-in-out infinite;
}
@keyframes cueLine {
  0% { transform: scaleY(0); transform-origin: top; }
  50% { transform: scaleY(1); transform-origin: top; }
  50.01% { transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}

/* ============ STUDIO VITALS ============ */
.vitals {
  background: var(--ink-deep);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 1rem 2rem;
  overflow-x: auto;
}
.vitals-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--cream-dim);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}
.vital { display: flex; align-items: center; gap: 0.6rem; }
.vital .label { color: var(--muted); }
.vital .val { color: var(--cream); }
.vital-dot {
  width: 6px; height: 6px;
  background: var(--accent-bright);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--accent-glow);
  animation: pulse 2.2s ease-in-out infinite;
}

/* ============ PROOF STRIP ============ */
.proof {
  padding: 5rem 2rem;
  border-bottom: 1px solid var(--line);
  background: var(--ink-lift);
}
.proof-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
}
.metric-num {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--cream);
  display: block;
  margin-bottom: 1rem;
}
.metric-num .plus { color: var(--accent-bright); font-style: italic; }
.metric-num .unit {
  font-size: 0.4em;
  color: var(--cream-dim);
  font-style: italic;
  vertical-align: baseline;
  margin-left: 0.15em;
}
.metric-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  line-height: 1.5;
}

/* ============ WORK HORIZONTAL ============ */
.work-horizontal { padding: 8rem 0 0; overflow: hidden; position: relative; }
.work-header-block { padding: 0 2rem 3rem; max-width: 1400px; margin: 0 auto; }
.work-scroll-hint { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; display: flex; align-items: center; gap: 0.5rem; }
.work-scroll-hint::after { content: '→'; color: var(--accent-bright); font-size: 1rem; animation: nudge 2s ease-in-out infinite; }
@keyframes nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(8px); } }
.work-pin-wrapper { height: 92vh; position: relative; }
.work-rail { display: flex; align-items: center; gap: 2.5rem; padding: 0 6vw 3vh; height: 100%; will-change: transform; }
.work-tile {
  flex-shrink: 0;
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  background-color: var(--ink-lift);
  background-size: cover;
  background-position: center;
  text-decoration: none;
  color: white;
  display: flex;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s ease, background-size 6s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}
.work-tile:hover { transform: translateY(-10px); box-shadow: 0 40px 90px rgba(0,0,0,0.55), 0 0 60px rgba(20, 200, 122, 0.18); background-size: 106%; }
.work-tile.h-a { width: 34vw; height: 70vh; }
.work-tile.h-b { width: 26vw; height: 60vh; align-self: flex-end; }
.work-tile.h-c { width: 32vw; height: 74vh; }
.work-tile.h-d { width: 38vw; height: 62vh; align-self: flex-end; }
.work-tile.h-e { width: 28vw; height: 66vh; }
.work-tile.h-f { width: 32vw; height: 60vh; align-self: flex-end; }
.work-tile::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.88) 100%);
  z-index: 1;
}
.work-tile:hover .work-tile-content { transform: translateY(-4px); }
.work-tile-content { transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1); position: relative; z-index: 2; padding: 2rem 2.25rem; margin-top: auto; width: 100%; }
.work-tile-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 1rem; }
.work-tile h3 { font-family: 'Playfair Display', serif; font-size: clamp(1.5rem, 2.2vw, 2.1rem); font-weight: 400; margin-bottom: 0.75rem; letter-spacing: -0.01em; color: white; line-height: 1.1; }
.work-tile p { color: rgba(255,255,255,0.88); font-size: 0.93rem; line-height: 1.5; }
.work-tile p em, .work-tile p .metric { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-weight: 500; }
.work-secondary { max-width: 1400px; margin: 5rem auto 0; padding: 3rem 2rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.tile-small { padding: 1.5rem; text-decoration: none; color: inherit; transition: background 0.3s ease, transform 0.4s ease; border-radius: 4px; display: block; }
.tile-small:hover { background: var(--ink-lift); transform: translateY(-4px); }
.tile-small .tile-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.6rem; }
.tile-small h4 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.25rem; margin-bottom: 0.4rem; letter-spacing: -0.01em; }
.tile-small h4 em { font-style: italic; color: var(--accent-bright); }
.tile-small p { color: var(--cream-dim); font-size: 0.9rem; line-height: 1.55; }
.work-tail { padding: 5rem 2rem 8rem; text-align: center; max-width: 900px; margin: 0 auto; }
.work-also { margin-top: 1.5rem; color: var(--muted); font-size: 0.9rem; line-height: 1.7; }

/* ============ DEEP CUT ============ */
.deep-cut {
  padding: 8rem 2rem;
  background: var(--ink-lift);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.deep-cut-inner { max-width: 1400px; margin: 0 auto; }
.deep-cut-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 6rem;
  align-items: start;
  margin-top: 2rem;
}
.deep-cut-story { position: sticky; top: 7rem; }
.deep-cut-name {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  font-style: italic;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 0.75rem;
  color: var(--cream);
}
.deep-cut-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 2rem;
}
.deep-cut-block {
  padding: 1.5rem 0;
  border-top: 1px solid var(--line);
}
.deep-cut-block:last-child { border-bottom: 1px solid var(--line); }
.deep-cut-block h4 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--accent-bright);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 0.75rem;
}
.deep-cut-block p { color: var(--cream-dim); font-size: 1rem; line-height: 1.6; }
.deep-cut-results {
  list-style: none;
  padding: 0;
}
.deep-cut-results li {
  color: var(--cream);
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--line);
}
.deep-cut-results li:last-child { border-bottom: none; }
.deep-cut-results li em { color: var(--accent-bright); font-style: italic; font-weight: 500; }
.deep-cut-cta { margin-top: 2rem; }
.deep-cut-visuals { display: grid; gap: 3rem; }

.browser-mock {
  border-radius: 8px;
  overflow: hidden;
  background: var(--ink-deep);
  box-shadow: 0 30px 80px rgba(0,0,0,0.6);
  border: 1px solid var(--line);
}
.browser-chrome {
  height: 36px;
  background: #1a1a1a;
  display: flex;
  align-items: center;
  padding: 0 1rem;
  gap: 0.5rem;
  border-bottom: 1px solid var(--line);
}
.browser-dot { width: 12px; height: 12px; border-radius: 50%; }
.browser-dot.r { background: #ff5f57; }
.browser-dot.y { background: #febc2e; }
.browser-dot.g { background: #28c840; }
.browser-url {
  margin: 0 auto;
  padding: 0.3rem 1rem;
  background: rgba(255,255,255,0.05);
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--cream-dim);
  flex: 1;
  text-align: center;
  max-width: 400px;
}
.browser-content.real::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 70%, rgba(0,0,0,0.7));
  pointer-events: none;
}
.browser-content::after {
  content: attr(data-caption);
  position: absolute;
  bottom: 1rem; left: 1rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.65rem;
  color: rgba(255,255,255,0.9);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  z-index: 2;
  background: rgba(0,0,0,0.5);
  padding: 0.4rem 0.7rem;
  border-radius: 3px;
  backdrop-filter: blur(8px);
}

/* ============ TESTIMONIAL FEATURE ============ */
.testimonial-feature { padding: 8rem 2rem; background: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.testimonial-inner { max-width: 1400px; margin: 0 auto; }
.testimonial-hero {
  display: grid; grid-template-columns: 1fr 4fr; gap: 3rem;
  align-items: start; margin-bottom: 6rem; padding-bottom: 6rem;
  border-bottom: 1px solid var(--line);
}
.quote-mark { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(6rem, 12vw, 12rem); line-height: 0.7; color: var(--accent-bright); opacity: 0.5; }
.hero-quote {
  font-family: 'Playfair Display', serif; font-weight: 400;
  font-size: clamp(1.7rem, 3.5vw, 3rem);
  line-height: 1.2; letter-spacing: -0.015em; margin-bottom: 2.5rem;
}
.hero-quote em { font-style: italic; color: var(--accent-bright); }
.attribution { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--cream-dim); letter-spacing: 0.05em; }
.attribution strong { color: var(--cream); font-weight: 500; }
.attribution .divider { color: var(--muted); margin: 0 0.5rem; }
.testimonials-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; }
.testimonial-card { border-left: 1px solid var(--line); padding-left: 2rem; }
.testimonial-card:first-child { border-left: none; padding-left: 0; }
.testimonial-card p { margin-bottom: 1.5rem; color: var(--cream); }
.testimonial-card p:not(.attribution) { font-family: 'Inter', sans-serif; font-weight: 300; font-size: 1.05rem; line-height: 1.65; color: var(--cream-dim); }
.testimonial-card p:not(.attribution) em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); font-size: 1.15em; position: relative; top: -1px; }
.testimonial-card .attribution { font-size: 0.75rem; }

/* ============ MANIFESTO (CREAM) ============ */
.manifesto {
  padding: 12rem 2rem;
  background: var(--paper);
  color: var(--paper-ink);
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 90vh;
  position: relative;
  border-top: 1px solid var(--paper-line);
  border-bottom: 1px solid var(--paper-line);
}
.manifesto-inner { max-width: 22ch; }
.manifesto-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--paper-muted); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 3rem; display: flex; align-items: center; justify-content: center; gap: 0.75rem; }
.manifesto-eyebrow .line { display: inline-block; width: 40px; height: 1px; background: var(--paper-muted); }
.manifesto h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6.5vw, 5.5rem); line-height: 1.05; letter-spacing: -0.02em; color: var(--paper-ink); margin-bottom: 3rem; }
.manifesto h2 em { font-style: italic; color: var(--accent); }
.manifesto-attribution { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--paper-muted); letter-spacing: 0.15em; text-transform: uppercase; }

/* ============ WHAT WE WON'T DO ============ */
.wont-do { padding: 8rem 2rem; background: var(--ink); border-top: 1px solid var(--line); }
.wont-inner { max-width: 1400px; margin: 0 auto; }
.wont-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 5rem;
  margin-top: 2rem;
}
.wont-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2rem;
  align-items: baseline;
  padding: 1.75rem 0;
  border-bottom: 1px solid var(--line);
}
.wont-strike {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 400;
  color: var(--cream);
  position: relative;
  padding: 0 0.4rem;
  white-space: nowrap;
}
.wont-strike::after {
  content: '';
  position: absolute;
  left: -0.1em; right: -0.1em; top: 50%;
  height: 3px;
  background: var(--accent-bright);
  transform: rotate(-3deg);
}
.wont-body { color: var(--cream-dim); font-size: 0.95rem; }

/* ============ SERVICES ============ */
.services { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.services-inner { max-width: 1400px; margin: 0 auto; }
.services-list { margin-top: 2rem; }
.service-item {
  padding: 3rem 2rem;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 90px 1fr 1.3fr;
  gap: 3rem;
  align-items: start;
  text-decoration: none;
  color: inherit;
  transition: background 0.4s ease;
  position: relative;
  overflow: hidden;
}
.service-item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 15% 30%, rgba(20, 200, 122, 0.09), transparent 60%);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.service-item:hover { background: var(--ink); }
.service-item:hover::before { opacity: 1; }
.service-item:last-child { border-bottom: 1px solid var(--line); }
.service-num {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 3rem;
  color: var(--accent-bright);
  line-height: 0.9;
  transition: transform 0.4s ease;
  position: relative;
  z-index: 2;
}
.service-item:hover .service-num { transform: translateX(-4px); }
.service-body { position: relative; z-index: 2; }
.service-body h3 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 400;
  margin-bottom: 1rem;
  letter-spacing: -0.01em;
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  transition: color 0.3s ease;
}
.service-arrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1rem;
  color: var(--muted);
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.4s ease, transform 0.4s ease, color 0.3s ease;
}
.service-item:hover .service-body h3 { color: var(--accent-bright); }
.service-item:hover .service-arrow { opacity: 1; transform: translateX(0); color: var(--accent-bright); }
.service-body p { color: var(--cream-dim); font-size: 1rem; line-height: 1.6; }
.service-capabilities { position: relative; z-index: 2; display: grid; gap: 0.65rem; padding-top: 0.75rem; list-style: none; }
.service-capability {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  color: var(--cream-dim);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: block;
  position: relative;
  padding-left: 1.5em;
  cursor: pointer;
  transition: color 0.3s ease, transform 0.4s ease;
}
.service-capability::before {
  content: '+';
  position: absolute;
  left: 0;
  color: var(--accent-bright);
  font-weight: 500;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.service-capability::after {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--accent-bright);
  font-weight: 500;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
/* Pillar hover: staggered cascade of all capabilities */
.service-item:hover .service-capability { transform: translateX(5px); color: var(--cream); }
.service-item:hover .service-capability:nth-child(1) { transition-delay: 0s; }
.service-item:hover .service-capability:nth-child(2) { transition-delay: 0.04s; }
.service-item:hover .service-capability:nth-child(3) { transition-delay: 0.08s; }
.service-item:hover .service-capability:nth-child(4) { transition-delay: 0.12s; }
.service-item:hover .service-capability:nth-child(5) { transition-delay: 0.16s; }
/* Individual capability hover: text green + arrow swap in */
.service-item:hover .service-capability:hover { color: var(--accent-bright); }
.service-item:hover .service-capability:hover::before { opacity: 0; }
.service-item:hover .service-capability:hover::after { opacity: 1; transform: translateX(0); }

/* ============ MARKETS ============ */
.markets { padding: 8rem 2rem; background: var(--ink); }
.markets-inner { max-width: 1400px; margin: 0 auto; }
.market-item {
  padding: 2.5rem 0;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 60px 1fr auto;
  gap: 3rem;
  align-items: baseline;
  transition: background 0.3s ease, padding 0.3s ease;
  cursor: default;
}
.market-item:hover { background: var(--ink-lift); padding-left: 1.5rem; padding-right: 1.5rem; }
.market-item:last-child { border-bottom: 1px solid var(--line); }
.market-num {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  color: var(--muted);
  font-size: 1.3rem;
}
.market-name {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 400;
  letter-spacing: -0.01em;
  margin-bottom: 0.5rem;
  transition: color 0.3s ease, font-style 0.3s ease;
}
.market-item:hover .market-name { color: var(--accent-bright); font-style: italic; }
.market-item:hover .market-num { color: var(--accent-bright); }
.market-desc { color: var(--cream-dim); font-size: 0.98rem; max-width: 55ch; }
.market-clients-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--cream-dim);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  border: 1px solid var(--accent);
  padding: 0.5rem 1rem;
  border-radius: 999px;
  flex-wrap: wrap;
  max-width: 360px;
  justify-content: center;
}
.market-client {
  color: var(--accent-bright);
  text-decoration: none;
  transition: color 0.25s ease;
  white-space: nowrap;
}
.market-client:hover { color: #fff; }
.market-client-sep { color: var(--muted); opacity: 0.6; }

/* ============ APPROACH / PRINCIPLES ============ */
.approach { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.approach-inner { max-width: 1400px; margin: 0 auto; }
.principles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem 5rem; margin-top: 2rem; }
.principle { display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: baseline; }
.principle .principle-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 3rem; font-weight: 400; color: var(--accent-bright); line-height: 1; min-width: 3rem; }
.principle-body h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.6rem; margin-bottom: 0.75rem; letter-spacing: -0.01em; }
.principle-body p { color: var(--cream-dim); font-size: 0.98rem; line-height: 1.6; }

/* ============ STUDIO / TEAM ============ */
.studio { padding: 8rem 2rem; background: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.studio-inner { max-width: 1400px; margin: 0 auto; }
.studio-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; margin-bottom: 5rem; align-items: end; }
.studio-intro p { font-size: 1.05rem; color: var(--cream-dim); line-height: 1.7; }
.studio-intro p + p { margin-top: 1.25rem; }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem 2.5rem; }
.team-tail { margin-top: 3rem; text-align: center; }
.team-card { padding-top: 2rem; border-top: 1px solid var(--line); }
.team-avatar { aspect-ratio: 1; width: 100%; border-radius: 4px; background: var(--ink-lift); margin-bottom: 1.5rem; position: relative; overflow: hidden; }
.team-avatar::before { content: attr(data-initial); position: absolute; inset: 0; display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 5rem; color: var(--muted); }
.team-avatar.a1 { background: radial-gradient(circle at 30% 30%, rgba(20, 200, 122,0.25), transparent 60%), var(--ink-lift); }
.team-avatar.a2 { background: radial-gradient(circle at 70% 40%, rgba(180,180,180,0.12), transparent 60%), var(--ink-lift); }
.team-avatar.a3 { background: radial-gradient(circle at 50% 60%, rgba(8, 117, 80,0.2), transparent 60%), var(--ink-lift); }
.team-avatar.a4 { background: radial-gradient(circle at 40% 40%, rgba(180,180,180,0.08), transparent 60%), var(--ink-lift); }
.team-avatar.a5 { background: radial-gradient(circle at 60% 30%, rgba(20, 200, 122,0.18), transparent 60%), var(--ink-lift); }
.team-avatar.a6 { background: radial-gradient(circle at 50% 50%, rgba(8, 117, 80,0.28), transparent 60%), var(--ink-lift); }
.team-name { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.5rem; margin-bottom: 0.25rem; }
.team-role { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1rem; }
.team-bio { font-size: 0.9rem; color: var(--cream-dim); line-height: 1.55; }

/* ============ FOUNDER NOTE ============ */
.founder { padding: 10rem 2rem; background: var(--ink); }
.founder-inner {
  max-width: 720px;
  margin-left: max(2rem, 15vw);
  position: relative;
}
.founder-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 3rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.founder-eyebrow .line { display: inline-block; width: 40px; height: 1px; background: var(--muted); }
.founder-letter p {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 1.5rem;
  color: var(--cream);
}
.founder-letter p em { font-style: italic; color: var(--accent-bright); }
.founder-signature {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 2.4rem;
  color: var(--accent-bright);
  margin-top: 2.5rem;
  display: block;
}
.founder-signature small {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--muted);
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-top: 0.5rem;
}

/* ============ PROCESS ============ */
.process { padding: 8rem 2rem; background: var(--ink); border-top: 1px solid var(--line); }
.process-inner { max-width: 1100px; margin: 0 auto; }
.process-list { display: grid; gap: 0; position: relative; margin-top: 2rem; }
.process-step {
  display: grid;
  grid-template-columns: 100px 1fr 140px;
  gap: 2rem;
  padding: 2.5rem 0;
  border-top: 1px solid var(--line);
  position: relative;
  align-items: baseline;
}
.process-step:last-child { border-bottom: none; }
.process-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 2rem; color: var(--accent-bright); line-height: 1; }
.process-body h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.7rem; margin-bottom: 0.5rem; letter-spacing: -0.01em; }
.process-body p { color: var(--cream-dim); font-size: 0.95rem; max-width: 55ch; }
.process-duration { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; text-align: right; padding-top: 0.6rem; }
.process-total { margin-top: 2rem; padding: 1.5rem 0; display: flex; justify-content: space-between; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.process-total .total-num { color: var(--accent-bright); }

/* ============ STACK (GREEN) ============ */
.stack {
  padding: 10rem 2rem;
  background: var(--accent);
  color: #fff;
  border-top: 1px solid var(--green-line);
  border-bottom: 1px solid var(--green-line);
}
.stack-inner { max-width: 1400px; margin: 0 auto; }
.stack .section-label { color: rgba(255,255,255,0.65); }
.stack .section-label .dot { background: #fff; box-shadow: 0 0 8px rgba(255,255,255,0.5); }
.stack .section-head { color: #fff; }
.stack .section-head em { color: rgba(255,255,255,0.75); font-style: italic; }
.stack-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.stack-tool {
  padding: 2.5rem 1.5rem;
  border: 1px solid var(--green-line);
  border-radius: 4px;
  text-align: center;
  transition: background 0.3s ease, transform 0.3s ease;
  background: rgba(0,0,0,0.05);
}
.stack-tool:hover { background: rgba(255,255,255,0.06); transform: translateY(-4px); }
.stack-tool-name { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 400; margin-bottom: 0.5rem; }
.stack-tool-role { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.15em; }
.stack-footer {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--green-line);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.75);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* ============ CLIENTS ============ */
.clients { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.clients-inner { max-width: 1400px; margin: 0 auto; }
.logo-wall { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 3rem; }
.logo-cell { aspect-ratio: 3/1.5; background: var(--ink); display: grid; place-items: center; font-family: 'Playfair Display', serif; font-size: 1.05rem; color: var(--cream-dim); transition: color 0.3s ease, background 0.3s ease; cursor: default; text-align: center; padding: 1rem; letter-spacing: -0.01em; }
.logo-cell:hover { color: var(--accent-bright); background: var(--ink-deep); }

/* ============ COMPARISON ============ */
.comparison { padding: 8rem 2rem; background: var(--ink); }
.comparison-inner { max-width: 1200px; margin: 0 auto; }
.comparison-table {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.comp-cell {
  padding: 1.5rem 1.5rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 0.92rem;
  color: var(--cream-dim);
  display: flex;
  align-items: center;
}
.comp-cell.header {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  padding: 2rem 1.5rem;
  color: var(--cream);
  font-weight: 400;
}
.comp-cell.mb {
  background: var(--ink-lift);
  color: var(--cream);
  border-left: 1px solid var(--accent-bright);
  border-right: 1px solid var(--accent-bright);
  margin-left: -1px;
}
.comp-cell.mb.header {
  border-top: 2px solid var(--accent-bright);
  color: var(--accent-bright);
  font-style: italic;
}
.comp-cell.mb.bottom { border-bottom: 2px solid var(--accent-bright); }
.comp-cell.label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  background: var(--ink);
}

/* ============ FAQ (homepage section) ============ */
/* Restored 2026-07-19 — the earlier deletion was over-broad. FAQ-page rules
   at line ~4000 only target details/summary/[open] children (which don't
   exist here), so there's no actual conflict. Scoped to section.faq to
   guarantee no bleed onto the FAQ page's .faq-body accordion. */
section.faq { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); }
section.faq .faq-inner { max-width: 1000px; margin: 0 auto; }
section.faq .faq-list { display: grid; gap: 0; margin-top: 2rem; }
section.faq .faq-item { padding: 2.5rem 0; border-top: 1px solid var(--line); border-bottom: none; display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; }
section.faq .faq-item:last-child { border-bottom: 1px solid var(--line); }
section.faq .faq-q { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.4rem; letter-spacing: -0.01em; line-height: 1.25; color: var(--cream); }
section.faq .faq-q em { font-style: italic; color: var(--accent-bright); }
section.faq .faq-a { color: var(--cream-dim); font-size: 0.98rem; line-height: 1.65; }
@media (max-width: 768px) {
	section.faq .faq-item { grid-template-columns: 1fr; gap: 1rem; }
}

/* ============ CTA BRIDGE ============ */
.cta-bridge { min-height: 80vh; padding: 8rem 2rem; display: grid; place-items: center; text-align: center; border-top: 1px solid var(--line); position: relative; overflow: hidden; background: var(--ink); }
.cta-bridge-bg { position: absolute; inset: 0; background: radial-gradient(circle at 50% 60%, rgba(20, 200, 122, 0.14), transparent 55%); pointer-events: none; }
.cta-bridge-inner { position: relative; max-width: 60ch; }
.cta-bridge h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.4rem, 6vw, 5rem); line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 1.5rem; }
.cta-bridge h2 em { font-style: italic; color: var(--accent-bright); }
.cta-bridge p { color: var(--cream-dim); margin-bottom: 2.5rem; font-size: 1.05rem; }
.availability { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.2em; margin-top: 3rem; display: flex; gap: 0.75rem; justify-content: center; align-items: center; }

/* ============ WORDMARK + FOOTER ============ */
.wordmark { padding: 10rem 2rem 5rem; overflow: hidden; border-top: 1px solid var(--line); }
.wordmark-inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: center; align-items: baseline; gap: clamp(0.5rem, 2vw, 1.5rem); flex-wrap: nowrap; }
.wordmark-word { display: flex; overflow: hidden; padding: 0.15em 0; }
.wordmark-letter { font-family: 'Playfair Display', serif; font-weight: 400; font-style: italic; font-size: clamp(4rem, 16vw, 15rem); line-height: 0.85; letter-spacing: -0.04em; display: inline-block; transform: translateY(110%); will-change: transform; }
.wordmark-word:nth-child(2) .wordmark-letter { font-style: normal; color: var(--cream); }
.wordmark-dot { display: inline-block; width: 0.18em; height: 0.18em; background: var(--accent-bright); border-radius: 50%; align-self: flex-end; margin-bottom: 0.35em; transform: scale(0); will-change: transform; }

footer { padding: 4rem 2rem 2rem; border-top: 1px solid var(--line); background: var(--ink); }
.footer-inner { max-width: 1400px; margin: 0 auto; display: grid; gap: 5rem; }
.prompt { display: grid; gap: 2rem; }
.prompt-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--muted); font-weight: 500; }
.prompt-field { position: relative; border-bottom: 1px solid var(--cream); padding-bottom: 1rem; display: flex; align-items: baseline; gap: 1rem; transition: border-color 0.25s ease; }
.prompt-field:focus-within { border-color: var(--accent-bright); }
.prompt-prefix { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.6rem, 4vw, 3rem); color: var(--cream); white-space: nowrap; flex-shrink: 0; }
.prompt-input { flex: 1; background: transparent; border: none; outline: none; color: var(--cream); font-family: 'Playfair Display', serif; font-size: clamp(1.6rem, 4vw, 3rem); font-weight: 400; min-width: 0; }
.prompt-input::placeholder { color: var(--muted); font-style: italic; }
.prompt-submit { flex-shrink: 0; background: var(--accent); color: #fff; border: none; padding: 0.65rem 1.5rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; cursor: pointer; transition: transform 0.2s ease, background 0.2s ease; align-self: center; }
.prompt-submit:hover { transform: translateY(-2px); background: var(--accent-bright); }
.prompt-hint { font-size: 0.8rem; color: var(--muted); display: flex; gap: 1.5rem; flex-wrap: wrap; }
.prompt-hint kbd { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; background: rgba(255,255,255,0.06); padding: 0.15rem 0.4rem; border-radius: 4px; margin-right: 0.4rem; color: var(--cream-dim); }
.map { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3rem; padding-top: 4rem; border-top: 1px solid var(--line); }
.map-column h3 { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; font-size: 1.35rem; color: var(--accent-bright); margin-bottom: 1.5rem; letter-spacing: -0.01em; }
.map-column ul { list-style: none; display: grid; gap: 0.7rem; }
.map-column a { color: var(--cream); text-decoration: none; font-size: 0.95rem; transition: color 0.2s ease, transform 0.2s ease; display: inline-block; }
.map-column a:hover { color: var(--accent-bright); transform: translateX(4px); }
.map-column .all-link { margin-top: 0.75rem; padding-top: 0.85rem; border-top: 1px solid var(--line); font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--accent-bright); }
.recent-item { display: flex; align-items: baseline; gap: 0.75rem; }
.recent-dot { width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; flex-shrink: 0; animation: pulse 2s ease-in-out infinite; }
.recent-meta { display: block; font-size: 0.75rem; color: var(--muted); margin-top: 0.25rem; }

/* ==== FOOTER: CURRENTLY STRIP ==== */
.footer-currently { padding: 2.5rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; }
.footer-currently-item { display: flex; flex-direction: column; gap: 0.4rem; }
.footer-currently-item .label { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.footer-currently-item .val { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.05rem; color: var(--cream); line-height: 1.3; }
.footer-currently-item .val em { color: var(--accent-bright); font-style: italic; }
.footer-currently-item .val.with-dot { display: flex; align-items: center; gap: 0.5rem; }
.footer-currently-item .val.with-dot::before { content: ''; width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 8px var(--accent-glow); animation: pulse 2.2s ease-in-out infinite; }

/* ==== FOOTER: NEWSLETTER MINI ==== */
.footer-newsletter { padding: 2.5rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; align-items: center; }
.footer-newsletter-copy .label { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.5rem; display: block; }
.footer-newsletter-copy h4 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.5rem; letter-spacing: -0.01em; line-height: 1.15; }
.footer-newsletter-copy h4 em { font-style: italic; color: var(--accent-bright); }
.footer-newsletter-form { display: flex; align-items: center; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 1px solid var(--cream); transition: border-color 0.25s ease; }
.footer-newsletter-form:focus-within { border-color: var(--accent-bright); }
.footer-newsletter-input { flex: 1; background: transparent; border: none; outline: none; color: var(--cream); font-family: 'Inter', sans-serif; font-weight: 300; font-size: 1.05rem; padding: 0.35rem 0; min-width: 0; }
.footer-newsletter-input::placeholder { color: var(--muted); font-style: normal; }
.footer-newsletter-submit { background: var(--accent); color: #fff; border: none; padding: 0.55rem 1.1rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.8rem; cursor: pointer; transition: background 0.2s, transform 0.2s; white-space: nowrap; }
.footer-newsletter-submit:hover { background: var(--accent-bright); transform: translateY(-2px); }

@media (max-width: 900px) {
  .map { grid-template-columns: repeat(2, 1fr); gap: 2.5rem; }
  .footer-currently { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .footer-newsletter { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 600px) {
  .map { grid-template-columns: 1fr; gap: 2rem; }
  .footer-currently { grid-template-columns: 1fr; }
}
.colophon { padding-top: 3rem; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; align-items: center; font-size: 0.8rem; color: var(--muted); }
.colophon-left { font-style: italic; font-family: 'Playfair Display', serif; font-size: 0.95rem; color: var(--cream-dim); }
.signals { display: flex; gap: 1.25rem; font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; }
.signal { display: flex; align-items: center; gap: 0.4rem; color: var(--cream-dim); }
.signal-dot { width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 8px var(--accent-glow); }
.colophon-right { text-align: right; display: flex; justify-content: flex-end; gap: 1.5rem; }
.colophon-right a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.colophon-right a:hover { color: var(--cream); }

/* ============ MENU TRIGGER ============ */
.menu-trigger { display: inline-flex; align-items: center; gap: 0.6rem; background: transparent; border: none; padding: 0.4rem 0.9rem; cursor: pointer; color: var(--cream); font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.15em; transition: color 0.3s ease; }
.menu-trigger-text { position: relative; }
.menu-trigger-text::after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 0.4s cubic-bezier(0.6, 0, 0.4, 1); }
.menu-trigger:hover .menu-trigger-text::after { transform: scaleX(1); transform-origin: left; }
nav.top.on-paper .menu-trigger { color: var(--paper-ink); }

/* ============ MENU OVERLAY ============ */
.mb-menu {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: var(--paper);
  color: var(--paper-ink);
  clip-path: inset(100% 0 0 0);
  pointer-events: none;
  overflow-y: auto;
}
.mb-menu.open { pointer-events: auto; }
.mb-menu-inner {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 6rem;
  padding: 6rem 3rem 3rem;
  min-height: 100vh;
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
}
.mb-menu-primary { display: flex; flex-direction: column; gap: 0.5rem; }
.mb-menu-block { padding: 0.4rem 0; }
.mb-menu-item {
  display: grid;
  grid-template-columns: 60px 1fr auto;
  align-items: baseline;
  gap: 2rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--paper-line);
  text-decoration: none;
  color: var(--paper-ink);
  transition: padding 0.3s ease;
}
.mb-menu-item:hover { padding-left: 1rem; }
.mb-menu-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.8rem;
  color: var(--paper-muted);
  transition: color 0.3s ease;
}
.mb-menu-item:hover .mb-menu-num { color: var(--accent); }
.mb-menu-label {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.5rem, 5.5vw, 4.8rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
  transition: color 0.3s ease, font-style 0.3s ease;
}
.mb-menu-item:hover .mb-menu-label {
  color: var(--accent);
  font-style: italic;
}
.mb-menu-arrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.4rem;
  color: var(--paper-muted);
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease, color 0.3s ease;
}
.mb-menu-item:hover .mb-menu-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--accent);
}
.mb-menu-sub {
  padding-left: 6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-top: 0.5rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  color: var(--paper-muted);
}
.mb-menu-sub a {
  color: var(--paper-muted);
  text-decoration: none;
  transition: color 0.2s ease;
}
.mb-menu-sub a::before { content: '+ '; color: var(--accent); }
.mb-menu-sub a:hover { color: var(--accent); }

.mb-menu-side {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  align-self: end;
  padding-bottom: 1rem;
}
.mb-menu-featured { display: block; text-decoration: none; color: inherit; }
.mb-menu-featured:hover { text-decoration: none; }
.mb-menu-featured-image {
  aspect-ratio: 4/3;
  border-radius: 4px;
  overflow: hidden;
  background-color: var(--ink-lift);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 1.5rem;
}
.mb-menu-featured-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--paper-muted);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.mb-menu-featured-label::before {
  content: '';
  width: 7px; height: 7px;
  background: var(--accent);
  border-radius: 50%;
  animation: pulse 2.2s ease-in-out infinite;
  box-shadow: 0 0 8px rgba(8, 117, 80, 0.5);
}
.mb-menu-featured-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.7rem;
  font-weight: 400;
  font-style: normal;
  letter-spacing: -0.01em;
  color: var(--paper-ink);
  margin-bottom: 0.5rem;
  line-height: 1.15;
}
.mb-menu-featured-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--paper-muted);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.mb-menu-cta {
  padding: 2rem 0;
  border-top: 1px solid var(--paper-line);
  border-bottom: 1px solid var(--paper-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.mb-menu-cta-head {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  font-style: italic;
  margin-bottom: 0;
  color: var(--paper-ink);
}
.mb-menu-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--accent);
  color: #fff;
  padding: 0.9rem 1.75rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: background 0.2s ease, transform 0.2s ease;
}
.mb-menu-cta-btn:hover { background: var(--accent-bright); transform: translateY(-2px); }
.mb-menu-contact { display: flex; flex-direction: column; gap: 0.75rem; font-size: 0.9rem; }
.mb-menu-contact-row { display: flex; align-items: baseline; gap: 1rem; }
.mb-menu-contact-row strong {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  color: var(--paper-muted);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 500;
  min-width: 80px;
}
.mb-menu-contact-row a, .mb-menu-contact-row span { color: var(--paper-ink); text-decoration: none; transition: color 0.2s ease; }
.mb-menu-contact-row a:hover { color: var(--accent); }

.mb-menu-footer {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2.5rem;
  margin-top: 2rem;
  border-top: 1px solid var(--paper-line);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: var(--paper-muted);
  text-transform: uppercase;
  letter-spacing: 0.15em;
}
.mb-menu-socials { display: flex; gap: 1.75rem; }
.mb-menu-socials a { color: var(--paper-muted); text-decoration: none; transition: color 0.2s ease; }
.mb-menu-socials a:hover { color: var(--accent); }

.mb-menu-close {
  position: fixed;
  top: 1.5rem; right: 1.5rem;
  z-index: 250;
  background: var(--paper-ink);
  border: none;
  color: var(--paper);
  padding: 0.75rem 1.3rem;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.7);
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.5, 0, 0.3, 1.4), background 0.25s ease;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}
.mb-menu-close .close-x {
  font-family: 'Inter', sans-serif;
  font-size: 1.2rem;
  line-height: 1;
  display: inline-block;
  transition: transform 0.4s ease;
}
.mb-menu-close:hover { background: var(--accent); }
.mb-menu-close:hover .close-x { transform: rotate(90deg); }
body.menu-open .mb-menu-close {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
  transition-delay: 0.35s, 0.35s, 0s;
}

body.menu-open { overflow: hidden; }

@media (max-width: 900px) {
  .mb-menu-inner { grid-template-columns: 1fr; gap: 3rem; padding: 5rem 1.5rem 2rem; }
  .mb-menu-side { align-self: start; }
  .mb-menu-featured-image { aspect-ratio: 16/9; }
  .mb-menu-item { grid-template-columns: 40px 1fr auto; gap: 1rem; }
  .mb-menu-sub { padding-left: 3rem; }
  .mb-menu-footer { flex-direction: column; gap: 1.25rem; align-items: flex-start; }
  .mb-menu-close { top: 1rem; right: 1.25rem; padding: 0.55rem 0.85rem; gap: 0; }
  .mb-menu-close .close-label { display: none; }
  .mb-menu-close .close-x { font-size: 1.5rem; }
}

/* ============ MARQUEE ============ */
.marquee {
  overflow: hidden;
  padding: 3rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin: 4rem 0;
}
/* Orphaned .marquee-track block from an older prototype removed 2026-07-19 — was overriding the About-page marquee. See feedback-mb-css-concat-dupes. */

/* ============ CUSTOM CURSOR ============ */
.mb-cursor-outer, .mb-cursor-inner {
  position: fixed;
  top: 0; left: 0;
  pointer-events: none;
  z-index: 9999;
  border-radius: 50%;
  will-change: transform;
}
.mb-cursor-outer {
  width: 36px; height: 36px;
  border: 1.5px solid var(--accent-bright);
  background: transparent;
  transition: width 0.35s ease, height 0.35s ease, background 0.35s ease, border-color 0.35s ease;
}
.mb-cursor-outer.hover { width: 64px; height: 64px; background: rgba(20, 200, 122, 0.12); }
.mb-cursor-outer.hover-tile { width: 88px; height: 88px; background: rgba(20, 200, 122, 0.2); border-width: 2px; }
.mb-cursor-inner {
  width: 6px; height: 6px;
  background: var(--accent-bright);
}
.mb-cursor-outer.on-paper { border-color: var(--paper-ink); background: rgba(20, 20, 20, 0.08); }
.mb-cursor-outer.on-paper.hover { background: rgba(20, 20, 20, 0.15); }
.mb-cursor-inner.on-paper { background: var(--paper-ink); }

@media (hover: hover) and (pointer: fine) {
  html, body { cursor: none; }
  a, button, .work-tile, .logo-cell, .brand, .nav-link, .nav-pill, .btn-primary, .btn-ghost, .market-item, .team-card, .principle, .service-item, .process-step, .faq-item, .stack-tool, .browser-mock, .prompt-field { cursor: none; }
  .prompt-input, input[type="text"], textarea { cursor: text; }
}
@media (hover: none), (pointer: coarse) {
  .mb-cursor-outer, .mb-cursor-inner { display: none; }
}

/* ============ FILM GRAIN ============ */
body::after {
  content: '';
  position: fixed;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  pointer-events: none;
  z-index: 9998;
  opacity: 0.05;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  animation: grain 8s steps(10) infinite;
  mix-blend-mode: overlay;
}
@keyframes grain {
  0%, 100% { transform: translate(0, 0); }
  10% { transform: translate(-5%, -10%); }
  20% { transform: translate(-15%, 5%); }
  30% { transform: translate(7%, -25%); }
  40% { transform: translate(-5%, 25%); }
  50% { transform: translate(-15%, 10%); }
  60% { transform: translate(15%, 0%); }
  70% { transform: translate(0%, 15%); }
  80% { transform: translate(3%, 35%); }
  90% { transform: translate(-10%, 10%); }
}
@media (prefers-reduced-motion: reduce) {
  body::after { display: none; }
}

/* ============ MOBILE ============ */
@media (max-width: 900px) {
  .work-horizontal { padding: 5rem 0 0; }
  .work-pin-wrapper { height: auto; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; }
  .work-pin-wrapper::-webkit-scrollbar { display: none; }
  .work-rail { padding: 2rem 5vw; gap: 1.25rem; height: auto; align-items: stretch; }
  .work-tile.h-a, .work-tile.h-b, .work-tile.h-c, .work-tile.h-d, .work-tile.h-e, .work-tile.h-f {
    width: 82vw; height: 60vh; scroll-snap-align: center; align-self: auto;
  }
  .work-scroll-hint::after { content: '↔'; }
}
@media (max-width: 1000px) {
  .principles { grid-template-columns: 1fr; gap: 3rem; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .logo-wall { grid-template-columns: repeat(2, 1fr); }
  .proof-inner { grid-template-columns: repeat(2, 1fr); gap: 3rem; }
  .studio-intro { grid-template-columns: 1fr; gap: 2rem; }
  .testimonial-hero { grid-template-columns: 1fr; gap: 1rem; }
  .quote-mark { font-size: 5rem; }
  .testimonials-row { grid-template-columns: 1fr; gap: 2rem; }
  .work-secondary { grid-template-columns: 1fr; }
  .process-step { grid-template-columns: 60px 1fr; }
  .process-duration { grid-column: 2; text-align: left; padding-top: 0.5rem; }
  .deep-cut-grid { grid-template-columns: 1fr; gap: 3rem; }
  .deep-cut-story { position: relative; top: 0; }
  .wont-list { grid-template-columns: 1fr; gap: 0; }
  .wont-item { grid-template-columns: 1fr; gap: 0.75rem; padding: 1.5rem 0; }
  .wont-strike { white-space: normal; padding: 0; align-self: start; }
  .service-item { grid-template-columns: 60px 1fr; gap: 1.5rem; }
  /* Split variant (used on market pages "What MB brings to X") — stack all three parts vertically on narrow screens */
  .service-item--split { grid-template-columns: 1fr; gap: 0.75rem; padding: 1.75rem 0; }
  .service-item--split .service-num { font-size: 1.4rem; margin-bottom: 0.25rem; }
  .service-item--split .service-body { grid-column: 1; }
  .service-item--split .service-body h3 { font-size: 1.6rem; line-height: 1.2; }
  .service-item--split .service-detail { grid-column: 1; margin-top: 0.35rem; }
  .service-capabilities { grid-column: 2; }
  .market-item { grid-template-columns: 40px 1fr; gap: 1rem 1.25rem; }
  .market-clients-pill { grid-column: 1 / -1; margin-top: 0.75rem; flex-wrap: wrap; padding-left: 0; }
  .market-client { flex: 0 0 auto; }
  .stack-grid { grid-template-columns: repeat(2, 1fr); }
  /* Comparison table — keep all 4 cols intact but let the user thumb-swipe horizontally.
     Better mobile UX than trying to stack a comparison, which loses the side-by-side reading. */
  .comparison-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .comparison-inner::-webkit-scrollbar { display: none; }
  .comparison-inner { scrollbar-width: none; }
  .comparison-table { min-width: 720px; grid-template-columns: 1.2fr 1fr 1fr 1fr; }
  .comp-cell { padding: 1rem 0.75rem; font-size: 0.82rem; }
  .comp-cell.header { font-size: 1.15rem; padding: 1.25rem 0.75rem; }
  .founder-inner { margin-left: 0; margin-right: 0; padding: 0 1.25rem; }
  .vitals-inner { gap: 2rem; }
}
@media (max-width: 720px) {
  nav.top { padding: 1rem 1.25rem; }
  /* Hide LinkedIn + Book Intro pills on mobile — they live inside the menu overlay */
  nav.top .nav-right { display: none; }
  .nav-menu-placeholder { display: none; }
  .hero { padding: 7rem 1.25rem 3rem; }
  .approach, .clients, .cta-bridge, .studio, .process, .faq, .testimonial-feature, .deep-cut, .wont-do, .services, .markets, .comparison, .stack, .founder { padding: 5rem 1.25rem; }
  .work-header-block, .work-tail { padding-left: 1.25rem; padding-right: 1.25rem; }
  .manifesto { padding: 8rem 1.25rem; }
  .proof { padding: 4rem 1.25rem; }
  .proof-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .wordmark { padding: 5rem 1.25rem 3rem; }
  footer { padding: 3rem 1.25rem 1.5rem; }
  .footer-inner { gap: 3.5rem; }
  .map { grid-template-columns: 1fr; gap: 2.5rem; padding-top: 3rem; }
  .colophon { grid-template-columns: 1fr; text-align: left; gap: 1.5rem; padding-top: 2rem; }
  .colophon-right { justify-content: flex-start; }
  .signals { flex-wrap: wrap; }
  .prompt-field { flex-wrap: wrap; }
  .prompt-submit { margin-top: 0.5rem; }
  .hero-ctas { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .team-grid { grid-template-columns: 1fr; }
  .stack-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
  .hero h1 .word { transform: none !important; }
  .eyebrow, .hero .sub, .hero-ctas, .scroll-cue { opacity: 1 !important; }
  .wordmark-letter { transform: none !important; }
  .wordmark-dot { transform: scale(1) !important; }
}

/* ============================================================ */
/* From: prototype-case-ndmu-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 (mirrors other v0716 pages) ============ */
.menu-trigger-count { display: none; }

/* ============ CASE HERO ============ */
.case-hero { min-height: 100vh; position: relative; display: flex; align-items: flex-end; padding: 8rem 2rem 5rem; overflow: hidden; color: #fff; }
.case-hero-bg { position: absolute; inset: 0; background-image: url('https://ndm.edu/wp-content/uploads/2026/06/RNA_241014_0646-scaled-e1781491348904.jpg'); background-size: cover; background-position: center; z-index: 0; will-change: transform; }
.case-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.9) 100%); }
.case-hero-inner { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; width: 100%; }
.case-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: rgba(255,255,255,0.75); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 3rem; display: flex; align-items: center; gap: 1rem; opacity: 0; }
.case-eyebrow-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.1rem; color: var(--accent-bright); text-transform: none; letter-spacing: 0; position: relative; top: -3px; }
.case-eyebrow-line { flex: 1; max-width: 60px; height: 1px; background: rgba(255,255,255,0.3); }
.case-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 9vw, 8rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2.5rem; color: #fff; max-width: 15ch; }
.case-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.case-hero h1 .word { display: inline-block; transform: translateY(110%); will-change: transform; }
.case-hero h1 em { font-style: italic; color: var(--accent-bright); }
.case-hero-sub { font-family: 'Playfair Display', serif; font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 400; font-style: italic; line-height: 1.4; color: rgba(255,255,255,0.88); max-width: 50ch; margin-bottom: 3rem; opacity: 0; }
.case-hero-chips { display: flex; flex-wrap: wrap; gap: 0.75rem; opacity: 0; }
.chip { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: rgba(255,255,255,0.9); text-transform: uppercase; letter-spacing: 0.12em; padding: 0.45rem 0.9rem; border: 1px solid rgba(255,255,255,0.3); border-radius: 999px; background: rgba(255,255,255,0.05); backdrop-filter: blur(10px); }
.case-scroll-cue { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: rgba(255,255,255,0.6); letter-spacing: 0.2em; display: flex; flex-direction: column; align-items: center; gap: 0.7rem; z-index: 2; opacity: 0; }
.case-scroll-cue-line { width: 1px; height: 40px; background: linear-gradient(to bottom, rgba(255,255,255,0.6), transparent); animation: cueLine 2.5s ease-in-out infinite; }
@keyframes cueLine { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 50.01% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* ============ META STRIP ============ */
.case-meta { padding: 2rem; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(10px); background: rgba(23, 23, 23, 0.92); }
.case-meta-inner { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(6, 1fr); gap: 2rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.1em; }
.case-meta-item .label { color: var(--muted); display: block; margin-bottom: 0.3rem; }
.case-meta-item .val { color: var(--cream); }
.case-meta-item .val em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; text-transform: none; letter-spacing: 0; position: relative; top: -2px; }

/* ============ CHALLENGE ============ */
.challenge { padding: 10rem 2rem; }
.challenge-inner { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: start; }
.challenge-story .section-label { margin-bottom: 2rem; }
.challenge-lead { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.2; margin-bottom: 3rem; letter-spacing: -0.01em; color: var(--cream); }
.challenge-lead em { font-style: italic; color: var(--accent-bright); }
.challenge-body p { color: var(--cream-dim); font-size: 1.05rem; line-height: 1.75; margin-bottom: 1.5rem; }
.challenge-image { aspect-ratio: 3/4; border-radius: 4px; overflow: hidden; position: sticky; top: 8rem; background-image: url('https://ndm.edu/wp-content/uploads/2026/06/2024-Fall-Photoshoot-Selects-24-1-scaled-e1781491457374.jpg'); background-size: cover; background-position: center; }

/* ============ FULL-BLEED IMAGE BREAK ============ */
.bleed { position: relative; min-height: 90vh; background-size: cover; background-position: center; display: flex; align-items: flex-end; overflow: hidden; will-change: clip-path; }
.bleed::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.75)); }
.bleed-caption { position: relative; z-index: 2; padding: 3rem; color: #fff; max-width: 700px; }
.bleed-caption .section-label { color: rgba(255,255,255,0.7); }
.bleed-caption .section-label .dot { background: #fff; box-shadow: 0 0 8px rgba(255,255,255,0.5); }
.bleed-caption h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-style: italic; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.2; letter-spacing: -0.01em; color: #fff; }

/* ============ APPROACH / MOVES ============ */
.approach-moves { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.approach-moves-inner { max-width: 1200px; margin: 0 auto; }
.moves { margin-top: 3rem; }
.move { padding: 3rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 100px 1fr; gap: 3rem; align-items: start; }
.move:last-child { border-bottom: 1px solid var(--line); }
.move-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 3rem; color: var(--accent-bright); line-height: 1; }
.move-body h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.7rem, 2.5vw, 2.2rem); margin-bottom: 1rem; letter-spacing: -0.01em; line-height: 1.1; }
.move-body h3 em { font-style: italic; color: var(--accent-bright); }
.move-body p { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; max-width: 65ch; }

/* ============ SCREENS GALLERY ============ */
.gallery { padding: 10rem 2rem; }
.gallery-inner { max-width: 1400px; margin: 0 auto; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2rem; margin-top: 3rem; }
.gallery-item { border-radius: 6px; overflow: hidden; background: var(--ink-lift); box-shadow: 0 30px 80px rgba(0,0,0,0.4); border: 1px solid var(--line); will-change: clip-path, transform; }
.gallery-item.wide { grid-column: 1 / span 12; aspect-ratio: 16/9; }
.gallery-item.tall { grid-column: 1 / span 5; aspect-ratio: 3/4; }
.gallery-item.short { grid-column: 6 / span 7; aspect-ratio: 16/10; }
.browser-content { aspect-ratio: 16/10; position: relative; overflow: hidden; background-color: var(--ink-deep); background-size: cover; background-position: center; height: calc(100% - 36px); }

/* ============ RESULTS ============ */
.results { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.results-inner { max-width: 1400px; margin: 0 auto; }
.results-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3rem; margin-top: 3rem; }
.result { padding: 2.5rem 0; border-top: 1px solid var(--line); }
.result-num { font-family: 'Playfair Display', serif; font-size: clamp(3rem, 6vw, 5.5rem); line-height: 1; font-weight: 400; letter-spacing: -0.02em; color: var(--cream); display: block; margin-bottom: 1rem; }
.result-num .unit { font-size: 0.4em; color: var(--cream-dim); font-style: italic; margin-left: 0.15em; }
.result-num em { color: var(--accent-bright); font-style: italic; }
.result-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; line-height: 1.6; }
.result-desc { color: var(--cream-dim); font-size: 0.9rem; margin-top: 0.75rem; line-height: 1.55; }

/* ============ QUOTE (CREAM) ============ */
.case-quote { padding: 12rem 2rem; background: var(--paper); color: var(--paper-ink); display: grid; place-items: center; text-align: center; min-height: 80vh; border-top: 1px solid var(--paper-line); border-bottom: 1px solid var(--paper-line); }
.case-quote-inner { max-width: 26ch; }
.case-quote-mark { font-family: 'Playfair Display', serif; font-style: italic; font-size: 6rem; color: var(--accent); line-height: 0.5; margin-bottom: 2rem; opacity: 0.4; }
.case-quote h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.15; letter-spacing: -0.015em; color: var(--paper-ink); margin-bottom: 3rem; }
.case-quote h2 em { font-style: italic; color: var(--accent); }
.case-quote-attr { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--paper-muted); text-transform: uppercase; letter-spacing: 0.18em; }
.case-quote-attr strong { color: var(--paper-ink); font-weight: 500; }

/* ============ TEAM ============ */
.case-team { padding: 8rem 2rem; }
.case-team-inner { max-width: 1200px; margin: 0 auto; }
.case-team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 3rem; }
.case-team-card { padding-top: 2rem; border-top: 1px solid var(--line); }
.case-team-avatar { aspect-ratio: 1; width: 100%; border-radius: 4px; background: var(--ink-lift); margin-bottom: 1.5rem; position: relative; overflow: hidden; }
.case-team-avatar::before { content: attr(data-initial); position: absolute; inset: 0; display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 5rem; color: var(--muted); }
.case-team-avatar.a1 { background: radial-gradient(circle at 30% 30%, rgba(20, 200, 122,0.25), transparent 60%), var(--ink-lift); }
.case-team-avatar.a2 { background: radial-gradient(circle at 60% 40%, rgba(180,180,180,0.12), transparent 60%), var(--ink-lift); }
.case-team-avatar.a3 { background: radial-gradient(circle at 50% 60%, rgba(8, 117, 80,0.2), transparent 60%), var(--ink-lift); }
.case-team-name { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.6rem; margin-bottom: 0.25rem; }
.case-team-role { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1rem; }
.case-team-what { font-size: 0.9rem; color: var(--cream-dim); line-height: 1.55; }

/* ============ TIMELINE ============ */
.case-timeline { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-timeline-inner { max-width: 1100px; margin: 0 auto; }
.phases { margin-top: 3rem; }
.phase { display: grid; grid-template-columns: 130px 1fr 140px; gap: 2rem; padding: 2.5rem 0; border-top: 1px solid var(--line); align-items: baseline; }
.phase:last-child { border-bottom: 1px solid var(--line); }
.phase-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 2rem; color: var(--accent-bright); line-height: 1; }
.phase-body h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.5rem; margin-bottom: 0.5rem; letter-spacing: -0.01em; }
.phase-body p { color: var(--cream-dim); font-size: 0.95rem; max-width: 55ch; }
.phase-duration { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; text-align: right; padding-top: 0.6rem; }

/* ============ RELATED WORK ============ */
.related { padding: 10rem 2rem; }
.related-inner { max-width: 1400px; margin: 0 auto; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.related-tile { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; position: relative; background-color: var(--ink-lift); background-size: cover; background-position: center; text-decoration: none; color: white; display: flex; transition: transform 0.4s ease; box-shadow: 0 20px 60px rgba(0,0,0,0.3); }
.related-tile:hover { transform: translateY(-6px); }
.related-tile::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0.9) 100%); z-index: 1; }
.related-tile-content { position: relative; z-index: 2; padding: 2rem; margin-top: auto; }
.related-tile-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.75rem; }
.related-tile h4 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.6rem; letter-spacing: -0.01em; color: white; margin-bottom: 0.5rem; line-height: 1.15; }
.related-tile p { color: rgba(255,255,255,0.85); font-size: 0.9rem; line-height: 1.5; }
/* Logo credits for related items with no case content — centered row under any tiles above. */
/* ============================================================
   RELATED-CLIENT LOGO ROWS — unified 6-column grid across case studies
   (case-deep .related-logos, case-middle .mcase-related-logos) and
   market sub-pages (.sub-related-logos). Same rhythm everywhere.
   ============================================================ */
.related-logos, .mcase-related-logos, .sub-related-logos {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 2rem 2.5rem;
	justify-items: center;
	align-items: center;
	max-width: 1400px;
	margin: 1.5rem auto 0;
	padding: 0 6vw;
}
.related-logos, .mcase-related-logos {
	margin-top: 3rem;
	padding-top: 3rem;
	padding-left: 2rem;
	padding-right: 2rem;
	border-top: 1px solid var(--line);
}
.related-grid + .related-logos, .mcase-related-grid + .mcase-related-logos { margin-top: 3rem; }

.related-logo, .mcase-related-logo, .sub-related-logo {
	width: 100%;
	max-width: 200px;
	height: 110px;
	display: flex; align-items: center; justify-content: center;
	transition: transform 0.3s ease;
}
.related-logo:hover, .mcase-related-logo:hover, .sub-related-logo:hover { transform: translateY(-2px); }
.related-logo img, .mcase-related-logo img, .sub-related-logo img {
	max-width: 100%; max-height: 100%;
	object-fit: contain;
	opacity: 0.9;
	transition: opacity 0.3s ease, filter 0.3s ease;
}
.related-logo:hover img, .mcase-related-logo:hover img, .sub-related-logo:hover img { opacity: 1; }
.related-logo--mono img, .mcase-related-logo--mono img, .sub-related-logo--mono img { filter: grayscale(1) brightness(1.7) contrast(0.85); }
.related-logo--mono:hover img, .mcase-related-logo--mono:hover img, .sub-related-logo--mono:hover img { filter: grayscale(1) brightness(1.85) contrast(0.85); }

@media (max-width: 1100px) {
	.related-logos, .mcase-related-logos, .sub-related-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.related-logos, .mcase-related-logos, .sub-related-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1.75rem; }
	.related-logo, .mcase-related-logo, .sub-related-logo { height: 90px; }
}

/* ============ MOBILE ============ */
@media (max-width: 1000px) {
  .challenge-inner { grid-template-columns: 1fr; gap: 3rem; }
  .challenge-image { position: relative; top: 0; aspect-ratio: 16/10; }
  .gallery-item.tall, .gallery-item.short { grid-column: 1 / span 12; aspect-ratio: 16/10; }
  .results-grid { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
  .case-team-grid { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr; }
  .case-meta-inner { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
  .move { grid-template-columns: 60px 1fr; gap: 1.5rem; }
  .phase { grid-template-columns: 60px 1fr; }
  .phase-duration { grid-column: 2; text-align: left; padding-top: 0.5rem; }
}
@media (max-width: 720px) {
  .case-hero { padding: 6rem 1.25rem 3rem; }
  .case-meta-inner { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .challenge, .approach-moves, .gallery, .results, .case-team, .case-timeline, .related { padding: 5rem 1.25rem; }
  .case-quote { padding: 8rem 1.25rem; }
  .bleed-caption { padding: 1.5rem; }
}

/* ============================================================ */
/* From: prototype-case-middle-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */
body::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 1200px 700px at 12% 8%, rgba(20, 200, 122, 0.08), transparent 65%),
    radial-gradient(ellipse 900px 900px at 92% 78%, rgba(20, 200, 122, 0.05), transparent 60%);
}
main, section, footer { position: relative; z-index: 1; }

/* MIDDLE-TIER CASE */
.mcase-hero { min-height: 75vh; padding: 8rem 2rem 4rem; display: flex; align-items: flex-end; position: relative; overflow: hidden; color: #fff; }
.mcase-hero-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #1a1a1a 0%, #0e0e0e 50%, #171717 100%); z-index: 0; }
.mcase-hero-bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(20, 200, 122, 0.18), transparent 45%), radial-gradient(circle at 80% 80%, rgba(8, 117, 80, 0.12), transparent 50%); }
.mcase-hero-inner { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; width: 100%; }
.mcase-breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2.5rem; display: flex; gap: 0.75rem; opacity: 0; }
.mcase-breadcrumb a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.mcase-breadcrumb a:hover { color: var(--accent-bright); }
.mcase-breadcrumb .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.mcase-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: rgba(255,255,255,0.75); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 1rem; opacity: 0; }
.mcase-eyebrow-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.1rem; color: var(--accent-bright); text-transform: none; letter-spacing: 0; position: relative; top: -3px; }
.mcase-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 6.5rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2rem; max-width: 20ch; }
.mcase-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.mcase-hero h1 .word { display: inline-block; transform: translateY(110%); will-change: transform; }
.mcase-hero h1 em { font-style: italic; color: var(--accent-bright); }
.mcase-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.15rem, 1.8vw, 1.5rem); line-height: 1.4; color: rgba(255,255,255,0.85); max-width: 55ch; margin-bottom: 2.5rem; opacity: 0; }
.mcase-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; opacity: 0; }
.mcase-chip { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: rgba(255,255,255,0.85); text-transform: uppercase; letter-spacing: 0.12em; padding: 0.4rem 0.8rem; border: 1px solid rgba(255,255,255,0.25); border-radius: 999px; background: rgba(255,255,255,0.05); backdrop-filter: blur(10px); }

/* META STRIP */
.mcase-meta { padding: 2rem; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); background: rgba(23,23,23,0.6); backdrop-filter: blur(8px); }
.mcase-meta-inner { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 2rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.1em; }
.mcase-meta-item .label { color: var(--muted); display: block; margin-bottom: 0.3rem; }
.mcase-meta-item .val { color: var(--cream); }
.mcase-meta-item .val em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; text-transform: none; letter-spacing: 0; font-size: 1.05rem; position: relative; top: -2px; }
.mcase-meta-item .val a { color: inherit; text-decoration: none; transition: color 0.2s ease; }
.mcase-meta-item .val a em { color: var(--accent-bright); transition: color 0.2s ease; }
.mcase-meta-item .val a:hover em { color: var(--cream); }
/* Industry cell: allow multiple linked industries to wrap in the meta strip
   instead of getting truncated to one line. */
.mcase-meta-item--industry .val { display: inline-block; line-height: 1.7; }
.mcase-meta-sep { color: var(--muted); margin: 0 0.3em; }

/* DELIVERABLES CHIP CLUSTER */
.mcase-deliverables { padding: 4rem 2rem 2rem; }
.mcase-deliverables-inner { max-width: 1000px; margin: 0 auto; }
.mcase-deliverables .section-label { margin-bottom: 1.25rem; }
.mcase-deliverables-chips { display: flex; flex-wrap: wrap; gap: 0.5rem 0.55rem; }
.mcase-deliverable-chip {
	font-family: 'JetBrains Mono', ui-monospace, monospace;
	font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--cream-dim);
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: transparent;
	text-decoration: none;
	transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.mcase-deliverable-chip:hover { color: var(--accent-bright); border-color: rgba(20,200,122,0.4); background: rgba(20,200,122,0.05); }
.mcase-deliverable-chip--static { cursor: default; }
.mcase-deliverable-chip--static:hover { color: var(--cream-dim); border-color: var(--line); background: transparent; }

/* BODY BLOCKS */
.mcase-section { padding: 7rem 2rem; }
.mcase-section.alt { background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mcase-section-inner { max-width: 1000px; margin: 0 auto; }
.mcase-section .section-label { margin-bottom: 1.5rem; }
.mcase-section-lead { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.6rem, 2.6vw, 2.4rem); line-height: 1.25; margin-bottom: 2rem; letter-spacing: -0.01em; color: var(--cream); }
.mcase-section-lead em { font-style: italic; color: var(--accent-bright); }
.mcase-section p { color: var(--cream-dim); font-size: 1.05rem; line-height: 1.75; margin-bottom: 1.25rem; max-width: 60ch; }
.mcase-section p em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }
.mcase-section h2.section-head { max-width: none; margin-bottom: 2.5rem; }

/* SOLUTION BLOCKS (numbered subsections) */
.mcase-moves { margin-top: 3rem; }
.mcase-move { padding: 2.5rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 80px 1fr; gap: 2.5rem; align-items: start; }
.mcase-move:last-child { border-bottom: 1px solid var(--line); }
.mcase-move-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 2.5rem; color: var(--accent-bright); line-height: 1; }
.mcase-move-body h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.7rem; margin-bottom: 0.75rem; letter-spacing: -0.01em; line-height: 1.2; }
.mcase-move-body h3 em { font-style: italic; color: var(--accent-bright); }
.mcase-move-body p { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; max-width: 60ch; margin-bottom: 0; }

/* TAG CLUSTERS (Expertise / Markets) */
.mcase-tags { padding: 6rem 2rem; }
.mcase-tags-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; }
.mcase-tag-block .label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.mcase-tag-block .label::before { content: ''; width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; }
.mcase-tag-list { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mcase-tag {
  font-family: 'JetBrains Mono', monospace; font-size: 0.72rem;
  color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.12em;
  padding: 0.5rem 0.9rem; border: 1px solid var(--line); border-radius: 999px;
  background: transparent; text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.mcase-tag:hover { color: #fff; border-color: var(--accent-bright); background: rgba(20, 200, 122, 0.08); }

/* RELATED */
.mcase-related { padding: 8rem 2rem; }
.mcase-related-inner { max-width: 1400px; margin: 0 auto; }
.mcase-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.mcase-related-tile { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; position: relative; background-color: var(--ink-lift); background-size: cover; background-position: center; text-decoration: none; color: white; display: flex; box-shadow: 0 20px 60px rgba(0,0,0,0.3); transition: transform 0.4s ease; }
.mcase-related-tile:hover { transform: translateY(-6px); }
.mcase-related-tile::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0.9) 100%); z-index: 1; }
.mcase-related-content { position: relative; z-index: 2; padding: 2rem; margin-top: auto; }
.mcase-related-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.75rem; }
.mcase-related-tile h4 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.5rem; color: white; margin-bottom: 0.5rem; }
.mcase-related-tile p { color: rgba(255,255,255,0.85); font-size: 0.9rem; line-height: 1.5; }

@media (max-width: 900px) {
  .mcase-meta-inner { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .mcase-move { grid-template-columns: 50px 1fr; gap: 1.5rem; }
  .mcase-tags-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .mcase-related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .mcase-hero { padding: 6rem 1.25rem 3rem; }
  .mcase-section, .mcase-tags, .mcase-related { padding: 5rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-case-light-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* LIGHT-TIER CASE */
.lcase-hero { padding: 9rem 2rem 3rem; }
.lcase-hero-inner { max-width: 900px; margin: 0 auto; }
.lcase-breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2.5rem; display: flex; gap: 0.75rem; opacity: 0; }
.lcase-breadcrumb a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.lcase-breadcrumb a:hover { color: var(--accent-bright); }
.lcase-breadcrumb .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.lcase-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.75rem; opacity: 0; }
.lcase-eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.lcase-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 0.95; letter-spacing: -0.02em; margin-bottom: 1.5rem; max-width: 22ch; }
.lcase-hero h1 em { font-style: italic; color: var(--accent-bright); }
.lcase-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.15rem, 1.8vw, 1.5rem); line-height: 1.4; color: var(--cream-dim); max-width: 55ch; margin-bottom: 2rem; opacity: 0; }
.lcase-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 3rem; opacity: 0; }
.lcase-chip { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.12em; padding: 0.4rem 0.8rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; }

/* NARRATIVE BODY */
.lcase-body { padding: 2rem 2rem 8rem; }
.lcase-body-inner { max-width: 900px; margin: 0 auto; }
.lcase-block { padding: 3rem 0; border-top: 1px solid var(--line); }
.lcase-block:last-child { border-bottom: 1px solid var(--line); }
.lcase-block-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.75rem; }
.lcase-block-label::before { content: ''; width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 8px var(--accent-glow); }
.lcase-block-headline { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1.25; margin-bottom: 1.25rem; letter-spacing: -0.01em; color: var(--cream); }
.lcase-block-headline em { font-style: italic; color: var(--accent-bright); }
.lcase-block p { color: var(--cream-dim); font-size: 1.05rem; line-height: 1.75; margin-bottom: 1rem; }
.lcase-block p em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }

/* TAG CLUSTERS */
.lcase-tags { padding: 4rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lcase-tags-inner { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.lcase-tag-block .label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.75rem; }
.lcase-tag-block .label::before { content: ''; width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; }
.lcase-tag-list { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.lcase-tag {
  font-family: 'JetBrains Mono', monospace; font-size: 0.7rem;
  color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.12em;
  padding: 0.45rem 0.85rem; border: 1px solid var(--line); border-radius: 999px;
  background: transparent; text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.lcase-tag:hover { color: #fff; border-color: var(--accent-bright); background: rgba(20, 200, 122, 0.08); }

/* RELATED (compact) */
.lcase-related { padding: 6rem 2rem; }
.lcase-related-inner { max-width: 900px; margin: 0 auto; }
.lcase-related-links { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2rem; }
.lcase-related-link {
  padding: 1.75rem; border: 1px solid var(--line); border-radius: 6px;
  text-decoration: none; color: inherit; display: block;
  transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}
.lcase-related-link:hover { border-color: var(--accent-bright); background: rgba(0, 200, 100, 0.04); transform: translateY(-2px); }
.lcase-related-link .meta { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.6rem; }
.lcase-related-link h4 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.35rem; letter-spacing: -0.01em; margin-bottom: 0.5rem; }
.lcase-related-link p { color: var(--cream-dim); font-size: 0.88rem; line-height: 1.5; }

@media (max-width: 720px) {
  .lcase-hero { padding: 7rem 1.25rem 2rem; }
  .lcase-body { padding: 1rem 1.25rem 5rem; }
  .lcase-tags { padding: 3rem 1.25rem; }
  .lcase-tags-inner { grid-template-columns: 1fr; gap: 2rem; }
  .lcase-related { padding: 4rem 1.25rem; }
  .lcase-related-links { grid-template-columns: 1fr; }
}

/* ============================================================ */
/* From: prototype-case-archive-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */
main, section, footer, .archive-filters { position: relative; z-index: 1; }

/* ARCHIVE */
.archive-hero { min-height: 60vh; padding: 10rem 2rem 4rem; display: flex; align-items: center; position: relative; }
.archive-hero-inner { max-width: 1400px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1.6fr 1fr; gap: 4rem; align-items: end; }
.archive-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; opacity: 0; }
.archive-hero .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.archive-hero .eyebrow-line { width: 40px; height: 1px; background: var(--muted); }
.archive-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 9vw, 8rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2rem; }
.archive-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.archive-hero h1 .word { display: inline-block; transform: translateY(110%); }
.archive-hero h1 em { font-style: italic; color: var(--accent-bright); }
.archive-hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; opacity: 0; }
.archive-hero-stat { border-top: 1px solid var(--line); padding-top: 1rem; }
.archive-hero-stat .num { font-family: 'Playfair Display', serif; font-size: 3rem; color: var(--cream); line-height: 1; margin-bottom: 0.5rem; }
.archive-hero-stat .num em { color: var(--accent-bright); font-style: italic; }
.archive-hero-stat .num .unit { font-size: 0.4em; color: var(--cream-dim); font-style: italic; margin-left: 0.15em; }
.archive-hero-stat .label { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }

/* FILTERS */
.archive-filters { padding: 1.25rem 2rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); position: sticky; top: 5rem; z-index: 50; backdrop-filter: blur(20px); background: rgba(23,23,23,0.92); }
.archive-filters-inner { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.archive-filter-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.archive-filter-chips { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
.filter-chip { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.12em; padding: 0.5rem 0.9rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; transition: all 0.25s ease; }
.filter-chip:hover { color: var(--cream); border-color: var(--muted); }
.filter-chip.active { color: #fff; border-color: var(--accent); background: var(--accent); }
.filter-chip .count { color: currentColor; opacity: 0.6; margin-left: 0.4rem; font-size: 0.85em; }
.archive-filter-view { display: flex; gap: 0.5rem; font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; align-items: center; }
.archive-filter-view span { color: var(--cream); }
.archive-filter-view em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-size: 1.1rem; letter-spacing: 0; text-transform: none; position: relative; top: -2px; }

/* GRID */
section.archive { padding: 5rem 2rem 10rem; }
.archive-grid { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(12, 1fr); gap: 2rem; }
.archive-tile { text-decoration: none; color: inherit; display: block; transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1); will-change: transform; position: relative; }
.archive-tile:hover { transform: translateY(-6px); }
.archive-tile-image { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; position: relative; margin-bottom: 1.5rem; background-color: var(--ink-lift); background-size: cover; background-position: center; box-shadow: 0 20px 60px rgba(0,0,0,0.4); }
.archive-tile-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,0.75)); transition: opacity 0.4s ease; }
.archive-tile:hover .archive-tile-image::after { opacity: 0.5; }
/* Per-tile background-position overrides (portrait or off-center imagery) */
.archive-tile[data-slug="mike-long"] .archive-tile-image { background-position: right center; }
.archive-tile-badge { position: absolute; top: 1rem; left: 1rem; z-index: 2; padding: 0.4rem 0.75rem; background: rgba(0,0,0,0.5); backdrop-filter: blur(8px); border-radius: 999px; font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: #fff; text-transform: uppercase; letter-spacing: 0.12em; }
.archive-tile-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.6rem; }
.archive-tile-title { font-family: 'Playfair Display', serif; font-size: 1.6rem; font-weight: 400; margin-bottom: 0.5rem; letter-spacing: -0.01em; line-height: 1.15; }
.archive-tile-result { color: var(--cream-dim); font-size: 0.9rem; line-height: 1.55; }
.archive-tile-result em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; transition: color 0.3s ease; }
.archive-tile:hover .archive-tile-result em { color: var(--cream); }

/* Asymmetric grid */
.archive-tile.t-1 { grid-column: 1 / span 6; }
.archive-tile.t-1 .archive-tile-image { aspect-ratio: 16/10; }
.archive-tile.t-2 { grid-column: 7 / span 3; margin-top: 3rem; }
.archive-tile.t-3 { grid-column: 10 / span 3; }
.archive-tile.t-4 { grid-column: 1 / span 4; margin-top: 4rem; }
.archive-tile.t-5 { grid-column: 5 / span 4; margin-top: 6rem; }
.archive-tile.t-6 { grid-column: 9 / span 4; margin-top: 2rem; }
.archive-tile.t-7 { grid-column: 1 / span 4; }
.archive-tile.t-8 { grid-column: 5 / span 5; margin-top: 4rem; }
.archive-tile.t-9 { grid-column: 10 / span 3; }
.archive-tile.t-10 { grid-column: 1 / span 3; margin-top: 3rem; }
.archive-tile.t-11 { grid-column: 4 / span 5; margin-top: 5rem; }
.archive-tile.t-12 { grid-column: 9 / span 4; }

@media (max-width: 1000px) {
  .archive-hero-inner { grid-template-columns: 1fr; }
  .archive-tile { grid-column: 1 / span 12 !important; margin-top: 0 !important; }
  .archive-tile-image { aspect-ratio: 4/5 !important; }
}
@media (max-width: 720px) {
  .archive-hero { padding: 7rem 1.25rem 3rem; }
  .archive-filters { padding: 0.75rem 0; top: 4rem; }
  .archive-filters-inner { gap: 0; padding: 0; flex-wrap: nowrap; }
  .archive-filter-view { display: none; }
  section.archive { padding: 3rem 1.25rem 5rem; }
  /* Horizontal thumb-scroll for filter chips on mobile — keeps chips on one line
     so they don't take up 3-4 rows of vertical space above the tile grid. */
  .archive-filter-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding: 0 1.25rem 0.5rem;
    gap: 0.5rem;
    /* fade edge mask so users know there's more to scroll */
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.25rem, #000 calc(100% - 1.25rem), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 1.25rem, #000 calc(100% - 1.25rem), transparent 100%);
  }
  .archive-filter-chips::-webkit-scrollbar { display: none; }
  .archive-filter-chips .filter-chip { flex: 0 0 auto; scroll-snap-align: start; }
  .archive-filter-chips .archive-filter-label { flex: 0 0 auto; padding-left: 0.25rem; }
}

/* Archive pagination — centered pill chips matching filter aesthetic */
.archive .navigation.pagination { max-width: 1400px; margin: 4rem auto 0; display: flex; justify-content: center; }
.archive .navigation.pagination .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.archive .nav-links { display: inline-flex; gap: 0.4rem; align-items: center; flex-wrap: wrap; justify-content: center; }
.archive .page-numbers {
	font-family: 'JetBrains Mono', ui-monospace, monospace;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cream-dim);
	padding: 0.6rem 1rem;
	border: 1px solid var(--line);
	border-radius: 999px;
	text-decoration: none;
	background: transparent;
	transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.6rem;
	line-height: 1;
}
.archive .page-numbers:hover { color: var(--accent-bright); border-color: rgba(20,200,122,0.4); background: rgba(20,200,122,0.05); }
.archive .page-numbers.current { color: var(--accent-bright); border-color: var(--accent-bright); background: rgba(20,200,122,0.06); }
.archive .page-numbers.dots { border: none; background: transparent; color: var(--muted); padding: 0.6rem 0.25rem; }
.archive .page-numbers.prev, .archive .page-numbers.next { padding: 0.6rem 1.15rem; }

/* ============================================================ */
/* From: prototype-insights-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* INSIGHTS */
.ins-hero { padding: 10rem 2rem 4rem; }
.ins-hero-inner { max-width: 1400px; margin: 0 auto; }
.ins-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; opacity: 0; }
.ins-hero .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.ins-hero .eyebrow-line { display: inline-block; width: 40px; height: 1px; background: var(--muted); }
.ins-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 9vw, 8rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2rem; max-width: 14ch; }
.ins-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.ins-hero h1 .word { display: inline-block; transform: translateY(110%); }
.ins-hero h1 em { font-style: italic; color: var(--accent-bright); }
.ins-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.6rem); color: var(--cream-dim); max-width: 55ch; opacity: 0; }

.ins-featured { padding: 5rem 2rem 5rem; }
.ins-featured-inner { max-width: 1400px; margin: 0 auto; }
.ins-featured-link { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; text-decoration: none; color: inherit; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 3rem 0; transition: padding 0.4s ease; }
.ins-featured-link:hover { padding-left: 1rem; padding-right: 1rem; }
.ins-featured-image { aspect-ratio: 4/3; border-radius: 6px; overflow: hidden; background-image: url('https://picsum.photos/seed/mb-featured-post/1200/900'); background-size: cover; background-position: center; box-shadow: 0 20px 60px rgba(0,0,0,0.4); }
.ins-featured-content { display: flex; flex-direction: column; justify-content: center; }
.ins-featured-tag { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.ins-featured-tag .dot { width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; animation: pulse 2.2s ease-in-out infinite; }
.ins-featured-content h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 1.5rem; }
.ins-featured-content h2 em { font-style: italic; color: var(--accent-bright); }
.ins-featured-content p { color: var(--cream-dim); font-size: 1.05rem; line-height: 1.65; margin-bottom: 2rem; }
.ins-featured-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; display: flex; gap: 1.5rem; }
.ins-featured-meta strong { color: var(--cream); }

.ins-filter { padding: 3rem 2rem; }
.ins-filter-inner { max-width: 1400px; margin: 0 auto; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.ins-filter-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-right: 0.5rem; }
.ins-chip { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.12em; padding: 0.5rem 0.9rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; transition: all 0.25s; }
.ins-chip:hover { color: var(--cream); border-color: var(--muted); }
.ins-chip.active { color: #fff; border-color: var(--accent); background: var(--accent); }

.ins-grid-section { padding: 3rem 2rem 10rem; }
.ins-grid { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; }
.insight-tile { text-decoration: none; color: inherit; display: block; transition: transform 0.4s ease; }
.insight-tile:hover { transform: translateY(-6px); }
.insight-tile-image { aspect-ratio: 4/3; border-radius: 4px; overflow: hidden; background-size: cover; background-position: center; margin-bottom: 1.5rem; background-color: var(--ink-lift); }
.insight-tile-tag { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.75rem; }
.insight-tile-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; line-height: 1.15; letter-spacing: -0.01em; margin-bottom: 0.75rem; font-weight: 400; }
.insight-tile-title em { font-style: italic; color: var(--accent-bright); }
.insight-tile-excerpt { color: var(--cream-dim); font-size: 0.92rem; line-height: 1.55; margin-bottom: 1rem; }
.insight-tile-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; display: flex; gap: 1rem; }
.insight-tile-meta strong { color: var(--cream-dim); }

.ins-newsletter { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ins-newsletter-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.ins-newsletter h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 1.5rem; }
.ins-newsletter h2 em { font-style: italic; color: var(--accent-bright); }
.ins-newsletter p { color: var(--cream-dim); font-size: 1.05rem; margin-bottom: 3rem; }
.ins-newsletter-form { max-width: 500px; margin: 0 auto; display: flex; gap: 0.75rem; padding-bottom: 1rem; border-bottom: 1px solid var(--cream); transition: border-color 0.3s; }
.ins-newsletter-form:focus-within { border-color: var(--accent-bright); }
.ins-newsletter-input { flex: 1; background: transparent; border: none; outline: none; color: var(--cream); font-family: 'Inter', sans-serif; font-weight: 300; font-size: 1.15rem; padding: 0.5rem 0; }
.ins-newsletter-input::placeholder { color: var(--muted); }
.ins-newsletter-submit { background: var(--accent); color: #fff; border: none; padding: 0.7rem 1.4rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; cursor: pointer; transition: background 0.2s, transform 0.2s; }
.ins-newsletter-submit:hover { background: var(--accent-bright); transform: translateY(-2px); }
.ins-newsletter-note { margin-top: 1.5rem; font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }

@media (max-width: 1000px) {
  .ins-featured-link { grid-template-columns: 1fr; }
  .ins-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .ins-hero { padding: 7rem 1.25rem 3rem; }
  .ins-featured, .ins-filter, .ins-grid-section, .ins-newsletter { padding: 3rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-insights-post-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* POST */
.post-hero { padding: 10rem 2rem 5rem; max-width: 1200px; margin: 0 auto; }
.post-hero-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 5rem; align-items: end; }
.post-breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2rem; display: flex; gap: 0.75rem; opacity: 0; }
.post-breadcrumb a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.post-breadcrumb a:hover { color: var(--accent-bright); }
.post-breadcrumb .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.post-tag { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.6rem; }
.post-tag .dot { width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; animation: pulse 2.2s ease-in-out infinite; }
.post-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.02; letter-spacing: -0.02em; margin-bottom: 2rem; }
.post-hero h1 em { font-style: italic; color: var(--accent-bright); }
.post-hero-lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 1.8vw, 1.6rem); color: var(--cream-dim); line-height: 1.4; margin-bottom: 2rem; }
.post-meta { display: flex; gap: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; }
.post-meta-item { display: flex; flex-direction: column; gap: 0.3rem; }
.post-meta-item .label { color: var(--muted); }
.post-meta-item .val { color: var(--cream); font-family: 'Playfair Display', serif; font-style: italic; font-size: 1rem; letter-spacing: 0; text-transform: none; position: relative; top: -2px; }

.post-cover { max-width: 1400px; margin: 0 auto; padding: 0 2rem 5rem; }
.post-cover-img { aspect-ratio: 21/9; border-radius: 6px; overflow: hidden; background-image: url('https://picsum.photos/seed/mb-featured-post/1800/900'); background-size: cover; background-position: center; box-shadow: 0 30px 80px rgba(0,0,0,0.5); }

.post-body { max-width: 1200px; margin: 0 auto; padding: 3rem 2rem 8rem; display: grid; grid-template-columns: 220px 1fr; gap: 5rem; align-items: start; }
/* Insights TOC sidebar — mirrors .legal-toc / .faq-sidebar-nav (border-left rail pattern) */
.post-toc { position: sticky; top: 8rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.post-toc-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.post-toc-label::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent-bright); display: inline-block; }
.post-toc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.post-toc-list a { display: block; padding: 0.7rem 0 0.7rem 1rem; color: var(--cream-dim); text-decoration: none; font-size: 0.9rem; line-height: 1.4; border-left: 2px solid var(--line); transition: color 0.2s ease, border-color 0.2s ease, padding-left 0.2s ease; font-family: 'Inter', sans-serif; }
.post-toc-list a:hover { color: var(--cream); border-left-color: var(--accent-bright); padding-left: 1.25rem; }
.post-toc-list a.active { color: var(--cream); border-left-color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-size: 1rem; }

.post-content { max-width: 68ch; font-size: 1.15rem; line-height: 1.7; color: var(--cream); }
.post-content h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.8rem, 3.5vw, 2.8rem); letter-spacing: -0.015em; line-height: 1.15; margin-top: 4rem; margin-bottom: 1.5rem; }
.post-content h2 em { font-style: italic; color: var(--accent-bright); }
.post-content h2:first-child { margin-top: 0; }
.post-content h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.5rem; margin-top: 2.5rem; margin-bottom: 1rem; letter-spacing: -0.01em; }
.post-content p { margin-bottom: 1.5rem; }
.post-content p em { color: var(--accent-bright); font-style: italic; }
.post-content ul, .post-content ol { margin-bottom: 1.5rem; padding-left: 1.5rem; color: var(--cream-dim); }
.post-content li { padding: 0.4rem 0; }
.post-content blockquote { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.6rem; line-height: 1.35; color: var(--cream); border-left: 3px solid var(--accent-bright); padding-left: 2rem; margin: 3rem 0; }
.post-content blockquote::before { content: '\201C'; color: var(--accent-bright); font-size: 3rem; line-height: 0.5; margin-right: 0.4rem; }
.post-content code { font-family: 'JetBrains Mono', monospace; font-size: 0.9em; background: var(--ink-lift); padding: 0.15rem 0.4rem; border-radius: 3px; color: var(--accent-bright); }
.post-content pre { background: var(--ink-deep); border: 1px solid var(--line); border-radius: 4px; padding: 1.5rem; margin: 2rem 0; overflow-x: auto; font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; line-height: 1.6; color: var(--cream-dim); }
.post-content strong { color: var(--cream); font-weight: 500; }
/* Missing insights typography — inline links, images/captions, hr, tables */
.post-content a { color: var(--accent-bright); text-decoration: none; border-bottom: 1px solid rgba(20,200,122,0.35); transition: border-color 0.2s ease, color 0.2s ease; }
.post-content a:hover { color: var(--cream); border-bottom-color: var(--cream); }
.post-content h4 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.2rem; margin-top: 2rem; margin-bottom: 0.75rem; letter-spacing: -0.005em; color: var(--cream); }
.post-content img { max-width: 100%; height: auto; border-radius: 4px; margin: 2.5rem 0; display: block; }
.post-content figure { margin: 2.5rem 0; }
.post-content figure img { margin: 0; }
.post-content figcaption { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); margin-top: 0.75rem; text-align: center; }
.post-content hr { border: none; height: 1px; background: var(--line); margin: 3.5rem auto; max-width: 6rem; }
.post-content table { width: 100%; border-collapse: collapse; margin: 2rem 0; font-size: 0.95rem; }
.post-content table th { text-align: left; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-bright); padding: 0.75rem 1rem; border-bottom: 1px solid var(--accent-bright); }
.post-content table td { padding: 0.75rem 1rem; border-bottom: 1px solid var(--line); color: var(--cream-dim); vertical-align: top; }
.post-content table tr:hover td { background: rgba(255,255,255,0.02); color: var(--cream); }
.post-content blockquote cite { display: block; margin-top: 1rem; font-family: 'JetBrains Mono', ui-monospace, monospace; font-style: normal; font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.post-content .wp-caption { max-width: 100%; }
.post-content .aligncenter { margin-left: auto; margin-right: auto; }
.post-content .alignleft { float: left; margin-right: 2rem; margin-bottom: 1rem; }
.post-content .alignright { float: right; margin-left: 2rem; margin-bottom: 1rem; }
.post-content .alignwide { max-width: none; width: calc(100% + 4rem); margin-left: -2rem; margin-right: -2rem; }

/* End-of-article author signature (inside .post-content, matches article width) */
.post-author-signature { margin-top: 5rem; padding: 2.5rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.post-author-inner { display: grid; grid-template-columns: 72px 1fr; gap: 1.5rem; align-items: start; }
.post-author-avatar { width: 72px; height: 72px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(20, 200, 122,0.3), transparent 60%), var(--ink-lift); display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 2.2rem; color: var(--muted); }
.post-author-info { display: flex; flex-direction: column; gap: 0.35rem; }
.post-author-name-row { display: flex; align-items: center; gap: 0.85rem; }
.post-author-name-link { font-family: 'Playfair Display', serif; font-size: 1.35rem; font-weight: 400; letter-spacing: -0.01em; text-decoration: none; color: var(--cream); transition: color 0.25s ease; }
.post-author-name-link:hover { color: var(--accent-bright); }
.post-author-social { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; color: var(--muted); text-decoration: none; transition: color 0.25s ease, background 0.25s ease; }
.post-author-social:hover { color: var(--accent-bright); background: rgba(20, 200, 122, 0.08); }
.post-author-social svg { width: 15px; height: 15px; fill: currentColor; }
.post-author-role { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.5rem; }
.post-content .post-author-bio { color: var(--cream-dim); font-size: 0.95rem !important; line-height: 1.6 !important; margin-bottom: 0 !important; }

.post-related { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.post-related-inner { max-width: 1400px; margin: 0 auto; }
.post-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 3rem; }
.post-related-tile { text-decoration: none; color: inherit; padding-top: 1.5rem; border-top: 1px solid var(--line); transition: padding 0.3s ease; }
.post-related-tile:hover { padding-left: 0.5rem; }
.post-related-tile-tag { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.75rem; }
.post-related-tile h4 { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 400; margin-bottom: 0.5rem; letter-spacing: -0.01em; line-height: 1.2; }
.post-related-tile h4 em { font-style: italic; color: var(--accent-bright); }
.post-related-tile-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; margin-top: 0.75rem; }

@media (max-width: 1000px) {
  .post-hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .post-body { grid-template-columns: 1fr; gap: 2rem; }
  .post-toc { position: relative; top: 0; }
  .post-related-grid { grid-template-columns: 1fr; }
  .post-author-inner { grid-template-columns: 1fr; text-align: left; gap: 1rem; }
}
@media (max-width: 720px) {
  .post-hero, .post-cover { padding-left: 1.25rem; padding-right: 1.25rem; }
  .post-body { padding: 2rem 1.25rem 4rem; }
  .post-related { padding: 4rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-search-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* SEARCH */
.srch-hero { padding: 8rem 2rem 2rem; max-width: 1400px; margin: 0 auto; }
.srch-hero .breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2rem; display: flex; gap: 0.75rem; opacity: 0; }
.srch-hero .breadcrumb a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.srch-hero .breadcrumb a:hover { color: var(--accent-bright); }
.srch-hero .breadcrumb .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.srch-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.02; letter-spacing: -0.025em; margin-bottom: 2rem; }
.srch-hero h1 em { font-style: italic; color: var(--accent-bright); }

.srch-form-wrap { padding: 0 2rem; }
.srch-form { max-width: 1400px; margin: 0 auto 2rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--cream); display: flex; align-items: center; gap: 1rem; transition: border-color 0.3s ease; }
.srch-form:focus-within { border-color: var(--accent-bright); }
.srch-form-icon { width: 24px; height: 24px; color: var(--muted); flex-shrink: 0; transition: color 0.3s; }
.srch-form:focus-within .srch-form-icon { color: var(--accent-bright); }
.srch-form-icon svg { width: 100%; height: 100%; stroke: currentColor; fill: none; stroke-width: 2; }
.srch-form-input { flex: 1; background: transparent; border: none; outline: none; color: var(--cream); font-family: 'Playfair Display', serif; font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 400; padding: 0.3rem 0; min-width: 0; }
.srch-form-input::placeholder { color: var(--muted); font-family: 'Inter', sans-serif; font-style: normal; font-weight: 300; }
/* Custom clear (X) button — replaces Chrome's default blue X */
.srch-form-input::-webkit-search-cancel-button {
  appearance: none; -webkit-appearance: none;
  height: 18px; width: 18px; cursor: pointer;
  background: transparent;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b0b0b0' stroke-width='2' stroke-linecap='round'><line x1='6' y1='6' x2='18' y2='18'/><line x1='6' y1='18' x2='18' y2='6'/></svg>");
  background-size: contain; background-repeat: no-repeat; background-position: center;
  transition: opacity 0.2s;
  opacity: 0.6;
}
.srch-form-input::-webkit-search-cancel-button:hover {
  opacity: 1;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008554' stroke-width='2' stroke-linecap='round'><line x1='6' y1='6' x2='18' y2='18'/><line x1='6' y1='18' x2='18' y2='6'/></svg>");
}
.srch-form-submit { background: var(--accent); color: #fff; border: none; padding: 0.7rem 1.4rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.9rem; cursor: pointer; transition: background 0.2s, transform 0.2s; flex-shrink: 0; }
.srch-form-submit:hover { background: var(--accent-bright); transform: translateY(-2px); }

.srch-meta { max-width: 1400px; margin: 0 auto; padding: 0 2rem; display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; flex-wrap: wrap; margin-bottom: 3rem; }
.srch-meta-count { font-family: 'Playfair Display', serif; font-size: 1.2rem; color: var(--cream-dim); }
.srch-meta-count em { color: var(--accent-bright); font-style: italic; font-weight: 500; }
.srch-meta-count strong { color: var(--cream); font-style: normal; }
/* ====== Custom sort dropdown ====== */
.srch-sort { position: relative; display: inline-flex; align-items: center; gap: 0.6rem; }
.srch-sort-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.srch-sort-trigger { display: inline-flex; align-items: center; gap: 0.7rem; background: transparent; border: 1px solid var(--line); border-radius: 999px; padding: 0.5rem 0.9rem 0.5rem 1rem; color: var(--cream); cursor: pointer; transition: border-color 0.25s ease, background 0.25s ease; }
.srch-sort-trigger:hover, .srch-sort-trigger[aria-expanded="true"] { border-color: var(--accent-bright); background: rgba(0, 200, 100, 0.04); }
.srch-sort-value { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.05rem; letter-spacing: 0; line-height: 1; position: relative; top: -1px; color: var(--cream); }
.srch-sort-chevron { display: inline-block; width: 10px; height: 10px; border-right: 1.5px solid var(--accent-bright); border-bottom: 1.5px solid var(--accent-bright); transform: rotate(45deg) translateY(-2px); transition: transform 0.3s ease; }
.srch-sort-trigger[aria-expanded="true"] .srch-sort-chevron { transform: rotate(-135deg) translateY(-2px); }
.srch-sort-menu {
  position: absolute; top: calc(100% + 0.6rem); right: 0;
  min-width: 220px;
  background: var(--ink-lift);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.55), 0 0 0 1px rgba(20, 200, 122, 0.08);
  padding: 0.5rem;
  list-style: none;
  opacity: 0; visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.25s ease, transform 0.3s ease, visibility 0s linear 0.25s;
  z-index: 20;
}
.srch-sort-menu.open { opacity: 1; visibility: visible; transform: translateY(0); transition: opacity 0.25s ease, transform 0.3s ease, visibility 0s linear 0s; }
.srch-sort-option {
  padding: 0.7rem 0.9rem;
  border-radius: 4px;
  cursor: pointer;
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  transition: background 0.2s ease, color 0.2s ease;
  color: var(--cream-dim);
}
.srch-sort-option:hover { background: rgba(20, 200, 122, 0.10); color: var(--cream); }
.srch-sort-option .opt-label { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.05rem; letter-spacing: 0; }
.srch-sort-option .opt-tag { font-family: 'JetBrains Mono', monospace; font-size: 0.6rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.srch-sort-option.selected { color: var(--cream); background: rgba(20, 200, 122, 0.08); }
.srch-sort-option.selected .opt-tag { color: var(--accent-bright); }
.srch-sort-option.selected::before { content: ''; display: inline-block; width: 5px; height: 5px; background: var(--accent-bright); border-radius: 50%; margin-right: 0.5rem; flex-shrink: 0; align-self: center; box-shadow: 0 0 8px var(--accent-glow); }

.srch-filters { max-width: 1400px; margin: 0 auto 3rem; padding: 0 2rem; display: flex; gap: 0.5rem; flex-wrap: wrap; }
.srch-chip { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.12em; padding: 0.5rem 0.9rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; transition: all 0.25s ease; }
.srch-chip:hover { color: var(--cream); border-color: var(--muted); }
.srch-chip.active { color: #fff; border-color: var(--accent); background: var(--accent); }
.srch-chip .count { color: currentColor; opacity: 0.6; margin-left: 0.4rem; font-size: 0.85em; }

/* Results */
.srch-results { padding: 0 2rem 8rem; }
.srch-results-inner { max-width: 1400px; margin: 0 auto; display: grid; gap: 2rem; }
.srch-result { text-decoration: none; color: inherit; display: grid; grid-template-columns: 220px 1fr auto; gap: 3rem; padding: 2rem; border: 1px solid var(--line); border-radius: 6px; background: var(--ink-lift); transition: transform 0.4s ease, background 0.3s, border-color 0.3s; align-items: center; }
.srch-result:hover { transform: translateY(-4px); background: var(--ink); border-color: var(--accent-bright); }
.srch-result-image { aspect-ratio: 4/3; border-radius: 4px; background-size: cover; background-position: center; background-color: var(--ink); }
/* First-word fallback tile — used when there's no featured image */
.srch-result-image.no-img-word {
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  color: var(--cream);
  text-align: center;
  letter-spacing: -0.01em;
  line-height: 1;
  background:
    radial-gradient(circle at 28% 25%, rgba(20, 200, 122, 0.22), transparent 60%),
    linear-gradient(135deg, var(--ink-lift) 0%, var(--ink) 100%);
  position: relative;
  overflow: hidden;
}
.srch-result-image.no-img-word::before {
  content: '';
  position: absolute; inset: 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 3px;
  pointer-events: none;
}
.srch-result-image.no-img-word::after {
  content: attr(data-type);
  position: absolute; bottom: 0.9rem; left: 50%; transform: translateX(-50%);
  font-family: 'JetBrains Mono', monospace;
  font-style: normal;
  font-size: 0.55rem;
  color: var(--accent-bright);
  text-transform: uppercase;
  letter-spacing: 0.18em;
}
.srch-result-content { min-width: 0; }
.srch-result-type { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.6rem; display: flex; align-items: center; gap: 0.5rem; }
.srch-result-type::before { content: ''; width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; }
.srch-result-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 400; letter-spacing: -0.01em; line-height: 1.2; margin-bottom: 0.6rem; color: var(--cream); }
.srch-result-title em { font-style: italic; color: var(--accent-bright); }
.srch-result-title mark { background: rgba(20, 200, 122, 0.25); color: var(--cream); font-weight: 500; padding: 0 0.15em; border-radius: 2px; font-style: normal; }
.srch-result-excerpt { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.55; }
.srch-result-excerpt mark { background: rgba(20, 200, 122, 0.2); color: var(--cream); padding: 0 0.15em; border-radius: 2px; }
.srch-result-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; margin-top: 0.75rem; display: flex; gap: 1rem; flex-wrap: wrap; }
.srch-result-meta strong { color: var(--cream-dim); }
.srch-result-arrow { font-family: 'JetBrains Mono', monospace; font-size: 1.5rem; color: var(--muted); opacity: 0; transform: translateX(-10px); transition: opacity 0.3s, transform 0.3s, color 0.3s; align-self: center; }
.srch-result:hover .srch-result-arrow { opacity: 1; transform: translateX(0); color: var(--accent-bright); }

.srch-load { text-align: center; padding: 3rem 2rem 0; }
.srch-load-btn { display: inline-flex; align-items: center; gap: 0.75rem; background: transparent; color: var(--cream); border: 1px solid var(--muted); padding: 0.9rem 1.8rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.95rem; cursor: pointer; transition: background 0.2s, color 0.2s, border-color 0.2s; }
.srch-load-btn:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.srch-load-caption { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-top: 1.5rem; }

.srch-empty { max-width: 900px; margin: 4rem auto; padding: 4rem 2rem; text-align: center; border: 1px dashed var(--line); border-radius: 6px; display: none; }
.srch-empty.visible { display: block; }
.srch-empty h3 { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 400; margin-bottom: 1rem; }
.srch-empty h3 em { font-style: italic; color: var(--accent-bright); }
.srch-empty p { color: var(--cream-dim); margin-bottom: 2rem; }
.srch-empty-suggestions { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; }
.srch-empty-suggestion { padding: 0.5rem 1rem; border: 1px solid var(--line); border-radius: 999px; color: var(--cream-dim); text-decoration: none; font-size: 0.85rem; transition: all 0.25s; }
.srch-empty-suggestion:hover { color: #fff; background: var(--accent); border-color: var(--accent); }

@media (max-width: 900px) {
  .srch-result { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.5rem; }
  .srch-result-image { aspect-ratio: 16/9; }
  .srch-result-arrow { display: none; }
}
@media (max-width: 720px) {
  .srch-hero { padding: 6rem 1.25rem 2rem; }
  .srch-form-wrap { padding: 0 1.25rem; }
  .srch-meta, .srch-filters, .srch-results { padding-left: 1.25rem; padding-right: 1.25rem; }
  .srch-results { padding-bottom: 5rem; }
}

/* ============================================================ */
/* From: prototype-404-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* 404 */
main.err { flex: 1; display: grid; align-items: center; padding: 8rem 2rem 5rem; position: relative; overflow: hidden; }
.err-bg { position: absolute; inset: 0; background: radial-gradient(circle at 30% 40%, rgba(20, 200, 122, 0.09), transparent 50%), radial-gradient(circle at 70% 60%, rgba(8, 117, 80, 0.06), transparent 55%); z-index: 0; }
.err-inner { max-width: 1200px; margin: 0 auto; width: 100%; position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.err-number-block { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.err-number-lock { display: inline-block; position: relative; }
.err-number { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; font-size: clamp(10rem, 30vw, 26rem); line-height: 0.85; letter-spacing: -0.05em; color: var(--accent-bright); text-align: center; position: relative; will-change: transform; display: inline-block; }
.err-number-wrap { text-align: center; }
.err-number::before, .err-number::after { content: attr(data-text); position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; opacity: 0; transition: opacity 0.05s ease; }
.err-number.glitch-mild::before { color: var(--cream); transform: translateX(4px); opacity: 0.65; clip-path: polygon(0 0, 100% 0, 100% 42%, 0 42%); }
.err-number.glitch-mild::after { color: var(--accent-bright); transform: translateX(-4px); opacity: 0.5; clip-path: polygon(0 58%, 100% 58%, 100% 100%, 0 100%); filter: hue-rotate(20deg); }
.err-number.glitch-heavy::before { color: var(--cream); transform: translateX(8px); opacity: 0.85; clip-path: polygon(0 10%, 100% 10%, 100% 38%, 0 38%); }
.err-number.glitch-heavy::after { color: var(--accent-bright); transform: translateX(-8px); opacity: 0.75; clip-path: polygon(0 62%, 100% 62%, 100% 88%, 0 88%); }
.err-number.glitch-mega::before { color: var(--cream); transform: translateX(14px); opacity: 1; clip-path: polygon(0 5%, 100% 5%, 100% 22%, 0 22%, 0 44%, 100% 44%, 100% 68%, 0 68%); }
.err-number.glitch-mega::after { color: var(--accent-bright); transform: translateX(-14px); opacity: 0.9; clip-path: polygon(0 22%, 100% 22%, 100% 44%, 0 44%, 0 68%, 100% 68%, 100% 95%, 0 95%); }
.err-number.glitch-mega { animation: megaShake 0.06s linear infinite; }
@keyframes megaShake { 0% { transform: translate(0, 0); } 25% { transform: translate(-2px, 1px); } 50% { transform: translate(2px, -1px); } 75% { transform: translate(-1px, -2px); } 100% { transform: translate(1px, 2px); } }
.err-number-caption { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; text-align: center; margin-top: 3rem; opacity: 0; }

.err-content .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; opacity: 0; }
.err-content .eyebrow-line { display: inline-block; width: 40px; height: 1px; background: var(--accent); }
.err-content h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 2rem; max-width: 18ch; }
.err-content h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.err-content h1 .word { display: inline-block; transform: translateY(110%); }
.err-content h1 em { font-style: italic; color: var(--accent-bright); }
.err-content .lead { color: var(--cream-dim); font-size: 1.05rem; line-height: 1.7; margin-bottom: 3rem; max-width: 45ch; opacity: 0; }

.err-links { display: grid; gap: 0.5rem; opacity: 0; margin-bottom: 3rem; }
.err-link { text-decoration: none; color: inherit; display: grid; grid-template-columns: 60px 1fr auto; gap: 1.5rem; align-items: baseline; padding: 1rem 0; border-top: 1px solid var(--line); transition: padding 0.3s ease; }
.err-link:last-child { border-bottom: 1px solid var(--line); }
.err-link:hover { padding-left: 0.75rem; }
.err-link-num { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); font-size: 1.2rem; }
.err-link-label { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--cream); letter-spacing: -0.01em; }
.err-link-label em { font-style: italic; color: var(--accent-bright); }
.err-link-arrow { font-family: 'JetBrains Mono', monospace; font-size: 1.1rem; color: var(--muted); opacity: 0; transform: translateX(-8px); transition: opacity 0.3s, transform 0.3s, color 0.3s; }
.err-link:hover .err-link-arrow { opacity: 1; transform: translateX(0); color: var(--accent-bright); }

.err-actions { display: grid; gap: 2.5rem; opacity: 0; }
.err-action-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1rem; line-height: 1.6; }
.err-action-label em { font-style: italic; color: var(--cream-dim); text-transform: none; letter-spacing: 0; font-size: 0.95rem; font-family: 'Playfair Display', serif; line-height: 1; vertical-align: baseline; position: relative; top: -5px; }
.err-action-form { display: flex; gap: 0.75rem; padding-bottom: 1rem; border-bottom: 1px solid var(--cream); transition: border-color 0.3s; align-items: center; }
.err-action-form:focus-within { border-color: var(--accent-bright); }
.err-search-icon { width: 22px; height: 22px; color: var(--muted); flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; transition: color 0.3s ease; }
.err-action-form:focus-within .err-search-icon { color: var(--accent-bright); }
.err-search-icon svg { width: 100%; height: 100%; stroke: currentColor; fill: none; stroke-width: 2; }
.err-action-prefix { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.3rem; color: var(--cream); flex-shrink: 0; }
.err-action-input { flex: 1; background: transparent; border: none; outline: none; color: var(--cream); font-family: 'Inter', sans-serif; font-size: 1.15rem; padding: 0.35rem 0; min-width: 0; }
.err-action-input::placeholder { color: var(--muted); font-style: normal; }
/* Custom clear (X) button — replaces Chrome's default blue X (matches .srch- pattern) */
.err-action-input::-webkit-search-cancel-button {
  appearance: none; -webkit-appearance: none;
  height: 18px; width: 18px; cursor: pointer;
  background: transparent;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b0b0b0' stroke-width='2' stroke-linecap='round'><line x1='6' y1='6' x2='18' y2='18'/><line x1='6' y1='18' x2='18' y2='6'/></svg>");
  background-size: contain; background-repeat: no-repeat; background-position: center;
  transition: opacity 0.2s;
  opacity: 0.6;
}
.err-action-input::-webkit-search-cancel-button:hover {
  opacity: 1;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008554' stroke-width='2' stroke-linecap='round'><line x1='6' y1='6' x2='18' y2='18'/><line x1='6' y1='18' x2='18' y2='6'/></svg>");
}
.err-action-submit { background: var(--accent); color: #fff; border: none; padding: 0.55rem 1.1rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.8rem; cursor: pointer; transition: background 0.2s, transform 0.2s; white-space: nowrap; flex-shrink: 0; }
.err-action-submit:hover { background: var(--accent-bright); transform: translateY(-2px); }
.err-action-submit-ghost { background: transparent; color: var(--cream); border: 1px solid var(--muted); }
.err-action-submit-ghost:hover { background: var(--cream); color: var(--ink); border-color: var(--cream); }

@media (max-width: 900px) {
  .err-inner { grid-template-columns: 1fr; gap: 2rem; text-align: center; }
  .err-content h1, .err-content .lead { margin-left: auto; margin-right: auto; }
  .err-links { text-align: left; }
}
@media (max-width: 720px) {
  main.err { padding: 5rem 1.25rem 3rem; }
}

/* ============================================================ */
/* From: prototype-approach-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 (mirrors home) ============ */

/* ============ ATMOSPHERIC BLEED (hero + process only; principle sections have their own bg) ============ */
body::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 1200px 700px at 12% 8%, rgba(20, 200, 122, 0.10), transparent 65%),
    radial-gradient(ellipse 900px 900px at 92% 78%, rgba(20, 200, 122, 0.06), transparent 60%);
}

/* ============ APPROACH-SPECIFIC ============ */
.approach-hero { min-height: 90vh; padding: 8rem 2rem 4rem; display: flex; align-items: center; position: relative; overflow: hidden; }
.approach-hero-bg { position: absolute; inset: 0; background: radial-gradient(circle at 15% 30%, rgba(20, 200, 122, 0.1), transparent 45%), radial-gradient(circle at 85% 70%, rgba(8, 117, 80, 0.07), transparent 50%); }
.approach-hero-inner { position: relative; max-width: 1400px; margin: 0 auto; width: 100%; }
.approach-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; opacity: 0; }
.approach-hero .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.approach-hero .eyebrow-line { display: inline-block; width: 40px; height: 1px; background: var(--muted); }
.approach-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 9vw, 8rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2.5rem; max-width: 18ch; }
.approach-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.approach-hero h1 .word { display: inline-block; transform: translateY(110%); }
.approach-hero h1 em { font-style: italic; color: var(--accent-bright); }
.approach-hero .lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.6rem); color: var(--cream-dim); max-width: 50ch; opacity: 0; }

/* PRINCIPLE — full viewport cinema */
.principle-section {
  min-height: 100vh;
  padding: 6rem 2rem;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
}
.principle-section-bg {
  position: absolute; top: -25%; right: 0; bottom: -25%; left: 0;
  background-size: cover;
  background-position: center;
  opacity: 0.35;
  will-change: transform;
}
.principle-section::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,14,14,0.7) 0%, rgba(14,14,14,0.4) 50%, rgba(14,14,14,0.9) 100%); }
.principle-inner { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 200px 1fr; gap: 4rem; align-items: start; }
.principle-inner .principle-num {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: clamp(6rem, 14vw, 14rem);
  font-weight: 400;
  color: var(--accent-bright);
  line-height: 0.85;
  letter-spacing: -0.04em;
}
.principle-content { padding-top: 3rem; }
.principle-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.principle-label .line { display: inline-block; width: 40px; height: 1px; background: rgba(255,255,255,0.4); }
.principle-content h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.02; letter-spacing: -0.02em; margin-bottom: 2rem; color: #fff; max-width: 18ch; }
.principle-content h2 em { font-style: italic; color: var(--accent-bright); }
.principle-content .body { font-size: clamp(1rem, 1.3vw, 1.2rem); color: rgba(255,255,255,0.85); line-height: 1.7; max-width: 55ch; margin-bottom: 2rem; }
.principle-content .body p + p { margin-top: 1rem; }
.principle-consequences { padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.15); display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; max-width: 700px; }
.principle-consequences .item { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.12em; line-height: 1.5; }
.principle-consequences .item strong { display: block; color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.3rem; letter-spacing: 0; text-transform: none; margin-bottom: 0.4rem; font-weight: 500; }

/* PROCESS TIMELINE */
.approach-process { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.approach-process-inner { max-width: 1100px; margin: 0 auto; }
.approach-phases { margin-top: 3rem; }
.approach-phase { display: grid; grid-template-columns: 100px 1fr 180px; gap: 2rem; padding: 2.5rem 0; border-top: 1px solid var(--line); align-items: baseline; }
.approach-phase:last-child { border-bottom: 1px solid var(--line); }
.approach-phase-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 2rem; color: var(--accent-bright); line-height: 1; }
.approach-phase-body h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.7rem; margin-bottom: 0.5rem; letter-spacing: -0.01em; }
.approach-phase-body p { color: var(--cream-dim); font-size: 0.95rem; max-width: 55ch; }
.approach-phase-duration { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; text-align: right; padding-top: 0.6rem; }
.approach-phase-duration strong { display: block; color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.15rem; letter-spacing: 0; text-transform: none; font-weight: 500; margin-bottom: 0.2rem; position: relative; top: -3px; }
.approach-total { padding: 1.5rem 0; display: flex; justify-content: space-between; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; flex-wrap: wrap; gap: 1rem; }
.approach-total em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); text-transform: none; letter-spacing: 0; font-size: 1.05rem; font-weight: 500; position: relative; top: -3px; }

@media (max-width: 900px) {
  .principle-inner { grid-template-columns: 1fr; gap: 2rem; }
  .principle-num { font-size: clamp(4rem, 12vw, 8rem); }
  .principle-consequences { grid-template-columns: 1fr; gap: 1.5rem; }
  .approach-phase { grid-template-columns: 60px 1fr; }
  .approach-phase-duration { grid-column: 2; text-align: left; padding-top: 0.5rem; }
}
@media (max-width: 720px) {
  .approach-hero { padding: 6rem 1.25rem 3rem; }
  .principle-section, .approach-process { padding: 5rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-about-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 (mirrors home) ============ */

/* ============ ATMOSPHERIC BLEED ============ */
body::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 1200px 700px at 12% 8%, rgba(20, 200, 122, 0.10), transparent 65%),
    radial-gradient(ellipse 900px 900px at 92% 78%, rgba(20, 200, 122, 0.06), transparent 60%),
    radial-gradient(ellipse 700px 500px at 50% 100%, rgba(20, 200, 122, 0.08), transparent 60%);
}

/* ============ ABOUT-SPECIFIC ============ */
.about-hero { min-height: 100vh; padding: 8rem 2rem 4rem; display: grid; align-items: center; position: relative; overflow: hidden; }
.about-hero-inner { max-width: 1400px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1.4fr 1fr; gap: 6rem; align-items: center; }
.about-hero-text .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; opacity: 0; }
.about-hero-text .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.about-hero-text .eyebrow-line { width: 40px; height: 1px; background: var(--muted); }
.about-hero-text h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 7rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2rem; }
.about-hero-text h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.about-hero-text h1 .word { display: inline-block; transform: translateY(110%); will-change: transform; }
.about-hero-text h1 em { font-style: italic; color: var(--accent-bright); }
.about-hero-text .lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 400; line-height: 1.4; color: var(--cream-dim); max-width: 42ch; margin-bottom: 3rem; opacity: 0; }
.about-hero-portrait { aspect-ratio: 3/4; border-radius: 6px; overflow: hidden; position: relative; background: radial-gradient(circle at 30% 30%, rgba(20, 200, 122,0.25), transparent 60%), var(--ink-lift); box-shadow: 0 40px 100px rgba(0,0,0,0.5); border: 1px solid var(--line); }
.about-hero-portrait::before { content: 'M'; position: absolute; inset: 0; display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 18rem; color: var(--muted); opacity: 0.5; }
.about-hero-portrait::after { content: 'MARK · FOUNDER & CEO'; position: absolute; bottom: 1.5rem; left: 1.5rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 0.15em; color: var(--accent-bright); background: rgba(0,0,0,0.5); padding: 0.5rem 0.85rem; border-radius: 3px; backdrop-filter: blur(8px); }

/* MANIFESTO STATEMENT */
.about-statement { padding: 12rem 2rem; background: var(--paper); color: var(--paper-ink); text-align: center; display: grid; place-items: center; }
.about-statement-inner { max-width: 24ch; }
.about-statement-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--paper-muted); text-transform: uppercase; letter-spacing: 0.18em; display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 3rem; }
.about-statement-eyebrow .line { display: inline-block; width: 40px; height: 1px; background: var(--paper-muted); }
.about-statement h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6.5vw, 5.5rem); line-height: 1.05; letter-spacing: -0.02em; color: var(--paper-ink); }
.about-statement h2 em { font-style: italic; color: var(--accent); }

/* ORIGIN STORY */
.origin { padding: 10rem 2rem; }
.origin-inner { max-width: 900px; margin: 0 auto; }
.origin p { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.5; color: var(--cream); margin-bottom: 2rem; }
.origin p em { font-style: italic; color: var(--accent-bright); }
.origin p:first-of-type::first-letter { font-size: 4.5em; float: left; line-height: 0.85; padding-right: 0.8rem; padding-top: 0.4rem; font-family: 'Playfair Display', serif; color: var(--accent-bright); font-style: italic; }

/* TIMELINE */
.timeline { padding: 12rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.timeline-inner { max-width: 1300px; margin: 0 auto; }
.timeline-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 6rem; margin-top: 4rem; align-items: start; }
.timeline-sticky { position: sticky; top: 8rem; }
.timeline-sticky-year { font-family: 'Playfair Display', serif; font-weight: 400; font-style: italic; font-size: clamp(4rem, 8vw, 7rem); line-height: 1; color: var(--accent-bright); letter-spacing: -0.02em; margin-bottom: 1rem; }
.timeline-sticky-count { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2rem; }
.timeline-sticky-count strong { color: var(--cream); font-weight: 500; font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.6rem; letter-spacing: 0; }
.timeline-sticky-desc { font-size: 1rem; color: var(--cream-dim); line-height: 1.7; max-width: 40ch; }
.timeline-events { display: flex; flex-direction: column; gap: 4rem; padding-left: 3rem; border-left: 1px solid var(--line); }
.timeline-event { position: relative; padding: 1.5rem 0 1.5rem 2rem; }
.timeline-event::before { content: ''; position: absolute; left: -3.4rem; top: 2rem; width: 12px; height: 12px; background: var(--ink-lift); border: 2px solid var(--accent-bright); border-radius: 50%; box-shadow: 0 0 0 4px var(--ink-lift), 0 0 20px var(--accent-glow); }
.timeline-event-year { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.5rem; }
.timeline-event h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.7rem; margin-bottom: 0.5rem; letter-spacing: -0.01em; }
.timeline-event p { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.6; max-width: 55ch; }
.timeline-event .who { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--muted); margin-top: 0.75rem; }
.timeline-event .who strong { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-weight: 500; letter-spacing: 0; text-transform: none; position: relative; top: -3px; }

/* TEAM ROSTER */
.team-full { padding: 10rem 2rem; }
.team-full-inner { max-width: 1400px; margin: 0 auto; }
.team-full-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5rem; margin-top: 3rem; }
.team-full-card { padding-top: 2rem; border-top: 1px solid var(--line); transition: transform 0.4s ease; }
.team-full-card:hover { transform: translateY(-6px); }
.team-full-avatar { aspect-ratio: 4/5; width: 100%; border-radius: 4px; background: var(--ink-lift); margin-bottom: 1.5rem; position: relative; overflow: hidden; }
.team-full-avatar::before { content: attr(data-initial); position: absolute; inset: 0; display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 8rem; color: var(--muted); }
.team-full-avatar.a1 { background: radial-gradient(circle at 30% 30%, rgba(20, 200, 122,0.25), transparent 60%), var(--ink-lift); }
.team-full-avatar.a2 { background: radial-gradient(circle at 60% 40%, rgba(180,180,180,0.15), transparent 60%), var(--ink-lift); }
.team-full-avatar.a3 { background: radial-gradient(circle at 50% 60%, rgba(8, 117, 80,0.2), transparent 60%), var(--ink-lift); }
.team-full-avatar.a4 { background: radial-gradient(circle at 40% 40%, rgba(180,180,180,0.1), transparent 60%), var(--ink-lift); }
.team-full-avatar.a5 { background: radial-gradient(circle at 60% 30%, rgba(20, 200, 122,0.18), transparent 60%), var(--ink-lift); }
.team-full-avatar.a6 { background: radial-gradient(circle at 50% 50%, rgba(8, 117, 80,0.28), transparent 60%), var(--ink-lift); }
.team-full-name { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.7rem; margin-bottom: 0.25rem; }
.team-full-role { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; }
.team-full-bio { font-size: 0.95rem; color: var(--cream-dim); line-height: 1.65; margin-bottom: 1.5rem; }
.team-full-link { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--accent-bright); text-decoration: none; border-bottom: 1px solid var(--accent); padding-bottom: 3px; transition: color 0.2s, border-color 0.2s; }
.team-full-link:hover { color: var(--cream); border-color: var(--cream); }
/* Placeholder-avatar + Full-bio-link hides. Remove this block once real photos and per-person bio pages ship. */
.team-full-link,
.team-full-avatar,
.case-team-avatar,
.timeline-event .who { display: none; }
.team-full-card { padding-top: 1.5rem; }

/* VALUES */
.values { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.values-inner { max-width: 1200px; margin: 0 auto; }
.values-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem 5rem; margin-top: 3rem; }
.value { display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: baseline; }
.value-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 3rem; font-weight: 400; color: var(--accent-bright); line-height: 1; min-width: 3rem; }
.value-body h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.7rem; margin-bottom: 0.75rem; letter-spacing: -0.01em; }
.value-body p { color: var(--cream-dim); font-size: 1rem; line-height: 1.65; }

/* WHERE WE WORK */
.where { padding: 10rem 2rem; }
.where-inner { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
.where-text .section-head { max-width: none; }
.where-text p { color: var(--cream-dim); font-size: 1.05rem; line-height: 1.7; margin-bottom: 1.5rem; max-width: 50ch; }
.where-map { aspect-ratio: 4/3; border: 1px solid var(--line); border-radius: 4px; position: relative; padding: 2.75rem 2.5rem; background: radial-gradient(circle at 22% 30%, rgba(20, 200, 122,0.14), transparent 55%), radial-gradient(circle at 85% 70%, rgba(20, 200, 122,0.08), transparent 55%), var(--ink-lift); overflow: hidden; display: flex; flex-direction: column; }
.where-map-title { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; display: flex; align-items: center; gap: 0.85rem; margin-bottom: 2.25rem; }
.where-map-title::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.where-zones { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; margin-bottom: 2rem; }
.where-zone { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; padding: 0.9rem 0.8rem 0.85rem; border: 1px solid var(--line); border-radius: 3px; background: rgba(255,255,255,0.015); transition: border-color 0.3s ease, background 0.3s ease; }
.where-zone:hover { border-color: var(--accent-bright); background: rgba(0,200,100,0.04); }
.where-zone .z-code { font-family: 'JetBrains Mono', monospace; font-size: 0.95rem; color: var(--cream); font-weight: 500; letter-spacing: 0.05em; }
.where-zone .z-status { display: inline-flex; align-items: center; gap: 0.4rem; font-family: 'JetBrains Mono', monospace; font-size: 0.6rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.where-zone .z-status::before { content: ''; width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 6px var(--accent-glow); animation: pulse 2.2s ease-in-out infinite; }
.where-anchors { display: flex; align-items: center; justify-content: center; gap: 1.4rem; padding: 1.5rem 0; margin-top: auto; }
.where-anchor { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; font-size: clamp(2rem, 3.2vw, 2.75rem); color: var(--cream); letter-spacing: -0.01em; line-height: 1; position: relative; }
.where-anchor .a-label { position: absolute; top: -1.4rem; left: 0; font-family: 'JetBrains Mono', monospace; font-style: normal; font-size: 0.6rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; }
.where-anchor-sep { width: 8px; height: 8px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 10px var(--accent-glow); flex-shrink: 0; align-self: center; }
.where-caption { text-align: center; padding-top: 1.25rem; border-top: 1px solid var(--line); font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; display: flex; align-items: center; justify-content: center; gap: 0.75rem; }
.where-caption em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); text-transform: none; letter-spacing: 0; font-size: 1.05rem; font-weight: 500; position: relative; top: -3px; }

@media (max-width: 1000px) {
  .about-hero-inner { grid-template-columns: 1fr; gap: 3rem; }
  .about-hero-portrait { max-width: 400px; margin: 0 auto; }
  .timeline-grid { grid-template-columns: 1fr; gap: 3rem; }
  .timeline-sticky { position: relative; top: 0; }
  .team-full-grid { grid-template-columns: repeat(2, 1fr); }
  .values-grid { grid-template-columns: 1fr; }
  .where-inner { grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 720px) {
  .about-hero { padding: 6rem 1.25rem 3rem; }
  .about-statement, .origin, .timeline, .team-full, .values, .where { padding: 5rem 1.25rem; }
  .team-full-grid { grid-template-columns: 1fr; }
}

/* ============================================================ */
/* From: prototype-services-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* SERVICES */
.services-hero { min-height: 90vh; padding: 8rem 2rem 4rem; display: flex; align-items: center; position: relative; overflow: hidden; }
.services-hero-bg { position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(20, 200, 122, 0.09), transparent 45%), radial-gradient(circle at 80% 70%, rgba(8, 117, 80, 0.06), transparent 50%); }
.services-hero-inner { position: relative; max-width: 1400px; margin: 0 auto; width: 100%; }
.services-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; opacity: 0; }
.services-hero .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.services-hero .eyebrow-line { display: inline-block; width: 40px; height: 1px; background: var(--muted); }
.services-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 9vw, 8rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2.5rem; max-width: 16ch; }
.services-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.services-hero h1 .word { display: inline-block; transform: translateY(110%); }
.services-hero h1 em { font-style: italic; color: var(--accent-bright); }
.services-hero .lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.6rem); color: var(--cream-dim); max-width: 55ch; margin-bottom: 3rem; opacity: 0; }

/* PILLAR — full viewport per service */
.pillar { min-height: 100vh; padding: 8rem 2rem 5rem; position: relative; overflow: hidden; display: grid; align-items: center; border-top: 1px solid var(--line); }
.pillar-inner { max-width: 1400px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1.3fr; gap: 6rem; align-items: center; position: relative; z-index: 2; }
.pillar-num-block { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.pillar-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(6rem, 15vw, 14rem); font-weight: 400; color: var(--accent-bright); line-height: 0.85; letter-spacing: -0.04em; }
.pillar-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; }
.pillar-content h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 7vw, 6rem); line-height: 0.98; letter-spacing: -0.02em; margin-bottom: 2rem; }
.pillar-content h2 em { font-style: italic; color: var(--accent-bright); }
.pillar-content .lead { font-size: clamp(1.05rem, 1.4vw, 1.25rem); color: var(--cream-dim); line-height: 1.65; margin-bottom: 3rem; max-width: 50ch; }
.pillar-deliverables { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem 2rem; margin-bottom: 3rem; max-width: 550px; }
.pillar-deliverable {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  color: var(--cream-dim);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.5rem 0 0.5rem 1.5em;
  position: relative;
  cursor: pointer;
  transition: color 0.3s ease, transform 0.4s ease;
}
.pillar-deliverable::before {
  content: '+';
  position: absolute;
  left: 0;
  top: 0.5rem;
  color: var(--accent-bright);
  font-weight: 500;
  transition: opacity 0.3s ease;
}
.pillar-deliverable::after {
  content: '\2192';
  position: absolute;
  left: 0;
  top: 0.5rem;
  color: var(--accent-bright);
  font-weight: 500;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.pillar-deliverable:hover { color: var(--accent-bright); transform: translateX(5px); }
.pillar-deliverable:hover::before { opacity: 0; }
.pillar-deliverable:hover::after { opacity: 1; transform: translateX(0); }
.pillar-cta { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.9rem 1.75rem; border: 1px solid var(--accent-bright); border-radius: 999px; color: var(--accent-bright); text-decoration: none; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.95rem; transition: background 0.3s ease, color 0.3s ease; }
.pillar-cta:hover { background: var(--accent-bright); color: var(--ink); }
.pillar-cta .arrow { transition: transform 0.2s; display: inline-block; }
.pillar-cta:hover .arrow { transform: translateX(3px); }

/* Alternate layouts */
.pillar.p-alt .pillar-inner { grid-template-columns: 1.3fr 1fr; direction: rtl; }
.pillar.p-alt .pillar-inner > * { direction: ltr; }

/* Ambient bg per pillar */
.pillar.p-1 { background: linear-gradient(180deg, var(--ink) 0%, rgba(8, 117, 80,0.05) 100%); }
.pillar.p-2 { background: var(--ink-lift); }
.pillar.p-3 { background: linear-gradient(180deg, var(--ink) 0%, rgba(8, 117, 80,0.04) 50%, var(--ink) 100%); }
.pillar.p-4 { background: var(--ink-lift); }

@media (max-width: 900px) {
  .pillar-inner, .pillar.p-alt .pillar-inner { grid-template-columns: 1fr; gap: 2rem; direction: ltr; }
  .pillar-num { font-size: clamp(5rem, 15vw, 8rem); }
  .pillar-deliverables { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .services-hero { padding: 6rem 1.25rem 3rem; }
  .pillar { padding: 5rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-service-digital-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* SERVICE PAGE */
.svc-hero { min-height: 90vh; padding: 8rem 2rem 4rem; display: flex; align-items: center; position: relative; overflow: hidden; }
.svc-hero-bg { position: absolute; inset: 0; background-image: url('https://ndm.edu/wp-content/uploads/2026/06/RNA_241014_0646-scaled-e1781491348904.jpg'); background-size: cover; background-position: center; opacity: 0.25; }
.svc-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,14,14,0.6) 0%, rgba(14,14,14,0.3) 50%, var(--ink) 100%); }
.svc-hero-inner { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; width: 100%; }
.svc-hero .breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 3rem; display: flex; gap: 0.75rem; opacity: 0; }
.svc-hero .breadcrumb a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.svc-hero .breadcrumb a:hover { color: var(--accent-bright); }
.svc-hero .breadcrumb .sep { color: var(--muted); }
.svc-hero .breadcrumb .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.svc-hero-eyebrow { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.5rem; color: var(--accent-bright); margin-bottom: 1rem; opacity: 0; }
.svc-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(4rem, 12vw, 11rem); line-height: 0.9; letter-spacing: -0.03em; margin-bottom: 2.5rem; }
.svc-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.svc-hero h1 .word { display: inline-block; transform: translateY(110%); }
.svc-hero h1 em { font-style: italic; color: var(--accent-bright); }
.svc-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 2vw, 1.7rem); color: var(--cream-dim); max-width: 60ch; opacity: 0; }

/* What we do */
.what { padding: 10rem 2rem; }
.what-inner { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.4fr; gap: 6rem; }
.what-list { display: grid; gap: 2rem; margin-top: 2rem; }
.what-item { display: grid; grid-template-columns: auto 1fr; gap: 2rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.what-item:last-child { border-bottom: 1px solid var(--line); }
.what-item-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.4rem; color: var(--accent-bright); }
.what-item h3 { font-family: 'Playfair Display', serif; font-size: 1.5rem; margin-bottom: 0.5rem; letter-spacing: -0.01em; font-weight: 400; }
.what-item p { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.6; }

/* Included */
.included { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.included-inner { max-width: 1200px; margin: 0 auto; }
.included-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem 3rem; margin-top: 3rem; }
.included-item { padding: 2rem 0; border-top: 1px solid var(--line); }
.included-item-label { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1rem; }
.included-item h4 { font-family: 'Playfair Display', serif; font-size: 1.35rem; font-weight: 400; margin-bottom: 0.5rem; letter-spacing: -0.01em; }
.included-item p { color: var(--cream-dim); font-size: 0.9rem; line-height: 1.55; }

/* Cases using this */
.svc-cases { padding: 10rem 2rem; }
.svc-cases-inner { max-width: 1400px; margin: 0 auto; }
.svc-cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.svc-case { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; position: relative; background-size: cover; background-position: center; text-decoration: none; color: white; box-shadow: 0 20px 60px rgba(0,0,0,0.4); transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1); display: flex; }
.svc-case:hover { transform: translateY(-6px); }
.svc-case::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.85)); z-index: 1; }
.svc-case-content { position: relative; z-index: 2; padding: 2rem; margin-top: auto; width: 100%; }
.svc-case-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: rgba(255,255,255,0.75); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.75rem; }
.svc-case-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; margin-bottom: 0.5rem; letter-spacing: -0.01em; font-weight: 400; }
.svc-case-result { color: rgba(255,255,255,0.85); font-size: 0.9rem; }
.svc-case-result em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }

/* Engagement shapes (was pricing) */
.svc-shapes { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.svc-shapes-inner { max-width: 1200px; margin: 0 auto; text-align: center; }
.svc-shapes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.shape-tier { padding: 3rem 2rem; border: 1px solid var(--line); border-radius: 6px; background: var(--ink); text-align: left; }
.shape-tier.featured { border-color: var(--accent-bright); border-width: 2px; position: relative; }
.shape-tier.featured::before { content: 'MOST COMMON'; position: absolute; top: -0.7rem; left: 50%; transform: translateX(-50%); background: var(--accent); color: #fff; font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; padding: 0.3rem 0.8rem; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.15em; }
.shape-tier-name { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; }
.shape-tier-headline { font-family: 'Playfair Display', serif; font-size: 2rem; color: var(--cream); font-style: italic; margin-bottom: 0.5rem; letter-spacing: -0.02em; line-height: 1.1; }
.shape-tier-headline em { color: var(--accent-bright); }
.shape-tier-when { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 2rem; display: flex; align-items: center; gap: 0.6rem; }
.shape-tier-when::before { content: ''; width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; }
.shape-tier-list { list-style: none; padding: 0; }
.shape-tier-list li {
  padding: 0.65rem 0 0.65rem 1.5em;
  border-top: 1px solid var(--line);
  color: var(--cream-dim);
  font-size: 0.88rem;
  position: relative;
  cursor: pointer;
  transition: color 0.3s ease, transform 0.4s ease;
}
.shape-tier-list li::before {
  content: '+';
  position: absolute; left: 0; top: 0.65rem;
  color: var(--accent-bright); font-weight: 500;
  transition: opacity 0.3s ease;
}
.shape-tier-list li::after {
  content: '\2192';
  position: absolute; left: 0; top: 0.65rem;
  color: var(--accent-bright); font-weight: 500;
  opacity: 0; transform: translateX(-6px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.shape-tier-list li:hover { color: var(--accent-bright); transform: translateX(5px); }
.shape-tier-list li:hover::before { opacity: 0; }
.shape-tier-list li:hover::after { opacity: 1; transform: translateX(0); }
.svc-shapes-note { margin-top: 3rem; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; max-width: 60ch; margin-left: auto; margin-right: auto; line-height: 1.7; }
.svc-shapes-note em { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; font-weight: 500; }

/* FAQ */
.svc-faq { padding: 10rem 2rem; }
.svc-faq-inner { max-width: 1000px; margin: 0 auto; }
.svc-faq-list { display: grid; margin-top: 3rem; }
.svc-faq-item { padding: 2.5rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; }
.svc-faq-item:last-child { border-bottom: 1px solid var(--line); }
.svc-faq-q { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.4rem; letter-spacing: -0.01em; line-height: 1.25; }
.svc-faq-q em { font-style: italic; color: var(--accent-bright); }
.svc-faq-a { color: var(--cream-dim); font-size: 0.98rem; line-height: 1.65; }

@media (max-width: 1000px) {
  .what-inner { grid-template-columns: 1fr; gap: 3rem; }
  .included-grid { grid-template-columns: 1fr; }
  .svc-cases-grid { grid-template-columns: 1fr; }
  .svc-shapes-grid { grid-template-columns: 1fr; gap: 3rem; }
  .svc-faq-item { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 720px) {
  .svc-hero { padding: 6rem 1.25rem 3rem; }
  .what, .included, .svc-cases, .svc-shapes, .svc-faq { padding: 5rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-service-hosting-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* SUB-SERVICE (LIGHT SERVICE) */
.sub-hero { min-height: 70vh; padding: 8rem 2rem 4rem; display: flex; align-items: center; position: relative; overflow: hidden; }
.sub-hero-inner { max-width: 1100px; margin: 0 auto; width: 100%; }
.sub-breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 3rem; display: flex; gap: 0.75rem; opacity: 0; flex-wrap: wrap; }
.sub-breadcrumb a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.sub-breadcrumb a:hover { color: var(--accent-bright); }
.sub-breadcrumb .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.sub-hero-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; opacity: 0; }
.sub-hero-eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.sub-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 6.5rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2rem; max-width: 15ch; }
.sub-hero h1 em { font-style: italic; color: var(--accent-bright); }
.sub-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.6rem); color: var(--cream-dim); line-height: 1.4; max-width: 55ch; margin-bottom: 2.5rem; opacity: 0; }
.sub-hero-cta { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.9rem 1.75rem; border: 1px solid var(--accent-bright); border-radius: 999px; color: var(--accent-bright); text-decoration: none; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.95rem; transition: background 0.3s ease, color 0.3s ease; opacity: 0; }
.sub-hero-cta:hover { background: var(--accent-bright); color: var(--ink); }

/* INTRO */
.sub-intro { padding: 6rem 2rem; }
.sub-intro-inner { max-width: 900px; margin: 0 auto; }
.sub-intro p { color: var(--cream); font-size: 1.15rem; line-height: 1.75; margin-bottom: 1.5rem; }
.sub-intro p em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }
.sub-intro-lead { font-family: 'Inter', system-ui, sans-serif; font-weight: 400; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.4; color: var(--cream); margin-bottom: 2rem; letter-spacing: -0.005em; }
.sub-intro-lead em { color: var(--accent-bright); font-style: italic; }

/* BENEFIT BLOCKS */
.sub-benefits { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sub-benefits-inner { max-width: 1200px; margin: 0 auto; }
.sub-benefits-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; margin-top: 3rem; }
.sub-benefit { padding: 2.5rem; border: 1px solid var(--line); border-radius: 6px; background: var(--ink); transition: border-color 0.3s ease, transform 0.4s ease; }
.sub-benefit:hover { border-color: var(--accent-bright); transform: translateY(-4px); }
/* Split modifier — service-item pattern with content moved to its own third column
   (num | heading | content) — used for sub-service benefit rows. */
.service-item--split { grid-template-columns: 90px 1fr 1.4fr; }
/* Override the pillar flex layout — no service-arrow here, keep h3 as normal block flow so <em>/text wrap inline */
.service-item--split .service-body h3 { display: block; margin-bottom: 0; }
/* Heading em/strong — same treatment as the home page pillars */
.service-item--split .service-body h3 em {
  font-style: italic;
  color: var(--accent-bright);
  font-family: 'Playfair Display', serif;
  font-weight: 400;
}
.service-item--split .service-body h3 strong {
  font-weight: 500;
  color: var(--cream);
}
.service-item--split .service-detail { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; position: relative; z-index: 2; transition: color 0.3s ease; }
.service-item--split .service-detail p { margin-bottom: 1.1rem; }
.service-item--split .service-detail p:last-child { margin-bottom: 0; }
.service-item--split .service-detail p em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }
.service-item--split .service-detail p strong { color: var(--cream); font-weight: 500; }
/* Row hover — brighten the content copy to pure white */
.service-item--split:hover .service-detail,
.service-item--split:hover .service-detail p { color: #ffffff; }

/* Market page — hero with lead-capture form, "services offered" grid */
.market-hero { min-height: 70vh; padding: 9rem 2rem 5rem; display: flex; align-items: center; }
.market-hero-inner { max-width: 1400px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1.4fr 1fr; gap: 5rem; align-items: start; }
.market-hero-copy .sub-breadcrumb { margin-bottom: 1.5rem; }
.market-hero-copy .sub-hero-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; opacity: 0; }
.market-hero-copy h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 6.5rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2rem; }
.market-hero-copy h1 em { font-style: italic; color: var(--accent-bright); }
.market-hero-copy .sub-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.6rem); color: var(--cream-dim); line-height: 1.4; max-width: 55ch; opacity: 0; margin-bottom: 2.5rem; }
/* CTA button — matches 404 err-link vibe. On desktop, scrolls focus to form on right; on mobile, scrolls down to form. */
.market-hero-cta { display: inline-flex; align-items: baseline; gap: 1.5rem; padding: 1.1rem 1.75rem; border: 1px solid var(--accent-bright); border-radius: 999px; color: var(--accent-bright); text-decoration: none; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 1rem; transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease; }
.market-hero-cta:hover { background: var(--accent-bright); color: var(--ink); transform: translateY(-2px); }
.market-hero-cta-arrow { font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; transition: transform 0.3s ease; }
.market-hero-cta:hover .market-hero-cta-arrow { transform: translateX(4px); }
.market-hero-form { background: var(--ink-lift); border: 1px solid var(--line); border-radius: 6px; padding: 2rem; position: sticky; top: 6rem; }
.market-hero-form-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.market-hero-form-label::before { content: ''; width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 8px var(--accent-glow); animation: pulse 2.2s ease-in-out infinite; }
.market-hero-form .gform_wrapper { color: var(--cream); }
.market-hero-form .gfield_label,
.market-hero-form label { font-family: 'Inter', sans-serif; font-size: 0.85rem; color: var(--cream-dim); font-weight: 400; }
.market-hero-form input[type="text"],
.market-hero-form input[type="email"],
.market-hero-form input[type="tel"],
.market-hero-form textarea { background: transparent; border: none; border-bottom: 1px solid var(--line); color: var(--cream); font-family: 'Inter', sans-serif; font-size: 1rem; padding: 0.5rem 0; width: 100%; outline: none; transition: border-color 0.2s; }
.market-hero-form input:focus,
.market-hero-form textarea:focus { border-bottom-color: var(--accent-bright); }
.market-hero-form input[type="submit"],
.market-hero-form button[type="submit"] { background: var(--accent-bright); color: var(--ink); border: none; padding: 0.85rem 1.5rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 500; cursor: pointer; transition: transform 0.2s, background 0.2s; margin-top: 1rem; }
.market-hero-form input[type="submit"]:hover,
.market-hero-form button[type="submit"]:hover { background: #fff; transform: translateY(-2px); }
@media (max-width: 1000px) {
	.market-hero-inner { grid-template-columns: 1fr; gap: 3rem; }
	.market-hero-form { position: static; }
}

/* Market — editorial hero (from prototype-market-govcon-v0716). Full-width dark
   atmospheric bg, animated word reveal H1, stats inline at bottom. */
.mkti-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,14,14,0.7) 0%, rgba(14,14,14,0.4) 50%, var(--ink) 100%), radial-gradient(circle at 15% 30%, rgba(20,200,122,0.14), transparent 55%); }
.mkti-hero-inner { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; width: 100%; }
.mkti-breadcrumb a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.mkti-breadcrumb a:hover { color: var(--accent-bright); }
.mkti-breadcrumb .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.mkti-hero-eyebrow { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.5rem; color: var(--accent-bright); margin-bottom: 1rem; opacity: 0; }
.mkti-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3.5rem, 10vw, 9rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2.5rem; max-width: 15ch; color: var(--cream); }
.mkti-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.mkti-hero h1 .word { display: inline-block; transform: translateY(110%); will-change: transform; }
.mkti-hero h1 em { font-style: italic; color: var(--accent-bright); }
.mkti-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 2vw, 1.7rem); color: var(--cream-dim); max-width: 55ch; margin-bottom: 3rem; opacity: 0; line-height: 1.4; }
.mkti-hero-ctas { display: flex; gap: 1.25rem; margin-bottom: 3.5rem; opacity: 0; flex-wrap: wrap; }
.mkti-hero-stats { display: flex; gap: 3rem; opacity: 0; flex-wrap: wrap; }
.mkti-stat { text-align: left; }
.mkti-stat .num { font-family: 'Playfair Display', serif; font-size: clamp(2.5rem, 5vw, 4rem); color: var(--cream); line-height: 1; margin-bottom: 0.5rem; font-weight: 400; }
.mkti-stat .num em { color: var(--accent-bright); font-style: italic; }
.mkti-stat .num .unit { font-size: 0.4em; color: var(--cream-dim); font-style: italic; margin-left: 0.15em; font-family: 'Playfair Display', serif; }
.mkti-stat .label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; max-width: 22ch; }

/* Compact contact-form strip — dark section with subtle green atmosphere.
   Same input styling character as the cream version, just inverted to dark. */
.mkti-form-strip { padding: 7rem 2rem; background: var(--ink-lift); color: var(--cream); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; overflow: hidden; }
.mkti-form-strip::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 15% 20%, rgba(20, 200, 122, 0.09), transparent 55%), radial-gradient(circle at 85% 80%, rgba(8, 117, 80, 0.06), transparent 55%); pointer-events: none; }
.mkti-form-strip-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 5rem; align-items: center; }
.mkti-form-strip-copy .label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.mkti-form-strip-copy .label .dot { width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 8px var(--accent-glow); animation: pulse 2.2s ease-in-out infinite; }
.mkti-form-strip-copy h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.05; letter-spacing: -0.015em; color: var(--cream); margin-bottom: 1.5rem; }
.mkti-form-strip-copy h3 em { font-style: italic; color: var(--accent-bright); }
.mkti-form-strip-copy p { color: var(--cream-dim); font-size: 1.05rem; line-height: 1.7; margin: 0 0 2rem 0; max-width: 45ch; }
.mkti-form-strip-copy p em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }
.mkti-form-signals { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.13em; display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.mkti-form-signals span { line-height: 1.4; }

/* Gravity Form styling INSIDE the dark form strip */
.mkti-form-strip .gform_wrapper { color: var(--cream); font-family: 'Inter', sans-serif; }
.mkti-form-strip .gform_wrapper .gform_heading,
.mkti-form-strip .gform_wrapper .gform_required_legend { display: none; }
.mkti-form-strip .gform_wrapper .gfield { margin-bottom: 1.75rem; }
.mkti-form-strip .gform_wrapper .gfield_label,
.mkti-form-strip .gform_wrapper label { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--muted); font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.6rem; display: block; }
.mkti-form-strip .gform_wrapper input[type="text"],
.mkti-form-strip .gform_wrapper input[type="email"],
.mkti-form-strip .gform_wrapper input[type="tel"],
.mkti-form-strip .gform_wrapper input[type="url"],
.mkti-form-strip .gform_wrapper textarea,
.mkti-form-strip .gform_wrapper select {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--line);
	color: var(--cream);
	font-family: 'Playfair Display', serif;
	font-size: 1.25rem;
	font-weight: 400;
	padding: 0.5rem 0 0.75rem;
	width: 100%;
	outline: none;
	transition: border-color 0.3s ease;
	border-radius: 0;
	box-shadow: none;
}
.mkti-form-strip .gform_wrapper input::placeholder,
.mkti-form-strip .gform_wrapper textarea::placeholder {
	color: var(--muted);
	font-family: 'Playfair Display', serif;
	font-style: italic;
	opacity: 0.7;
}
.mkti-form-strip .gform_wrapper input:focus,
.mkti-form-strip .gform_wrapper textarea:focus,
.mkti-form-strip .gform_wrapper select:focus {
	border-bottom-color: var(--accent-bright);
	border-bottom-width: 2px;
	padding-bottom: calc(0.75rem - 1px);
}
.mkti-form-strip .gform_wrapper textarea { min-height: 100px; resize: vertical; }
/* Two-column layout for name fields (First / Last) */
.mkti-form-strip .gform_wrapper .ginput_complex.ginput_container_name { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.mkti-form-strip .gform_wrapper .ginput_complex span { display: block; }
/* Submit button — MB primary pill */
.mkti-form-strip .gform_wrapper .gform_footer { padding: 1.5rem 0 0; margin: 0; }
.mkti-form-strip .gform_wrapper input[type="submit"],
.mkti-form-strip .gform_wrapper button[type="submit"] {
	background: var(--accent-bright);
	color: var(--ink);
	border: none;
	padding: 1rem 2rem;
	border-radius: 999px;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
	box-shadow: 0 6px 20px rgba(20, 200, 122, 0.25);
}
.mkti-form-strip .gform_wrapper input[type="submit"]:hover,
.mkti-form-strip .gform_wrapper button[type="submit"]:hover {
	background: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(20, 200, 122, 0.4);
}
/* Validation + confirmation */
.mkti-form-strip .gform_wrapper .gfield_error input,
.mkti-form-strip .gform_wrapper .gfield_error textarea { border-bottom-color: #e56e6e; }
.mkti-form-strip .gform_wrapper .gfield_validation_message,
.mkti-form-strip .gform_wrapper .validation_message { color: #e56e6e; font-family: 'Inter', sans-serif; font-size: 0.85rem; margin-top: 0.4rem; }
.mkti-form-strip .gform_confirmation_message { padding: 2rem; background: rgba(20, 200, 122, 0.08); border-left: 3px solid var(--accent-bright); font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--cream); border-radius: 4px; }

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

/* Market — Challenge section (Playfair lead + body paragraphs, 2-col) */
.mkti-challenge-lead em { color: var(--accent-bright); font-style: italic; }
.mkti-challenge-body p { color: var(--cream-dim); font-size: 1.02rem; line-height: 1.7; margin-bottom: 1.5rem; }
.mkti-challenge-body p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
	.mkti-challenge-inner { grid-template-columns: 1fr; gap: 2.5rem; }
}

/* Market — "What we know cold" 3-item grid */
.mkti-know-inner { max-width: 1200px; margin: 0 auto; }
.mkti-know-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 3rem; }
.mkti-know-item { padding: 2rem 0; border-top: 1px solid var(--line); }
.mkti-know-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 2rem; color: var(--accent-bright); margin-bottom: 1rem; }
.mkti-know-item h3 { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 400; margin-bottom: 0.75rem; letter-spacing: -0.01em; color: var(--cream); }
.mkti-know-item p { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.6; }
@media (max-width: 900px) { .mkti-know-grid { grid-template-columns: 1fr; gap: 2rem; } }

/* NAICS + registration section (currently used only on GovCon market page,
   ported from prototype-landing-govcon-v0716). Cred strip up top, NAICS grid below. */
.lp-naics-inner { max-width: 1200px; margin: 0 auto; }
.lp-registration { display: flex; justify-content: space-between; align-items: baseline; gap: 2rem; flex-wrap: wrap; padding-bottom: 2rem; }
.lp-reg-item { display: inline-flex; align-items: baseline; gap: 0.7rem; }
.lp-reg-label { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.15rem; color: var(--cream-dim); letter-spacing: 0; text-transform: none; font-weight: 400; }
.lp-reg-val { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; color: var(--accent-bright); letter-spacing: 0.04em; font-weight: 500; text-transform: uppercase; position: relative; top: -2px; }
.lp-reg-val.status-dot::before { content: '●'; color: var(--accent-bright); margin-right: 0.3em; font-size: 0.85em; }
.lp-naics-rule { height: 1px; background: var(--line); margin: 0 0 2.5rem; }
.lp-naics-head { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 2rem; }
.lp-naics-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.7rem, 3vw, 2.4rem); letter-spacing: -0.01em; line-height: 1.15; color: var(--cream); }
.lp-naics-title em { font-style: italic; color: var(--accent-bright); }
.lp-naics-count { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.lp-naics-count em { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1.05rem; position: relative; top: -5px; font-weight: 500; }
.lp-naics-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem 2rem; }
.naics { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: baseline; padding: 0.5rem 0; font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; }
.naics-code { color: var(--accent-bright); font-weight: 500; letter-spacing: 0.05em; }
.naics.primary .naics-code { color: #fff; background: var(--accent); padding: 0.1rem 0.35rem; border-radius: 3px; }
.naics-desc { color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.4; }
@media (max-width: 900px) {
	.lp-naics-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-registration { justify-content: flex-start; }
}
@media (max-width: 600px) {
	.lp-naics-grid { grid-template-columns: 1fr; }
}

/* Market — "services offered for this market" cross-link section */
.market-services { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.market-services-inner { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.5fr; gap: 5rem; align-items: start; }
.market-services-image { aspect-ratio: 4/5; border-radius: 6px; background-size: cover; background-position: center; box-shadow: 0 20px 60px rgba(0,0,0,0.35); }
.market-services-desc { color: var(--cream-dim); font-size: 1.02rem; line-height: 1.7; margin-bottom: 2.5rem; }
.market-services-desc em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }
.market-services-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.market-services-list li { border-top: 1px solid var(--line); }
.market-services-list li:last-child { border-bottom: 1px solid var(--line); }
.market-services-list li a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; text-decoration: none; color: var(--cream); font-family: 'Playfair Display', serif; font-size: 1.3rem; font-weight: 400; transition: color 0.2s, padding 0.3s; }
.market-services-list li a:hover { color: var(--accent-bright); padding-left: 0.75rem; }
.market-services-arrow { font-family: 'JetBrains Mono', monospace; font-size: 1rem; color: var(--muted); transition: transform 0.2s, color 0.2s; }
.market-services-list li a:hover .market-services-arrow { color: var(--accent-bright); transform: translateX(4px); }
@media (max-width: 900px) {
	.market-services-inner { grid-template-columns: 1fr; gap: 2rem; }
	.market-services-image { max-width: 400px; margin: 0 auto; }
}

/* Market services v2 — editorial magazine treatment with atmospheric image bg */
.market-services-v2 { position: relative; padding: 10rem 2rem; background: var(--ink-deep); overflow: hidden; }
.market-services-v2-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
/* Image fills the container naturally, top-aligned. Gradient overlay (::after)
   fades the bottom edge to ink-deep so no hard image edge shows. */
.market-services-v2-image { position: absolute; inset: 0; background-size: cover; background-position: center top; opacity: 0.28; filter: grayscale(0.4) contrast(1.05) brightness(0.75); mix-blend-mode: luminosity; }
.market-services-v2-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--ink-deep) 0%, rgba(8,8,8,0.6) 30%, rgba(8,8,8,0.55) 70%, var(--ink-deep) 100%), radial-gradient(circle at 20% 30%, rgba(20,200,122,0.15), transparent 55%); }
.market-services-v2-inner { position: relative; z-index: 1; max-width: 1300px; margin: 0 auto; }

.market-services-v2-header { max-width: 900px; margin: 0 auto 5rem; text-align: left; }
.market-services-v2-header .section-label { margin-bottom: 1.5rem; }
.market-services-v2-head { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1.02; letter-spacing: -0.02em; color: var(--cream); max-width: 18ch; margin-bottom: 1.5rem; }
.market-services-v2-head em { font-style: italic; color: var(--accent-bright); }
.market-services-v2-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.2rem; color: var(--cream-dim); max-width: 55ch; line-height: 1.5; margin: 0; }

.market-services-v2-list { list-style: none; padding: 0; margin: 0; }
.market-services-v2-row { border-top: 1px solid rgba(255,255,255,0.08); }
.market-services-v2-row:last-child { border-bottom: 1px solid rgba(255,255,255,0.08); }
.market-services-v2-link { display: grid; grid-template-columns: 90px 1fr auto; gap: 3rem; align-items: baseline; padding: 2rem 1rem; text-decoration: none; color: inherit; transition: background 0.4s ease, padding 0.3s ease; position: relative; }
.market-services-v2-link:hover { background: rgba(20,200,122,0.05); padding-left: 2rem; }
.row-num { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; font-size: 2rem; color: var(--accent-bright); line-height: 1; transition: transform 0.3s ease, color 0.3s ease; }
.market-services-v2-link:hover .row-num { transform: translateY(-2px); color: #fff; }
.row-body { display: flex; flex-direction: column; gap: 0.6rem; }
.row-name { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -0.01em; color: var(--cream); line-height: 1.1; transition: color 0.3s ease; }
.market-services-v2-link:hover .row-name { color: var(--accent-bright); }
.row-caption { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; line-height: 1.5; max-width: 65ch; transition: color 0.3s ease; }
.market-services-v2-link:hover .row-caption { color: var(--cream); }
.row-arrow { font-family: 'JetBrains Mono', monospace; font-size: 1.2rem; color: var(--muted); align-self: center; opacity: 0.5; transform: translateX(-8px); transition: opacity 0.3s, transform 0.3s, color 0.3s; }
.market-services-v2-link:hover .row-arrow { opacity: 1; transform: translateX(0); color: var(--accent-bright); }

@media (max-width: 900px) {
	.market-services-v2 { padding: 6rem 1.5rem; }
	.market-services-v2-header { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 3rem; }
	.market-services-v2-count { grid-row: auto; }
	.market-services-v2-head { grid-row: auto; }
	.market-services-v2-sub { grid-column: auto; }
	.market-services-v2-link { grid-template-columns: 60px 1fr auto; gap: 1.5rem; padding: 1.5rem 0.5rem; }
	.row-num { font-size: 1.4rem; }
}

/* Related Clients — full-bleed 3-tile stagger with varied sizes (uses .work-tile) */
.sub-related--fullbleed { padding: 8rem 0 10rem; background: var(--ink-deep); }
.sub-clients-header { max-width: 1400px; margin: 0 auto 4rem; padding: 0 6vw; }
.sub-clients-header .section-head { max-width: none; }
.sub-clients-rail {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2.5rem;
	padding: 0 6vw 3rem;
	flex-wrap: nowrap;
	max-width: 100%;
	overflow: visible;
}
/* Image zoom via inner background layer — no repeat, gradient/content untouched */
.sub-clients-rail .work-tile-bg,
.work-rail .work-tile-bg {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
	z-index: 0;
}
.sub-clients-rail .work-tile:hover .work-tile-bg,
.work-rail .work-tile:hover .work-tile-bg { transform: scale(1.05); }
/* Cancel the base .work-tile:hover background-size zoom on .work-rail (we use transform instead) */
.work-rail .work-tile:hover { background-size: cover; }
/* Capabilities past-performance rail needs bottom breathing room — home is buffered by its pin-scroll release */
.work-horizontal.cap-cases { padding-bottom: 8rem; }
/* Cancel the base .work-tile:hover background-size zoom (we use transform instead) */
.sub-clients-rail .work-tile:hover { background-size: cover; }
/* Stretched cover link — the h3 anchor covers the whole tile, but chip links
   sit above it via z-index so they can be clicked independently. */
.sub-clients-rail .work-tile { flex: 0 0 auto; background-image: none; overflow: hidden; cursor: pointer; }
.sub-clients-rail .work-tile .tile-cover-link { color: inherit; text-decoration: none; }
.sub-clients-rail .work-tile .tile-cover-link::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}
.sub-clients-rail .work-tile-meta { position: relative; z-index: 2; }
.sub-clients-rail .tile-chip {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  transition: color 0.2s;
  cursor: pointer;
}
.sub-clients-rail .tile-chip:hover { color: var(--accent-bright); }
.sub-clients-rail .tile-chip-sep { color: rgba(255,255,255,0.4); margin: 0 0.15em; }
/* Slightly smaller-than-home sizes since this is a "related" moment, not the hero rail.
   Middle tile still offset via align-self: flex-end from base .work-tile.h-b/h-d rules. */
.sub-clients-rail .work-tile.h-a { width: 30vw; height: 62vh; }
.sub-clients-rail .work-tile.h-b { width: 24vw; height: 52vh; align-self: flex-end; }
.sub-clients-rail .work-tile.h-c { width: 28vw; height: 66vh; }
@media (max-width: 1100px) {
	.sub-clients-rail { flex-direction: column; gap: 2rem; align-items: stretch; padding: 0 1.5rem; overflow: visible; }
	.sub-clients-rail .work-tile,
	.sub-clients-rail .work-tile.h-a,
	.sub-clients-rail .work-tile.h-b,
	.sub-clients-rail .work-tile.h-c { width: 100%; max-width: 640px; margin: 0 auto; height: 55vh; align-self: auto; }
}
.sub-benefit-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 2rem; color: var(--accent-bright); line-height: 1; margin-bottom: 1.25rem; }
.sub-benefit h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.6rem; margin-bottom: 0.75rem; letter-spacing: -0.01em; line-height: 1.2; }
.sub-benefit h3 em { font-style: italic; color: var(--accent-bright); }
.sub-benefit p { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.65; }

/* FAQ */
.sub-faq { padding: 8rem 2rem; }
.sub-faq-inner { max-width: 1000px; margin: 0 auto; }
.sub-faq-list { display: grid; margin-top: 3rem; }
.sub-faq-item { padding: 2.5rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; }
.sub-faq-item:last-child { border-bottom: 1px solid var(--line); }
.sub-faq-q { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.3rem; letter-spacing: -0.01em; line-height: 1.25; }
.sub-faq-q em { font-style: italic; color: var(--accent-bright); }
.sub-faq-a { color: var(--cream-dim); font-size: 0.98rem; line-height: 1.65; }

/* RELATED SUBSERVICES */
.sub-related { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sub-related-inner { max-width: 1200px; margin: 0 auto; }
.sub-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 3rem; }
.sub-related-link { padding: 2rem; border: 1px solid var(--line); border-radius: 6px; text-decoration: none; color: inherit; display: block; transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease; }
.sub-related-link:hover { border-color: var(--accent-bright); background: rgba(0, 200, 100, 0.04); transform: translateY(-3px); }
.sub-related-link .meta { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.75rem; }
.sub-related-link h4 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.4rem; letter-spacing: -0.01em; margin-bottom: 0.5rem; }
.sub-related-link p { color: var(--cream-dim); font-size: 0.9rem; line-height: 1.5; }

@media (max-width: 900px) {
  .sub-benefits-grid, .sub-related-grid { grid-template-columns: 1fr; }
  .sub-faq-item { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 720px) {
  .sub-hero { padding: 6rem 1.25rem 3rem; }
  .sub-intro, .sub-benefits, .sub-faq, .sub-related { padding: 5rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-markets-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* MARKETS */
.mkt-hero { min-height: 80vh; padding: 8rem 2rem 4rem; display: flex; align-items: center; position: relative; overflow: hidden; }
.mkt-hero-bg { position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(20, 200, 122, 0.09), transparent 45%); }
.mkt-hero-inner { position: relative; max-width: 1400px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1.5fr 1fr; gap: 4rem; align-items: end; }
.mkt-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; opacity: 0; }
.mkt-hero .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.mkt-hero .eyebrow-line { display: inline-block; width: 40px; height: 1px; background: var(--muted); }
.mkt-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 9vw, 8rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2rem; max-width: 15ch; }
.mkt-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.mkt-hero h1 .word { display: inline-block; transform: translateY(110%); }
.mkt-hero h1 em { font-style: italic; color: var(--accent-bright); }
.mkt-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.6rem); color: var(--cream-dim); line-height: 1.4; opacity: 0; }

/* Market grid */
.markets-grid-section { padding: 8rem 2rem; }
.markets-grid { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(6, 1fr); gap: 2rem; }
.market-tile { text-decoration: none; color: inherit; display: block; position: relative; padding: 3rem; border-radius: 6px; background: var(--ink-lift); border: 1px solid var(--line); transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.4s ease, border-color 0.4s ease; overflow: hidden; }
.market-tile:hover { transform: translateY(-8px); background: var(--ink-deep); border-color: var(--accent-bright); }
.market-tile::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 20% 20%, rgba(20, 200, 122, 0.2), transparent 55%); opacity: 0; transition: opacity 0.4s ease; }
.market-tile:hover::before { opacity: 1; }
.market-tile > *:not(.market-tile-overlay) { position: relative; z-index: 2; }
.market-tile-overlay { position: absolute; inset: 0; z-index: 1; text-indent: -9999px; overflow: hidden; }

/* Client name links inside a tile */
.market-clients-list a {
  color: inherit; text-decoration: none;
  position: relative; z-index: 3;
  transition: color 0.25s ease;
}
.market-clients-list a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px;
  background: var(--accent-bright); opacity: 0;
  transition: opacity 0.25s ease;
}
.market-clients-list a:hover { color: var(--accent-bright); }
.market-clients-list a:hover::after { opacity: 1; }
.market-clients-list .sep { color: var(--muted); margin: 0 0.35em; }
.market-clients-list .attr { color: var(--cream-dim); font-size: 0.85em; }
/* Scoped 2026-07-19 to .market-tile so these grid-card variants don't
   override the homepage's stacked-list .market-num / .market-name / .market-desc
   (defined at lines 688, 694, 704). The .market-tile grid design lives in
   prototype-markets-v0716 only — no live WP template uses it yet. */
.market-tile .market-num { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.5rem; }
.market-tile .market-num-italic { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.2rem; letter-spacing: 0; text-transform: none; position: relative; top: -3px; }
.market-tile .market-name { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -0.01em; line-height: 1.1; margin-bottom: 1rem; }
.market-tile .market-name em { font-style: italic; color: var(--accent-bright); }
.market-tile .market-desc { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.6; margin-bottom: 2rem; }
.market-clients { padding-top: 1.5rem; border-top: 1px solid var(--line); }
.market-clients-label { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.75rem; }
.market-clients-list { font-family: 'Playfair Display', serif; font-size: 0.95rem; color: var(--cream); line-height: 1.4; }
.market-arrow { margin-top: 2rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; display: inline-flex; align-items: center; gap: 0.5rem; opacity: 0; transform: translateX(-10px); transition: opacity 0.3s ease, transform 0.3s ease; cursor: pointer; }
.market-tile:hover .market-arrow { opacity: 1; transform: translateX(0); }
.market-arrow-text { position: relative; padding-bottom: 3px; }
.market-arrow-text::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: right;
  transition: transform 0.35s cubic-bezier(0.6, 0, 0.4, 1);
}
.market-arrow:hover .market-arrow-text::after { transform: scaleX(1); transform-origin: left; }
.market-arrow-icon { display: inline-block; transition: transform 0.3s ease; }
.market-arrow:hover .market-arrow-icon { transform: translateX(4px); }

.market-tile.m-1 { grid-column: 1 / span 3; min-height: 400px; }
.market-tile.m-2 { grid-column: 4 / span 3; min-height: 400px; }
.market-tile.m-3 { grid-column: 1 / span 2; min-height: 380px; }
.market-tile.m-4 { grid-column: 3 / span 2; min-height: 380px; }
.market-tile.m-5 { grid-column: 5 / span 2; min-height: 380px; }
.market-tile.m-6 { grid-column: 1 / span 6; min-height: 280px; padding: 3rem 4rem; }
.market-tile.m-6 .market-name { font-size: clamp(2rem, 4vw, 3.5rem); }

/* ALSO FLUENT IN */
.mkt-fluent { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mkt-fluent-inner { max-width: 1200px; margin: 0 auto; }
.mkt-fluent-head { display: grid; grid-template-columns: 1fr 1.8fr; gap: 4rem; align-items: end; margin-bottom: 3.5rem; }
.mkt-fluent-head h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.05; letter-spacing: -0.02em; max-width: 18ch; }
.mkt-fluent-head h2 em { font-style: italic; color: var(--accent-bright); }
.mkt-fluent-head p { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; max-width: 45ch; }
.mkt-fluent-head p em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }
.mkt-fluent-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.mkt-fluent-chip {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.75rem;
  color: var(--cream-dim);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0.65rem 1rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}
.mkt-fluent-chip:hover { color: #fff; border-color: var(--accent-bright); background: rgba(20, 200, 122, 0.08); transform: translateY(-2px); }
@media (max-width: 900px) { .mkt-fluent-head { grid-template-columns: 1fr; gap: 1.5rem; } }
@media (max-width: 720px) { .mkt-fluent { padding: 5rem 1.25rem; } }

@media (max-width: 1000px) {
  .mkt-hero-inner { grid-template-columns: 1fr; }
  .markets-grid { grid-template-columns: 1fr; }
  .market-tile.m-1, .market-tile.m-2, .market-tile.m-3, .market-tile.m-4, .market-tile.m-5, .market-tile.m-6 { grid-column: 1; min-height: 300px; padding: 2rem; }
}
@media (max-width: 720px) {
  .mkt-hero { padding: 6rem 1.25rem 3rem; }
  .markets-grid-section { padding: 4rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-market-govcon-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* MARKET INDIVIDUAL */
.mkti-hero { min-height: 90vh; padding: 8rem 2rem 4rem; display: flex; align-items: center; position: relative; overflow: hidden; background: var(--ink); }
.mkti-hero-bg { position: absolute; inset: 0; background-image: url('https://picsum.photos/seed/mb-govcon-hero/1800/1200'); background-size: cover; background-position: center top; opacity: 0.3; }
.mkti-breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 3rem; display: flex; gap: 0.75rem; opacity: 0; }

.mkti-challenge { padding: 10rem 2rem; }
.mkti-challenge-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; }
.mkti-challenge-lead { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.2; letter-spacing: -0.01em; margin-bottom: 2rem; }

.mkti-know { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

.mkti-cases { padding: 10rem 2rem; }
.mkti-cases-inner { max-width: 1400px; margin: 0 auto; }
.mkti-cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.mkti-case { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; position: relative; background-size: cover; background-position: center; text-decoration: none; color: white; box-shadow: 0 20px 60px rgba(0,0,0,0.4); transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1); display: flex; }
.mkti-case:hover { transform: translateY(-6px); }
.mkti-case::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.9)); z-index: 1; }
.mkti-case-content { position: relative; z-index: 2; padding: 2rem; margin-top: auto; width: 100%; }
.mkti-case-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: rgba(255,255,255,0.75); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.75rem; }
.mkti-case-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; margin-bottom: 0.5rem; letter-spacing: -0.01em; font-weight: 400; }
.mkti-case-result { color: rgba(255,255,255,0.85); font-size: 0.9rem; }
.mkti-case-result em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }

/* Full capability callout — cross-link to /govcon landing */
.mkti-fullcap { padding: 6rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mkti-fullcap-inner { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: center; }
.mkti-fullcap-content .label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.75rem; }
.mkti-fullcap-content .label::before { content: ''; width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; box-shadow: 0 0 8px var(--accent-glow); }
.mkti-fullcap-content h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; letter-spacing: -0.015em; margin-bottom: 1rem; }
.mkti-fullcap-content h2 em { font-style: italic; color: var(--accent-bright); }
.mkti-fullcap-content p { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; max-width: 55ch; }
.mkti-fullcap-cta { display: inline-flex; align-items: center; gap: 0.6rem; padding: 1rem 1.75rem; background: transparent; border: 1px solid var(--accent-bright); border-radius: 999px; color: var(--accent-bright); text-decoration: none; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.95rem; transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease; justify-self: end; }
.mkti-fullcap-cta:hover { background: var(--accent-bright); color: var(--ink); transform: translateY(-2px); }
.mkti-fullcap-cta .arrow { display: inline-block; transition: transform 0.3s ease; }
.mkti-fullcap-cta:hover .arrow { transform: translateX(4px); }
.mkti-fullcap-cta .short-url { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; opacity: 0.7; margin-left: 0.5rem; }
@media (max-width: 900px) {
}

.mkti-quote { padding: 12rem 2rem; background: var(--paper); color: var(--paper-ink); display: grid; place-items: center; text-align: center; }
.mkti-quote-inner { max-width: 26ch; }
.mkti-quote-mark { font-family: 'Playfair Display', serif; font-style: italic; font-size: 5rem; color: var(--accent); line-height: 0.5; opacity: 0.4; margin-bottom: 2rem; }
.mkti-quote h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.15; letter-spacing: -0.015em; color: var(--paper-ink); margin-bottom: 2.5rem; }
.mkti-quote h2 em { color: var(--accent); font-style: italic; }
.mkti-quote-attr { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--paper-muted); text-transform: uppercase; letter-spacing: 0.18em; }
.mkti-quote-attr strong { color: var(--paper-ink); font-weight: 500; }

@media (max-width: 1000px) {
  .mkti-challenge-inner, .mkti-know-grid, .mkti-cases-grid { grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 720px) {
  .mkti-hero { padding: 6rem 1.25rem 3rem; }
  .mkti-challenge, .mkti-know, .mkti-cases { padding: 5rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-contact-v0716.html */
/* ============================================================ */

/* Brand: real MB logo */
.brand { display: inline-flex; align-items: center; text-decoration: none; line-height: 0; }

/* Full-page atmospheric green bleed — fixed so it stays put as user scrolls */
body { min-height: 100vh; display: flex; flex-direction: column; position: relative; }
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(circle at 15% 15%, rgba(20, 200, 122, 0.12), transparent 55%),
              radial-gradient(circle at 85% 85%, rgba(8, 117, 80, 0.08), transparent 55%),
              radial-gradient(circle at 50% 50%, rgba(20, 200, 122, 0.03), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
body > * { position: relative; z-index: 1; }

/* Hero */
.contact-hero { padding: 9rem 2rem 3rem; max-width: 1400px; margin: 0 auto; position: relative; }
.contact-hero-inner { position: relative; z-index: 2; }
.contact-hero-inner > * { max-width: 100%; }
.contact-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2.5rem; opacity: 0; }
.contact-eyebrow-dot { width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; animation: pulse 2.2s ease-in-out infinite; box-shadow: 0 0 8px var(--accent-glow); }
.contact-h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 9vw, 8rem); line-height: 0.9; letter-spacing: -0.03em; margin-bottom: 2rem; }
.contact-h1 .word { display: inline-block; transform: translateY(110%); will-change: transform; }
.contact-h1 em { font-style: italic; color: var(--accent-bright); }
.contact-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.6rem); color: var(--cream-dim); max-width: 55ch; line-height: 1.4; opacity: 0; margin-bottom: 1.5rem; }
.contact-sub-note { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; display: inline-flex; align-items: center; gap: 0.75rem; opacity: 0; }
.contact-sub-note::before { content: ''; display: inline-block; width: 40px; height: 1px; background: var(--muted); }

/* Main content — 2 columns: form left (larger), shortcuts right (smaller) */
.contact-main { padding: 4rem 2rem 6rem; max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr; gap: 6rem; align-items: start; position: relative; z-index: 2; }

/* Form (Gravity Forms in production, static prototype) */
.contact-form-label { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2.5rem; display: flex; align-items: center; gap: 0.75rem; }
.contact-form-label .dot { width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; animation: pulse 2.2s ease-in-out infinite; }
.contact-form-label em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.contact-form { display: grid; gap: 2rem; opacity: 0; }
.contact-field { display: flex; flex-direction: column; gap: 0.5rem; }
.contact-field-label { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; line-height: 1.6; }
.contact-field-label em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.5rem; position: relative; top: -5px; font-weight: 500; }
.contact-input, .contact-textarea { background: transparent; border: none; border-bottom: 1px solid var(--cream); outline: none; color: var(--cream); font-family: 'Inter', sans-serif !important; font-weight: 400; font-size: 1.1rem; padding: 0.7rem 0 1rem; transition: border-color 0.3s ease; width: 100%; line-height: 1.5; }
.contact-input::placeholder, .contact-textarea::placeholder { color: var(--muted); font-family: 'Inter', sans-serif; font-style: normal; font-weight: 300; font-size: 1.05rem; }
.contact-input:focus, .contact-textarea:focus { border-bottom-color: var(--accent-bright); }
.contact-textarea { min-height: 120px; resize: vertical; font-family: 'Inter', sans-serif !important; }
.contact-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); flex-wrap: wrap; }
.contact-submit { background: var(--accent); color: #fff; border: none; padding: 1rem 2.2rem; border-radius: 999px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 1rem; cursor: pointer; transition: transform 0.2s, background 0.2s; display: inline-flex; align-items: center; gap: 0.5rem; }
.contact-submit:hover { transform: translateY(-2px); background: var(--accent-bright); }
.contact-submit-note { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; }
.contact-submit-note em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); text-transform: none; letter-spacing: 0; font-size: 0.95rem; position: relative; top: -5px; }
.contact-form-note { margin-top: 1rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; line-height: 1.6; }

/* Right column: "Or take a shortcut" with 2 stacked boxes */
.contact-alt { opacity: 0; }
.contact-alt-label { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2.5rem; display: flex; align-items: center; gap: 0.75rem; }
.contact-alt-label em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.contact-alt-list { display: flex; flex-direction: column; gap: 1.25rem; }
.contact-alt-card { position: relative; padding: 1.75rem 1.75rem 1.6rem; text-decoration: none; color: inherit; display: block; border: 1px solid var(--line); border-radius: 4px; background: rgba(255, 255, 255, 0.015); transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease; }
.contact-alt-card:hover { border-color: var(--accent-bright); background: rgba(0, 200, 100, 0.04); transform: translateY(-2px); }
.contact-alt-divider { display: flex; align-items: center; gap: 0.85rem; font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 1.2rem; }
.contact-alt-divider::after { content: ''; flex: 1; height: 1px; background: var(--line); transition: background 0.3s ease; }
.contact-alt-card:hover .contact-alt-divider::after { background: var(--accent-bright); }
.contact-alt-card:hover .contact-alt-divider { color: var(--accent-bright); }
.contact-alt-num-row { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.9rem; display: flex; align-items: center; gap: 0.6rem; }
.contact-alt-num { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.05rem; text-transform: none; letter-spacing: 0; position: relative; top: -3px; }
.contact-alt-value { font-family: 'Playfair Display', serif; font-size: clamp(1.3rem, 1.8vw, 1.55rem); font-weight: 400; letter-spacing: -0.01em; color: var(--cream); margin-bottom: 0.55rem; line-height: 1.2; }
.contact-alt-value em { font-style: italic; color: var(--accent-bright); transition: color 0.3s ease; }
.contact-alt-meta { color: var(--cream-dim); font-size: 0.88rem; line-height: 1.55; margin-bottom: 1rem; }
.contact-alt-action { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.14em; display: inline-flex; align-items: center; gap: 0.5rem; }
.contact-alt-action .arrow { transition: transform 0.3s ease; display: inline-block; }
.contact-alt-card:hover .contact-alt-action .arrow { transform: translateX(4px); }
.contact-alt-card:hover .contact-alt-value em { color: var(--cream); }

/* Location + availability strip */
.contact-strip { padding: 3rem 2rem; margin: 2rem auto 0; max-width: 1400px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; }
.contact-strip-item { display: inline-flex; align-items: baseline; gap: 0.75rem; }
.contact-strip-label { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.15rem; color: var(--cream-dim); }
.contact-strip-value { font-family: 'JetBrains Mono', monospace; font-size: 0.8rem; color: var(--accent-bright); letter-spacing: 0.05em; font-weight: 500; text-transform: uppercase; position: relative; top: -2px; }
.contact-strip-value.with-dot::before { content: '●'; color: var(--accent-bright); margin-right: 0.35em; font-size: 0.9em; animation: pulse 2.2s ease-in-out infinite; }

@media (max-width: 1000px) {
  .contact-main { grid-template-columns: 1fr; gap: 4rem; }
  .contact-strip { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
}
@media (max-width: 720px) {
  .contact-hero { padding: 7rem 1.25rem 3rem; }
  .contact-main { padding: 3rem 1.25rem 4rem; }
  .contact-strip { padding: 2rem 1.25rem; }
  .contact-submit-row { flex-direction: column; align-items: flex-start; }
}

/* ============================================================ */
/* From: prototype-team-mark-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* TEAM MARK */
.tm-hero { min-height: 100vh; padding: 8rem 2rem 4rem; display: grid; align-items: center; position: relative; overflow: hidden; }
.tm-hero-inner { max-width: 1400px; margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.tm-hero-portrait { aspect-ratio: 3/4; border-radius: 6px; overflow: hidden; position: relative; background: radial-gradient(circle at 30% 30%, rgba(20, 200, 122,0.3), transparent 60%), var(--ink-lift); box-shadow: 0 40px 100px rgba(0,0,0,0.5); border: 1px solid var(--line); }
.tm-hero-portrait::before { content: 'M'; position: absolute; inset: 0; display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 22rem; color: var(--muted); opacity: 0.5; }
.tm-hero-portrait-label { position: absolute; bottom: 1.5rem; left: 1.5rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 0.15em; color: var(--accent-bright); background: rgba(0,0,0,0.6); padding: 0.5rem 0.85rem; border-radius: 3px; backdrop-filter: blur(8px); z-index: 2; }
.tm-hero-content .breadcrumb { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2rem; display: flex; gap: 0.75rem; opacity: 0; }
.tm-hero-content .breadcrumb a { color: var(--muted); text-decoration: none; transition: color 0.2s; }
.tm-hero-content .breadcrumb a:hover { color: var(--accent-bright); }
.tm-hero-content .breadcrumb .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.tm-hero-content .role-label { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.4rem; color: var(--accent-bright); margin-bottom: 1rem; opacity: 0; }
.tm-hero-content h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3.5rem, 9vw, 8rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 2rem; }
.tm-hero-content h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.tm-hero-content h1 .word { display: inline-block; transform: translateY(110%); }
.tm-hero-content h1 em { font-style: italic; color: var(--accent-bright); }
.tm-hero-content .tagline { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.2rem, 1.8vw, 1.6rem); color: var(--cream-dim); line-height: 1.4; margin-bottom: 3rem; opacity: 0; }
.tm-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 3rem; opacity: 0; }
.tm-fact { padding: 1rem 0; border-top: 1px solid var(--line); }
.tm-fact .label { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.4rem; }
.tm-fact .val { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: var(--cream); }
.tm-fact .val em { color: var(--accent-bright); font-style: italic; }
.tm-fact .val a { color: var(--cream); text-decoration: none; transition: color 0.2s; }
.tm-fact .val a:hover { color: var(--accent-bright); }

.tm-bio { padding: 10rem 2rem; }
.tm-bio-inner { max-width: 800px; margin: 0 auto; }
.tm-bio p { font-family: 'Playfair Display', serif; font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.55; margin-bottom: 2rem; color: var(--cream); }
.tm-bio p em { color: var(--accent-bright); font-style: italic; }
.tm-bio p:first-of-type::first-letter { font-size: 4.5em; float: left; line-height: 0.85; padding-right: 0.8rem; padding-top: 0.3rem; font-family: 'Playfair Display', serif; color: var(--accent-bright); font-style: italic; }

.tm-cred { padding: 6rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tm-cred-inner { max-width: 1200px; margin: 0 auto; }
.tm-cred-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 3rem; }
.tm-cred-item { padding-top: 1.5rem; border-top: 1px solid var(--line); }
.tm-cred-item .label { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1rem; }
.tm-cred-item h4 { font-family: 'Playfair Display', serif; font-size: 1.3rem; font-weight: 400; letter-spacing: -0.01em; line-height: 1.2; margin-bottom: 0.5rem; }
.tm-cred-item h4 em { font-style: italic; color: var(--accent-bright); }
.tm-cred-item p { color: var(--cream-dim); font-size: 0.9rem; }

.tm-work { padding: 10rem 2rem; }
.tm-work-inner { max-width: 1400px; margin: 0 auto; }
.tm-work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.tm-work-tile { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; position: relative; background-size: cover; background-position: center; text-decoration: none; color: white; box-shadow: 0 20px 60px rgba(0,0,0,0.4); transition: transform 0.5s; display: flex; }
.tm-work-tile:hover { transform: translateY(-6px); }
.tm-work-tile::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,0.85)); z-index: 1; }
.tm-work-tile-content { position: relative; z-index: 2; padding: 2rem; margin-top: auto; }
.tm-work-tile-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.75rem; }
.tm-work-tile h4 { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: -0.01em; margin-bottom: 0.5rem; color: white; }

.tm-quote { padding: 12rem 2rem; background: var(--paper); color: var(--paper-ink); display: grid; place-items: center; text-align: center; }
.tm-quote-inner { max-width: 22ch; }
.tm-quote-mark { font-family: 'Playfair Display', serif; font-style: italic; font-size: 5rem; color: var(--accent); line-height: 0.5; opacity: 0.4; margin-bottom: 2rem; }
.tm-quote h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.1; letter-spacing: -0.015em; margin-bottom: 2.5rem; }
.tm-quote h2 em { color: var(--accent); font-style: italic; }
.tm-quote-attr { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--paper-muted); text-transform: uppercase; letter-spacing: 0.18em; }
.tm-quote-attr strong { color: var(--paper-ink); font-weight: 500; }

.tm-other { padding: 8rem 2rem; }
.tm-other-inner { max-width: 1400px; margin: 0 auto; }
.tm-other-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; max-width: 900px; margin-left: auto; margin-right: auto; }
.tm-other-tile { text-decoration: none; color: inherit; text-align: center; padding: 1.5rem; border-radius: 6px; transition: background 0.3s; }
.tm-other-tile:hover { background: var(--ink-lift); }
.tm-other-avatar { aspect-ratio: 1; width: 100%; border-radius: 50%; background: var(--ink-lift); margin-bottom: 1rem; position: relative; overflow: hidden; }
.tm-other-avatar::before { content: attr(data-initial); position: absolute; inset: 0; display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 3rem; color: var(--muted); }
.tm-other-name { font-family: 'Playfair Display', serif; font-size: 1.15rem; font-weight: 400; letter-spacing: -0.01em; margin-bottom: 0.25rem; }
.tm-other-role { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.12em; }

@media (max-width: 1000px) {
  .tm-hero-inner { grid-template-columns: 1fr; gap: 3rem; }
  .tm-cred-grid { grid-template-columns: 1fr; }
  .tm-work-grid { grid-template-columns: 1fr; }
  .tm-other-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .tm-hero { padding: 6rem 1.25rem 3rem; }
  .tm-bio, .tm-cred, .tm-work, .tm-other { padding: 5rem 1.25rem; }
  .tm-quote { padding: 8rem 1.25rem; }
  .tm-other-grid { grid-template-columns: 1fr; }
}

/* ============================================================ */
/* From: prototype-careers-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* CAREERS */
.car-hero { min-height: 85vh; padding: 8rem 2rem 4rem; display: flex; align-items: center; position: relative; overflow: hidden; }
.car-hero-bg { position: absolute; inset: 0; background: radial-gradient(circle at 20% 30%, rgba(20, 200, 122, 0.1), transparent 45%); }
.car-hero-inner { position: relative; max-width: 1200px; margin: 0 auto; width: 100%; }
/* Defaults set to visible 2026-07-19 — no GSAP wired for .car-hero, so
   translateY(110%) + opacity:0 leave the hero permanently hidden. If GSAP
   is added later, use .from() which sets the pre-animation state at run time. */
.car-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; opacity: 1; }
.car-hero .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.car-hero .eyebrow-line { display: inline-block; width: 40px; height: 1px; background: var(--muted); }
.car-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 7rem); line-height: 0.9; letter-spacing: -0.025em; margin-bottom: 3rem; max-width: 22ch; }
.car-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.car-hero h1 .word { display: inline-block; transform: translateY(0); }
.car-hero h1 em { font-style: italic; color: var(--accent-bright); }
.car-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 2vw, 1.7rem); color: var(--cream-dim); max-width: 55ch; opacity: 1; }

.car-honest { padding: 10rem 2rem; }
.car-honest-inner { max-width: 900px; margin: 0 auto; }
.car-honest p { font-family: 'Playfair Display', serif; font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.55; margin-bottom: 2rem; color: var(--cream); }
.car-honest p em { color: var(--accent-bright); font-style: italic; }
.car-honest p:first-of-type::first-letter { font-size: 4.5em; float: left; line-height: 0.85; padding-right: 0.8rem; padding-top: 0.3rem; font-family: 'Playfair Display', serif; color: var(--accent-bright); font-style: italic; }

.car-who { padding: 10rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.car-who-inner { max-width: 1200px; margin: 0 auto; }
.car-who-list { display: grid; margin-top: 3rem; }
.car-who-item { padding: 3rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 100px 1fr; gap: 3rem; align-items: baseline; }
.car-who-item:last-child { border-bottom: 1px solid var(--line); }
.car-who-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 3rem; color: var(--accent-bright); line-height: 1; }
.car-who-item h3 { font-family: 'Playfair Display', serif; font-size: clamp(1.5rem, 2.5vw, 2.2rem); font-weight: 400; margin-bottom: 1rem; letter-spacing: -0.01em; line-height: 1.1; }
.car-who-item h3 em { font-style: italic; color: var(--accent-bright); }
.car-who-item p { color: var(--cream-dim); font-size: 1rem; line-height: 1.65; max-width: 60ch; }

.car-benefits { padding: 10rem 2rem; }
.car-benefits-inner { max-width: 1200px; margin: 0 auto; }
.car-benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem 3rem; margin-top: 3rem; }
.car-benefit { padding: 2rem 0; border-top: 1px solid var(--line); }
.car-benefit-label { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1rem; }
.car-benefit h4 { font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 400; margin-bottom: 0.75rem; letter-spacing: -0.01em; line-height: 1.15; }
.car-benefit p { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.6; }

.car-apply { padding: 12rem 2rem; background: var(--paper); color: var(--paper-ink); display: grid; place-items: center; text-align: center; }
.car-apply-inner { max-width: 32ch; }
.car-apply-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--paper-muted); text-transform: uppercase; letter-spacing: 0.18em; display: flex; justify-content: center; gap: 1rem; align-items: center; margin-bottom: 3rem; }
.car-apply-eyebrow .line { display: inline-block; width: 40px; height: 1px; background: var(--paper-muted); }
.car-apply h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.1; margin-bottom: 3rem; }
.car-apply h2 em { font-style: italic; color: var(--accent); }
.car-apply-cta { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--paper-ink); color: var(--paper); padding: 1rem 2rem; border-radius: 999px; text-decoration: none; font-weight: 500; font-size: 1rem; transition: background 0.2s, transform 0.2s; }
.car-apply-cta:hover { background: var(--accent); color: #fff; transform: translateY(-2px); }
.car-apply-note { margin-top: 3rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--paper-muted); text-transform: uppercase; letter-spacing: 0.15em; }

@media (max-width: 900px) {
  .car-who-item { grid-template-columns: 60px 1fr; gap: 1.5rem; }
  .car-benefits-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .car-hero { padding: 6rem 1.25rem 3rem; }
  .car-honest, .car-who, .car-benefits { padding: 5rem 1.25rem; }
  .car-apply { padding: 8rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-privacy-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */

/* ATMOSPHERIC BLEED */

/* LEGAL PAGE */
.legal-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2rem; display: flex; gap: 0.75rem; }
.legal-hero .eyebrow a { color: var(--muted); text-decoration: none; }
.legal-hero .eyebrow a:hover { color: var(--accent-bright); }
.legal-hero .eyebrow .current { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1rem; position: relative; top: -3px; }
.legal-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1.02; letter-spacing: -0.02em; margin-bottom: 1rem; }
.legal-hero h1 em { font-style: italic; color: var(--accent-bright); }
.legal-hero-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; display: flex; gap: 2rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); flex-wrap: wrap; }
.legal-hero-meta strong { color: var(--cream); font-family: 'Playfair Display', serif; font-style: italic; letter-spacing: 0; text-transform: none; font-size: 1rem; position: relative; top: -3px; font-weight: 500; }

.legal-body { max-width: 1200px; margin: 0 auto; padding: 3rem 2rem 8rem; display: grid; grid-template-columns: 220px 1fr; gap: 5rem; align-items: start; }
.legal-toc { position: sticky; top: 8rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.legal-toc-label { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.5rem; }
.legal-toc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.legal-toc-list a { display: block; padding: 0.7rem 0 0.7rem 1rem; color: var(--cream-dim); text-decoration: none; font-size: 0.9rem; line-height: 1.4; border-left: 2px solid var(--line); transition: color 0.2s ease, border-color 0.2s ease, padding-left 0.2s ease; font-family: 'Inter', sans-serif; }
.legal-toc-list a:hover { color: var(--cream); border-left-color: var(--accent-bright); padding-left: 1.25rem; }
.legal-toc-list a.active { color: var(--cream); border-left-color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-size: 1rem; }

.legal-content { max-width: 70ch; font-size: 1.05rem; line-height: 1.75; color: var(--cream); }
.legal-content h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: -0.015em; line-height: 1.15; margin-top: 4rem; margin-bottom: 1.5rem; }
.legal-content h2 em { font-style: italic; color: var(--accent-bright); }
.legal-content h2:first-child { margin-top: 0; }
.legal-content p { margin-bottom: 1.25rem; color: var(--cream-dim); }
.legal-content ul { margin-bottom: 1.5rem; padding-left: 1.5rem; color: var(--cream-dim); }
.legal-content li { padding: 0.3rem 0; }
.legal-content strong { color: var(--cream); font-weight: 500; }
.legal-content a { color: var(--accent-bright); text-decoration: none; border-bottom: 1px solid var(--accent); }
.legal-content a:hover { color: var(--cream); border-color: var(--cream); }

.legal-other { padding: 6rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.legal-other-inner { max-width: 1200px; margin: 0 auto; }
.legal-other-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 2rem; }
.legal-other-link { padding: 1.5rem; border: 1px solid var(--line); border-radius: 4px; text-decoration: none; color: inherit; transition: border-color 0.3s, background 0.3s; }
.legal-other-link:hover { border-color: var(--accent-bright); background: var(--ink); }
.legal-other-link .label { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.5rem; }
.legal-other-link h4 { font-family: 'Playfair Display', serif; font-size: 1.15rem; font-weight: 400; letter-spacing: -0.01em; }
.legal-other-link.active { border-color: var(--accent-bright); background: var(--ink); }
.legal-other-link.active .label { color: var(--accent-bright); }

@media (max-width: 1000px) {
  .legal-body { grid-template-columns: 1fr; gap: 2rem; }
  .legal-toc { position: relative; top: 0; }
  .legal-other-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .legal-hero { padding: 7rem 1.25rem 3rem; }
  .legal-body { padding: 2rem 1.25rem 4rem; }
  .legal-other { padding: 4rem 1.25rem; }
}

/* ============================================================ */
/* From: prototype-terms-v0716.html */
/* ============================================================ */

/* ============ NAV v0716 ============ */
nav.top.on-paper .brand, nav.top.on-paper .nav-link { color: var(--paper-ink); }

/* ATMOSPHERIC BLEED */

/* LEGAL PAGE (shared pattern with privacy) */
.legal-hero { padding: 10rem 2rem 4rem; max-width: 1400px; margin: 0 auto; }

.legal-content h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.3rem; margin-top: 2rem; margin-bottom: 0.75rem; letter-spacing: -0.01em; }

@media (max-width: 1000px) {
  .legal-body { grid-template-columns: 1fr; gap: 2rem; }
  .legal-toc { position: relative; top: 0; }
  .legal-other-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .legal-hero { padding: 7rem 1.25rem 3rem; }
  .legal-body { padding: 2rem 1.25rem 4rem; }
  .legal-other { padding: 4rem 1.25rem; }
}

/* ============ FAQ PAGE ============ */
.faq-hero { min-height: 60vh; padding: 10rem 2rem 5rem; display: flex; align-items: center; }
.faq-hero-inner { max-width: 1400px; margin: 0 auto; width: 100%; }
.faq-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; opacity: 1; }
.faq-hero .eyebrow-line { width: 40px; height: 1px; background: var(--accent-bright); }
.faq-hero .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.faq-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 6.5rem); line-height: 0.95; letter-spacing: -0.025em; margin-bottom: 2rem; max-width: 22ch; }
.faq-hero h1 em { font-style: italic; color: var(--accent-bright); }
.faq-hero .lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 2vw, 1.6rem); font-weight: 400; line-height: 1.4; color: var(--cream-dim); max-width: 55ch; margin-bottom: 3rem; }

.faq-body { padding: 6rem 2rem 10rem; }
.faq-body-inner { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 300px 1fr; gap: 6rem; align-items: start; }

.faq-sidebar { position: sticky; top: 8rem; }
.faq-sidebar-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.faq-sidebar-label .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent-bright); display: inline-block; }
.faq-sidebar-nav { display: flex; flex-direction: column; gap: 0.15rem; }
.faq-sidebar-nav a { display: block; padding: 0.75rem 0; padding-left: 1rem; color: var(--cream-dim); text-decoration: none; font-size: 0.95rem; border-left: 2px solid var(--line); transition: color 0.2s ease, border-color 0.2s ease, padding-left 0.2s ease; font-family: 'Inter', sans-serif; }
.faq-sidebar-nav a:hover { color: var(--cream); border-left-color: var(--accent-bright); padding-left: 1.25rem; }
.faq-sidebar-nav a.active { color: var(--cream); border-left-color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.05rem; }
.faq-sidebar-count { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); margin-left: 0.5rem; }

.faq-categories { display: flex; flex-direction: column; gap: 5rem; }
.faq-category { scroll-margin-top: 6rem; }
.faq-category-head { display: flex; align-items: baseline; gap: 1.25rem; margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--accent-bright); }
.faq-category-num { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; font-size: 2rem; color: var(--accent-bright); letter-spacing: -0.01em; line-height: 1; min-width: 2.5rem; }
.faq-category-title { font-family: 'Playfair Display', serif; font-weight: 500; font-size: clamp(1.6rem, 2.4vw, 2rem); color: var(--cream); letter-spacing: -0.01em; margin: 0; line-height: 1.15; }

.faq-item { border-bottom: 1px solid var(--line); }
.faq-item[open] { padding-bottom: 0.5rem; }
.faq-item summary { padding: 1.15rem 3rem 1.15rem 0; cursor: pointer; list-style: none; position: relative; transition: color 0.2s ease; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::marker { display: none; content: ''; }
.faq-item summary:hover { color: var(--accent-bright); }
.faq-item summary .q-text { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 1.1rem; line-height: 1.4; color: var(--cream); transition: color 0.2s ease; }
.faq-item[open] summary .q-text { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-weight: 400; font-size: 1.3rem; }
.faq-item summary .q-toggle { position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-family: 'JetBrains Mono', monospace; font-size: 1.4rem; color: var(--muted); line-height: 1; transition: transform 0.3s ease, color 0.2s ease; }
.faq-item[open] summary .q-toggle { color: var(--accent-bright); transform: translateY(-50%) rotate(45deg); }
.faq-item .a-body { padding: 0 3.5rem 2rem 0; color: var(--cream); font-size: 1rem; line-height: 1.7; max-width: 65ch; }
.faq-item .a-body p { margin-bottom: 1rem; }
.faq-item .a-body p:last-child { margin-bottom: 0; }
.faq-item .a-body em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }

.faq-cta { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); text-align: center; }
.faq-cta-inner { max-width: 720px; margin: 0 auto; }
.faq-cta .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 2rem; display: inline-flex; align-items: center; gap: 1rem; opacity: 1; }
.faq-cta .eyebrow::before { content: ''; display: inline-block; width: 40px; height: 1px; background: var(--accent-bright); }
.faq-cta h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.2rem, 4.5vw, 3.6rem); line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 2rem; }
.faq-cta h2 em { font-style: italic; color: var(--accent-bright); }
.faq-cta p { color: var(--cream-dim); font-size: 1.1rem; line-height: 1.6; max-width: 42ch; margin: 0 auto 2.5rem; }

@media (max-width: 900px) {
  .faq-body-inner { grid-template-columns: 1fr; gap: 3rem; }
  .faq-sidebar { position: static; top: auto; }
  .faq-sidebar-nav { flex-direction: row; flex-wrap: wrap; gap: 0.5rem; }
  .faq-sidebar-nav a { padding: 0.6rem 1rem; border-left: none; border: 1px solid var(--line); border-radius: 999px; font-size: 0.85rem; }
  .faq-sidebar-nav a:hover { padding-left: 1rem; border-color: var(--accent-bright); }
  .faq-hero { min-height: auto; padding: 8rem 1.5rem 4rem; }
  .faq-body { padding: 4rem 1.5rem 6rem; }
  .faq-categories { gap: 3.5rem; }
  .faq-category-head { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
  .faq-item summary { padding: 1rem 2.5rem 1rem 0; }
  .faq-item .a-body { padding: 0 0 1.5rem 0; }
}

/* ============ NEWSLETTER HERO (scoped away from contact page) ============ */
.newsletter-hero { padding: 10rem 2rem 5rem; }
.newsletter-hero-inner { max-width: 1200px; margin: 0 auto; }
.newsletter-hero .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; opacity: 1; }
.newsletter-hero .eyebrow-line { width: 40px; height: 1px; background: var(--accent-bright); }
.newsletter-hero .eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.newsletter-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.8rem, 7vw, 5.6rem); line-height: 0.95; letter-spacing: -0.025em; margin-bottom: 1.5rem; max-width: 20ch; }
.newsletter-hero h1 em { font-style: italic; color: var(--accent-bright); }
.newsletter-hero .lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 2vw, 1.6rem); font-weight: 400; line-height: 1.4; color: var(--cream-dim); max-width: 55ch; margin-bottom: 0; }

/* Descender fix for contact page H1 words (letters like y/g/p were getting clipped) */
.contact-h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; padding-bottom: 0.32em; }

@media (max-width: 900px) {
  .newsletter-hero { padding: 8rem 1.5rem 3rem; }
}

/* Legal page defensive: when a page has no h2s (no TOC), collapse to single column so content isn't squeezed */
.legal-body--no-toc { grid-template-columns: 1fr; }

/* ============ CONTAINER SYSTEM (2026-07-19 refactor) ============
   Standardizes horizontal box model for all main content wrappers.
   Every wrapper listed here starts at the same left edge on every viewport.
   Per-template padding-top / padding-bottom is preserved (only inline padding is normalized).
*/
:root {
	--mb-container-max: 1400px;
	--mb-container-pad-x: 2rem;
}

.mb-container,
.legal-body,
.legal-hero-inner,
.legal-other-inner,
.faq-body-inner,
.faq-hero-inner,
.faq-cta-inner,
.newsletter-hero-inner,
.mkti-hero-inner,
.mkti-challenge-inner,
.mkti-know-inner,
.mkti-form-strip-inner,
.mkti-services-inner,
.market-services-v2-inner,
.sub-intro-inner,
.sub-benefits-inner,
.sub-faq-inner,
.sub-related-inner,
.sub-clients-inner,
.about-hero-inner,
.approach-hero-inner,
.approach-inner,
.services-inner,
.markets-inner,
.hero-inner,
.footer-inner {
	max-width: var(--mb-container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--mb-container-pad-x);
	padding-right: var(--mb-container-pad-x);
	box-sizing: border-box;
}

@media (max-width: 900px) {
	:root { --mb-container-pad-x: 1.25rem; }
}

/* Narrow reading columns — all market page inner wrappers.
   Still centered + padded via the container rule; just capped narrower for readability. */
.sub-intro-inner {
	max-width: 900px;
}

/* ============ STANDARD PAGE TEMPLATE (2026-07-19) ============
   Clean shared shell for Contact, FAQ, Terms, Privacy, Newsletter.
   .std-container is the ONE container. Every wrapper uses it. Guaranteed alignment.
*/
.std-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 2rem;
	box-sizing: border-box;
}
@media (max-width: 900px) {
	.std-container { padding: 0 1.25rem; }
}

/* Hero */
.std-hero { padding: 10rem 0 4rem; }
.std-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); letter-spacing: 0.15em; text-transform: uppercase; display: flex; align-items: center; gap: 1rem; margin-bottom: 2.5rem; }
.std-eyebrow-line { width: 40px; height: 1px; background: var(--accent-bright); }
.std-eyebrow em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream); text-transform: none; letter-spacing: 0; font-size: 1.15rem; position: relative; top: -5px; font-weight: 500; }
.std-h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 6.5rem); line-height: 0.95; letter-spacing: -0.025em; margin: 0 0 1.5rem; max-width: 22ch; }
.std-h1 em { font-style: italic; color: var(--accent-bright); }
.std-lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 2vw, 1.6rem); font-weight: 400; line-height: 1.4; color: var(--cream-dim); max-width: 60ch; margin: 0; }

/* Body */
.std-body { padding: 4rem 0 10rem; color: var(--cream); font-size: 1.05rem; line-height: 1.75; }
.std-body p { margin-bottom: 1.5rem; color: var(--cream-dim); }
.std-body h2 { font-family: 'Playfair Display', serif; font-weight: 500; font-size: clamp(1.6rem, 2.4vw, 2rem); color: var(--cream); letter-spacing: -0.01em; margin: 4rem 0 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--accent-bright); }
.std-body h2:first-child { margin-top: 0; }
.std-body h3 { font-family: 'Playfair Display', serif; font-weight: 500; font-size: 1.3rem; color: var(--cream); margin: 2rem 0 0.75rem; }
.std-content a { color: var(--accent-bright); text-decoration: underline; text-underline-offset: 3px; }
.std-content a:hover { color: var(--cream); }
.std-body ul, .std-body ol { margin: 0 0 1.5rem 1.5rem; color: var(--cream-dim); }
.std-body li { margin-bottom: 0.5rem; line-height: 1.7; }
.std-body em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }
.std-body strong { color: var(--cream); font-weight: 500; }

/* Standard body with TOC — 2-col grid, sticky sidebar, matches FAQ sidebar style */
.std-body .std-container { display: grid; grid-template-columns: 260px 1fr; gap: 6rem; align-items: start; }
.std-body--no-toc .std-container { grid-template-columns: 1fr; }

.std-toc { position: sticky; top: 8rem; }
.std-toc-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }
.std-toc-label .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent-bright); display: inline-block; }
.std-toc-nav { display: flex; flex-direction: column; gap: 0.15rem; }
.std-toc-nav a { display: block; padding: 0.7rem 0 0.7rem 1rem; color: var(--cream-dim); text-decoration: none; font-size: 0.9rem; line-height: 1.4; border-left: 2px solid var(--line); transition: color 0.2s ease, border-color 0.2s ease, padding-left 0.2s ease; font-family: 'Inter', sans-serif; }
.std-toc-nav a:hover { color: var(--cream); border-left-color: var(--accent-bright); padding-left: 1.25rem; }
.std-toc-nav a.active { color: var(--cream); border-left-color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; font-size: 1rem; }

.std-content { max-width: 68ch; }
.std-content h2 { scroll-margin-top: 6rem; }

@media (max-width: 900px) {
  .std-body .std-container { grid-template-columns: 1fr; gap: 2rem; }
  .std-toc { position: static; }
  .std-toc-nav { flex-direction: row; flex-wrap: wrap; gap: 0.5rem; }
  .std-toc-nav a { padding: 0.55rem 0.95rem; border-left: none; border: 1px solid var(--line); border-radius: 999px; font-size: 0.8rem; }
  .std-toc-nav a:hover { padding-left: 0.95rem; }
}

/* Standard hero note (below lead) */
.std-lead-note { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-top: 1.25rem; display: inline-flex; align-items: center; gap: 0.75rem; }
.std-lead-note::before { content: ''; display: inline-block; width: 40px; height: 1px; background: var(--muted); }

/* Contact body 2-col grid (inside .std-container) */
.contact-main-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 6rem; align-items: start; padding: 2rem 0 4rem; }
@media (max-width: 900px) {
	.contact-main-grid { grid-template-columns: 1fr; gap: 3rem; padding: 1rem 0 3rem; }
}

/* Contact body always-visible overrides (no GSAP reveal on standard template) */
.contact-main-grid .contact-form,
.contact-main-grid .contact-alt { opacity: 1; }

.newsletter-pitch p { margin-bottom: 1.25rem; }
.newsletter-pitch em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; font-weight: 500; }
.newsletter-pitch-freq { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.newsletter-pitch-freq em { text-transform: none; letter-spacing: 0; font-size: 1.05rem; position: relative; top: -3px; }
.newsletter-pitch { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; }

/* Dot styling for the What-you'll-get label (contact-alt-label) */
.contact-alt-label .dot { width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; animation: pulse 2.2s ease-in-out infinite; display: inline-block; box-shadow: 0 0 8px var(--accent-glow); }

/* Gravity Form submit button — just the button, nothing else */
.std-body .gform_wrapper input[type="submit"].gform_button,
.std-body .gform_wrapper .gform_button {
	background: var(--accent);
	color: #fff;
	padding: 1rem 2.2rem;
	border-radius: 999px;
	border: none;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 1rem;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
	line-height: 1;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.std-body .gform_wrapper input[type="submit"].gform_button:hover,
.std-body .gform_wrapper .gform_button:hover { background: var(--accent-bright); transform: translateY(-2px); }

/* ============ GRAVITY FORMS on standard template — copied from .mkti-form-strip pattern ============ */
.std-body .gform_wrapper { color: var(--cream); font-family: 'Inter', sans-serif; }
.std-body .gform_wrapper .gform_heading,
.std-body .gform_wrapper .gform_required_legend { display: none; }
.std-body .gform_wrapper .gfield { margin-bottom: 1.75rem; }
.std-body .gform_wrapper .gfield_label,
.std-body .gform_wrapper label { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--muted); font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.6rem; display: block; }
.std-body .gform_wrapper input[type="text"],
.std-body .gform_wrapper input[type="email"],
.std-body .gform_wrapper input[type="tel"],
.std-body .gform_wrapper input[type="url"],
.std-body .gform_wrapper textarea,
.std-body .gform_wrapper select {
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--line);
	color: var(--cream);
	font-family: 'Playfair Display', serif;
	font-size: 1.25rem;
	font-weight: 400;
	padding: 0.5rem 0 0.75rem;
	width: 100%;
	outline: none;
	transition: border-color 0.3s ease;
	border-radius: 0;
	box-shadow: none;
}
.std-body .gform_wrapper input::placeholder,
.std-body .gform_wrapper textarea::placeholder {
	color: var(--muted);
	font-family: 'Playfair Display', serif;
	font-style: italic;
	opacity: 0.7;
}
.std-body .gform_wrapper input:focus,
.std-body .gform_wrapper textarea:focus,
.std-body .gform_wrapper select:focus {
	border-bottom-color: var(--accent-bright);
	border-bottom-width: 2px;
	padding-bottom: calc(0.75rem - 1px);
}
.std-body .gform_wrapper textarea { min-height: 100px; resize: vertical; }
.std-body .gform_wrapper .ginput_complex.ginput_container_name { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.std-body .gform_wrapper .ginput_complex span { display: block; }
.std-body .gform_wrapper .gform_footer { padding: 1.5rem 0 0; margin: 0; }
.std-body .gform_wrapper input[type="submit"],
.std-body .gform_wrapper button[type="submit"] {
	background: var(--accent-bright);
	color: var(--ink);
	border: none;
	padding: 1rem 2rem;
	border-radius: 999px;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
	box-shadow: 0 6px 20px rgba(20, 200, 122, 0.25);
}
.std-body .gform_wrapper input[type="submit"]:hover,
.std-body .gform_wrapper button[type="submit"]:hover {
	background: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(20, 200, 122, 0.4);
}
.std-body .gform_wrapper .gfield_error input,
.std-body .gform_wrapper .gfield_error textarea { border-bottom-color: #e56e6e; }
.std-body .gform_wrapper .gfield_validation_message,
.std-body .gform_wrapper .validation_message { color: #e56e6e; font-family: 'Inter', sans-serif; font-size: 0.85rem; margin-top: 0.4rem; }
.std-body .gform_confirmation_message { padding: 2rem; background: rgba(20, 200, 122, 0.08); border-left: 3px solid var(--accent-bright); font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--cream); border-radius: 4px; }

/* Main field label emphasis (matches the old "Your <em>name</em>" prototype vibe) */
.std-body .gform_wrapper .gfield_label,
.std-body .gform_wrapper legend.gfield_label {
	font-family: 'Playfair Display', serif !important;
	font-style: italic;
	font-size: 1.4rem;
	color: var(--cream) !important;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
	margin-bottom: 0.75rem;
	line-height: 1.2;
}
.std-body .gform_wrapper .gfield_required,
.std-body .gform_wrapper .gfield_required_asterisk { color: var(--accent-bright) !important; }
/* Hide sub-labels (First / Last / Enter Email / Confirm Email) — accessible screen-reader hide */
.std-body .gform_wrapper .gform-field-label--type-sub {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Newsletter privacy consent label — match newsletter-pitch prose vibe */
.std-body .gform_wrapper .gform-field-label--type-inline,
.std-body .gform_wrapper .gfield_checkbox label {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	color: var(--cream-dim);
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
	line-height: 1.7;
}
.std-body .gform_wrapper .gform-field-label--type-inline a,
.std-body .gform_wrapper .gfield_checkbox label a {
	color: var(--accent-bright);
	text-decoration: none;
}

/* HTML-type GF fields (custom HTML blocks acting as pseudo-labels) — tight margin below */
.std-body .gform_wrapper .gfield--type-html { margin-bottom: 0.5rem; }

/* ============ ABOUT · SPECS SECTION (legacy vendor/NAICS/industries data) ============ */
.about-specs { padding: 10rem 2rem; border-top: 1px solid var(--line); background: var(--ink-lift); }
.about-specs-inner { max-width: 1200px; margin: 0 auto; }

.specs-strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; padding: 2.5rem 0; margin: 3rem 0 5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.specs-item { display: flex; flex-direction: column; gap: 0.5rem; }
.specs-label { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1rem; color: var(--accent-bright); letter-spacing: 0; text-transform: none; }
.specs-value { font-family: 'Inter', sans-serif; font-size: 1.05rem; color: var(--cream); font-weight: 400; letter-spacing: 0; }

.specs-block { margin-bottom: 4rem; }
.specs-block:last-child { margin-bottom: 0; }
.specs-block-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.18em; display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2rem; }
.specs-block-label .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent-bright); display: inline-block; }

.specs-naics-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.25rem; }
.specs-naics { display: flex; flex-direction: column; gap: 0.35rem; padding: 1.15rem 1.25rem; background: var(--ink); border: 1px solid var(--line); border-radius: 4px; transition: border-color 0.2s ease, transform 0.2s ease; }
.specs-naics:hover { border-color: var(--accent-bright); transform: translateY(-2px); }
.specs-naics .code { font-family: 'JetBrains Mono', monospace; font-size: 0.9rem; color: var(--accent-bright); letter-spacing: 0.05em; font-weight: 500; }
.specs-naics .desc { font-family: 'Inter', sans-serif; font-size: 0.9rem; color: var(--cream-dim); line-height: 1.35; }
.specs-naics .desc em { color: var(--cream); font-family: 'Playfair Display', serif; font-style: italic; font-size: 0.85rem; }

.specs-chips { display: flex; flex-wrap: wrap; gap: 0.5rem 0.6rem; }
.specs-chips .chip { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.12em; padding: 0.55rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; transition: color 0.2s ease, border-color 0.2s ease; }
.specs-chips .chip:hover { color: var(--accent-bright); border-color: var(--accent-bright); }

@media (max-width: 900px) {
	.about-specs { padding: 6rem 1.5rem; }
	.specs-strip { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
	.specs-naics-grid { grid-template-columns: 1fr; }
}

/* ============ ABOUT · CLIENT LOGO GRID ============ */
.about-clients { padding: 10rem 2rem; border-top: 1px solid var(--line); }
.about-clients-inner { max-width: 1400px; margin: 0 auto; }
.about-clients-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1.5rem; margin-top: 4rem; }
.client-tile { aspect-ratio: 1 / 1; padding: 1.5rem; position: relative; transition: transform 0.3s ease; display: block; }
.client-tile img { position: absolute; inset: 1.5rem; margin: auto; max-width: calc(100% - 3rem); max-height: calc(100% - 3rem); object-fit: contain; transition: opacity 0.35s ease; }
.client-tile .client-logo-default { opacity: 1; }
.client-tile .client-logo-hover   { opacity: 0; }
.client-tile:hover .client-logo-default { opacity: 0; }
.client-tile:hover .client-logo-hover   { opacity: 1; }
.client-tile--link { text-decoration: none; }
.client-tile--link:hover { transform: translateY(-4px); }
/* Mono fallback: when a client has no white-variant logo, render the color one as monochrome
   so it reads cleanly on dark backgrounds. Hover reveals the true color (no fade-to-empty). */
.client-tile .client-logo-default--mono { filter: grayscale(1) brightness(1.7) contrast(0.85); transition: filter 0.35s ease, opacity 0.35s ease; }
.client-tile--mono:hover .client-logo-default--mono { filter: none; opacity: 1; }
@media (max-width: 900px) {
	.about-clients { padding: 6rem 1.5rem; }
	.about-clients-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}

/* Cream/paper variant of the client grid */
.about-clients--paper { background: var(--paper); color: var(--paper-ink); border-top: none; }
.about-clients--paper .section-head,
.about-clients--paper .section-label { color: var(--paper-ink); }
.about-clients--paper .section-head em { color: var(--accent); }
.about-clients--paper .client-tile img { filter: none; opacity: 1; }

/* ============ ABOUT · INDUSTRIES MARQUEE ============ */
.industries-marquee { padding: 8rem 0 10rem; border-top: 1px solid var(--line); background: var(--ink-lift); overflow: hidden; position: relative; }
.industries-marquee-head { max-width: 1400px; margin: 0 auto; padding: 0 2rem 4rem; }
.marquee-track { overflow: hidden; padding: 1.25rem 0; white-space: nowrap; will-change: transform; }
.marquee-track + .marquee-track { margin-top: 0.5rem; }
.marquee-inner { display: inline-flex; align-items: center; gap: 2.5rem; will-change: transform; }
.industry-word { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1; letter-spacing: -0.015em; color: var(--muted); text-decoration: none; display: inline-block; transition: color 0.35s ease, opacity 0.35s ease; opacity: 0.55; white-space: nowrap; }
.industry-word em { font-style: italic; }
.industry-word:hover { color: var(--accent-bright); opacity: 1; }
.industry-sep { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); font-size: clamp(2.5rem, 6vw, 5rem); opacity: 0.4; }

/* Fade edges for a masthead-ticker feel */
.industries-marquee::before,
.industries-marquee::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 12vw;
	pointer-events: none;
	z-index: 2;
}
.industries-marquee::before { left: 0; background: linear-gradient(to right, var(--ink-lift), transparent); }
.industries-marquee::after  { right: 0; background: linear-gradient(to left, var(--ink-lift), transparent); }

@media (max-width: 720px) {
	.industries-marquee { padding: 5rem 0 6rem; }
	.industries-marquee-head { padding: 0 1.25rem 2rem; }
}

/* CSS-driven marquee — guaranteed opposite direction, no JS timing */
@keyframes marquee-left  { from { transform: translateX(0); }        to { transform: translateX(-50%); } }
@keyframes marquee-right { from { transform: translateX(-50%); }     to { transform: translateX(0); } }
/* TOP row */
.marquee-track--top    .marquee-inner        { animation: marquee-right 25s linear infinite; }
.marquee-track--top:hover .marquee-inner     { animation-duration: 70s; }
/* BOTTOM row */
.marquee-track--bottom .marquee-inner        { animation: marquee-left 25s linear infinite; }
.marquee-track--bottom:hover .marquee-inner  { animation-duration: 200s; }
@media (prefers-reduced-motion: reduce) {
	.marquee-track .marquee-inner { animation: none; }
}

/* ============================================================
   HOME LOGO STRIP · sticky marquee + scroll-linked bg transition
   TEMP HIDDEN 2026-07-19 pending redesign — Mark wasn't sold on the effect.
   ============================================================ */
.home-logo-strip { display: none !important; }
.home-logo-strip__parked {
	min-height: 220vh;
	background: linear-gradient(
		to bottom,
		var(--paper)  0%,
		var(--paper)  18%,
		var(--ink)   72%,
		var(--ink)  100%
	);
	position: relative;
	overflow: hidden;
	isolation: isolate;   /* contain the blend-mode to this section */
}
.home-logo-strip__sticky {
	position: sticky;
	top: 42vh;
	padding: 3rem 0;
	overflow: hidden;
}
.home-logo-strip__track {
	display: flex;
	align-items: center;
	gap: 4rem;
	width: max-content;
	animation: home-logo-scroll 60s linear infinite;
	will-change: transform;
}
.home-logo-strip__sticky:hover .home-logo-strip__track {
	animation-duration: 180s;
}
.home-logo-strip__cell {
	flex: 0 0 auto;
	width: 180px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.home-logo-strip__cell img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
	mix-blend-mode: difference;   /* the color-swap magic */
}
@keyframes home-logo-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (max-width: 768px) {
	.home-logo-strip { min-height: 180vh; }
	.home-logo-strip__sticky { top: 45vh; padding: 2rem 0; }
	.home-logo-strip__track { gap: 2.5rem; animation-duration: 40s; }
	.home-logo-strip__cell { width: 120px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
	.home-logo-strip__track { animation: none; }
}

/* ============================================================
   CAPABILITIES PAGE · minimal glue; most sections reuse existing
   patterns (.about-specs, .services, .work-horizontal, .about-clients,
   .testimonial-feature, .cta-bridge).
   ============================================================ */
.cap-hero { padding: 10rem 0 6rem; border-bottom: 1px solid var(--line); }
.cap-hero .std-h1 { max-width: 20ch; }
.cap-hero .std-lead { margin-top: 1.5rem; }
.cap-hero-cta { display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; margin-top: 3rem; align-items: center; }

/* Highlight the primary NAICS card */
.specs-naics.is-primary { border-color: var(--accent-bright); background: rgba(20, 200, 122, 0.06); }
.specs-naics.is-primary .code { font-weight: 600; }

/* Small annotation next to the NAICS block label */
.specs-count { color: var(--muted); font-weight: 400; text-transform: none; letter-spacing: 0.05em; font-family: 'Inter', sans-serif; font-size: 0.8rem; margin-left: 0.35rem; }

/* Industry chips that link out */
.specs-chips .chip--link { text-decoration: none; cursor: pointer; }
.specs-chips .chip--link:hover { color: var(--accent-bright); border-color: var(--accent-bright); background: rgba(20, 200, 122, 0.05); }

/* Cap CTA button row */
.cap-cta-buttons { display: inline-flex; flex-wrap: wrap; gap: 1.25rem 2rem; align-items: center; justify-content: center; }

/* Sample-clients roster: 6 wide on capabilities (About page keeps the default auto-fill) */
.cap-clients .about-clients-grid { grid-template-columns: repeat(7, 1fr); gap: 1.75rem; }
@media (max-width: 1100px) {
	.cap-clients .about-clients-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ============================================================
   CALENDLY EMBED (Contact page inline widget + slim LinkedIn card)
   ============================================================ */
.contact-cal-lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.15rem; color: var(--cream-dim); margin: 0 0 1.5rem; line-height: 1.4; }
.contact-cal-lead em { color: var(--accent-bright); font-style: italic; }
.contact-cal-widget {
	min-width: 320px;
	height: 680px;
	border: 1px solid var(--line);
	border-radius: 6px;
	overflow: hidden;
	background: var(--ink);
	margin-bottom: 1.5rem;
}
.contact-alt-card--slim {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.25rem;
	gap: 1rem;
}
.contact-alt-card--slim .contact-alt-divider { margin: 0; }
.contact-alt-card--slim .contact-alt-action { margin-top: 0; }
@media (max-width: 768px) {
	.contact-cal-widget { height: 620px; }
}

/* ============================================================
   GOVCON LANDING PAGE
   Reuses .services, .work-horizontal, .testimonial-feature,
   .cta-bridge, .faq. LP-specific glue only.
   ============================================================ */
.gc-hero { padding: 10rem 0 5rem; border-bottom: 1px solid var(--line); }
.gc-hero .gc-h1 { max-width: 20ch; }
.gc-hero .gc-lead { margin-top: 1.5rem; max-width: 62ch; }
.gc-hero-cta { display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; margin-top: 3rem; align-items: center; }

/* Trust bar strip */
.gc-trust { padding: 4rem 0; background: var(--ink-lift); border-bottom: 1px solid var(--line); }
.gc-trust-strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2rem; padding-bottom: 3rem; margin-bottom: 3rem; border-bottom: 1px solid var(--line); }
.gc-trust-item { display: flex; flex-direction: column; gap: 0.5rem; }
.gc-trust-label { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.gc-trust-value { font-family: 'Inter', sans-serif; font-size: 1rem; color: var(--cream); font-weight: 500; }
.gc-trust-logos { display: grid; grid-template-columns: repeat(8, 1fr); gap: 2rem; align-items: center; }
.gc-trust-logo { display: flex; align-items: center; justify-content: center; height: 48px; opacity: 0.7; transition: opacity 0.2s ease; }
.gc-trust-logo:hover { opacity: 1; }
.gc-trust-logo img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }

/* Problems grid */
.gc-problems { padding: 8rem 0; background: var(--ink); border-top: 1px solid var(--line); }
.gc-problems-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3rem 5rem; margin-top: 4rem; }
.gc-problem { position: relative; padding-left: 0; }
.gc-problem-num { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.3rem; color: var(--accent-bright); margin-bottom: 1rem; }
.gc-problem-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.5rem, 2.5vw, 1.9rem); line-height: 1.2; letter-spacing: -0.01em; margin: 0 0 1rem; max-width: 22ch; color: var(--cream); }
.gc-problem-title em { font-style: italic; color: var(--accent-bright); }
.gc-problem-body { font-family: 'Inter', sans-serif; font-size: 1rem; line-height: 1.65; color: var(--cream-dim); max-width: 55ch; margin: 0; }

/* 3-step process */
.gc-process { padding: 8rem 0; background: var(--ink-lift); border-top: 1px solid var(--line); }
.gc-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 4rem; }
.gc-process-step { padding: 2.5rem; background: var(--ink); border: 1px solid var(--line); border-radius: 6px; transition: border-color 0.2s ease, transform 0.3s ease; }
.gc-process-step:hover { border-color: var(--accent-bright); transform: translateY(-4px); }
.gc-process-num { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 1.5rem; }
.gc-process-title { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.5rem; color: var(--cream); margin: 0 0 1rem; letter-spacing: -0.01em; }
.gc-process-title em { font-style: italic; color: var(--accent-bright); }
.gc-process-body { font-family: 'Inter', sans-serif; font-size: 0.98rem; line-height: 1.6; color: var(--cream-dim); margin: 0; }

/* Final CTA button row */
.gc-cta-buttons { display: inline-flex; flex-wrap: wrap; gap: 1.25rem 2rem; align-items: center; justify-content: center; margin-top: 2rem; }

@media (max-width: 900px) {
	.gc-trust-strip { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
	.gc-trust-logos { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
	.gc-problems-grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.gc-process-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 768px) {
	.gc-hero { padding: 6rem 0 4rem; }
	.gc-hero-cta { flex-direction: column; align-items: stretch; }
	.gc-hero-cta > * { text-align: center; }
	.gc-cta-buttons { flex-direction: column; align-items: stretch; }
	.gc-problems, .gc-process { padding: 5rem 0; }
}

/* ============================================================
   GOVCON LP · PROTOTYPE-VERBATIM CSS (prototype-landing-govcon-v0716.html)
   Ported so Mark can see all 15 prototype sections rendered on /govcon/
   and decide keep / merge / kill for each. Every rule prefixed .lp-* so
   nothing collides with existing site styles.
   ============================================================ */

/* HERO */
.lp-hero { min-height: 90vh; padding: 6rem 2rem 5rem; display: grid; align-items: center; position: relative; overflow: hidden; }
.lp-hero-bg { position: absolute; inset: 0; background-image: url('https://picsum.photos/seed/mb-lp-govcon/1800/1200'); background-size: cover; background-position: center; opacity: 0.25; }
.lp-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,14,14,0.7) 0%, var(--ink) 100%); }
.lp-hero-inner { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; width: 100%; text-align: center; }
.lp-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--accent-bright); letter-spacing: 0.18em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 0.75rem; padding: 0.5rem 1rem; border: 1px solid var(--accent); border-radius: 999px; background: rgba(8, 117, 80, 0.1); margin-bottom: 2.5rem; }
.lp-eyebrow-dot { width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; animation: pulse 2.2s ease-in-out infinite; }
.lp-hero h1 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 7rem); line-height: 0.9; letter-spacing: -0.025em; margin: 0 auto 2.5rem; max-width: 18ch; }
.lp-hero h1 .word-wrap { display: inline-block; overflow: hidden; padding: 0.06em 0.02em 0.22em; }
.lp-hero h1 .word { display: inline-block; transform: translateY(0); }
.lp-hero h1 em { font-style: italic; color: var(--accent-bright); }
.lp-hero-sub { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.3rem, 2vw, 1.7rem); color: var(--cream-dim); max-width: 55ch; margin: 0 auto 3rem; line-height: 1.4; }
.lp-hero-ctas { display: inline-flex; align-items: center; gap: 1.25rem 2rem; flex-wrap: wrap; justify-content: center; }
.lp-hero-cta { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--accent); color: #fff; padding: 1.1rem 2.5rem; border-radius: 999px; text-decoration: none; font-weight: 500; font-size: 1.1rem; transition: background 0.2s, transform 0.2s, border-color 0.2s; }
.lp-hero-cta:hover { background: var(--accent-bright); transform: translateY(-3px); }
.lp-hero-cta--ghost { background: transparent; border: 1px solid var(--line); color: var(--cream); }
.lp-hero-cta--ghost:hover { background: transparent; border-color: var(--accent-bright); color: var(--accent-bright); transform: translateY(-3px); }
.lp-hero-note { margin-top: 1.5rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
@media (max-width: 720px) {
	.lp-hero-ctas { flex-direction: column; align-items: stretch; }
	.lp-hero-ctas .lp-hero-cta { justify-content: center; }
}

/* NAICS + registration section */
.lp-naics { padding: 4rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lp-naics-grid .naics { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: baseline; padding: 0.5rem 0; font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; }
.lp-naics-grid .naics-code { color: var(--accent-bright); font-weight: 500; letter-spacing: 0.05em; }
.lp-naics-grid .naics.primary .naics-code { color: #fff; background: var(--accent); padding: 0.1rem 0.35rem; border-radius: 3px; }
.lp-naics-grid .naics-desc { color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.4; }

/* Trust */
.lp-trust { padding: 5rem 2rem; }
.lp-trust-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 3rem; text-align: center; }
.lp-trust-num { font-family: 'Playfair Display', serif; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; margin-bottom: 0.75rem; color: var(--cream); }
.lp-trust-num em { color: var(--accent-bright); font-style: italic; }
.lp-trust-label { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; line-height: 1.4; }

/* Federal-specific services */
.lp-services { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lp-services-inner { max-width: 1200px; margin: 0 auto; }
.lp-services-head { text-align: center; margin-bottom: 3rem; }
.lp-services-head .section-label { justify-content: center; }
.lp-services-head h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; letter-spacing: -0.02em; max-width: 22ch; margin: 0 auto; color: var(--cream); }
.lp-services-head h2 em { font-style: italic; color: var(--accent-bright); }
.lp-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.lp-service { padding: 2rem 0; border-top: 1px solid var(--line); }
.lp-service-num { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); font-size: 1.4rem; margin-bottom: 0.75rem; }
.lp-service h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.4rem; margin-bottom: 0.6rem; letter-spacing: -0.01em; color: var(--cream); }
.lp-service p { color: var(--cream-dim); font-size: 0.92rem; line-height: 1.6; }

/* Cream testimonial */
.lp-testimonial { padding: 10rem 2rem; background: var(--paper); color: var(--paper-ink); display: grid; place-items: center; text-align: center; }
.lp-testimonial-inner { max-width: 28ch; }
.lp-testimonial-mark { font-family: 'Playfair Display', serif; font-style: italic; font-size: 5rem; color: var(--accent); line-height: 0.5; opacity: 0.4; margin-bottom: 2rem; }
.lp-testimonial h2 { font-family: 'Inter', sans-serif; font-weight: 300; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.45; margin-bottom: 2rem; color: var(--paper-ink); }
.lp-testimonial h2 em { color: var(--accent); font-family: 'Playfair Display', serif; font-style: italic; font-weight: 500; }
.lp-testimonial-attr { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--paper-muted); text-transform: uppercase; letter-spacing: 0.15em; }
.lp-testimonial-attr strong { color: var(--paper-ink); font-weight: 500; }

/* Deep-dive USDA mini-case */
.lp-deepcut { padding: 8rem 2rem; }
.lp-deepcut-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; align-items: center; }
.lp-deepcut-story h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-style: italic; font-size: clamp(1.8rem, 3.5vw, 2.6rem); line-height: 1.1; letter-spacing: -0.015em; margin-bottom: 1.5rem; color: var(--cream); }
.lp-deepcut-story .kicker { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1rem; }
.lp-deepcut-story p { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; margin-bottom: 1.25rem; }
.lp-deepcut-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; padding: 1.75rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 2rem 0; }
.lp-deepcut-metric .num { font-family: 'Playfair Display', serif; font-size: 2rem; color: var(--cream); line-height: 1; margin-bottom: 0.3rem; }
.lp-deepcut-metric .num em { color: var(--accent-bright); font-style: italic; }
.lp-deepcut-metric .lbl { font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.12em; line-height: 1.3; }
.lp-deepcut-image { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; background: var(--ink-lift) url('https://picsum.photos/seed/mb-usda-deep/900/1200') center/cover; box-shadow: 0 30px 80px rgba(0,0,0,0.4); }

/* Case tiles */
.lp-cases { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lp-cases-inner { max-width: 1400px; margin: 0 auto; }
.lp-cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 3rem; }
.lp-case { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; position: relative; background-size: cover; background-position: center; text-decoration: none; color: white; box-shadow: 0 20px 60px rgba(0,0,0,0.4); display: flex; transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s ease, background-size 6s cubic-bezier(0.4, 0, 0.2, 1); }
.lp-case:hover { transform: translateY(-6px); box-shadow: 0 40px 90px rgba(0,0,0,0.55), 0 0 60px rgba(20, 200, 122, 0.18); background-size: 106%; }
.lp-case::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.9)); z-index: 1; }
.lp-case-content { position: relative; z-index: 2; padding: 2rem; margin-top: auto; }
.lp-case-meta { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: rgba(255,255,255,0.75); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.75rem; }
.lp-case h4 { font-family: 'Playfair Display', serif; font-size: 1.5rem; margin-bottom: 0.5rem; font-weight: 400; color: white; }
.lp-case p { color: rgba(255,255,255,0.85); font-size: 0.9rem; }
.lp-case p em { color: var(--accent-bright); font-style: italic; font-family: 'Playfair Display', serif; }

/* Process */
.lp-process { padding: 8rem 2rem; }
.lp-process-inner { max-width: 1000px; margin: 0 auto; }
.lp-process-head { text-align: center; margin-bottom: 3rem; }
.lp-process-head .section-label { justify-content: center; }
.lp-process-head h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; letter-spacing: -0.02em; max-width: 22ch; margin: 0 auto; color: var(--cream); }
.lp-process-head h2 em { font-style: italic; color: var(--accent-bright); }
.lp-process-list { margin-top: 2rem; }
.lp-phase { padding: 2rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 80px 1fr; gap: 2rem; align-items: baseline; }
.lp-phase:last-child { border-bottom: 1px solid var(--line); }
.lp-phase-num { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); font-size: 1.7rem; }
.lp-phase h4 { font-family: 'Playfair Display', serif; font-size: 1.3rem; font-weight: 400; margin-bottom: 0.5rem; letter-spacing: -0.01em; color: var(--cream); }
.lp-phase p { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.6; }
.lp-billing-note { margin-top: 2.5rem; padding: 1.25rem 1.75rem; background: var(--ink-lift); border-left: 3px solid var(--accent-bright); border-radius: 4px; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; color: var(--cream-dim); text-transform: uppercase; letter-spacing: 0.12em; line-height: 1.65; }
.lp-billing-note em { font-family: 'Playfair Display', serif; font-style: italic; color: var(--accent-bright); text-transform: none; letter-spacing: 0; font-size: 1rem; }

/* Three-path CTA */
.lp-paths { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lp-paths-inner { max-width: 1200px; margin: 0 auto; }
.lp-paths-head { text-align: center; margin-bottom: 3rem; }
.lp-paths-head .section-label { justify-content: center; }
.lp-paths-head h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; margin: 0 auto; max-width: 24ch; color: var(--cream); }
.lp-paths-head h2 em { font-style: italic; color: var(--accent-bright); }
.lp-paths-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 2rem; }
.lp-path { padding: 2.5rem 2rem; background: var(--ink); border: 1px solid var(--line); border-radius: 6px; text-decoration: none; color: inherit; display: flex; flex-direction: column; transition: transform 0.4s ease, border-color 0.3s, background 0.3s; position: relative; overflow: hidden; }
.lp-path:hover { transform: translateY(-6px); border-color: var(--accent-bright); background: var(--ink-deep); }
.lp-path::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 30% 20%, rgba(20, 200, 122, 0.12), transparent 60%); opacity: 0; transition: opacity 0.4s ease; }
.lp-path:hover::before { opacity: 1; }
.lp-path > * { position: relative; z-index: 2; }
.lp-path-tag { font-family: 'JetBrains Mono', monospace; font-size: 0.68rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.5rem; }
.lp-path-tag::before { content: ''; width: 6px; height: 6px; background: var(--accent-bright); border-radius: 50%; }
.lp-path h3 { font-family: 'Playfair Display', serif; font-size: 1.6rem; font-weight: 400; margin-bottom: 0.75rem; letter-spacing: -0.01em; line-height: 1.15; color: var(--cream); }
.lp-path h3 em { font-style: italic; color: var(--accent-bright); }
.lp-path p { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.55; margin-bottom: 2rem; flex: 1; }
.lp-path-action { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; display: inline-flex; align-items: center; gap: 0.5rem; }
.lp-path-action .arrow { transition: transform 0.3s ease; }
.lp-path:hover .lp-path-action .arrow { transform: translateX(4px); }

/* Referral program */
.lp-referral { padding: 8rem 2rem; text-align: center; background: var(--paper); color: var(--paper-ink); }
.lp-referral-inner { max-width: 720px; margin: 0 auto; }
.lp-referral-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--paper-muted); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 2rem; display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.45rem 1rem; border: 1px solid var(--paper-line); border-radius: 999px; }
.lp-referral-eyebrow::before { content: ''; width: 6px; height: 6px; background: var(--accent); border-radius: 50%; }
.lp-referral h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 1.5rem; }
.lp-referral h2 em { font-style: italic; color: var(--accent); }
.lp-referral .lp-referral-lead { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.3rem; color: var(--paper-ink); margin-bottom: 2rem; }
.lp-referral p { color: var(--paper-muted); font-size: 1rem; line-height: 1.65; margin-bottom: 2rem; }
.lp-referral-terms { display: inline-flex; align-items: center; gap: 2rem; padding: 1.5rem 2rem; background: var(--paper-ink); color: var(--paper); border-radius: 6px; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; flex-wrap: wrap; justify-content: center; }
.lp-referral-terms strong { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1.25rem; font-weight: 500; margin-right: 0.4rem; }

/* FAQ (federal-specific) */
.lp-faq { padding: 8rem 2rem; }
.lp-faq-inner { max-width: 1000px; margin: 0 auto; }
.lp-faq-head { text-align: center; margin-bottom: 3rem; }
.lp-faq-head .section-label { justify-content: center; }
.lp-faq-head h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; margin: 0 auto; max-width: 22ch; color: var(--cream); }
.lp-faq-head h2 em { font-style: italic; color: var(--accent-bright); }
.lp-faq-list { margin-top: 2rem; }
.lp-faq-item { padding: 2rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; }
.lp-faq-item:last-child { border-bottom: 1px solid var(--line); }
.lp-faq-q { font-family: 'Playfair Display', serif; font-weight: 400; font-size: 1.3rem; letter-spacing: -0.01em; line-height: 1.25; color: var(--cream); }
.lp-faq-q em { font-style: italic; color: var(--accent-bright); }
.lp-faq-a { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.65; }

/* When we're not right */
.lp-notfit { padding: 8rem 2rem; }
.lp-notfit-inner { max-width: 1000px; margin: 0 auto; }
.lp-notfit-head { text-align: center; margin-bottom: 3rem; }
.lp-notfit-head .section-label { justify-content: center; }
.lp-notfit-head h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.05; letter-spacing: -0.02em; max-width: 24ch; margin: 0 auto; color: var(--cream); }
.lp-notfit-head h2 em { font-style: italic; color: var(--accent-bright); }
.lp-notfit-list { display: grid; gap: 0; margin-top: 2rem; }
.lp-notfit-item { display: grid; grid-template-columns: 60px 1fr; gap: 2rem; padding: 1.75rem 0; border-top: 1px solid var(--line); align-items: baseline; }
.lp-notfit-item:last-child { border-bottom: 1px solid var(--line); }
.lp-notfit-mark { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.6rem; color: var(--accent-bright); line-height: 1; }
.lp-notfit-item h4 { font-family: 'Playfair Display', serif; font-size: 1.2rem; font-weight: 400; margin-bottom: 0.4rem; letter-spacing: -0.01em; color: var(--cream); }
.lp-notfit-item p { color: var(--cream-dim); font-size: 0.95rem; line-height: 1.65; }

/* Client roster */
.lp-roster { padding: 6rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lp-roster-inner { max-width: 1400px; margin: 0 auto; text-align: center; }
.lp-roster-head { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 2rem; display: flex; align-items: center; justify-content: center; gap: 0.75rem; }
.lp-roster-head::before, .lp-roster-head::after { content: ''; width: 40px; height: 1px; background: var(--muted); }
.lp-roster-list { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(1.4rem, 2.5vw, 2rem); color: var(--cream-dim); line-height: 1.6; letter-spacing: -0.01em; }
.lp-roster-list strong { color: var(--accent-bright); font-weight: 400; font-style: normal; font-family: 'Playfair Display', serif; margin: 0 0.4rem; }
.lp-roster-list a { color: var(--accent-bright); text-decoration: none; transition: color 0.25s ease, background 0.25s ease; padding: 0.1rem 0.25rem; border-radius: 3px; }
.lp-roster-list a:hover { color: #fff; background: var(--accent); }

/* Meet Mark */
.lp-meet { padding: 8rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lp-meet-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 260px 1fr; gap: 4rem; align-items: center; }
.lp-meet-portrait { aspect-ratio: 4/5; border-radius: 6px; overflow: hidden; position: relative; background: radial-gradient(circle at 30% 30%, rgba(20, 200, 122,0.25), transparent 60%), var(--ink); border: 1px solid var(--line); }
.lp-meet-portrait::before { content: 'M'; position: absolute; inset: 0; display: grid; place-items: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 10rem; color: var(--muted); opacity: 0.5; }
.lp-meet-portrait::after { content: 'MARK · PRINCIPAL'; position: absolute; bottom: 1rem; left: 1rem; font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; letter-spacing: 0.15em; color: var(--accent-bright); background: rgba(0,0,0,0.55); padding: 0.4rem 0.7rem; border-radius: 3px; backdrop-filter: blur(6px); }
.lp-meet-content .section-label { margin-bottom: 1.5rem; }
.lp-meet-content h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.8rem, 3.5vw, 2.8rem); line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 1.5rem; color: var(--cream); }
.lp-meet-content h3 em { font-style: italic; color: var(--accent-bright); }
.lp-meet-content p { color: var(--cream-dim); font-size: 1rem; line-height: 1.7; margin-bottom: 1.25rem; }
.lp-meet-contact { display: flex; gap: 1.5rem; align-items: center; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); flex-wrap: wrap; }
.lp-meet-contact-item { display: flex; flex-direction: column; gap: 0.25rem; font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em; color: var(--muted); }
.lp-meet-contact-item a, .lp-meet-contact-item strong { color: var(--accent-bright); font-family: 'Playfair Display', serif; font-style: italic; letter-spacing: 0; text-transform: none; font-size: 1rem; text-decoration: none; font-weight: 500; transition: color 0.2s; }
.lp-meet-contact-item a:hover { color: var(--cream); }

/* Final CTA */
.lp-final { padding: 8rem 2rem; text-align: center; background: linear-gradient(180deg, var(--ink) 0%, rgba(8, 117, 80,0.15) 100%); border-top: 1px solid var(--line); }
.lp-final-inner { max-width: 700px; margin: 0 auto; }
.lp-final h2 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1.02; margin-bottom: 2rem; color: var(--cream); }
.lp-final h2 em { font-style: italic; color: var(--accent-bright); }
.lp-final p { color: var(--cream-dim); font-size: 1.05rem; margin-bottom: 3rem; line-height: 1.6; }
.lp-final-cta { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--accent); color: #fff; padding: 1.1rem 2.5rem; border-radius: 999px; text-decoration: none; font-weight: 500; font-size: 1.1rem; transition: background 0.2s, transform 0.2s; }
.lp-final-cta:hover { background: var(--accent-bright); transform: translateY(-3px); }
.lp-final-alt { margin-top: 2rem; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.15em; }
.lp-final-alt a { color: var(--accent-bright); text-decoration: none; }

/* Mid-page RFP hook (slim invitation band, sits between deep-cut and case tiles) */
.lp-rfp-hook { padding: 4.5rem 2rem; background: var(--ink-lift); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; overflow: hidden; }
.lp-rfp-hook::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 10% 50%, rgba(20, 200, 122, 0.08), transparent 60%); pointer-events: none; }
.lp-rfp-hook-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; position: relative; z-index: 2; }
.lp-rfp-hook-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.18em; display: inline-flex; align-items: center; gap: 0.6rem; margin-bottom: 1rem; }
.lp-rfp-hook-dot { width: 7px; height: 7px; background: var(--accent-bright); border-radius: 50%; animation: pulse 2.2s ease-in-out infinite; }
.lp-rfp-hook-copy h3 { font-family: 'Playfair Display', serif; font-weight: 400; font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.2; letter-spacing: -0.01em; color: var(--cream); margin: 0 0 0.6rem; }
.lp-rfp-hook-copy h3 em { font-style: italic; color: var(--accent-bright); }
.lp-rfp-hook-copy p { color: var(--cream-dim); font-size: 0.98rem; line-height: 1.55; margin: 0; max-width: 62ch; }
.lp-rfp-hook-cta { display: inline-flex; align-items: center; gap: 0.5rem; background: transparent; border: 1px solid var(--accent-bright); color: var(--accent-bright); padding: 0.95rem 1.75rem; border-radius: 999px; text-decoration: none; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.15em; font-weight: 500; transition: background 0.2s, color 0.2s, transform 0.2s; white-space: nowrap; }
.lp-rfp-hook-cta:hover { background: var(--accent-bright); color: var(--ink); transform: translateY(-2px); }
@media (max-width: 900px) {
	.lp-rfp-hook-inner { grid-template-columns: 1fr; gap: 1.5rem; }
	.lp-rfp-hook-cta { justify-self: start; }
}
@media (max-width: 720px) {
	.lp-rfp-hook { padding: 3.5rem 1.25rem; }
	.lp-rfp-hook-cta { justify-self: stretch; justify-content: center; }
}

/* Divider label so Mark can find the prototype section on the page */
.lp-divider-label { padding: 4rem 2rem 2rem; background: var(--ink-deep); text-align: center; }
.lp-divider-label .tag { display: inline-block; padding: 0.6rem 1.5rem; border: 1px dashed var(--accent-bright); border-radius: 999px; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--accent-bright); text-transform: uppercase; letter-spacing: 0.15em; }
.lp-divider-label .note { margin-top: 1rem; font-family: 'Playfair Display', serif; font-style: italic; color: var(--cream-dim); font-size: 1rem; }

@media (max-width: 1000px) {
	.lp-trust-inner { grid-template-columns: repeat(2, 1fr); }
	.lp-cases-grid, .lp-services-grid, .lp-paths-grid { grid-template-columns: 1fr; }
	.lp-naics-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-deepcut-inner { grid-template-columns: 1fr; }
	.lp-faq-item { grid-template-columns: 1fr; gap: 1rem; }
	.lp-meet-inner { grid-template-columns: 1fr; gap: 2.5rem; }
}
@media (max-width: 720px) {
	.lp-hero { padding: 4rem 1.25rem 3rem; }
	.lp-naics, .lp-trust, .lp-services, .lp-testimonial, .lp-deepcut, .lp-cases, .lp-process, .lp-paths, .lp-faq, .lp-roster, .lp-final, .lp-notfit, .lp-referral, .lp-meet { padding: 5rem 1.25rem; }
	.lp-naics-grid { grid-template-columns: 1fr; }
	.lp-phase { grid-template-columns: 40px 1fr; gap: 1rem; }
}

@media (max-width: 768px) {
	.cap-hero { padding: 6rem 0 4rem; }
	.cap-hero-cta { flex-direction: column; align-items: stretch; }
	.cap-hero-cta > * { text-align: center; }
	.cap-cta-buttons { flex-direction: column; align-items: stretch; }
}

/* ============================================================
   MB DOWNLOAD BUTTON — theatrical horizontal-fill state machine
   States: idle -> busy -> done. Progress fills L->R behind text.
   Reduced-motion + double-click prevention baked in.
   Behavior in mb-core.js.
   ============================================================ */
.mb-dl-btn { position: relative; overflow: hidden; isolation: isolate; }
.mb-dl-btn .mb-dl-fill {
	position: absolute; inset: 0;
	background: var(--accent-bright);
	transform: translateX(-100%);
	transition: transform 2.4s cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events: none;
	z-index: 0;
}
.mb-dl-btn[data-state="busy"] .mb-dl-fill { transform: translateX(0); }
.mb-dl-btn[data-state="done"] .mb-dl-fill { transform: translateX(0); opacity: 0.15; }

.mb-dl-btn .mb-dl-content {
	position: relative; z-index: 1;
	display: inline-flex; align-items: center;
	line-height: 1;
}
.mb-dl-btn .mb-dl-label {
	display: inline-flex; align-items: center; gap: 0.4rem;
	transition: opacity 0.2s ease;
}
.mb-dl-btn .mb-dl-label--busy,
.mb-dl-btn .mb-dl-label--done {
	position: absolute; inset: 0;
	justify-content: center;
	opacity: 0; pointer-events: none;
}
.mb-dl-btn[data-state="idle"] .mb-dl-label--idle { opacity: 1; }
.mb-dl-btn[data-state="busy"] .mb-dl-label--idle,
.mb-dl-btn[data-state="done"] .mb-dl-label--idle { opacity: 0; }
.mb-dl-btn[data-state="busy"] .mb-dl-label--busy { opacity: 1; }
.mb-dl-btn[data-state="done"] .mb-dl-label--done { opacity: 1; }

.mb-dl-btn[data-state="busy"] { cursor: progress; }
.mb-dl-btn .mb-dl-dots i {
	display: inline-block; opacity: 0.35;
	animation: mb-dl-dot 1.2s infinite;
}
.mb-dl-btn .mb-dl-dots i:nth-child(2) { animation-delay: 0.15s; }
.mb-dl-btn .mb-dl-dots i:nth-child(3) { animation-delay: 0.3s; }
@keyframes mb-dl-dot {
	0%, 60%, 100% { opacity: 0.35; }
	30% { opacity: 1; }
}
.mb-dl-btn .mb-dl-icon { font-style: normal; }

@media (prefers-reduced-motion: reduce) {
	.mb-dl-btn .mb-dl-fill { transition: none; }
	.mb-dl-btn .mb-dl-dots i { animation: none; }
}
