.about-page {
  --about-ink: #1c1814;
  --about-muted: #6e655f;
  --about-teal: #004e5f;
  --about-coral: #e8622a;
  --about-line: rgba(0, 78, 95, .14);
  --about-space-1: 4px;
  --about-space-2: 8px;
  --about-space-3: 16px;
  --about-space-4: 24px;
  --about-space-5: 32px;
  --about-space-6: 48px;
  --about-space-7: 64px;
  --about-type-label: .75rem;
  --about-type-small: .875rem;
  --about-type-body: 1rem;
  --about-type-lead: 1.125rem;
  --about-type-h3: 1.25rem;
  --about-type-h2: clamp(2rem, 3.4vw, 3.25rem);
  --about-type-h1: clamp(2.75rem, 5.2vw, 5rem);
  background: var(--sand-cream);
  color: var(--about-ink);
  overflow-x: clip;
}

.about-page .topbar {
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--about-line);
}

.about-page .nav-link.active {
  color: var(--about-teal);
  font-weight: 800;
}

.about-container {
  margin: 0 auto;
  max-width: 1180px;
  width: min(1180px, calc(100% - 40px));
}

.about-icon {
  color: var(--about-coral);
  display: inline-block;
  flex: 0 0 auto;
  height: 18px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
  vertical-align: middle;
  width: 18px;
}

.about-icon--inline { height: 15px; margin-left: 4px; width: 15px; }

.about-breadcrumb {
  align-items: center;
  color: var(--about-muted);
  display: flex;
  font-size: var(--about-type-small);
  gap: 9px;
  padding: var(--about-space-4) 0 var(--about-space-2);
}

.about-breadcrumb a,
.about-text-link,
.about-business-panel a,
.about-final-cta a {
  color: var(--about-teal);
}

.about-breadcrumb a:hover,
.about-text-link:hover,
.about-business-panel a:hover,
.about-final-cta a:hover {
  color: var(--about-coral);
}

.about-hero {
  align-items: center;
  display: grid;
  gap: clamp(var(--about-space-4), 4vw, var(--about-space-6));
  grid-template-columns: minmax(0, 1.03fr) minmax(360px, .87fr);
  min-height: 560px;
  padding: var(--about-space-4) 0 var(--about-space-6);
}

.about-eyebrow,
.about-label {
  color: var(--about-teal);
  font-size: var(--about-type-label);
  font-weight: 800;
  letter-spacing: .17em;
  margin: 0 0 var(--about-space-3);
  text-transform: uppercase;
}

.about-hero h1,
.about-editorial h2,
.about-rohan h2,
.about-section-heading h2,
.about-business-panel h2,
.about-final-cta h2 {
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.02;
  margin-top: 0;
}

.about-hero h1 {
  font-size: var(--about-type-h1);
  max-width: 720px;
}

.about-hero__lead {
  color: var(--about-muted);
  font-size: var(--about-type-lead);
  line-height: 1.6;
  margin: var(--about-space-4) 0 var(--about-space-5);
  max-width: 610px;
}

.about-hero__actions,
.about-final-cta__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--about-space-3);
}

.about-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 5px;
  display: inline-flex;
  font-size: var(--about-type-small);
  font-weight: 800;
  justify-content: center;
  min-height: 46px;
  padding: 10px 17px;
  text-align: center;
  text-decoration: none;
  transition: background-color var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
}

.about-button:hover { transform: translateY(-2px); }
.about-button--primary { background: var(--about-teal); color: #fff; box-shadow: 0 8px 18px rgba(0, 78, 95, .16); }
.about-button--primary:hover { background: #003b48; color: #fff; }
.about-button--secondary {
  background: transparent;
  border-color: var(--about-line);
  color: var(--about-teal);
  font-size: var(--about-type-label);
  font-weight: 700;
  min-height: 42px;
  padding: 8px 13px;
}
.about-button--secondary:hover { background: rgba(0, 78, 95, .05); color: var(--about-teal); }
.about-text-link { font-size: .9rem; font-weight: 800; text-decoration: none; }
.about-text-link span { display: inline-block; margin-left: 5px; transition: transform var(--t-fast); }
.about-text-link:hover span { transform: translate(2px, -2px); }

.about-hero__visual { min-height: 520px; position: relative; }
.about-hero__coast {
  border: 1px solid rgba(28, 24, 20, .12);
  border-radius: 10px;
  box-shadow: 0 12px 26px rgba(28, 24, 20, .1);
  box-sizing: border-box;
  height: 220px;
  max-width: 100%;
  object-fit: cover;
  opacity: .78;
  position: absolute;
  right: -3vw;
  top: 0;
  width: min(490px, 100%);
}

.about-portrait-frame {
  background: #fff;
  border: 1px solid rgba(28, 24, 20, .16);
  box-shadow: 0 18px 42px rgba(28, 24, 20, .16);
  border-radius: 10px;
  margin: 58px 0 0 9%;
  max-width: 390px;
  padding: 9px 9px 0;
  position: relative;
  width: 76%;
  z-index: 1;
}

.about-portrait-frame img {
  aspect-ratio: 4 / 5;
  display: block;
  object-fit: cover;
  object-position: center top;
  position: relative;
  z-index: 2;
  width: 100%;
}

.about-portrait-frame__caption {
  display: grid;
  gap: 2px;
  padding: 14px 8px 16px;
}

.about-portrait-frame__caption strong { color: var(--about-ink); font-size: .92rem; }
.about-portrait-frame__caption span { color: var(--about-muted); font-size: .76rem; }

.about-trust-strip {
  border-bottom: 1px solid var(--about-line);
  border-top: 1px solid var(--about-line);
  margin-bottom: var(--about-space-7);
}

.about-trust-strip ul {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  padding: 0;
}

.about-trust-strip li {
  align-items: center;
  border-right: 1px solid var(--about-line);
  display: flex;
  font-size: var(--about-type-small);
  gap: 11px;
  min-height: 64px;
  padding: var(--about-space-3) 20px;
}

.about-trust-strip li:first-child { padding-left: 0; }
.about-trust-strip li:last-child { border-right: 0; }

.about-editorial {
  align-items: center;
  display: grid;
  gap: clamp(var(--about-space-5), 5vw, var(--about-space-7));
  grid-template-columns: minmax(0, 1.06fr) minmax(300px, .94fr);
  margin-bottom: var(--about-space-7);
}

.about-editorial__image-wrap { position: relative; }
.about-editorial__image-wrap img {
  border: 1px solid rgba(28, 24, 20, .12);
  border-radius: 10px;
  box-shadow: 0 12px 26px rgba(28, 24, 20, .1);
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}
.about-image-note {
  background: #fff;
  border-left: 3px solid var(--about-coral);
  bottom: -22px;
  box-shadow: 0 8px 22px rgba(28, 24, 20, .1);
  color: var(--about-muted);
  font-size: var(--about-type-label);
  left: 24px;
  margin: 0;
  padding: 12px 16px;
  position: absolute;
}

.about-editorial h2,
.about-rohan h2,
.about-section-heading h2,
.about-business-panel h2 { font-size: var(--about-type-h2); margin-bottom: var(--about-space-4); }
.about-editorial__copy p:not(.about-eyebrow),
.about-rohan__copy p:not(.about-eyebrow),
.about-business-panel > div > p:last-child { color: var(--about-muted); font-size: var(--about-type-body); line-height: 1.65; margin: 0 0 var(--about-space-3); }

.about-rohan {
  align-items: center;
  background: #fff;
  border-bottom: 1px solid var(--about-line);
  border-top: 1px solid var(--about-line);
  display: grid;
  gap: var(--about-space-6);
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  margin-bottom: var(--about-space-7);
  padding: var(--about-space-6) clamp(24px, 6vw, 72px);
}

.about-rohan__responsibilities { border-left: 1px solid var(--about-line); padding-left: clamp(26px, 5vw, 68px); }
.about-rohan__responsibilities ul { display: grid; gap: 0; list-style: none; padding: 0; }
.about-rohan__responsibilities li { align-items: center; border-bottom: 1px solid var(--about-line); display: flex; font-size: var(--about-type-small); gap: var(--about-space-3); line-height: 1.45; padding: 13px 0; }
.about-rohan__responsibilities li:first-child { border-top: 1px solid var(--about-line); }
.about-step-marker {
  align-items: center;
  background: rgba(232, 98, 42, .1);
  border: 1px solid rgba(232, 98, 42, .38);
  border-radius: 50%;
  color: var(--about-coral);
  display: inline-flex;
  flex: 0 0 28px;
  font-size: var(--about-type-label);
  font-weight: 800;
  height: 28px;
  justify-content: center;
  letter-spacing: .02em;
  line-height: 1;
  width: 28px;
}
.about-step-copy { min-width: 0; }

.about-principles { margin-bottom: var(--about-space-7); }
.about-section-heading { max-width: 650px; }
.about-principles__grid { border-top: 1px solid var(--about-line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--about-space-5); }
.about-principles article { border-bottom: 1px solid var(--about-line); min-height: 160px; padding: var(--about-space-4) 32px var(--about-space-4) 0; }
.about-principles article:nth-child(odd) { border-right: 1px solid var(--about-line); padding-right: 32px; }
.about-principles article:nth-child(even) { padding-left: 32px; }
.about-principles h3 { font-family: var(--font-heading); font-size: var(--about-type-h3); font-weight: 600; margin: var(--about-space-3) 0 var(--about-space-2); }
.about-principles p { color: var(--about-muted); font-size: var(--about-type-small); line-height: 1.6; margin: 0; max-width: 430px; }

.about-business-panel { background: #fff; border: 1px solid var(--about-line); display: grid; gap: var(--about-space-6); grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); margin-bottom: var(--about-space-7); padding: clamp(24px, 4vw, 48px); }
.about-business-panel dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.about-business-panel dl > div { border-bottom: 1px solid var(--about-line); padding: 12px 16px 12px 0; }
.about-business-panel dl > div:nth-child(even) { padding-left: 16px; }
.about-business-panel dt { color: var(--about-muted); font-size: var(--about-type-label); letter-spacing: .08em; text-transform: uppercase; }
.about-business-panel dd { font-size: var(--about-type-small); line-height: 1.45; margin: var(--about-space-1) 0 0; overflow-wrap: anywhere; }
.about-business-panel a { font-weight: 700; text-decoration: none; }

.about-process { margin-bottom: var(--about-space-7); }
.about-process ol { border-top: 1px solid var(--about-line); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: var(--about-space-5) 0 0; padding: 0; }
.about-process li { border-right: 1px solid var(--about-line); padding: var(--about-space-4) 20px 0 0; }
.about-process li + li { padding-left: 20px; }
.about-process li:last-child { border-right: 0; }
.about-process h3 { font-family: var(--font-heading); font-size: var(--about-type-h3); font-weight: 600; line-height: 1.15; margin: var(--about-space-3) 0 var(--about-space-2); }
.about-process p { color: var(--about-muted); font-size: var(--about-type-small); line-height: 1.6; margin: 0; }

.about-final-cta { background: var(--about-teal); color: #fff; padding: var(--about-space-7) 0; }
.about-final-cta__inner { align-items: end; display: grid; gap: var(--about-space-6); grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); }
.about-final-cta .about-eyebrow { color: #a7e0e4; }
.about-final-cta h2 { font-size: var(--about-type-h2); margin-bottom: var(--about-space-3); max-width: 680px; }
.about-final-cta p:not(.about-eyebrow) { color: rgba(255, 255, 255, .72); font-size: var(--about-type-body); line-height: 1.6; margin: 0; max-width: 600px; }
.about-final-cta__actions { justify-content: flex-end; }
.about-button--light { background: #fff; color: var(--about-teal); }
.about-button--light:hover { background: #e8f5f4; color: var(--about-teal); }
.about-button--outline { border-color: rgba(255,255,255,.52); color: #fff; }
.about-button--outline:hover { background: rgba(255,255,255,.1); color: #fff; }
.about-final-cta__actions > p { flex-basis: 100%; font-size: var(--about-type-label); text-align: right; }
.about-final-cta__actions > p a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.about-page :is(a, button):focus-visible { outline: 3px solid var(--about-coral); outline-offset: 4px; }

@media (max-width: 980px) {
  .about-hero { gap: var(--about-space-5); grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr); }
  .about-hero h1 { font-size: clamp(2.75rem, 6vw, 4.4rem); }
  .about-hero__visual { min-height: 480px; }
  .about-trust-strip li { font-size: var(--about-type-label); padding-left: 12px; padding-right: 12px; }
  .about-trust-strip li:first-child { padding-left: 0; }
  .about-business-panel { gap: 34px; }
}

@media (max-width: 767px) {
  .about-container { width: min(100% - 32px, 620px); }
  .about-breadcrumb { padding-top: 20px; }
  .about-hero { display: flex; flex-direction: column; min-height: 0; padding: var(--about-space-3) 0 var(--about-space-6); }
  .about-hero h1 { font-size: clamp(2.35rem, 11vw, 3.45rem); }
  .about-hero__lead { font-size: var(--about-type-body); margin-top: var(--about-space-3); }
  .about-hero__actions { align-items: flex-start; flex-direction: column; gap: var(--about-space-2); }
  .about-button--primary { width: 100%; }
  .about-button--secondary { width: auto; }
  .about-hero__visual { min-height: 410px; width: 100%; }
  .about-hero__coast { height: 145px; right: -8px; width: calc(100% + 8px); }
  .about-portrait-frame { margin: 38px 0 0 8%; max-width: none; width: 82%; }
  .about-trust-strip { margin-bottom: var(--about-space-7); }
  .about-trust-strip ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-trust-strip li,
  .about-trust-strip li:first-child { border-bottom: 1px solid var(--about-line); border-right: 0; min-height: 56px; padding: 10px 8px 10px 0; }
  .about-trust-strip li:nth-child(odd) { border-right: 1px solid var(--about-line); padding-right: 10px; }
  .about-trust-strip li:nth-child(even) { padding-left: 10px; }
  .about-trust-strip li:nth-child(n + 3) { border-bottom: 0; }
  .about-editorial { display: flex; flex-direction: column; gap: var(--about-space-6); margin-bottom: var(--about-space-7); }
  .about-editorial__copy { width: 100%; }
  .about-editorial h2,
  .about-rohan h2,
  .about-section-heading h2,
  .about-business-panel h2 { font-size: clamp(1.95rem, 8vw, 2.65rem); }
  .about-rohan { display: flex; flex-direction: column; gap: var(--about-space-6); margin-bottom: var(--about-space-7); padding: var(--about-space-6) 24px; }
  .about-rohan__responsibilities { border-left: 0; border-top: 1px solid var(--about-line); padding-left: 0; padding-top: 22px; width: 100%; }
  .about-principles { margin-bottom: var(--about-space-7); }
  .about-principles__grid { display: block; margin-top: var(--about-space-4); }
  .about-principles article,
  .about-principles article:nth-child(odd),
  .about-principles article:nth-child(even) { border-right: 0; padding: var(--about-space-4) 0; }
  .about-business-panel { display: block; margin-bottom: var(--about-space-7); padding: var(--about-space-5) 22px; }
  .about-business-panel dl { margin-top: var(--about-space-5); }
  .about-business-panel dl > div:nth-child(even) { padding-left: 10px; }
  .about-business-panel dl > div { padding-right: 10px; }
  .about-process { margin-bottom: var(--about-space-7); }
  .about-process ol { display: block; margin-top: var(--about-space-4); }
  .about-process li,
  .about-process li + li { border-bottom: 1px solid var(--about-line); border-right: 0; display: grid; gap: var(--about-space-3); grid-template-columns: 28px 1fr; padding: var(--about-space-3) 0; }
  .about-process li:last-child { border-bottom: 0; }
  .about-process h3 { margin-top: 0; }
  .about-final-cta { padding: var(--about-space-7) 0; }
  .about-final-cta__inner { display: block; }
  .about-final-cta h2 { font-size: clamp(1.95rem, 8vw, 2.65rem); }
  .about-final-cta__actions { align-items: stretch; flex-direction: column; gap: var(--about-space-2); margin-top: var(--about-space-5); }
  .about-final-cta__actions > p { text-align: left; }
  .about-button--outline { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .about-button,
  .about-text-link span { transition: none; }
}
