/* Shared editorial axes below the locked hero. */
.focus, .process, .why, .contact { --editorial-gap: clamp(1.5rem, 3vw, 3rem); --accent: #1e336a; }
.focus, .process { padding-block: clamp(3rem, 4.4vw, 4.5rem); }
.focus > .eyebrow { margin-bottom: 1.75rem; }
.focus-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--editorial-gap); align-items: start; }
.focus-intro { display: block; }
.focus-intro h2, .process-heading h2 { max-width: none; font-size: clamp(2rem, 3.35vw, 3.8rem); }
.focus-intro p { max-width: 36rem; margin-top: 1.25rem; padding-right: 0; }
.characteristics li { font-size: clamp(2rem, 3.35vw, 3.8rem); padding-block: .65rem; line-height: 1.12; }
@media (hover: hover) {
  .characteristics li:hover { color: var(--accent); border-bottom-color: var(--accent); background: #1e336a06; }
  .steps li:hover h3, .steps li:hover .step-number { color: var(--accent); }
  .steps li:hover { border-top-color: var(--accent); }
  .responsibilities li:hover { color: var(--accent); }
}
.process-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--editorial-gap); align-items: start; margin-top: 1.75rem; }
.process-heading { display: block; position: sticky; top: 2rem; margin: 0; }
.process-heading p { margin-top: 1.25rem; max-width: 34rem; }
.responsibilities { list-style: none; padding: 0; margin: 0 0 2.25rem; }
.responsibilities li { border-top: 1px solid var(--rule); padding: .75rem 0; font-size: clamp(1.15rem, 1.8vw, 1.9rem); letter-spacing: -.025em; }
.responsibilities li:last-child { border-bottom: 1px solid var(--rule); }
.steps { display: block; }
.steps li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .75rem 1rem; border-top: 1px solid var(--rule); border-bottom: 0; padding-block: 1.4rem 1.8rem; align-items: baseline; }
.steps li:nth-last-child(-n+2) { border-bottom: 0; }
.steps li:last-child { border-bottom: 1px solid var(--rule); }
.step-number { font-size: 1rem; line-height: 1.5; }
.steps h3 { font-size: clamp(1.8rem, 2.65vw, 3rem); letter-spacing: -.045em; }
.steps p { grid-column: 2; font-size: 1rem; line-height: 1.55; text-align: left; max-width: 28rem; }
.why { padding-top: clamp(3rem, 4.4vw, 4.5rem); }
.why-heading { margin-top: 1.75rem; }
.why-heading h2 { max-width: 21em; font-size: clamp(2.25rem, 4.15vw, 4.6rem); line-height: 1.08; }
.why-body { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: var(--editorial-gap); margin-top: 2.25rem; align-items: start; }
.why-copy { order: 1; width: auto; max-width: none; margin: 0; }
.why-copy p { margin: 0 0 1.1rem; font-size: 1rem; line-height: 1.55; text-align: left; }
.why-copy p + p { margin-top: 1.1rem; }
.founders { order: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--editorial-gap); max-width: none; }
.founder { display: block; }
.portrait { width: 100%; max-width: none; aspect-ratio: 4 / 5; height: auto; max-height: 520px; }
.portrait img { object-fit: cover; object-position: center top; }
.founder figcaption { padding-top: 1rem; }
.founder h3 { font-size: clamp(1.15rem, 1.5vw, 1.65rem); }
.founder-name { text-decoration: underline; text-decoration-color: #71797c; text-underline-offset: .25em; }
.founder-name:hover, .founder-name:focus-visible { text-decoration-color: currentColor; }
.role { font-size: .95rem; margin-top: .35rem; }
.responsibility { font-size: .95rem; margin-top: .65rem; }
.contact { margin-top: 3rem; padding-top: 1.5rem; padding-bottom: 3rem; }
.contact h2 { margin-top: 1.75rem; max-width: none; font-size: clamp(2rem, 3.35vw, 3.8rem); line-height: 1.1; letter-spacing: -.05em; }
.contact-details { grid-template-columns: 3fr 1fr; gap: var(--editorial-gap); margin-top: 1.25rem; }
.contact-details p { max-width: 38rem; }
.contact-link { font-size: 1rem; white-space: nowrap; }
@media (max-width: 1000px) {
  .why-body { grid-template-columns: 1fr; }
  .why-copy { order: 0; max-width: 44rem; }
  .founders { order: 1; }
  .portrait { max-height: 460px; }
}
@media (max-width: 700px) {
  .focus-content, .process-layout { display: block; }
  .focus-intro h2, .process-heading h2 { font-size: 2rem; }
  .characteristics { margin-top: 1.75rem; }
  .characteristics li { font-size: 2rem; }
  .process-heading { position: static; }
  .process-content { margin-top: 2rem; }
  .steps h3 { font-size: 1.8rem; }
  .why-heading h2 { font-size: clamp(1.65rem, 6vw, 2.5rem); }
  .founders { grid-template-columns: 1fr; gap: 2rem; }
  .portrait { max-height: none; }
  .contact-link { margin-top: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) { .process-heading { position: static; } }

/* Refinement: statements, uninterrupted copy and uncropped photography. */
:root { --section-title-size: clamp(1.8rem, 3vw, 3.25rem); }
.hero-intro .text-link { align-self: flex-end; text-align: right; }
.hero-image img { height: auto; aspect-ratio: auto; object-fit: contain; }
.focus-content { display: block; }
.focus-intro h2, .process-heading h2, .why-heading h2, .contact h2 {
  font-size: var(--section-title-size); line-height: 1.12; letter-spacing: -.045em; max-width: none; text-wrap: balance;
}
.accent { color: #1e336a; }
.closing .accent { color: #a7bde5; }
.focus-intro p { width: 65%; max-width: 48rem; margin: 1.5rem 0 0 auto; }
.hero-intro p, .focus-intro p, .process-heading p, .steps p, .why-copy p, .contact-details p {
  text-align: justify; text-align-last: left; hyphens: none; text-wrap: pretty;
}
.process-heading p { max-width: none; }
.step-number { color: #1e336a; font-weight: 600; }
.steps h3 { color: #1e336a; }
.steps li { border-top-color: #1e336a50; }
.why-body { display: flex; flex-direction: column; gap: 2rem; }
.why-copy { order: 0; width: 65%; max-width: 48rem; margin-left: auto; }
.why-copy p { margin: 0; }
.founders { order: 1; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-items: start; }
.founder { width: min(100%, 347px); }
.portrait { width: 100%; height: auto; max-height: none; aspect-ratio: 2 / 3; background: transparent; }
.portrait img { height: auto; width: 100%; object-fit: contain; filter: saturate(.72) contrast(.98); }
.founder-name { text-decoration-color: #969A98; }
.contact-link { border-bottom-color: #a7bde5; color: #c0d1ed; }
@media (max-width: 1150px) { .hero-intro .text-link { justify-self: end; } }
@media (max-width: 700px) {
  .focus-intro p, .why-copy { width: 100%; max-width: none; }
  .founders { grid-template-columns: 1fr; }
  .founder { width: 100%; max-width: 347px; }
  .process-heading h2 { text-wrap: initial; }
}
@media (min-width: 701px) { .founder:last-child { justify-self: end; } }

/* Locked copy: distinct editorial groups with room between them. */
.focus, .process { padding-block: clamp(4.5rem, 8vw, 8rem); }
.focus > .eyebrow, .process > .eyebrow { margin-bottom: 2.5rem; }
.focus-content { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(3rem, 9vw, 10rem); }
.focus-intro p { width: 100%; max-width: none; margin: 2rem 0 0; }
.workflow-scan { padding-top: .4rem; }
.workflow-scan h3 { font-size: 1rem; font-weight: 500; margin: 0 0 1.5rem; }
.workflow-scan ul { list-style: none; padding: 0; margin: 0; }
.workflow-scan li { padding: .85rem 0; border-top: 1px solid #1e336a35; color: #1e336a; font-size: clamp(1.05rem, 1.55vw, 1.6rem); line-height: 1.3; letter-spacing: -.025em; }
.process-layout { gap: clamp(3rem, 9vw, 10rem); margin-top: 0; }
.process-heading { top: 3rem; }
.process-heading p { margin-top: 2rem; opacity: var(--intro-opacity, 1); }
.steps li { padding: 1.7rem 0 2.8rem; }
.commercial-line { font-size: 1rem; line-height: 1.55; margin-top: 2.5rem; text-align: justify; }
.why { padding-top: clamp(4.5rem, 8vw, 8rem); }
.why-body { gap: clamp(3.5rem, 6vw, 6rem); margin-top: 2.5rem; }
.why-copy { width: 65%; }
.founders { width: min(100%, 740px); gap: 2rem; }
.founder, .founder:last-child { width: 100%; justify-self: start; }
.contact { margin-top: clamp(4rem, 7vw, 7rem); }
[data-reveal] { opacity: 1; transform: none; }
.motion-ready [data-reveal]:not(.is-visible) { opacity: 0; transform: translateY(24px); }
.motion-ready [data-reveal] { transition: opacity .65s ease, transform .65s cubic-bezier(.2,.65,.3,1); }
@media (max-width: 900px) {
  .focus-content, .process-layout { grid-template-columns: 1fr; gap: 3rem; }
  .process-heading { position: static; }
  .process-heading p { opacity: 1; }
  .why-copy { width: 100%; }
}
@media (max-width: 700px) {
  .focus-content { display: grid; }
  .founders { grid-template-columns: 1fr; gap: 3rem; max-width: 347px; }
  .workflow-scan li { font-size: 1.2rem; }
}
@media (prefers-reduced-motion: reduce), print {
  .motion-ready [data-reveal]:not(.is-visible) { opacity: 1; transform: none; }
  .motion-ready [data-reveal] { transition: none; }
  .process-heading { position: static; }
  .process-heading p { opacity: 1; }
}

/* Static, staggered editorial composition. */
.hero-intro p { text-wrap: balance; text-align-last: justify; }
.focus-content, .process-layout { grid-template-columns: 1fr 1fr; row-gap: clamp(3rem, 5vw, 5rem); }
.focus-intro, .process-heading { grid-column: 1; grid-row: 1; }
.workflow-scan, .process-content { grid-column: 2; grid-row: 2; }
.process-heading { position: static; }
.process-heading p { opacity: 1; }
.process-content { margin-top: 0; }
@media (max-width: 900px) {
  .focus-content, .process-layout { display: grid; grid-template-columns: 1fr; }
  .focus-intro, .process-heading, .workflow-scan, .process-content { grid-column: 1; grid-row: auto; }
}
/* Match portrait scale while retaining the standing and seated poses. */
.founder:last-child .portrait { overflow: hidden; }
.founder:last-child .portrait img { transform: scale(1.14); transform-origin: 50% 27%; }
.why-body { margin-top: clamp(4rem, 8vw, 8rem); gap: clamp(5rem, 10vw, 10rem); }
.contact-details p { width: 100%; max-width: 25rem; text-wrap: balance; }

/* Natural word spacing, with composition defined by the grid. */
.hero-intro p, .focus-intro p, .focus-copy p, .process-heading p,
.steps p, .why-copy p, .contact-details p {
  text-align: left; text-align-last: auto; text-wrap: pretty;
  word-spacing: normal; hyphens: none;
}
.focus-content, .process-layout {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(1rem, 2vw, 2rem); row-gap: clamp(4rem, 8vw, 8rem);
}
.focus-intro { grid-column: 1 / 10; grid-row: 1; }
.workflow-scan { grid-column: 5 / 11; grid-row: 2; width: min(100%, 25rem); padding: 0; }
.focus-copy { grid-column: 3 / 10; grid-row: 3; max-width: 42rem; }
.focus-copy p { font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.6; margin: 0; }
.workflow-scan li { font-size: clamp(1.05rem, 1.4vw, 1.4rem); }
.process-heading { display: contents; }
.process-heading h2 { grid-column: 1 / 11; grid-row: 1; }
.process-heading p { grid-column: 5 / 12; grid-row: 2; margin: 0; max-width: 42rem; }
.process-content { grid-column: 3 / 12; grid-row: 3; width: 100%; max-width: 48rem; }
.steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 3rem; grid-auto-rows: 1fr; }
.steps li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); grid-template-rows: auto 1fr; align-content: start; gap: 1rem .5rem; padding: 1.25rem 0 1.75rem; min-height: 12rem; border-bottom: 0; }
.steps li:last-child { border-bottom: 0; }
.steps h3 { font-size: clamp(1.5rem, 2vw, 2.25rem); }
.steps p { max-width: 25ch; margin: 0; }
.contact-details p { max-width: 38rem; width: 100%; text-wrap: pretty; }
@media (max-width: 700px) {
  .focus-content, .process-layout { grid-template-columns: 1fr; row-gap: 3.5rem; }
  .focus-intro, .workflow-scan, .focus-copy, .process-heading h2, .process-heading p, .process-content { grid-column: 1; grid-row: auto; }
  .workflow-scan { justify-self: end; width: 90%; }
  .steps { grid-template-columns: 1fr; gap: 1.5rem; }
  .steps li { min-height: 11rem; }
}
.process-content { max-width: 40rem; }
.steps p { max-width: none; }
/* Four steps in one consistent vertical rhythm. */
.process-content { grid-column: 5 / 11; max-width: 25rem; }
.steps { grid-template-columns: 1fr; grid-auto-rows: 1fr; gap: 1.5rem; }
.steps li { min-height: 11rem; }
@media (max-width: 700px) {
  .process-content { grid-column: 1; width: 100%; }
}
/* Background-specific blues with clear text contrast. */
.focus, .process, .why, .contact { --accent: #2458ad; }
.accent, .workflow-scan li, .step-number, .steps h3 { color: #2458ad; }
.workflow-scan li, .steps li { border-top-color: #2458ad80; }
.closing .accent { color: #a7bde5; }
@media (hover: hover) {
  .steps li:hover h3, .steps li:hover .step-number { color: #17458e; }
}

/* Three consistent type levels across all editorial sections. */
:root { --body-size: 1.125rem; --label-size: .875rem; }
.focus .eyebrow, .process .eyebrow, .why .eyebrow, .contact .eyebrow,
.step-number, .role { font-size: var(--label-size); }
.focus-copy p, .focus-intro p, .process-heading p, .why-copy p,
.contact-details p, .workflow-scan h3, .workflow-scan li,
.steps h3, .steps p, .founder h3, .responsibility, .contact-link {
  font-size: var(--body-size); line-height: 1.5; letter-spacing: -.015em;
}
.workflow-scan h3, .steps h3, .founder h3 { font-weight: 500; }
.workflow-scan li, .step-number, .steps h3 { color: var(--ink, #191c1d); }
.workflow-scan li, .steps li { border-top-color: #191c1d35; }
.steps { gap: 0; }
.steps li { min-height: 0; padding: 1.1rem 0 1.5rem; gap: .6rem .5rem; }
.steps li:hover h3, .steps li:hover .step-number { color: #191c1d; }
.steps li:hover { border-top-color: #191c1d70; }
.menu-toggle { display: none; }
@media (max-width: 700px) {
  .masthead { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
  .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; border: 0; background: transparent; color: inherit; padding: 10px; cursor: pointer; }
  .menu-toggle span { display: block; height: 1.5px; width: 24px; background: currentColor; }
  .menu-toggle:focus-visible { outline: 2px solid #2458ad; outline-offset: 3px; }
  .masthead nav { display: none; width: 100%; flex-basis: 100%; padding: 1.5rem 0 .5rem; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
  .masthead .career-link { display: none; }
  .masthead.menu-open nav { display: flex; }
  .masthead.menu-open .career-link { display: block; width: 100%; padding: 1rem 0; }
  .menu-open .menu-toggle span:first-child { transform: translateY(3.75px) rotate(45deg); }
  .menu-open .menu-toggle span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
}
/* Desktop working rhythm: 01–04 read from left to right. */
.process-content { grid-column: 1 / -1; max-width: none; }
.steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 3rem); align-items: stretch; }
.steps li { height: 100%; }
@media (max-width: 700px) {
  .steps { grid-template-columns: 1fr; gap: 0; }
  .process-content { grid-column: 1; }
}

/* Equal editorial weight for the four steps. */
.steps h3 { font-weight: 700; }
.steps p { text-wrap: pretty; }
.focus { border-top: 1px solid var(--rule, #c9cecc); margin-top: clamp(3rem, 5vw, 5rem); }
.contact { padding-bottom: clamp(5rem, 8vw, 8rem); }
@media (max-width: 700px) { .steps { grid-template-columns: 1fr; } }
