    :root {
      --paper:        #F3EBDA;
      --paper-warm:   #EBE1CC;
      --ink:          #1E1A15;
      --ink-soft:     #3A332A;
      --muted:        #6B6258;
      --plum:         #5B2A6B;
      --plum-dark:    #3E1B4E;
      --plum-deep:    #2A1438;
      --plum-soft:    #C9A8D0;
      --ochre:        #C88A3E;
      --ochre-dark:   #A36D2A;
      --rule:         rgba(31, 26, 21, 0.14);
      --content:      640px;
      --content-wide: 800px;
      --content-hero: 1040px;
    }

    * { box-sizing: border-box; }

    html {
      scroll-behavior: smooth;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    body {
      margin: 0;
      background-color: var(--paper);
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'><g stroke='%235A3820' stroke-width='1.3' stroke-linecap='round' stroke-opacity='0.16' fill='none'><line x1='28' y1='40' x2='40' y2='40'/><line x1='120' y1='58' x2='132' y2='58'/><line x1='60' y1='100' x2='72' y2='100'/><line x1='165' y1='130' x2='177' y2='130'/><line x1='90' y1='158' x2='102' y2='158'/><line x1='30' y1='188' x2='42' y2='188'/><line x1='180' y1='190' x2='192' y2='190'/></g><g stroke='%235A3820' stroke-width='1' stroke-linecap='round' stroke-opacity='0.16' fill='none'><line x1='88' y1='28' x2='94' y2='34'/><line x1='94' y1='28' x2='88' y2='34'/><line x1='170' y1='68' x2='176' y2='74'/><line x1='176' y1='68' x2='170' y2='74'/><line x1='20' y1='130' x2='26' y2='136'/><line x1='26' y1='130' x2='20' y2='136'/><line x1='128' y1='120' x2='134' y2='126'/><line x1='134' y1='120' x2='128' y2='126'/><line x1='150' y1='170' x2='156' y2='176'/><line x1='156' y1='170' x2='150' y2='176'/></g><g stroke='%235A3820' stroke-width='1' fill='none' stroke-linecap='round' stroke-opacity='0.17'><path d='M 48 68 L 52 64 L 56 68 L 60 64 L 64 68'/><path d='M 140 100 L 144 96 L 148 100 L 152 96 L 156 100'/><path d='M 82 188 L 86 184 L 90 188 L 94 184 L 98 188'/></g><g fill='%23A36D2A' fill-opacity='0.24'><circle cx='55' cy='25' r='1.6'/><circle cx='195' cy='38' r='1.6'/><circle cx='110' cy='78' r='1.6'/><circle cx='42' cy='150' r='1.6'/><circle cx='200' cy='100' r='1.6'/><circle cx='168' cy='160' r='1.6'/><circle cx='120' cy='195' r='1.6'/></g></svg>");
      background-size: 220px 220px;
      color: var(--ink);
      font-family: 'DM Sans', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
      font-size: 17px;
      line-height: 1.6;
      font-feature-settings: "kern", "liga";
    }

    .container { max-width: var(--content); margin: 0 auto; padding: 0 28px; }
    .container-wide { max-width: var(--content-wide); margin: 0 auto; padding: 0 28px; }
    .container-hero { max-width: var(--content-hero); margin: 0 auto; padding: 0 28px; }

    h1, h2, h3, .display {
      font-family: 'Young Serif', Georgia, 'Times New Roman', serif;
      font-weight: 400;
      letter-spacing: -0.015em;
      line-height: 1.1;
      margin: 0;
      color: var(--plum-dark);
    }

    p { margin: 0 0 1.05em 0; }
    p:last-child { margin-bottom: 0; }

    a {
      color: inherit;
      text-decoration: underline;
      text-decoration-color: var(--plum);
      text-decoration-thickness: 1.5px;
      text-underline-offset: 4px;
      transition: color 0.2s ease, text-decoration-color 0.2s ease;
    }
    a:hover {
      color: var(--plum);
      text-decoration-color: var(--plum-dark);
    }

    /* Nav */
    .nav {
      padding: 32px 0 8px;
      font-size: 14px;
      letter-spacing: 0.01em;
    }
    .nav-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 24px;
      flex-wrap: wrap;
    }
    .nav-name {
      font-family: 'Young Serif', Georgia, serif;
      font-size: 18px;
      letter-spacing: -0.01em;
      color: var(--plum-dark);
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
    }
    .nav-mark {
      width: 11px;
      height: 11px;
      border-radius: 50%;
      background: var(--ochre);
      box-shadow: inset 0 0 0 2px var(--plum-dark);
    }
    .nav-links { display: flex; gap: 22px; flex-wrap: wrap; }
    .nav-links a {
      text-decoration: none;
      color: var(--ink-soft);
      font-family: 'DM Sans', system-ui, sans-serif;
    }
    .nav-links a:hover { color: var(--plum); }

    /* Hero */
    .hero { padding: 72px 0 88px; }
    .hero-grid {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 72px;
      align-items: center;
    }
    .hero-text { min-width: 0; }

    .color-block {
      display: inline-block;
      width: 56px;
      height: 6px;
      background: var(--ochre);
      margin-bottom: 28px;
      border-radius: 1px;
      position: relative;
    }
    .color-block::after {
      content: "";
      position: absolute;
      left: 62px;
      top: 0;
      width: 16px;
      height: 6px;
      background: var(--plum);
      border-radius: 1px;
    }

    h1 {
      font-family: 'Young Serif', Georgia, serif;
      font-size: clamp(3rem, 7.2vw, 5rem);
      font-weight: 400;
      letter-spacing: -0.02em;
      line-height: 1.02;
      color: var(--plum-dark);
    }

    .hero-tagline {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: clamp(1.15rem, 1.9vw, 1.3rem);
      font-weight: 500;
      color: var(--ink-soft);
      line-height: 1.45;
      margin: 30px 0 18px;
      max-width: 560px;
      letter-spacing: -0.005em;
    }
    .hero-sub {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: clamp(1rem, 1.45vw, 1.08rem);
      font-weight: 400;
      color: var(--ink-soft);
      line-height: 1.6;
      margin: 0 0 14px;
      max-width: 560px;
    }
    .hero-sub:last-of-type { margin-bottom: 36px; }

    /* Portraits */
    .portrait {
      margin: 0;
      position: relative;
      overflow: hidden;
      border-radius: 3px;
      background:
        radial-gradient(circle at 28% 22%, rgba(236, 189, 143, 0.32) 0%, transparent 55%),
        radial-gradient(circle at 78% 82%, rgba(10, 4, 18, 0.42) 0%, transparent 62%),
        linear-gradient(152deg, #6B3284 0%, #3E1B4E 55%, #2A1438 100%);
      box-shadow: 0 12px 44px -18px rgba(31, 26, 21, 0.45);
    }
    .portrait::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'><g stroke='%23F3EBDA' stroke-width='1' stroke-linecap='round' stroke-opacity='0.14' fill='none'><line x1='22' y1='30' x2='30' y2='30'/><line x1='88' y1='48' x2='96' y2='48'/><line x1='48' y1='74' x2='56' y2='74'/><line x1='110' y1='96' x2='118' y2='96'/><line x1='70' y1='118' x2='78' y2='118'/></g><g stroke='%23F3EBDA' stroke-width='0.9' stroke-linecap='round' stroke-opacity='0.14' fill='none'><line x1='62' y1='22' x2='66' y2='26'/><line x1='66' y1='22' x2='62' y2='26'/><line x1='118' y1='54' x2='122' y2='58'/><line x1='122' y1='54' x2='118' y2='58'/><line x1='18' y1='100' x2='22' y2='104'/><line x1='22' y1='100' x2='18' y2='104'/></g><g fill='%23C88A3E' fill-opacity='0.42'><circle cx='40' cy='20' r='1.4'/><circle cx='128' cy='32' r='1.4'/><circle cx='78' cy='58' r='1.4'/><circle cx='30' cy='118' r='1.4'/><circle cx='124' cy='130' r='1.4'/></g></svg>");
      background-size: 140px 140px;
      pointer-events: none;
    }
    .portrait::before { content: ""; display: block; }
    .portrait-hero::before { padding-top: 125%; }
    .portrait-wide::before { padding-top: 62%; }

    .portrait img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      z-index: 2;
    }
    .portrait-wide:has(img) { background: transparent; box-shadow: 0 12px 44px -18px rgba(31, 26, 21, 0.45); }
    .portrait-wide:has(img)::before { display: none; }
    .portrait-wide:has(img)::after { display: none; }
    .portrait-wide:has(img) img {
      position: relative;
      inset: auto;
      width: 100%;
      height: auto;
      object-fit: contain;
    }
    .portrait-monogram {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Young Serif', Georgia, serif;
      font-weight: 400;
      font-size: clamp(3.6rem, 8.5vw, 6.4rem);
      color: rgba(243, 235, 218, 0.94);
      letter-spacing: -0.03em;
      pointer-events: none;
      z-index: 1;
    }

    /* CTA */
    .hero-cta {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-weight: 500;
      font-size: 1rem;
      text-decoration: none;
      background: var(--plum-dark);
      color: var(--paper);
      padding: 14px 22px 14px 24px;
      border-radius: 999px;
      letter-spacing: 0.005em;
      box-shadow: 0 10px 28px -14px rgba(42, 20, 56, 0.65);
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    }
    .hero-cta:hover {
      background: var(--plum);
      color: var(--paper);
      transform: translateY(-1px);
      box-shadow: 0 14px 32px -14px rgba(42, 20, 56, 0.7);
    }
    .hero-cta .arrow {
      display: inline-flex;
      width: 22px;
      height: 22px;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: var(--ochre);
      color: var(--plum-deep);
      font-size: 0.85rem;
      font-weight: 600;
      transition: transform 0.2s ease;
    }
    .hero-cta:hover .arrow { transform: translateX(3px); }

    /* Sections */
    section { padding: 72px 0; }

    .eyebrow {
      display: block;
      font-family: 'DM Sans', sans-serif;
      font-size: 0.74rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.22em;
      color: var(--plum);
      margin-bottom: 32px;
    }

    .section-lead { font-size: 1.06rem; margin-bottom: 20px; }

    /* Themed list */
    ul.themed { list-style: none; padding: 0; margin: 0 0 28px 0; }
    ul.themed li {
      position: relative;
      padding: 14px 0 14px 28px;
      border-bottom: 1px solid var(--rule);
      font-size: 1.02rem;
      line-height: 1.55;
    }
    ul.themed li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 22px;
      width: 9px;
      height: 9px;
      background: var(--plum);
      border-radius: 50%;
    }
    ul.themed li:nth-child(2n)::before { background: var(--ochre); }
    ul.themed li:last-child { border-bottom: none; }

    /* Work items */
    .work-item {
      position: relative;
      background: var(--paper-warm);
      border-radius: 12px;
      padding: 34px 36px 32px;
      margin-bottom: 22px;
      border-left: 4px solid var(--plum);
      box-shadow: 0 10px 30px -22px rgba(31,26,21,0.35);
    }
    .work-item:nth-child(odd) { border-left-color: var(--ochre); }
    .work-item:last-child { margin-bottom: 0; }
    .work-item h3 {
      font-family: 'Young Serif', Georgia, serif;
      font-size: clamp(1.5rem, 2.5vw, 1.85rem);
      font-weight: 400;
      margin: 0 0 14px 0;
      letter-spacing: -0.01em;
      color: var(--plum-dark);
    }
    .work-item h3 a {
      text-decoration-color: var(--ochre);
      text-decoration-thickness: 2px;
      text-underline-offset: 6px;
    }
    .work-number {
      position: absolute;
      top: 22px;
      right: 28px;
      font-family: 'Young Serif', Georgia, serif;
      font-size: 0.82rem;
      color: var(--muted);
      letter-spacing: 0.12em;
    }

    .prose p { font-size: 1.04rem; line-height: 1.65; }

    /* Pull-quote band */
    .wax-band {
      position: relative;
      background-color: var(--plum);
      background-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='96' viewBox='0 0 180 96'><g stroke='%23F3EBDA' stroke-width='1.4' stroke-linecap='round' stroke-opacity='0.58' fill='none'><path d='M 6 28 L 12 22 L 18 28 L 24 22 L 30 28 L 36 22 L 42 28 L 48 22 L 54 28 L 60 22 L 66 28 L 72 22 L 78 28 L 84 22 L 90 28 L 96 22 L 102 28 L 108 22 L 114 28 L 120 22 L 126 28 L 132 22 L 138 28 L 144 22 L 150 28 L 156 22 L 162 28 L 168 22 L 174 28'/><path d='M 6 74 L 12 68 L 18 74 L 24 68 L 30 74 L 36 68 L 42 74 L 48 68 L 54 74 L 60 68 L 66 74 L 72 68 L 78 74 L 84 68 L 90 74 L 96 68 L 102 74 L 108 68 L 114 74 L 120 68 L 126 74 L 132 68 L 138 74 L 144 68 L 150 74 L 156 68 L 162 74 L 168 68 L 174 74'/></g><g stroke='%23F3EBDA' stroke-width='1.2' stroke-linecap='round' stroke-opacity='0.52' fill='none'><line x1='22' y1='46' x2='30' y2='54'/><line x1='30' y1='46' x2='22' y2='54'/><line x1='70' y1='46' x2='78' y2='54'/><line x1='78' y1='46' x2='70' y2='54'/><line x1='118' y1='46' x2='126' y2='54'/><line x1='126' y1='46' x2='118' y2='54'/><line x1='166' y1='46' x2='174' y2='54'/><line x1='174' y1='46' x2='166' y2='54'/></g><g stroke='%23F3EBDA' stroke-width='1.3' stroke-linecap='round' stroke-opacity='0.48'><line x1='50' y1='50' x2='58' y2='50'/><line x1='98' y1='50' x2='106' y2='50'/><line x1='146' y1='50' x2='154' y2='50'/></g><g fill='%23C88A3E' fill-opacity='0.85'><circle cx='10' cy='50' r='2'/><circle cx='42' cy='50' r='2'/><circle cx='66' cy='50' r='2'/><circle cx='90' cy='50' r='2'/><circle cx='114' cy='50' r='2'/><circle cx='138' cy='50' r='2'/><circle cx='162' cy='50' r='2'/></g></svg>"),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='96' viewBox='0 0 180 96'><g stroke='%23F3EBDA' stroke-width='1.4' stroke-linecap='round' stroke-opacity='0.58' fill='none'><path d='M 6 28 L 12 22 L 18 28 L 24 22 L 30 28 L 36 22 L 42 28 L 48 22 L 54 28 L 60 22 L 66 28 L 72 22 L 78 28 L 84 22 L 90 28 L 96 22 L 102 28 L 108 22 L 114 28 L 120 22 L 126 28 L 132 22 L 138 28 L 144 22 L 150 28 L 156 22 L 162 28 L 168 22 L 174 28'/><path d='M 6 74 L 12 68 L 18 74 L 24 68 L 30 74 L 36 68 L 42 74 L 48 68 L 54 74 L 60 68 L 66 74 L 72 68 L 78 74 L 84 68 L 90 74 L 96 68 L 102 74 L 108 68 L 114 74 L 120 68 L 126 74 L 132 68 L 138 74 L 144 68 L 150 74 L 156 68 L 162 74 L 168 68 L 174 74'/></g><g stroke='%23F3EBDA' stroke-width='1.2' stroke-linecap='round' stroke-opacity='0.52' fill='none'><line x1='22' y1='46' x2='30' y2='54'/><line x1='30' y1='46' x2='22' y2='54'/><line x1='70' y1='46' x2='78' y2='54'/><line x1='78' y1='46' x2='70' y2='54'/><line x1='118' y1='46' x2='126' y2='54'/><line x1='126' y1='46' x2='118' y2='54'/><line x1='166' y1='46' x2='174' y2='54'/><line x1='174' y1='46' x2='166' y2='54'/></g><g stroke='%23F3EBDA' stroke-width='1.3' stroke-linecap='round' stroke-opacity='0.48'><line x1='50' y1='50' x2='58' y2='50'/><line x1='98' y1='50' x2='106' y2='50'/><line x1='146' y1='50' x2='154' y2='50'/></g><g fill='%23C88A3E' fill-opacity='0.85'><circle cx='10' cy='50' r='2'/><circle cx='42' cy='50' r='2'/><circle cx='66' cy='50' r='2'/><circle cx='90' cy='50' r='2'/><circle cx='114' cy='50' r='2'/><circle cx='138' cy='50' r='2'/><circle cx='162' cy='50' r='2'/></g></svg>");
      background-size: 180px 96px, 180px 96px;
      background-repeat: repeat-x, repeat-x;
      background-position: top left, bottom left;
      border-top: 3px solid var(--ochre);
      border-bottom: 3px solid var(--ochre);
      padding: 148px 0;
      margin: 32px 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .wax-band-inner {
      position: relative;
      z-index: 2;
      max-width: 820px;
      text-align: center;
      padding: 0 28px;
    }
    .wax-quote {
      font-family: 'Young Serif', Georgia, serif;
      font-size: clamp(1.7rem, 3.6vw, 2.6rem);
      font-weight: 400;
      line-height: 1.2;
      letter-spacing: -0.01em;
      color: var(--paper);
      margin: 0;
    }
    .wax-quote .opener { color: var(--ochre); margin-right: 4px; }
    .wax-kicker {
      display: inline-block;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.76rem;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--ochre);
      margin-bottom: 22px;
    }
    .wax-kicker::before,
    .wax-kicker::after {
      content: "";
      display: inline-block;
      width: 22px;
      height: 1.5px;
      background: var(--ochre);
      vertical-align: middle;
      margin: 0 10px;
    }

    /* Image break */
    .image-break { padding: 24px 0 48px; }
    .image-break .portrait-wide { max-width: 880px; margin: 0 auto; }

    /* Opinion section */
    .opinion {
      background-color: var(--plum-deep);
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><g stroke='%23F3EBDA' stroke-width='1.3' stroke-linecap='round' stroke-opacity='0.14' fill='none'><line x1='30' y1='42' x2='44' y2='42'/><line x1='130' y1='62' x2='144' y2='62'/><line x1='66' y1='108' x2='80' y2='108'/><line x1='180' y1='140' x2='194' y2='140'/><line x1='98' y1='172' x2='112' y2='172'/><line x1='32' y1='204' x2='46' y2='204'/><line x1='196' y1='208' x2='210' y2='208'/></g><g stroke='%23F3EBDA' stroke-width='1' stroke-linecap='round' stroke-opacity='0.15' fill='none'><line x1='96' y1='30' x2='104' y2='38'/><line x1='104' y1='30' x2='96' y2='38'/><line x1='186' y1='72' x2='194' y2='80'/><line x1='194' y1='72' x2='186' y2='80'/><line x1='22' y1='142' x2='30' y2='150'/><line x1='30' y1='142' x2='22' y2='150'/><line x1='140' y1='130' x2='148' y2='138'/><line x1='148' y1='130' x2='140' y2='138'/><line x1='164' y1='184' x2='172' y2='192'/><line x1='172' y1='184' x2='164' y2='192'/></g><g stroke='%23F3EBDA' stroke-width='1' fill='none' stroke-linecap='round' stroke-opacity='0.14'><path d='M 52 74 L 57 69 L 62 74 L 67 69 L 72 74'/><path d='M 154 110 L 159 105 L 164 110 L 169 105 L 174 110'/><path d='M 90 206 L 95 201 L 100 206 L 105 201 L 110 206'/></g><g fill='%23C88A3E' fill-opacity='0.36'><circle cx='60' cy='26' r='1.7'/><circle cx='212' cy='40' r='1.7'/><circle cx='118' cy='86' r='1.7'/><circle cx='46' cy='164' r='1.7'/><circle cx='218' cy='108' r='1.7'/><circle cx='184' cy='176' r='1.7'/><circle cx='132' cy='214' r='1.7'/></g></svg>");
      background-size: 240px 240px;
      color: var(--paper);
      padding: 104px 0;
      margin: 32px 0 0;
    }
    .opinion .eyebrow { color: var(--ochre); }
    .opinion-title {
      font-family: 'Young Serif', Georgia, serif;
      font-size: clamp(2rem, 4.6vw, 2.95rem);
      font-weight: 400;
      letter-spacing: -0.015em;
      line-height: 1.12;
      color: var(--paper);
      margin: 0 0 36px 0;
      max-width: 760px;
    }
    .opinion p {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: clamp(1.06rem, 1.5vw, 1.15rem);
      line-height: 1.6;
      color: rgba(243, 235, 218, 0.86);
      margin-bottom: 1.2em;
      max-width: 680px;
    }
    .opinion p.pull {
      color: var(--paper);
      font-weight: 500;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: clamp(1.1rem, 1.65vw, 1.22rem);
      line-height: 1.5;
      letter-spacing: -0.005em;
    }
    .opinion .opinion-list { max-width: 680px; margin-top: 8px; }
    .opinion .opinion-list li {
      color: rgba(243, 235, 218, 0.92);
      border-bottom-color: rgba(243, 235, 218, 0.16);
    }
    .opinion .opinion-list li::before { background: var(--ochre); }
    .opinion .opinion-list li:nth-child(2n)::before { background: var(--plum-soft); }

    /* Interests grid */
    .interests-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px 18px;
      margin: 16px 0 28px;
    }
    .interests-grid .item {
      position: relative;
      padding: 22px 24px 22px 48px;
      background: var(--paper-warm);
      border-radius: 10px;
      font-size: 1.02rem;
      line-height: 1.5;
      box-shadow: 0 6px 18px -14px rgba(31,26,21,0.25);
    }
    .interests-grid .item::before {
      content: "";
      position: absolute;
      left: 22px;
      top: 28px;
      width: 9px;
      height: 9px;
      background: var(--ochre);
      border-radius: 50%;
    }
    .interests-grid .item:nth-child(2n)::before { background: var(--plum); }

    /* Selected experience */
    .experience-list { list-style: none; padding: 0; margin: 14px 0 0; }
    .experience-list li {
      position: relative;
      padding: 20px 24px 20px 28px;
      background: var(--paper-warm);
      border-radius: 10px;
      border-left: 3px solid var(--plum);
      font-size: 1.04rem;
      line-height: 1.5;
      margin-bottom: 10px;
      box-shadow: 0 6px 18px -14px rgba(31,26,21,0.22);
    }
    .experience-list li:nth-child(2n) { border-left-color: var(--ochre); }
    .experience-list li:last-child { margin-bottom: 0; }
    .experience-list em {
      font-style: italic;
      color: var(--plum-dark);
    }

    /* Contact */
    .contact-block { padding: 88px 0 112px; }
    .email-link {
      font-family: 'Young Serif', Georgia, serif;
      font-weight: 400;
      font-size: clamp(1.7rem, 3.6vw, 2.45rem);
      display: inline-block;
      margin-top: 14px;
      text-decoration: none;
      border-bottom: 3px solid var(--plum);
      padding-bottom: 4px;
      line-height: 1.15;
      letter-spacing: -0.015em;
      color: var(--plum-dark);
    }
    .email-link:hover { color: var(--plum); border-color: var(--ochre); }

    footer {
      padding: 36px 0 60px;
      border-top: 1px solid var(--rule);
      font-family: 'DM Sans', system-ui, sans-serif;
      font-style: italic;
      font-size: 0.98rem;
      color: var(--muted);
    }

    @media (max-width: 860px) {
      .hero-grid { grid-template-columns: 1fr; gap: 44px; }
      .portrait-hero { max-width: 380px; margin: 0 auto; }
      .wax-band {
        padding: 112px 0;
        background-size: 140px 76px, 140px 76px;
      }
    }

    @media (max-width: 720px) {
      .interests-grid { grid-template-columns: 1fr; gap: 0; }
    }

    @media (max-width: 600px) {
      body { font-size: 16px; }
      .hero { padding: 48px 0 64px; }
      section { padding: 56px 0; }
      .opinion { padding: 80px 0; }
      .nav { padding: 24px 0 4px; }
      .nav-links { gap: 16px; font-size: 13px; }
      .contact-block { padding: 64px 0 88px; }
      .wax-band {
        padding: 88px 0;
        background-size: 110px 60px, 110px 60px;
      }
      .work-item { padding: 26px 24px 24px; }
      .work-number { top: 18px; right: 20px; font-size: 0.74rem; }
      .experience-list li { padding: 18px 20px; }
      .interests-grid .item { padding: 20px 22px 20px 44px; }
      .interests-grid .item::before { left: 20px; top: 26px; }
    }

    /* ============================================================
       Buttons — shared dual-CTA system
       ============================================================ */
    .cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      align-items: center;
      margin-top: 8px;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-weight: 500;
      font-size: 1rem;
      text-decoration: none;
      padding: 14px 22px 14px 24px;
      border-radius: 999px;
      letter-spacing: 0.005em;
      border: 1.5px solid transparent;
      cursor: pointer;
      transition: background 0.2s, color 0.2s, transform 0.15s, box-shadow 0.2s, border-color 0.2s;
    }
    .btn .arrow {
      display: inline-flex;
      width: 22px;
      height: 22px;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: var(--ochre);
      color: var(--plum-deep);
      font-size: 0.85rem;
      font-weight: 600;
      transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
    }
    .btn:hover .arrow { transform: translateX(3px); }
    .btn-primary {
      background: var(--plum-dark);
      color: var(--paper);
      box-shadow: 0 10px 28px -14px rgba(42, 20, 56, 0.65);
    }
    .btn-primary:hover {
      background: var(--plum);
      color: var(--paper);
      transform: translateY(-1px);
      box-shadow: 0 14px 32px -14px rgba(42, 20, 56, 0.7);
    }
    .btn-secondary {
      background: transparent;
      color: var(--plum-dark);
      border-color: var(--plum);
    }
    .btn-secondary .arrow { background: var(--plum); color: var(--paper); }
    .btn-secondary:hover {
      background: var(--plum);
      color: var(--paper);
      border-color: var(--plum);
      transform: translateY(-1px);
    }
    .btn-secondary:hover .arrow { background: var(--ochre); color: var(--plum-deep); }

    /* ============================================================
       Circle feature block (homepage "Building Circle")
       ============================================================ */
    .circle-feature {
      position: relative;
      overflow: hidden;
      background-color: var(--plum-dark);
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><g stroke='%23F3EBDA' stroke-width='1.3' stroke-linecap='round' stroke-opacity='0.13' fill='none'><line x1='30' y1='42' x2='44' y2='42'/><line x1='130' y1='62' x2='144' y2='62'/><line x1='66' y1='108' x2='80' y2='108'/><line x1='180' y1='140' x2='194' y2='140'/><line x1='98' y1='172' x2='112' y2='172'/><line x1='32' y1='204' x2='46' y2='204'/></g><g stroke='%23F3EBDA' stroke-width='1' stroke-linecap='round' stroke-opacity='0.14' fill='none'><line x1='96' y1='30' x2='104' y2='38'/><line x1='104' y1='30' x2='96' y2='38'/><line x1='186' y1='72' x2='194' y2='80'/><line x1='194' y1='72' x2='186' y2='80'/><line x1='22' y1='142' x2='30' y2='150'/><line x1='30' y1='142' x2='22' y2='150'/></g><g fill='%23C88A3E' fill-opacity='0.32'><circle cx='60' cy='26' r='1.7'/><circle cx='212' cy='40' r='1.7'/><circle cx='118' cy='86' r='1.7'/><circle cx='46' cy='164' r='1.7'/><circle cx='218' cy='108' r='1.7'/><circle cx='184' cy='176' r='1.7'/></g></svg>");
      background-size: 240px 240px;
      border-radius: 16px;
      border-top: 3px solid var(--ochre);
      padding: 56px 52px;
      color: var(--paper);
      box-shadow: 0 18px 50px -28px rgba(42, 20, 56, 0.6);
    }
    .circle-feature .eyebrow { color: var(--ochre); }
    .circle-feature h2 {
      color: var(--paper);
      font-size: clamp(1.9rem, 3.8vw, 2.7rem);
      line-height: 1.12;
      margin: 0 0 24px;
      max-width: 720px;
    }
    .circle-feature p {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: clamp(1.05rem, 1.5vw, 1.16rem);
      line-height: 1.62;
      color: rgba(243, 235, 218, 0.88);
      max-width: 660px;
    }
    .circle-feature .btn-primary {
      background: var(--ochre);
      color: var(--plum-deep);
      margin-top: 22px;
      box-shadow: 0 12px 30px -14px rgba(200, 138, 62, 0.6);
    }
    .circle-feature .btn-primary:hover { background: #d89a4e; color: var(--plum-deep); }
    .circle-feature .btn-primary .arrow { background: var(--plum-dark); color: var(--ochre); }

    /* ============================================================
       Lead work item (Circle, dominant)
       ============================================================ */
    .work-item--lead {
      border-left-color: var(--ochre) !important;
      border-left-width: 5px;
      padding: 44px 44px 40px;
      background:
        radial-gradient(circle at 88% 0%, rgba(200, 138, 62, 0.12) 0%, transparent 48%),
        var(--paper-warm);
      box-shadow: 0 16px 40px -26px rgba(31, 26, 21, 0.4);
    }
    .work-lead-tag {
      display: inline-block;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.72rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--ochre-dark);
      margin-bottom: 14px;
    }
    .work-item--lead h3 {
      font-size: clamp(1.9rem, 3.4vw, 2.5rem);
      margin-bottom: 16px;
    }
    .section-intro {
      font-size: 1.06rem;
      color: var(--ink-soft);
      max-width: 600px;
      margin: 0 0 30px;
    }
    .work-subhead {
      display: block;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.74rem;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--plum);
      margin: 38px 0 18px;
    }

    /* ============================================================
       Impact list (homepage "Selected Impact")
       ============================================================ */
    .impact-list { list-style: none; padding: 0; margin: 14px 0 0; }
    .impact-list li {
      position: relative;
      padding: 22px 26px 22px 52px;
      background: var(--paper-warm);
      border-radius: 10px;
      border-left: 3px solid var(--plum);
      font-size: 1.04rem;
      line-height: 1.55;
      margin-bottom: 12px;
      box-shadow: 0 6px 18px -14px rgba(31, 26, 21, 0.22);
    }
    .impact-list li:nth-child(2n) { border-left-color: var(--ochre); }
    .impact-list li:last-child { margin-bottom: 0; }
    .impact-list li::before {
      content: "";
      position: absolute;
      left: 26px;
      top: 29px;
      width: 9px;
      height: 9px;
      background: var(--plum);
      border-radius: 50%;
    }
    .impact-list li:nth-child(2n)::before { background: var(--ochre); }
    .impact-list strong {
      font-weight: 600;
      color: var(--plum-dark);
    }
    .impact-list em { font-style: italic; color: var(--plum-dark); }

    /* ============================================================
       Circle page — hero statement + numbered sections
       ============================================================ */
    .page-hero { padding: 64px 0 40px; }
    .page-hero .statement {
      font-family: 'Young Serif', Georgia, serif;
      font-size: clamp(2.1rem, 4.8vw, 3.4rem);
      font-weight: 400;
      line-height: 1.12;
      letter-spacing: -0.02em;
      color: var(--plum-dark);
      margin: 0 0 28px;
      max-width: 880px;
    }
    .page-hero .statement .accent { color: var(--ochre-dark); }
    .page-hero .subhead {
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: clamp(1.1rem, 1.7vw, 1.28rem);
      font-weight: 400;
      color: var(--ink-soft);
      line-height: 1.55;
      max-width: 680px;
      margin: 0 0 34px;
    }
    .back-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: 'DM Sans', system-ui, sans-serif;
      font-size: 0.9rem;
      color: var(--muted);
      text-decoration: none;
      margin-bottom: 8px;
    }
    .back-link:hover { color: var(--plum); }
    .numbered { display: block; }
    .numbered .num {
      font-family: 'Young Serif', Georgia, serif;
      font-size: 0.82rem;
      letter-spacing: 0.14em;
      color: var(--ochre-dark);
      margin-bottom: 10px;
      display: block;
    }
    .section-title {
      font-family: 'Young Serif', Georgia, serif;
      font-size: clamp(1.7rem, 3.2vw, 2.3rem);
      font-weight: 400;
      letter-spacing: -0.015em;
      line-height: 1.14;
      color: var(--plum-dark);
      margin: 0 0 22px;
    }
    .priority-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px 16px;
      margin: 18px 0 0;
    }
    .priority-grid .item {
      position: relative;
      padding: 22px 24px 22px 50px;
      background: var(--paper-warm);
      border-radius: 10px;
      font-size: 1.02rem;
      line-height: 1.45;
      box-shadow: 0 6px 18px -14px rgba(31, 26, 21, 0.25);
    }
    .priority-grid .item::before {
      content: "";
      position: absolute;
      left: 24px;
      top: 27px;
      width: 9px;
      height: 9px;
      background: var(--plum);
      border-radius: 50%;
    }
    .priority-grid .item:nth-child(2n)::before { background: var(--ochre); }

    @media (max-width: 720px) {
      .priority-grid { grid-template-columns: 1fr; gap: 10px; }
    }
    @media (max-width: 600px) {
      .circle-feature { padding: 40px 26px; }
      .work-item--lead { padding: 30px 24px 28px; }
      .impact-list li { padding: 20px 22px 20px 46px; }
      .impact-list li::before { left: 22px; top: 27px; }
    }
