:root {
  --ink: #171512;
  --muted: #675f57;
  --paper: #f6f3ec;
  --paper-strong: #fffdf8;
  --line: rgba(23, 21, 18, 0.14);
  --teal: #117a75;
  --teal-dark: #0b4e4c;
  --coral: #c95f3f;
  --gold: #b8872d;
  --olive: #5f7a32;
  --plum: #623b5a;
  --shadow: 0 24px 70px rgba(23, 21, 18, 0.18);
  --max: 1160px;
}

/* Applied AI portfolio, November 2026. Scoped to the revised public pages. */
.ai-site { --teal: #116b61; --teal-dark: #104c43; }
.ai-site .site-header { gap: 18px; }
.ai-site .site-nav { gap: 20px; }
.ai-site .skip-link { position: absolute; top: -70px; left: 20px; z-index: 60; padding: 12px 20px; background: white; color: #123f36; }
.ai-site .skip-link:focus { top: 12px; }
.ai-site :focus-visible { outline: 3px solid #b16c20; outline-offset: 5px; }
.ai-site [id] { scroll-margin-top: 92px; }
.ai-hero { padding: 78px clamp(22px, 5vw, 72px) 0; background: #133f36; color: #faf7ef; }
.ai-hero-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(240px, .8fr); gap: 56px; align-items: center; }
.ai-hero .eyebrow { color: #b9d4bd; margin-bottom: 24px; font-size: .78rem; letter-spacing: .09em; }
.ai-hero h1 { margin: 0; font-size: clamp(3.1rem, 5.8vw, 5.4rem); line-height: 1.03; letter-spacing: -.055em; font-weight: 650; }
.ai-hero-intro { margin: 28px 0 0; max-width: 690px; color: #d6e2d8; font-size: 1.14rem; line-height: 1.75; }
.ai-hero .button-primary { color: #163e34; background: #e9cf91; border-color: #e9cf91; }
.ai-hero .button-secondary { color: #fbf7ec; border-color: #729285; background: transparent; }
.ai-hero .button:hover { transform: translateY(-2px); }
.ai-hero-layout.ai-hero-solo { grid-template-columns: 1fr; max-width: 920px; }
.ai-book-art { align-self: center; min-width: 0; }
.ai-book-stack { position: relative; aspect-ratio: .88; max-width: 370px; margin: 12px auto 20px; }
.ai-book-stack img { position: absolute; top: 10px; left: 0; width: 57%; height: auto; aspect-ratio: 5/8; object-fit: cover; border-radius: 3px; box-shadow: 0 16px 35px #061f2666; transform: rotate(-8deg); }
.ai-book-stack img + img { top: 49px; left: 39%; transform: rotate(8deg); }
.ai-book-art > p { margin: 24px 0 0; text-align: center; font-size: .84rem; line-height: 1.6; color: #c0d0c4; }
.ai-stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 30px; padding: 34px 0 36px; margin: 58px 0 0; border-top: 1px solid #6b8c7e66; }
.ai-stats > div { border-left: 1px solid #6b8c7e66; padding-left: 24px; }
.ai-stats > div:first-child { border-left: 0; padding-left: 0; }
.ai-stats dt { font-size: clamp(2rem, 3.2vw, 3rem); font-weight: 650; letter-spacing: -.04em; }
.ai-stats dd { margin: 8px 0 0; color: #cbdacf; font-size: .9rem; }
.ai-site .ai-section, .ai-site .section { padding-top: 76px; padding-bottom: 76px; }
.ai-site .section h2 { font-weight: 650; letter-spacing: -.045em; font-size: clamp(2.2rem, 4.2vw, 3.6rem); line-height: 1.08; }
.ai-site .section-heading { max-width: 820px; }
.ai-site .section-heading > p:not(.eyebrow) { font-size: 1.08rem; line-height: 1.75; }
.ai-site h3 { letter-spacing: -.02em; }
.ai-tint { background: #e9eee6; }
.ai-story { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; }
.ai-story > .eyebrow { grid-column: 1/-1; }
.ai-story > div > p { margin: 0 0 20px; color: var(--muted); font-size: 1.08rem; line-height: 1.8; }
.ai-outcomes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.ai-outcome { padding: 28px; background: #fffdf8; border: 1px solid #d6ded3; border-radius: 10px; }
.ai-number { font-size: clamp(1.65rem,2.5vw,2.35rem); font-weight: 650; color: #104c43; line-height: 1.18; margin: 18px 0; letter-spacing: -.035em; }
.ai-outcome h3 { font-size: 1.18rem; line-height: 1.35; margin: 0 0 14px; }
.ai-outcome > p:last-child { margin-bottom: 0; font-size: .95rem; line-height: 1.7; color: #5d635a; }
.ai-attribution { max-width: 850px; margin: 24px 0 0; color: #5d635a; font-size: .85rem; }
.ai-case-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.ai-case { border: 1px solid #d9ddd1; border-radius: 12px; padding: 32px; background: #fffdf8; }
.ai-case-top { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.ai-case-top > span { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #bed3c1; border-radius: 50%; color: #2b6554; font-size: .75rem; }
.ai-case-top .card-kicker { margin: 0; }
.ai-case h3 { font-size: 1.7rem; line-height: 1.15; margin: 0 0 16px; }
.ai-case p { color: #5e645b; line-height: 1.75; }
.ai-case .ai-case-thesis { color: #2a493c; font-size: 1.08rem; font-weight: 600; line-height: 1.5; }
.ai-case .ai-case-tags { border-top: 1px solid #e3e6db; padding-top: 16px; font-size: .79rem; color: #3e6958; }
.ai-site .text-link { color: #125c4b; font-weight: 700; text-underline-offset: 5px; }
.ai-focus-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.ai-focus-grid article { border-top: 2px solid #7e9f86; padding-top: 24px; }
.ai-focus-grid h3 { font-size: 1.4rem; line-height: 1.25; margin: 12px 0; }
.ai-focus-grid p { color: #5e645b; line-height: 1.75; }
.ai-featured-books { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; margin-top: 44px; }
.ai-featured-books > a { display: grid; grid-template-columns: 140px 1fr; gap: 26px; align-items: center; text-decoration: none; }
.ai-featured-books img { width: 140px; border-radius: 3px; box-shadow: 0 10px 20px #203a2322; }
.ai-featured-books h3 { font-size: 1.45rem; line-height: 1.2; }
.ai-featured-books p:not(.card-kicker) { color: #5e645b; line-height: 1.65; }
.ai-site .directory-card { border-color: #d9ddd1; padding: 24px; border-radius: 10px; }
.ai-site .directory-card a { display: inline-block; color: #125c4b; }
.ai-catalog-disclosure > summary { padding: 22px 0; font-size: 1.15rem; font-weight: 650; cursor: pointer; color: #104c43; border-top: 1px solid #b7c8b4; border-bottom: 1px solid #b7c8b4; }
.ai-catalog-disclosure[open] > summary { margin-bottom: 28px; }
.ai-career > article { display: grid; grid-template-columns: minmax(190px,.5fr) minmax(0,1.5fr); gap: 48px; padding: 34px 0; border-top: 1px solid #cfd7c9; }
.ai-career h3 { font-size: 1.7rem; margin: 0 0 10px; }
.ai-career h4 { font-size: 1.45rem; margin: 0 0 20px; font-weight: 650; letter-spacing: -.025em; }
.ai-career p,.ai-career li { color: #5d635a; line-height: 1.75; }
.ai-career li { margin-bottom: 12px; }
.ai-career ul { padding-left: 20px; }
.ai-contact { background: #d9e4d6; }
.ai-site .site-footer p { margin: 8px 0 0; max-width: 530px; font-size: .82rem; line-height: 1.6; }
.ai-error { min-height: 65vh; }
@media (max-width: 1000px) {
 .ai-hero { padding-top: 55px; }
 .ai-hero-layout { gap: 30px; grid-template-columns: minmax(0,1.3fr) minmax(200px,.7fr); }
 .ai-outcomes { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ai-site .site-nav { gap: 12px 18px; }
 .ai-featured-books > a { grid-template-columns: 100px 1fr; gap: 18px; }
 .ai-featured-books img { width: 100px; }
}
@media (max-width: 700px) {
 .ai-site .site-header { align-items: flex-start; }
 .ai-hero-layout { grid-template-columns: 1fr; }
 .ai-hero h1 { font-size: clamp(2.7rem,9vw,4.2rem); }
 .ai-hero-intro { font-size: 1.06rem; }
 .ai-book-art { max-width: 340px; width: 100%; margin: 6px auto 0; }
 .ai-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 36px; }
 .ai-stats > div { padding-left: 0; border-left: 0; }
 .ai-site .ai-section,.ai-site .section { padding-top: 52px; padding-bottom: 52px; }
 .ai-story { grid-template-columns: 1fr; gap: 24px; }
 .ai-case-grid,.ai-focus-grid,.ai-featured-books,.ai-career > article { grid-template-columns: 1fr; }
 .ai-case { padding: 25px; }
 .ai-focus-grid { gap: 24px; }
 .ai-career > article { gap: 20px; }
 .ai-featured-books > a { grid-template-columns: 110px 1fr; }
 .ai-featured-books img { width: 110px; }
 .ai-site .page-actions { gap: 12px; }
 .ai-site .page-actions .button { width: auto; flex: 0 1 auto; min-height: 50px; padding: 12px 18px; }
}
@media (max-width: 460px) {
 .ai-site .site-header { gap: 8px; }
 .ai-site .site-nav { display: grid; grid-template-columns: repeat(3, max-content); gap: 2px 24px; }
 .ai-site .site-nav a { padding: 4px 0; }
 .ai-outcomes { grid-template-columns: 1fr; }
 .ai-book-art { max-width: 270px; }
 .ai-stats dd { font-size: .82rem; }
 .ai-site .brand { font-size: .96rem; }
 .ai-site .site-nav { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .ai-site .button { transition: none; }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}

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

a {
  color: inherit;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px clamp(18px, 4vw, 44px);
  background: rgba(246, 243, 236, 0.9);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--ink);
  text-decoration: none;
  font-weight: 800;
}

.brand-mark {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--teal), var(--coral));
  border-radius: 10px;
  font-size: 0.9rem;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2.4vw, 26px);
  color: var(--muted);
  font-size: 0.94rem;
  font-weight: 700;
}

.site-nav a {
  text-decoration: none;
}

.site-nav a:hover {
  color: var(--ink);
}

.hero {
  position: relative;
  display: grid;
  min-height: min(790px, calc(100svh - 48px));
  overflow: hidden;
  isolation: isolate;
  padding: clamp(84px, 12vw, 150px) clamp(18px, 5vw, 72px) clamp(76px, 9vw, 110px);
  background:
    linear-gradient(90deg, rgba(246, 243, 236, 0.98) 0%, rgba(246, 243, 236, 0.88) 39%, rgba(246, 243, 236, 0.42) 64%, rgba(246, 243, 236, 0.08) 100%),
    radial-gradient(circle at 20% 30%, rgba(17, 122, 117, 0.16), transparent 33%),
    linear-gradient(135deg, #f8f1e7, #edf6f1 48%, #f7e8df);
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: var(--line);
}

.media-wall {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

.wall-book,
.wall-icon {
  position: absolute;
  object-fit: cover;
  box-shadow: var(--shadow);
}

.wall-book {
  width: clamp(148px, 15vw, 238px);
  aspect-ratio: 5 / 8;
  border-radius: 8px;
}

.wall-icon {
  width: clamp(72px, 8vw, 132px);
  aspect-ratio: 1;
  border-radius: 25%;
}

.book-one {
  right: clamp(150px, 20vw, 330px);
  top: clamp(70px, 9vw, 120px);
  transform: rotate(-8deg);
}

.book-two {
  right: clamp(20px, 7vw, 110px);
  bottom: clamp(92px, 15vw, 180px);
  transform: rotate(7deg);
}

.icon-one {
  right: 10%;
  top: 12%;
}

.icon-two {
  right: 37%;
  bottom: 18%;
}

.icon-three {
  right: 3%;
  top: 43%;
}

.icon-four {
  right: 24%;
  top: 47%;
}

.icon-five {
  right: 44%;
  top: 24%;
}

.icon-six {
  right: 14%;
  bottom: 7%;
}

.hero-copy {
  width: min(720px, 100%);
  align-self: center;
}

.eyebrow,
.card-kicker {
  margin: 0 0 14px;
  color: var(--teal-dark);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0;
  overflow-wrap: break-word;
  text-transform: uppercase;
}

.hero h1 {
  margin: 0;
  max-width: 12ch;
  font-size: clamp(3.6rem, 10vw, 8.8rem);
  line-height: 0.9;
  letter-spacing: 0;
}

.hero-lede {
  width: min(670px, 100%);
  margin: 28px 0 0;
  color: #302b26;
  font-size: clamp(1.08rem, 2vw, 1.45rem);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 850;
}

.button svg,
.pillar-card a svg,
.book-links a svg,
.link-grid a svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.button-primary,
.button-dark {
  color: #fff;
  background: var(--ink);
}

.button-secondary {
  background: var(--paper-strong);
  border-color: var(--line);
}

.button:hover,
.pillar-card a:hover,
.book-links a:hover,
.link-grid a:hover {
  transform: translateY(-1px);
}

.independence-note {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.hero-strip {
  position: absolute;
  right: clamp(18px, 5vw, 72px);
  bottom: 26px;
  left: clamp(18px, 5vw, 72px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
}

.hero-strip span {
  min-height: 54px;
  padding: 14px 16px;
  background: rgba(255, 253, 248, 0.9);
  color: #302b26;
  font-size: 0.9rem;
  font-weight: 760;
}

.page-hero {
  padding: clamp(74px, 11vw, 138px) clamp(18px, 5vw, 72px) clamp(56px, 8vw, 92px);
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(246, 243, 236, 0.98), rgba(246, 243, 236, 0.76)),
    linear-gradient(135deg, #f8f1e7, #edf6f1 48%, #f7e8df);
}

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

.page-hero h1 {
  width: min(930px, 100%);
  margin: 0;
  font-size: clamp(3rem, 7vw, 7rem);
  line-height: 0.94;
  letter-spacing: 0;
}

.page-hero p:not(.eyebrow) {
  width: min(810px, 100%);
  margin: 24px 0 0;
  color: #302b26;
  font-size: clamp(1.08rem, 2vw, 1.36rem);
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.fact-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-top: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
}

.fact-strip span {
  min-height: 70px;
  padding: 16px 18px;
  background: rgba(255, 253, 248, 0.9);
  font-weight: 850;
}

.copy-grid,
.media-grid,
.proof-matrix,
.search-list {
  display: grid;
  gap: 14px;
}

.copy-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: start;
}

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

.search-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.copy-panel,
.proof-matrix article,
.search-list li,
.brand-note {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.9);
}

.copy-panel,
.proof-matrix article,
.brand-note {
  padding: 24px;
}

.copy-panel h2,
.copy-panel h3,
.proof-matrix h3,
.brand-note h2 {
  margin: 0;
}

.copy-panel p,
.proof-matrix p,
.brand-note p {
  margin: 14px 0 0;
  color: var(--muted);
}

.copy-panel ul,
.brand-note ul {
  margin: 18px 0 0;
  padding-left: 20px;
  color: var(--muted);
}

.copy-panel li + li,
.brand-note li + li {
  margin-top: 8px;
}

.search-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.search-list li {
  min-height: 58px;
  padding: 16px 18px;
  font-weight: 820;
}

.brand-note {
  margin-top: 24px;
  border-color: rgba(17, 122, 117, 0.28);
  background:
    linear-gradient(135deg, rgba(17, 122, 117, 0.1), rgba(184, 135, 45, 0.12)),
    rgba(255, 253, 248, 0.92);
}

.section {
  padding: clamp(64px, 9vw, 112px) clamp(18px, 5vw, 72px);
}

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

.two-column,
.proof-grid,
.brand-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
  gap: clamp(28px, 6vw, 84px);
  align-items: start;
}

.section h2 {
  margin: 0;
  font-size: clamp(2.1rem, 4.4vw, 4.6rem);
  line-height: 1;
  letter-spacing: 0;
  overflow-wrap: break-word;
}

.section-heading {
  width: min(790px, 100%);
  margin-bottom: 34px;
}

.section-heading.compact {
  margin-bottom: 24px;
}

.section-heading p,
.narrative p,
.pillar-card p,
.featured-app p,
.app-card p,
.book-card p,
.proof-list span {
  color: var(--muted);
}

.section-heading > p:last-child,
.narrative p {
  margin: 18px 0 0;
  font-size: 1.08rem;
}

.intro-section {
  background: var(--paper-strong);
}

.brand-section,
.advisory-section,
.faq-section {
  background: #f1eee6;
}

.brand-copy,
.advisory-copy {
  border-left: 4px solid var(--coral);
  padding-left: clamp(18px, 3vw, 34px);
}

.brand-copy p,
.advisory-copy > p,
.directory-note {
  color: var(--muted);
  font-size: 1.08rem;
}

.brand-copy p {
  margin: 0;
}

.brand-copy p + p,
.advisory-copy > p {
  margin-top: 18px;
}

.narrative {
  border-left: 4px solid var(--teal);
  padding-left: clamp(18px, 3vw, 34px);
}

.bands {
  background: linear-gradient(135deg, rgba(17, 122, 117, 0.1), rgba(201, 95, 63, 0.09));
}

.pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.pillar-card,
.app-card,
.book-card,
.featured-app,
.proof-list article,
.link-grid a {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.9);
}

.pillar-card {
  min-height: 340px;
  padding: 26px;
}

.pillar-card.accent {
  border-color: rgba(17, 122, 117, 0.35);
  background: #ecf8f5;
}

.pillar-card h3,
.featured-app h3,
.app-card h3,
.book-card h3 {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.12;
}

.pillar-card p,
.featured-app p,
.app-card p,
.book-card p {
  margin: 16px 0 0;
}

.pillar-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
  color: var(--teal-dark);
  font-weight: 850;
  text-decoration: none;
}

.apps-section,
.links-section,
.contact-section {
  background: var(--paper-strong);
}

.featured-app {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  padding: 28px;
  background:
    linear-gradient(135deg, rgba(184, 135, 45, 0.16), rgba(17, 122, 117, 0.13)),
    var(--paper-strong);
}

.featured-app > div {
  width: min(680px, 100%);
}

.app-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.app-card {
  min-height: 212px;
  padding: 22px;
}

.app-card img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 18px;
  box-shadow: 0 10px 28px rgba(23, 21, 18, 0.14);
}

.book-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.book-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  padding: 22px;
}

.book-card img {
  width: 150px;
  aspect-ratio: 5 / 8;
  object-fit: cover;
  border-radius: 6px;
  box-shadow: 0 16px 46px rgba(23, 21, 18, 0.18);
}

.book-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.book-links a,
.link-grid a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none;
  font-weight: 850;
}

.book-links a {
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper-strong);
}

.proof-section {
  background:
    linear-gradient(90deg, rgba(98, 59, 90, 0.12), transparent 42%),
    #f1eee6;
}

.directory-section {
  background:
    linear-gradient(135deg, rgba(17, 122, 117, 0.08), rgba(184, 135, 45, 0.09)),
    var(--paper);
}

.directory-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-bottom: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--line);
}

.directory-stats span {
  min-height: 58px;
  padding: 16px 18px;
  background: rgba(255, 253, 248, 0.9);
  font-weight: 850;
}

.directory-block {
  margin-top: clamp(34px, 6vw, 62px);
  scroll-margin-top: 92px;
}

.directory-heading-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.directory-heading-row h3 {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.4rem);
  line-height: 1.05;
}

.directory-heading-row a,
.directory-card a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--teal-dark);
  font-weight: 850;
  text-decoration: none;
}

.directory-heading-row a svg,
.directory-card a svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

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

.directory-grid-web {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.directory-card {
  min-height: 222px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.92);
}

.directory-card h3 {
  margin: 0;
  font-size: 1.16rem;
  line-height: 1.12;
}

.directory-card p:not(.card-kicker) {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.96rem;
}

.directory-card a {
  margin-top: 18px;
}

.directory-note {
  width: min(860px, 100%);
  margin: -4px 0 18px;
}

.ai-topics-section {
  background: var(--paper-strong);
}

.proof-list {
  display: grid;
  gap: 12px;
}

.proof-list article {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
}

.proof-list strong {
  font-size: 1rem;
}

.operating-section {
  background: #fbf7ef;
}

.operating-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.operating-grid article {
  min-height: 250px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.76);
}

.operating-grid span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-bottom: 28px;
  color: #fff;
  background: var(--teal-dark);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 900;
}

.operating-grid h3 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.14;
}

.operating-grid p,
.contact-card p {
  color: var(--muted);
}

.operating-grid p {
  margin: 14px 0 0;
}

.advisory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.advisory-grid article {
  min-height: 166px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.82);
}

.advisory-grid h3 {
  margin: 0;
  font-size: 1.18rem;
}

.advisory-grid p {
  margin: 12px 0 0;
  color: var(--muted);
}

.topic-grid,
.faq-grid {
  display: grid;
  gap: 14px;
}

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

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

.topic-grid article,
.faq-grid article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.88);
}

.topic-grid article {
  min-height: 230px;
  padding: 22px;
}

.faq-grid article {
  min-height: 190px;
  padding: 22px;
}

.topic-grid h3,
.faq-grid h3 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.14;
}

.topic-grid p,
.faq-grid p {
  margin: 14px 0 0;
  color: var(--muted);
}

.link-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.link-grid a {
  min-height: 84px;
  padding: 20px;
}

.contact-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 5vw, 64px);
  align-items: center;
  padding: clamp(24px, 5vw, 44px);
  border: 1px solid rgba(17, 122, 117, 0.28);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(17, 122, 117, 0.12), rgba(184, 135, 45, 0.13)),
    var(--paper-strong);
}

.contact-card h2 {
  font-size: clamp(2rem, 4vw, 3.8rem);
}

.contact-card p {
  width: min(760px, 100%);
  margin: 18px 0 0;
  font-size: 1.08rem;
}

.contact-actions {
  display: grid;
  gap: 12px;
  min-width: 210px;
}

.site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 26px clamp(18px, 5vw, 72px);
  color: var(--muted);
  border-top: 1px solid var(--line);
  background: var(--paper);
}

@media (max-width: 980px) {
  .site-header {
    position: static;
    align-items: flex-start;
    flex-direction: column;
  }

  .site-nav {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .hero {
    min-height: auto;
    padding-top: 74px;
    padding-bottom: 178px;
    background:
      linear-gradient(90deg, rgba(246, 243, 236, 0.98), rgba(246, 243, 236, 0.72)),
      linear-gradient(135deg, #f8f1e7, #edf6f1 48%, #f7e8df);
  }

  .book-one {
    right: -22px;
    top: 36px;
  }

  .book-two {
    right: 44px;
    bottom: 86px;
  }

  .icon-one {
    top: 22%;
    right: 30%;
  }

  .icon-two,
  .icon-five {
    display: none;
  }

  .hero-strip,
  .fact-strip,
  .pillars-grid,
  .app-grid,
  .book-layout,
  .link-grid,
  .operating-grid,
  .media-grid,
  .proof-matrix,
  .search-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .two-column,
  .proof-grid,
  .brand-grid,
  .copy-grid,
  .contact-card {
    grid-template-columns: 1fr;
  }

  .featured-app {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 680px) {
  .brand {
    width: 100%;
  }

  .site-nav {
    flex-wrap: wrap;
    gap: 16px;
    overflow-x: visible;
    font-size: 0.9rem;
  }

  .hero {
    padding-bottom: 330px;
  }

  .hero-copy,
  .hero-lede,
  .independence-note,
  .section-copy,
  .section-heading,
  .narrative {
    width: 100%;
    max-width: calc(100vw - 50px);
  }

  .hero .eyebrow {
    max-width: calc(100vw - 50px);
    line-height: 1.35;
    white-space: normal;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(2.9rem, 12vw, 3.45rem);
    line-height: 0.94;
    overflow-wrap: normal;
  }

  .section h2 {
    max-width: calc(100vw - 50px);
    font-size: clamp(2.05rem, 10vw, 2.65rem);
  }

  .hero-actions,
  .page-actions,
  .book-links {
    flex-direction: column;
  }

  .button,
  .book-links a {
    width: 100%;
  }

  .hero-strip,
  .fact-strip,
  .pillars-grid,
  .app-grid,
  .book-layout,
  .link-grid,
  .operating-grid,
  .media-grid,
  .proof-matrix,
  .search-list,
  .directory-stats,
  .directory-grid,
  .advisory-grid,
  .topic-grid,
  .faq-grid,
  .proof-list article {
    grid-template-columns: 1fr;
  }

  .directory-heading-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .brand-copy,
  .advisory-copy {
    padding-left: 18px;
  }

  .operating-grid article {
    min-height: 0;
  }

  .hero-strip {
    bottom: 18px;
  }

  .hero-strip span {
    min-height: 44px;
    padding: 11px 12px;
  }

  .wall-icon {
    width: 78px;
  }

  .wall-book {
    width: 128px;
  }

  .book-one {
    top: auto;
    right: 48%;
    bottom: 62px;
  }

  .book-two {
    right: 12px;
    bottom: 112px;
  }

  .icon-one {
    display: none;
  }

  .icon-three {
    right: 42%;
    top: auto;
    bottom: 174px;
  }

  .icon-four,
  .icon-six {
    display: none;
  }

  .book-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .book-card img {
    width: 112px;
  }

  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-actions {
    min-width: 0;
  }
}

/* Leadership-first portfolio, September 2026. */
:where(section, [id]) { scroll-margin-top: 96px; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--teal); outline-offset: 5px; }
.skip-link { position: fixed; top: 10px; left: 12px; z-index: 100; padding: 12px 20px; background: var(--paper-strong); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.leadership-hero { padding: 76px clamp(18px, 5vw, 72px) 64px; background: radial-gradient(ellipse at 88% 20%, #dce9e0 0%, transparent 48%), var(--paper); border-bottom: 1px solid var(--line); }
.hero-layout { display: grid; grid-template-columns: 1.35fr 1fr; gap: 64px; align-items: center; }
.leader-copy h1 { margin: 0; font-size: clamp(2.8rem, 5.3vw, 5rem); line-height: 1.03; letter-spacing: -.055em; }
.name-dot { color: var(--coral); }
.leader-statement { margin: 30px 0 22px; font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 650; line-height: 1.15; letter-spacing: -.035em; color: var(--teal-dark); }
.leader-intro { max-width: 540px; margin: 0; font-size: 1.1rem; color: #45443e; }
.career-line { margin: 32px 0 0; font-size: .72rem; letter-spacing: .14em; font-weight: 800; color: var(--muted); }
.career-line span { padding: 0 12px; color: var(--coral); }
.impact-panel { padding: 32px; background: var(--teal-dark); color: #fffdf8; border-radius: 18px; box-shadow: 0 20px 60px #0b4e4c18; }
.panel-label { margin: 0 0 10px; color: #c4ddd5; font-size: .73rem; text-transform: uppercase; font-weight: 750; letter-spacing: .06em; }
.impact-stat { display: grid; grid-template-columns: 108px 1fr; gap: 16px; padding: 25px 0; border-bottom: 1px solid #ffffff30; }
.impact-stat > strong { font-size: 2.9rem; font-weight: 650; letter-spacing: -.04em; line-height: 1.1; }
.impact-stat h2 { margin: 0 0 8px; font-size: 1rem; line-height: 1.3; }
.impact-stat p { margin: 0; color: #d2e4dd; font-size: .89rem; line-height: 1.55; }
.panel-link { display: flex; justify-content: space-between; padding-top: 24px; font-weight: 650; text-decoration: none; font-size: .9rem; }
.leadership-site .section h2 { font-size: clamp(2rem, 4.6vw, 3.7rem); letter-spacing: -.045em; }
.leadership-site .section-heading { max-width: 760px; margin-bottom: 38px; }
.leadership-site .section-heading > p:last-child { max-width: 680px; font-size: 1.1rem; }
.outcome-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.outcome-card { padding: 30px; background: var(--paper-strong); border: 1px solid var(--line); border-radius: 12px; }
.outcome-number { margin: 30px 0; font-size: 3.8rem; line-height: 1.1; letter-spacing: -.05em; font-weight: 650; color: var(--teal-dark); }
.outcome-number span { display: block; min-height: 44px; margin-top: 10px; max-width: 245px; font-size: .9rem; line-height: 1.4; letter-spacing: 0; font-weight: 550; color: var(--muted); }
.outcome-card h3 { font-size: 1.35rem; line-height: 1.25; letter-spacing: -.02em; }
.outcome-card > p:last-child { font-size: .97rem; color: var(--muted); line-height: 1.7; }
.leadership-note { display: flex; align-items: center; gap: 40px; margin-top: 30px; padding: 25px 0 0; border-top: 1px solid var(--line); font-size: .95rem; }
.leadership-note p { margin: 0; flex: 1; color: var(--muted); }
.leadership-note a, .project-card a, .web-projects a { color: var(--teal-dark); font-size: .95rem; font-weight: 750; text-underline-offset: 4px; }
.selected-projects { background: #eeeee6; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.project-card { display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--line); background: var(--paper-strong); border-radius: 14px; }
.project-top { display: flex; align-items: center; gap: 16px; }
.project-top .card-kicker { margin: 0; }
.project-top img, .project-monogram { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 12px; }
.project-monogram { display: grid; place-items: center; background: var(--teal-dark); color: white; font-weight: 700; }
.project-monogram.coral { background: #a8472b; }
.project-card h3 { margin: 25px 0 12px; font-size: 1.6rem; letter-spacing: -.03em; }
.project-card > p { margin: 0 0 18px; color: var(--muted); line-height: 1.65; }
.project-card .project-lens { margin-top: auto; font-size: .88rem; color: var(--teal-dark); }
.project-card > a { padding-top: 10px; }
.experiment-note { margin-top: 28px; padding: 28px 32px; border-left: 3px solid var(--teal); background: #e2e8df; }
.experiment-note h3 { margin: 0 0 12px; font-size: 1.4rem; }
.experiment-note p { max-width: 940px; }
.small-note { color: var(--muted); font-size: .85rem; }
.catalog-cta { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-top: 38px; padding: 28px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.catalog-cta strong { font-size: 1.2rem; }
.catalog-cta p { margin-bottom: 0; color: var(--muted); }
.catalog-cta .button { flex-shrink: 0; }
.web-projects { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 36px; }
.web-projects h3 { font-size: 1.5rem; margin: 0; }
.web-projects p:not(.card-kicker) { color: var(--muted); }
.independent-caption { margin: 32px 0 0; }
.leadership-site .contact-card h2 { font-size: clamp(2rem, 3.8vw, 3.4rem); }
.text-link { text-align: center; color: var(--teal-dark); font-weight: 700; text-underline-offset: 4px; }
.compact-faq { padding-top: 24px; }
.leadership-site .compact-faq h2 { font-size: 1.8rem; }
.compact-faq details { padding: 20px 0; border-bottom: 1px solid var(--line); }
.compact-faq summary { cursor: pointer; font-weight: 650; }
.compact-faq details p { color: var(--muted); max-width: 850px; }
.profile-links { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 35px; font-size: .9rem; color: var(--teal-dark); }
.profile-hero h1 { font-size: clamp(2.7rem, 5.8vw, 5.1rem); letter-spacing: -.045em; }
.career-timeline > article { display: grid; grid-template-columns: 260px 1fr; gap: 50px; padding: 32px 0; border-top: 1px solid var(--line); }
.career-timeline h3 { margin: 0; font-size: 1.6rem; }
.career-timeline h4 { margin-top: 0; font-size: 1.2rem; }
.career-timeline p, .career-timeline li { color: var(--muted); }
.career-timeline li { padding-bottom: 12px; }
.profile-builder { background: #e8eee6; }
@media (max-width: 1100px) {
  .hero-layout { gap: 30px; }
  .impact-panel { padding: 24px; }
  .impact-stat { grid-template-columns: 88px 1fr; gap: 12px; }
  .impact-stat > strong { font-size: 2.5rem; }
  .outcome-card { padding: 24px; }
}
@media (max-width: 800px) {
  .hero-layout { grid-template-columns: 1fr; gap: 40px; }
  .leadership-hero { padding-top: 44px; padding-bottom: 44px; }
  .leader-copy h1 { font-size: clamp(2.65rem, 8.8vw, 4.8rem); }
  .leader-statement br { display: block; }
  .leader-statement { max-width: 490px; }
  .outcome-grid { grid-template-columns: 1fr; }
  .outcome-number span { min-height: 0; max-width: none; }
  .outcome-number { margin: 20px 0; }
  .leadership-note, .catalog-cta { flex-direction: column; align-items: flex-start; gap: 20px; }
  .career-timeline > article { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 600px) {
  .leadership-site .site-header { gap: 14px; }
  .site-nav { gap: 8px 18px; }
  .site-nav a { padding: 6px 0; }
  .project-grid, .web-projects { grid-template-columns: 1fr; }
  .project-card { padding: 24px; }
  .impact-stat { grid-template-columns: 86px 1fr; }
  .panel-label { line-height: 1.5; }
  .leader-statement { font-size: 1.8rem; }
  .leader-intro { font-size: 1.03rem; }
  .experiment-note { padding: 24px; }
  .profile-hero h1 { font-size: clamp(2.15rem, 8vw, 3rem); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
