:root {
      /* Existing PPMG palette, unchanged. */
      --pearl: #fafaf8;
      --ivory: #f2ede4;
      --parchment: #e0d8c8;
      --ink: #2a2418;
      --ink-muted: #7a7060;
      --ink-soft: #9a9080;
      --gold: #c9a84c;
      --gold-light: #e8c97a;
      --gold-pale: #f5edd4;
      --gold-warm: #8b6914;
      --espresso: #1e1a10;
      --line: rgba(42, 36, 24, .13);
      --line-light: rgba(250, 250, 248, .16);
      --serif: "Newsreader", Georgia, serif;
      --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
      --hand: "Caveat", cursive;
      --pad: clamp(1.25rem, 5.25vw, 5.75rem);
      --max: 1320px;
    }

    * { box-sizing: border-box; }

    html {
      scroll-behavior: smooth;
      background: var(--pearl);
    }

    body {
      margin: 0;
      color: var(--ink);
      background: var(--pearl);
      font-family: var(--sans);
      font-size: 16px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
    }

    body.intro-lock,
    body.menu-lock { overflow: hidden; }

    a { color: inherit; }
    img { display: block; max-width: 100%; }
    button { font: inherit; }

    ::selection {
      color: var(--espresso);
      background: var(--gold-light);
    }

    .skip-link {
      position: fixed;
      z-index: 3000;
      top: 1rem;
      left: 1rem;
      padding: .75rem 1rem;
      color: var(--pearl);
      background: var(--espresso);
      transform: translateY(-180%);
    }

    .skip-link:focus { transform: none; }

    /* Original logo-first loading experience, preserved. */
    .intro {
      position: fixed;
      z-index: 2000;
      inset: 0;
      display: grid;
      place-items: center;
      overflow: hidden;
      background: var(--pearl);
      opacity: 1;
      visibility: visible;
      transition: opacity .65s cubic-bezier(.76, 0, .24, 1), visibility .65s;
    }

    .intro.is-done {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }

    .intro__logo {
      width: min(68vw, 480px);
      mix-blend-mode: multiply;
      animation: logoIn .8s cubic-bezier(.16, 1, .3, 1) both;
    }

    .intro.intro--compact {
      transition-duration: .4s;
    }

    .intro--compact .intro__logo {
      width: min(34vw, 190px);
      animation: compactLogoIn .45s cubic-bezier(.16, 1, .3, 1) both;
    }

    .intro--compact.is-entering .intro__logo {
      animation-name: compactLogoEnter;
    }

    .intro--compact .intro__meta {
      opacity: 1;
      visibility: visible;
    }

    .intro__meta {
      position: absolute;
      right: var(--pad);
      bottom: 1.5rem;
      left: var(--pad);
      display: flex;
      align-items: center;
      gap: 1rem;
      color: var(--ink-muted);
      font-size: .58rem;
      font-weight: 600;
      letter-spacing: .14em;
      line-height: 1;
      text-transform: uppercase;
    }

    .intro__line {
      flex: 1;
      height: 1px;
      overflow: hidden;
      background: var(--parchment);
    }

    .intro__line::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: left;
      animation: load 1.65s .1s cubic-bezier(.76, 0, .24, 1) forwards;
    }

    @keyframes logoIn {
      from { opacity: 0; transform: scale(.965); }
      to { opacity: 1; transform: none; }
    }

    @keyframes compactLogoIn {
      from { opacity: 0; transform: scale(.9); }
      to { opacity: 1; transform: none; }
    }

    @keyframes compactLogoEnter {
      from { opacity: 0; transform: scale(.92); }
      to { opacity: 1; transform: none; }
    }

    @keyframes load { to { transform: scaleX(1); } }

    .wrap {
      width: min(100%, var(--max));
      margin-inline: auto;
      padding-inline: var(--pad);
    }

    .eyebrow {
      margin: 0 0 1.1rem;
      color: var(--ink-muted);
      font-size: .67rem;
      font-weight: 600;
      letter-spacing: .13em;
      line-height: 1.4;
      text-transform: uppercase;
    }

    .eyebrow--light { color: rgba(250, 250, 248, .58); }

    .hand-note {
      display: inline-block;
      color: var(--gold-warm);
      font-family: var(--hand);
      font-size: clamp(1.35rem, 2vw, 1.85rem);
      font-weight: 500;
      line-height: 1.1;
      transform: rotate(-2deg);
    }

    .hand-note--light { color: var(--gold-light); }

    .pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      min-height: 3.8rem;
      padding: 1rem 2rem;
      border: 1px solid var(--ink);
      border-radius: 999px;
      color: var(--pearl);
      background: var(--ink);
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .08em;
      line-height: 1;
      text-decoration: none;
      text-transform: uppercase;
      transition: color .2s ease, background .2s ease, transform .2s ease;
    }

    .pill:hover,
    .pill:focus-visible {
      color: var(--ink);
      background: transparent;
      transform: translateY(-2px);
    }

    .pill--gold {
      border-color: var(--gold);
      color: var(--espresso);
      background: var(--gold);
    }

    .pill--gold:hover,
    .pill--gold:focus-visible {
      color: var(--gold-light);
      background: transparent;
    }

    .header {
      position: absolute;
      z-index: 100;
      top: 0;
      right: 0;
      left: 0;
      background: var(--pearl);
    }

    .header__inner {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      min-height: 5rem;
      border-bottom: 1px solid var(--line);
    }

    .brand {
      display: flex;
      align-items: baseline;
      gap: .8rem;
      justify-self: start;
      text-decoration: none;
    }

    .brand strong {
      font-family: var(--serif);
      font-size: 1.55rem;
      font-weight: 500;
      letter-spacing: -.035em;
      line-height: 1;
    }

    .brand span {
      color: var(--ink-muted);
      font-size: .48rem;
      font-weight: 600;
      letter-spacing: .12em;
      line-height: 1;
      text-transform: uppercase;
    }

    .nav ul {
      display: flex;
      gap: clamp(1.5rem, 3vw, 3rem);
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .nav a {
      font-size: .63rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .nav a:hover,
    .nav a:focus-visible { color: var(--gold-warm); }

    .header__cta {
      justify-self: end;
      font-size: .63rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .header__cta::after { content: " →"; color: var(--gold-warm); }

    .menu-button {
      display: none;
      width: 2.7rem;
      height: 2.7rem;
      padding: 0;
      border: 1px solid var(--line);
      border-radius: 50%;
      color: var(--ink);
      background: transparent;
      cursor: pointer;
    }

    .menu-button span {
      display: block;
      width: 1.15rem;
      height: 1px;
      margin: .33rem auto;
      background: currentColor;
    }

    .hero {
      padding: clamp(9rem, 16vw, 13rem) 0 clamp(5rem, 9vw, 8rem);
      text-align: center;
      background: var(--pearl);
    }

    .hero__inner {
      max-width: 1050px;
      margin-inline: auto;
    }

    .hero__title {
      max-width: 930px;
      margin: 0 auto;
      font-family: var(--serif);
      font-size: clamp(4rem, 7.8vw, 7.6rem);
      font-weight: 400;
      letter-spacing: -.045em;
      line-height: .97;
    }

    .hero__title em {
      color: var(--gold-warm);
      font-weight: 400;
    }

    .hero__copy {
      max-width: 650px;
      margin: 2rem auto 0;
      color: var(--ink-muted);
      font-size: clamp(1rem, 1.45vw, 1.17rem);
      line-height: 1.8;
    }

    .hero__actions {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 2rem;
      margin-top: 2.4rem;
    }

    .hero__actions .hand-note { transform: rotate(-3deg) translateY(2px); }

    .hero-visual {
      margin: 0;
      padding-bottom: clamp(5rem, 9vw, 8rem);
      background: var(--pearl);
    }

    .hero-visual__frame {
      position: relative;
      max-width: 1120px;
      margin-inline: auto;
    }

    .hero-visual__image {
      width: 100%;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      border: 1px solid var(--line);
      border-radius: 2rem;
    }

    .hero-visual__tag {
      position: absolute;
      top: 1.5rem;
      left: 1.5rem;
      padding: .65rem 1rem;
      border-radius: 999px;
      color: var(--espresso);
      background: rgba(250, 250, 248, .92);
      font-size: .61rem;
      font-weight: 600;
      letter-spacing: .09em;
      text-transform: uppercase;
      backdrop-filter: blur(10px);
    }

    .trust {
      overflow: hidden;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: var(--ivory);
    }

    .trust__track {
      display: flex;
      width: max-content;
      will-change: transform;
      animation: trustTicker 28s linear infinite;
    }

    .trust:hover .trust__track,
    .trust:focus-within .trust__track { animation-play-state: paused; }

    .trust__group {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      min-height: 7.75rem;
    }

    .trust__lead {
      display: flex;
      align-items: center;
      gap: 2rem;
      padding: 0 clamp(2.5rem, 5vw, 5rem);
      color: var(--ink-muted);
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .1em;
      line-height: 1;
      white-space: nowrap;
      text-transform: uppercase;
    }

    .trust__lead::after {
      content: "✦";
      color: var(--gold-warm);
      font-size: 1rem;
    }

    .trust__item {
      display: flex;
      align-items: baseline;
      gap: .8rem;
      padding-right: clamp(2.5rem, 5vw, 5rem);
      white-space: nowrap;
    }

    .trust__item::after {
      content: "✦";
      align-self: center;
      margin-left: clamp(1.7rem, 3.5vw, 3.5rem);
      color: var(--gold);
      font-size: .9rem;
    }

    .trust__item strong {
      font-family: var(--serif);
      font-size: clamp(2.1rem, 3.5vw, 3.4rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: 1;
    }

    .trust__item span {
      color: var(--ink-muted);
      font-size: .57rem;
      font-weight: 600;
      letter-spacing: .08em;
      line-height: 1.5;
      text-transform: uppercase;
    }

    @keyframes trustTicker {
      to { transform: translateX(-50%); }
    }

    .familiar {
      padding: clamp(6rem, 11vw, 11rem) 0;
      background: var(--pearl);
    }

    .familiar__grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: clamp(4rem, 10vw, 10rem);
    }

    .familiar__intro {
      position: sticky;
      top: 2rem;
      align-self: start;
    }

    .familiar h2,
    .section-title {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3rem, 5vw, 5.2rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: 1.02;
    }

    .familiar__intro > p:last-of-type {
      max-width: 25rem;
      margin: 1.5rem 0 0;
      color: var(--ink-muted);
      font-size: .93rem;
      line-height: 1.8;
    }

    .familiar__list {
      border-top: 1px solid var(--ink);
    }

    .familiar__item {
      display: grid;
      grid-template-columns: 4rem 1fr;
      gap: 1.5rem;
      padding: 2rem 0;
      border-bottom: 1px solid var(--line);
    }

    .familiar__number {
      color: var(--gold-warm);
      font-family: var(--serif);
      font-size: 1rem;
      line-height: 1.7;
    }

    .familiar__item p {
      max-width: 37rem;
      margin: 0;
      color: var(--ink-muted);
      font-size: 1rem;
      line-height: 1.75;
    }

    .belief {
      padding: clamp(6rem, 10vw, 10rem) 0;
      color: var(--pearl);
      background: var(--espresso);
      text-align: center;
    }

    .belief__inner { max-width: 1050px; margin-inline: auto; }

    .belief h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3.4rem, 6.4vw, 6.8rem);
      font-weight: 400;
      letter-spacing: -.045em;
      line-height: 1;
    }

    .belief h2 em {
      color: var(--gold-light);
      font-weight: 400;
    }

    .belief p {
      max-width: 650px;
      margin: 2rem auto 0;
      color: rgba(250, 250, 248, .65);
      font-size: 1rem;
      line-height: 1.8;
    }

    .belief .hand-note { margin-top: 2.5rem; }

    .services {
      padding: clamp(6rem, 11vw, 11rem) 0;
      background: var(--pearl);
    }

    .services__head {
      display: grid;
      grid-template-columns: 1fr .8fr;
      gap: 3rem;
      align-items: end;
      margin-bottom: 4rem;
    }

    .services__head p:last-child {
      max-width: 32rem;
      margin: 0;
      color: var(--ink-muted);
      font-size: .92rem;
      line-height: 1.8;
    }

    .service {
      display: grid;
      grid-template-columns: 4rem 1.1fr 1.5fr;
      gap: clamp(1.5rem, 5vw, 5rem);
      padding: clamp(3rem, 6vw, 5.5rem);
      border-radius: 2rem;
    }

    .service + .service { margin-top: 1.5rem; }
    .service--events { background: var(--gold-pale); }
    .service--ai { color: var(--pearl); background: var(--espresso); }

    .service__number {
      color: var(--gold-warm);
      font-family: var(--serif);
      font-size: 1rem;
    }

    .service--ai .service__number { color: var(--gold-light); }

    .service h3 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(2.6rem, 4.5vw, 4.8rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: .98;
    }

    .service__detail > p {
      max-width: 35rem;
      margin: 0 0 2rem;
      color: var(--ink-muted);
      font-size: .92rem;
      line-height: 1.8;
    }

    .service--ai .service__detail > p { color: rgba(250, 250, 248, .62); }

    .service__list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: .6rem 1.5rem;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .service__list li {
      padding-top: .7rem;
      border-top: 1px solid var(--line);
      font-size: .61rem;
      font-weight: 600;
      letter-spacing: .08em;
      line-height: 1.5;
      text-transform: uppercase;
    }

    .service--ai .service__list li { border-color: var(--line-light); }

    .process {
      padding: clamp(6rem, 10vw, 10rem) 0;
      color: var(--pearl);
      background: var(--espresso);
    }

    .process__head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 3rem;
      margin-bottom: 4rem;
    }

    .process__head .section-title { max-width: 650px; }

    .process__steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid var(--line-light);
    }

    .step {
      min-height: 22rem;
      padding: 2.5rem clamp(1.5rem, 3vw, 3rem);
    }

    .step + .step { border-left: 1px solid var(--line-light); }

    .step__number {
      color: var(--gold-light);
      font-family: var(--serif);
      font-size: 1rem;
    }

    .step h3 {
      margin: 7rem 0 1rem;
      font-family: var(--serif);
      font-size: clamp(2rem, 3vw, 3.1rem);
      font-weight: 400;
      letter-spacing: -.035em;
      line-height: 1;
    }

    .step p {
      max-width: 20rem;
      margin: 0;
      color: rgba(250, 250, 248, .6);
      font-size: .8rem;
      line-height: 1.75;
    }

    .outcomes {
      padding: clamp(6rem, 11vw, 11rem) 0;
      background: var(--ivory);
    }

    .outcomes__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(4rem, 10vw, 10rem);
      align-items: center;
    }

    .outcomes__copy p:not(.eyebrow) {
      max-width: 32rem;
      margin: 1.5rem 0 0;
      color: var(--ink-muted);
      font-size: .92rem;
      line-height: 1.8;
    }

    .outcomes__list {
      margin: 0;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--ink);
    }

    .outcomes__list li {
      position: relative;
      padding: 1.25rem 1rem 1.25rem 2.5rem;
      border-bottom: 1px solid var(--line);
      color: var(--ink-muted);
      font-size: .92rem;
      line-height: 1.6;
    }

    .outcomes__list li::before {
      content: "✓";
      position: absolute;
      left: 0;
      color: var(--gold-warm);
      font-weight: 600;
    }

    .quote {
      padding: clamp(6rem, 11vw, 11rem) 0;
      background: var(--pearl);
      text-align: center;
    }

    .quote blockquote {
      max-width: 920px;
      margin: 0 auto;
    }

    .quote blockquote p {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(2.7rem, 5vw, 5.1rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: 1.08;
    }

    .quote blockquote em {
      color: var(--gold-warm);
      font-weight: 400;
    }

    .quote cite {
      display: block;
      margin-top: 2.5rem;
      color: var(--ink-muted);
      font-size: .62rem;
      font-style: normal;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .final {
      padding: clamp(6rem, 10vw, 9rem) 0;
      color: var(--pearl);
      background: var(--espresso);
      text-align: center;
    }

    .final__inner { max-width: 850px; margin-inline: auto; }

    .final h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3.7rem, 6.5vw, 6.6rem);
      font-weight: 400;
      letter-spacing: -.045em;
      line-height: 1;
    }

    .final p {
      max-width: 600px;
      margin: 1.5rem auto 2.2rem;
      color: rgba(250, 250, 248, .62);
      font-size: .95rem;
      line-height: 1.8;
    }

    .footer {
      color: var(--ink-muted);
      background: var(--pearl);
    }

    .footer__grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr;
      gap: 3rem;
      padding-top: 3rem;
      padding-bottom: 3rem;
      border-top: 1px solid var(--line);
    }

    .footer__brand strong {
      display: block;
      color: var(--ink);
      font-family: var(--serif);
      font-size: 1.35rem;
      font-weight: 500;
    }

    .footer__brand span,
    .footer__links a,
    .footer__meta {
      font-size: .56rem;
      font-weight: 600;
      letter-spacing: .09em;
      line-height: 1.7;
      text-transform: uppercase;
    }

    .footer__brand span { display: block; }
    .footer__brand span + span {
      max-width: 28rem;
      margin-top: .55rem;
      color: var(--gold-warm);
    }

    .footer__links {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: .55rem 1.5rem;
    }

    .footer__links a { text-decoration: none; }
    .footer__links a:hover { color: var(--gold-warm); }
    .footer__meta {
      display: grid;
      justify-items: end;
      gap: .9rem;
      justify-self: end;
      text-align: right;
    }

    .footer__linkedin {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2rem;
      height: 2rem;
      padding: 0;
      border: 1px solid var(--ink);
      border-radius: 999px;
      color: var(--ink);
      background: transparent;
      font-size: .58rem;
      font-weight: 600;
      letter-spacing: .1em;
      line-height: 1;
      text-decoration: none;
      text-transform: uppercase;
      transition: color .2s ease, background .2s ease, transform .2s ease;
    }

    .footer__linkedin-icon {
      width: .8rem;
      height: .8rem;
      fill: currentColor;
    }

    .footer__linkedin:hover,
    .footer__linkedin:focus-visible {
      color: var(--pearl);
      background: var(--ink);
      transform: translateY(-2px);
    }

    [data-reveal] {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s cubic-bezier(.16, 1, .3, 1), transform .7s cubic-bezier(.16, 1, .3, 1);
    }

    [data-reveal].visible {
      opacity: 1;
      transform: none;
    }

    @media (max-width: 980px) {
      .header__inner { grid-template-columns: 1fr auto; }
      .nav, .header__cta { display: none; }
      .menu-button { display: block; justify-self: end; }

      .header.open {
        position: fixed;
        min-height: 100dvh;
        background: var(--pearl);
      }

      .header.open .header__inner {
        grid-template-rows: 5rem 1fr auto;
        min-height: 100dvh;
      }

      .header.open .nav {
        display: block;
        grid-column: 1 / -1;
        align-self: start;
      }

      .header.open .nav ul { flex-direction: column; gap: 0; }

      .header.open .nav a {
        display: block;
        padding: 1.1rem 0;
        border-bottom: 1px solid var(--line);
        font-family: var(--serif);
        font-size: clamp(2.5rem, 8vw, 4.5rem);
        font-weight: 400;
        letter-spacing: -.04em;
        text-transform: none;
      }

      .header.open .header__cta {
        display: block;
        grid-column: 1 / -1;
        justify-self: start;
        margin-bottom: 2rem;
      }

      .service { grid-template-columns: 3rem 1fr 1.3fr; }
      .process__steps { grid-template-columns: 1fr 1fr 1fr; }
    }

    @media (max-width: 700px) {
      :root { --pad: 1.2rem; }
      .brand span { display: none; }
      .intro--compact .intro__logo { width: min(46vw, 155px); }

      .hero { padding-top: 8rem; }
      .hero__title { font-size: clamp(3.7rem, 16vw, 5.7rem); }
      .hero__actions { flex-direction: column; gap: 1.2rem; }

      .hero-visual__image { aspect-ratio: 4 / 5; border-radius: 1.25rem; }
      .hero-visual__tag { top: .8rem; left: .8rem; }

      .familiar__grid,
      .services__head,
      .outcomes__grid,
      .footer__grid { grid-template-columns: 1fr; }
      .familiar__intro { position: static; }

      .service { grid-template-columns: 2.5rem 1fr; padding: 2rem 1.4rem; border-radius: 1.25rem; }
      .service__detail { grid-column: 2; }
      .service__list { grid-template-columns: 1fr; }

      .process__head { display: grid; }
      .process__steps { grid-template-columns: 1fr; }
      .step { min-height: auto; }
      .step + .step { border-top: 1px solid var(--line-light); border-left: 0; }
      .step h3 { margin-top: 4rem; }

      .footer__meta { justify-items: start; justify-self: start; text-align: left; }
    }

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

      .trust__track {
        width: 100%;
        transform: none !important;
      }

      .trust__group {
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        padding: 1rem var(--pad);
      }

      .trust__group[aria-hidden="true"] { display: none; }
      .trust__lead, .trust__item { padding: 1rem; }
    }

    /* Direction 04 — inner pages */
    .nav a[aria-current="page"] { color: var(--ink); }

    .nav a[aria-current="page"]::after {
      transform: scaleX(1);
    }

    .page-hero {
      position: relative;
      overflow: hidden;
      padding: clamp(10rem, 17vw, 14rem) 0 clamp(6rem, 10vw, 9rem);
      background: var(--ivory);
    }

    .page-hero::after {
      content: "";
      position: absolute;
      right: var(--pad);
      bottom: 0;
      left: var(--pad);
      height: 1px;
      background: var(--gold);
      transform: scaleX(.22);
      transform-origin: left;
    }

    .page-hero__grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: .55fr 1.65fr .8fr;
      gap: clamp(2rem, 6vw, 6rem);
      align-items: end;
    }

    .page-hero__marker {
      align-self: start;
      color: var(--ink-muted);
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .page-hero__title {
      max-width: 850px;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(4rem, 7vw, 7rem);
      font-weight: 400;
      letter-spacing: -.045em;
      line-height: .96;
    }

    .page-hero__title em {
      color: var(--gold-warm);
      font-weight: 400;
    }

    .page-hero__aside {
      padding-bottom: .6rem;
    }

    .page-hero__aside p {
      margin: 0;
      color: var(--ink-muted);
      font-size: .93rem;
      line-height: 1.85;
    }

    .page-hero__aside .hand-note { margin-top: 2rem; }

    .story {
      padding: clamp(6rem, 11vw, 11rem) 0;
      background: var(--pearl);
    }

    .story--ivory { background: var(--ivory); }

    .story__grid {
      display: grid;
      grid-template-columns: .6fr 1.35fr 1fr;
      gap: clamp(2rem, 6vw, 6rem);
    }

    .story__quote {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(2.8rem, 4.8vw, 5rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: 1.03;
    }

    .story__quote em { color: var(--gold-warm); font-weight: 400; }

    .story__quote h2 {
      margin: 0;
      font: inherit;
      letter-spacing: inherit;
      line-height: inherit;
    }

    .story__body {
      padding-top: .6rem;
      color: var(--ink-muted);
      font-size: .95rem;
      line-height: 1.85;
    }

    .story__body p { margin: 0 0 1.5rem; }

    .bio {
      padding: clamp(6rem, 11vw, 11rem) 0;
      background: var(--ivory);
    }

    .bio__grid {
      display: grid;
      grid-template-columns: minmax(18rem, .82fr) minmax(0, 1.18fr);
      gap: clamp(3rem, 7vw, 7.5rem);
      align-items: start;
    }

    .bio__visual {
      position: sticky;
      top: 7rem;
    }

    .bio__portrait {
      position: relative;
      aspect-ratio: 4 / 5;
      margin: 1.5rem 0 0;
      overflow: hidden;
      background: var(--espresso);
    }

    .bio__portrait::after {
      position: absolute;
      inset: 0;
      border: 1px solid rgba(255, 255, 255, .14);
      content: "";
      pointer-events: none;
    }

    .bio__portrait img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
    }

    .bio__content {
      padding-top: 1.8rem;
      border-top: 1px solid var(--ink);
    }

    .bio__heading {
      padding-bottom: 2.3rem;
      border-bottom: 1px solid var(--line);
    }

    .bio__heading h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3.4rem, 5.8vw, 6.2rem);
      font-weight: 400;
      letter-spacing: -.045em;
      line-height: .95;
    }

    .bio__role {
      margin: 1.2rem 0 0;
      color: var(--gold-warm);
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .13em;
      line-height: 1.6;
      text-transform: uppercase;
    }

    .bio__copy {
      max-width: 48rem;
      padding-top: 2.4rem;
      color: var(--ink-muted);
      font-size: .96rem;
      line-height: 1.9;
    }

    .bio__copy p { margin: 0 0 1.55rem; }

    .bio__copy > p:first-child {
      color: var(--ink);
      font-size: 1.08rem;
    }

    .bio__copy strong {
      color: var(--ink);
      font-weight: 600;
    }

    .bio__belief {
      margin: 2.4rem 0;
      padding: .3rem 0 .3rem 1.8rem;
      border-left: 2px solid var(--gold-warm);
      color: var(--ink);
    }

    .bio__belief strong {
      font-family: var(--serif);
      font-size: 1.18em;
      font-weight: 500;
    }

    .principles-section {
      padding: clamp(6rem, 10vw, 10rem) 0;
      background: var(--ivory);
    }

    .principles-section__head {
      display: grid;
      grid-template-columns: .75fr 1.25fr;
      gap: 3rem;
      align-items: end;
      margin-bottom: clamp(3rem, 6vw, 6rem);
    }

    .principles-section__head .section-title { max-width: 760px; }

    .principles-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      border-top: 1px solid var(--ink);
    }

    .principle-card {
      display: grid;
      grid-template-columns: 3.5rem 1fr;
      gap: 1.5rem;
      min-height: 18rem;
      padding: 2.5rem 2.5rem 2.5rem 0;
      border-bottom: 1px solid var(--line);
    }

    .principle-card:nth-child(even) {
      padding-right: 0;
      padding-left: 2.5rem;
      border-left: 1px solid var(--line);
    }

    .principle-card__number {
      color: var(--gold-warm);
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .12em;
    }

    .principle-card h3 {
      margin: 0 0 1.2rem;
      font-family: var(--serif);
      font-size: clamp(2rem, 3vw, 3.2rem);
      font-weight: 400;
      letter-spacing: -.035em;
      line-height: 1;
    }

    .principle-card p {
      max-width: 34rem;
      margin: 0;
      color: var(--ink-muted);
      font-size: .9rem;
      line-height: 1.8;
    }

    .industries-panel {
      padding: clamp(6rem, 10vw, 10rem) 0;
      color: var(--pearl);
      background: var(--espresso);
    }

    .industries-panel__grid {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: clamp(3rem, 8vw, 8rem);
    }

    .industries-panel .section-title { max-width: 640px; }

    .industry-list {
      margin: 0;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--line-light);
    }

    .industry-list li {
      display: flex;
      justify-content: space-between;
      gap: 2rem;
      padding: 1.5rem 0;
      border-bottom: 1px solid var(--line-light);
      color: rgba(250, 250, 248, .78);
      font-family: var(--serif);
      font-size: clamp(1.25rem, 2vw, 1.8rem);
      line-height: 1.2;
    }

    .industry-list span { color: var(--gold-light); }

    .capabilities {
      padding: clamp(6rem, 10vw, 10rem) 0;
      background: var(--pearl);
    }

    .capability-chapter {
      display: grid;
      grid-template-columns: .55fr 1fr 1.25fr;
      gap: clamp(2rem, 6vw, 6rem);
      padding: clamp(4rem, 7vw, 7rem) 0;
      border-top: 1px solid var(--ink);
    }

    .capability-chapter:last-child { border-bottom: 1px solid var(--ink); }
    .capability-chapter__number { color: var(--gold-warm); }

    .capability-chapter h2 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3rem, 4.8vw, 5rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: .98;
    }

    .capability-chapter h2 em { color: var(--gold-warm); font-weight: 400; }

    .capability-chapter__intro > p {
      margin: 0 0 2.5rem;
      color: var(--ink-muted);
      font-size: .94rem;
      line-height: 1.85;
    }

    .capability-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0 2rem;
      margin: 0 0 2.5rem;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--line);
    }

    .capability-list li {
      padding: 1rem 0;
      border-bottom: 1px solid var(--line);
      color: var(--ink);
      font-size: .76rem;
      font-weight: 600;
      letter-spacing: .04em;
      line-height: 1.5;
      text-transform: uppercase;
    }

    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 1rem;
      padding-bottom: .45rem;
      border-bottom: 1px solid currentColor;
      color: var(--ink);
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .09em;
      line-height: 1;
      text-decoration: none;
      text-transform: uppercase;
    }

    .contact-main {
      padding: clamp(6rem, 10vw, 10rem) 0;
      background: var(--pearl);
    }

    .contact-layout {
      display: grid;
      grid-template-columns: .72fr 1.28fr;
      gap: clamp(4rem, 10vw, 10rem);
      align-items: start;
    }

    .contact-sidebar {
      position: sticky;
      top: 2rem;
    }

    .contact-sidebar h2 {
      max-width: 9ch;
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3rem, 4.7vw, 5rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: 1;
    }

    .contact-sidebar h2 em { color: var(--gold-warm); font-weight: 400; }

    .contact-sidebar__details {
      margin-top: 3rem;
      padding-top: 1.5rem;
      border-top: 1px solid var(--ink);
    }

    .contact-sidebar__details p {
      margin: 0 0 1.5rem;
      color: var(--ink-muted);
      font-size: .84rem;
      line-height: 1.75;
    }

    .contact-form-shell {
      padding: clamp(2rem, 5vw, 4.5rem);
      border: 1px solid var(--line);
      border-radius: 2rem;
      background: var(--ivory);
    }

    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.7rem 1.4rem;
    }

    .field { display: grid; gap: .65rem; }
    .field--full { grid-column: 1 / -1; }

    .field label {
      color: var(--ink-muted);
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .field sup { color: var(--gold-warm); }

    .form-control {
      width: 100%;
      min-height: 3.6rem;
      padding: .9rem 0;
      border: 0;
      border-bottom: 1px solid var(--parchment);
      border-radius: 0;
      outline: 0;
      color: var(--ink);
      background: transparent;
      font: 400 1rem/1.4 var(--sans);
      transition: border-color .2s ease;
    }

    textarea.form-control { min-height: 9rem; resize: vertical; }
    select.form-control { cursor: pointer; }
    .form-control:focus { border-color: var(--gold-warm); }
    .form-control::placeholder { color: var(--ink-soft); }

    .form-actions {
      display: flex;
      align-items: center;
      gap: 1.5rem;
      margin-top: 2.5rem;
    }

    .form-note {
      margin: 0;
      color: var(--ink-muted);
      font-size: .7rem;
      line-height: 1.6;
    }

    .form-status {
      display: none;
      margin-top: 1.5rem;
      padding: 1rem 1.2rem;
      border: 1px solid var(--parchment);
      color: var(--ink-muted);
      font-size: .8rem;
      line-height: 1.6;
    }

    .form-status.is-visible { display: block; }
    .form-status--error { border-color: #b25a4f; color: #7b332b; }

    .form-success {
      display: none;
      padding: clamp(2rem, 5vw, 5rem) 0;
      text-align: center;
    }

    .form-success.is-visible { display: block; }

    .form-success h3 {
      margin: 0;
      font-family: var(--serif);
      font-size: clamp(3.2rem, 5vw, 5.5rem);
      font-weight: 400;
      letter-spacing: -.04em;
      line-height: 1;
    }

    .form-success h3 em { color: var(--gold-warm); font-weight: 400; }
    .form-success p { color: var(--ink-muted); }

    @media (max-width: 980px) {
      .page-hero__grid { grid-template-columns: .35fr 1.65fr; }
      .page-hero__aside { grid-column: 2; max-width: 36rem; }
      .story__grid { grid-template-columns: .35fr 1.65fr; }
      .story__body { grid-column: 2; max-width: 42rem; }
      .bio__grid { grid-template-columns: minmax(16rem, .8fr) minmax(0, 1.2fr); gap: 3rem; }
      .capability-chapter { grid-template-columns: .3fr 1fr; }
      .capability-chapter__intro { grid-column: 2; }
    }

    @media (max-width: 700px) {
      .page-hero { padding-top: 8.5rem; }
      .page-hero__grid,
      .story__grid,
      .principles-section__head,
      .industries-panel__grid,
      .capability-chapter,
      .contact-layout { grid-template-columns: 1fr; }
      .page-hero__aside,
      .story__body,
      .capability-chapter__intro { grid-column: 1; }
      .bio__grid { grid-template-columns: 1fr; }
      .bio__visual { position: static; }
      .bio__portrait { max-width: 30rem; }
      .bio__content { padding-top: 0; }
      .page-hero__title { font-size: clamp(3.6rem, 16vw, 5.5rem); }
      .principles-grid { grid-template-columns: 1fr; }
      .principle-card,
      .principle-card:nth-child(even) {
        min-height: auto;
        padding: 2rem 0;
        border-left: 0;
      }
      .capability-list,
      .form-grid { grid-template-columns: 1fr; }
      .field--full { grid-column: 1; }
      .contact-sidebar { position: static; }
      .contact-form-shell { border-radius: 1.25rem; }
      .form-actions { align-items: flex-start; flex-direction: column; }
    }

    /* Event photography treatment. */
    .hero-visual--event .hero-visual__frame {
      overflow: hidden;
      border-radius: 2rem;
    }

    .hero-visual--event .hero-visual__image {
      aspect-ratio: 16 / 9;
      border: 0;
      border-radius: 0;
      object-position: center 48%;
      filter: saturate(.84) contrast(1.02);
      transform: scale(1.015);
      transition: transform 1.2s cubic-bezier(.16, 1, .3, 1);
    }

    .hero-visual--event .hero-visual__frame:hover .hero-visual__image {
      transform: scale(1.045);
    }

    .hero-visual--event .hero-visual__frame::after {
      position: absolute;
      inset: 0;
      border: 1px solid rgba(250, 250, 248, .3);
      border-radius: inherit;
      background: linear-gradient(180deg, transparent 58%, rgba(30, 26, 16, .18));
      content: "";
      pointer-events: none;
    }

    .hero-visual--event .hero-visual__tag { z-index: 1; }

    .editorial-photo {
      padding: clamp(5rem, 9vw, 9rem) 0;
      background: var(--pearl);
    }

    .editorial-photo--ivory { background: var(--ivory); }

    .editorial-photo__layout {
      display: grid;
      grid-template-columns: minmax(0, 1.06fr) minmax(15rem, .44fr);
      gap: clamp(2.5rem, 7vw, 7rem);
      align-items: end;
    }

    .editorial-photo--reverse .editorial-photo__layout {
      grid-template-columns: minmax(15rem, .44fr) minmax(0, 1.06fr);
    }

    .editorial-photo__figure {
      position: relative;
      margin: 0;
      overflow: hidden;
      border-radius: 1.75rem;
      background: var(--parchment);
    }

    .editorial-photo--reverse .editorial-photo__figure {
      grid-column: 2;
      grid-row: 1;
    }

    .editorial-photo__image {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      filter: saturate(.82) contrast(1.02);
      transition: transform 1.1s cubic-bezier(.16, 1, .3, 1);
    }

    .editorial-photo__figure:hover .editorial-photo__image {
      transform: scale(1.025);
    }

    .editorial-photo__note {
      padding: 1.35rem 0 1.5rem;
      border-top: 1px solid var(--ink);
    }

    .editorial-photo--reverse .editorial-photo__note {
      grid-column: 1;
      grid-row: 1;
    }

    .editorial-photo__note span {
      display: block;
      color: var(--ink-muted);
      font-size: .64rem;
      font-weight: 600;
      letter-spacing: .12em;
      line-height: 1.6;
      text-transform: uppercase;
    }

    .editorial-photo__note strong {
      display: block;
      max-width: 11ch;
      margin-top: 1.2rem;
      font-family: var(--serif);
      font-size: clamp(2rem, 3.2vw, 3.5rem);
      font-weight: 400;
      letter-spacing: -.035em;
      line-height: 1;
    }

    .editorial-photo--corridor .editorial-photo__image { object-position: center 47%; }
    .editorial-photo--table .editorial-photo__image { object-position: center 52%; }
    .editorial-photo--bar .editorial-photo__image { object-position: center 58%; }

    @media (max-width: 700px) {
      .hero-visual--event .hero-visual__frame { border-radius: 1.25rem; }
      .hero-visual--event .hero-visual__image { aspect-ratio: 4 / 5; object-position: center 46%; }
      .editorial-photo__layout,
      .editorial-photo--reverse .editorial-photo__layout { grid-template-columns: 1fr; gap: 1.5rem; }
      .editorial-photo--reverse .editorial-photo__figure,
      .editorial-photo--reverse .editorial-photo__note { grid-column: 1; grid-row: auto; }
      .editorial-photo__figure { border-radius: 1.25rem; }
      .editorial-photo__note strong { max-width: 14ch; }
    }
