
    *, *::before, *::after { box-sizing: border-box; }
    * { margin: 0; }

    :root {
      --gold: #C8A96E;
      --gold-deep: #A8894F;
      --gold-pale: #EFE3C8;
      --white: #FDFCF8;
      --cream: #F7F2EA;
      --paper: #FBF8F2;
      --dark: #1C1714;
      --mid: #5A504A;
      --light: #8A7D75;
      --line: rgba(92, 72, 54, 0.16);
      --serif: 'Cormorant Garamond', Georgia, serif;
      --sans: 'Jost', Arial, sans-serif;
      --page: min(1240px, calc(100% - 96px));
    }

    html { scroll-behavior: smooth; }

    body {
      min-width: 320px;
      background: var(--white);
      color: var(--dark);
      font-family: var(--sans);
      font-size: 16px;
      font-weight: 300;
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

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

    a:focus-visible {
      outline: 2px solid var(--gold-deep);
      outline-offset: 4px;
    }

    .skip-link {
      position: fixed;
      z-index: 1000;
      top: 12px;
      left: 12px;
      padding: 10px 16px;
      background: var(--dark);
      color: var(--white);
      transform: translateY(-160%);
      transition: transform .2s ease;
    }

    .skip-link:focus { transform: translateY(0); }

    .site-header {
      position: relative;
      z-index: 20;
      background: rgba(253, 252, 248, .96);
      border-bottom: 1px solid rgba(200, 169, 110, .22);
    }

    .header-inner {
      width: var(--page);
      min-height: 84px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
    }

    .brand {
      display: inline-flex;
      flex-direction: column;
      align-items: flex-start;
      text-decoration: none;
    }

    .brand img { width: 112px; height: auto; }

    .brand small {
      margin-top: 3px;
      color: var(--gold-deep);
      font-size: 8px;
      font-weight: 500;
      line-height: 1.2;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .header-nav {
      display: flex;
      align-items: center;
      gap: 30px;
    }

    .header-link {
      color: var(--mid);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .15em;
      text-decoration: none;
      text-transform: uppercase;
    }

    .header-link:hover { color: var(--gold-deep); }

    .header-cta,
    .cta-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 13px 25px;
      border: 1px solid var(--gold);
      background: var(--gold);
      color: var(--white);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: .16em;
      line-height: 1.3;
      text-decoration: none;
      text-transform: uppercase;
      transition: background .2s ease, border-color .2s ease, transform .2s ease;
    }

    .header-cta:hover,
    .cta-button:hover {
      background: var(--gold-deep);
      border-color: var(--gold-deep);
      transform: translateY(-1px);
    }

    .breadcrumb-wrap {
      width: var(--page);
      margin: 0 auto;
      padding: 22px 0;
    }

    .breadcrumb ol {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      padding: 0;
      list-style: none;
      color: var(--light);
      font-size: 11px;
      font-weight: 400;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .breadcrumb li + li::before {
      content: '—';
      margin-right: 8px;
      color: var(--gold);
    }

    .breadcrumb a { text-decoration: none; }
    .breadcrumb a:hover { color: var(--gold-deep); }

    .hero {
      width: var(--page);
      min-height: 650px;
      margin: 0 auto 108px;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(380px, .85fr);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .hero-copy {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 76px 72px 76px 0;
    }

    .hero-copy::after {
      content: '';
      position: absolute;
      top: 44px;
      right: 0;
      bottom: 44px;
      width: 1px;
      background: linear-gradient(to bottom, transparent, var(--gold), transparent);
    }

    .eyebrow {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 26px;
      color: var(--gold-deep);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: .21em;
      line-height: 1.4;
      text-transform: uppercase;
    }

    .eyebrow::before {
      content: '';
      width: 32px;
      height: 1px;
      background: var(--gold);
    }

    h1 {
      max-width: 690px;
      font-family: var(--serif);
      font-size: clamp(52px, 5.1vw, 76px);
      font-weight: 300;
      letter-spacing: -.035em;
      line-height: .99;
    }

    h1 em { color: var(--gold-deep); font-weight: 300; }

    .hero-lead {
      max-width: 600px;
      margin-top: 34px;
      color: var(--mid);
      font-family: var(--serif);
      font-size: clamp(22px, 2vw, 28px);
      font-style: italic;
      line-height: 1.42;
    }

    .hero-meta {
      display: flex;
      gap: 26px;
      margin-top: 42px;
      color: var(--light);
      font-size: 10px;
      font-weight: 500;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .hero-media {
      min-height: 650px;
      padding-left: 42px;
    }

    .hero-media figure {
      position: relative;
      height: 100%;
      overflow: hidden;
      background: var(--cream);
    }

    .hero-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 62% center;
    }

    .hero-media figcaption {
      position: absolute;
      right: 18px;
      bottom: 18px;
      padding: 7px 11px;
      background: rgba(253, 252, 248, .86);
      color: var(--mid);
      font-size: 9px;
      font-weight: 400;
      letter-spacing: .09em;
      line-height: 1.3;
      text-transform: uppercase;
    }

    .article-layout {
      width: min(1080px, calc(100% - 96px));
      margin: 0 auto;
      display: grid;
      grid-template-columns: 220px minmax(0, 760px);
      gap: 80px;
      align-items: start;
    }

    .toc {
      position: sticky;
      top: 28px;
      padding-top: 6px;
    }

    .toc-label {
      margin-bottom: 18px;
      color: var(--gold-deep);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
    }

    .toc ol {
      padding: 0;
      border-top: 1px solid var(--line);
      list-style: none;
      counter-reset: toc;
    }

    .toc li { counter-increment: toc; border-bottom: 1px solid var(--line); }

    .toc a {
      display: grid;
      grid-template-columns: 24px 1fr;
      gap: 8px;
      padding: 12px 0;
      color: var(--mid);
      font-size: 11px;
      line-height: 1.45;
      text-decoration: none;
    }

    .toc a::before {
      content: counter(toc, decimal-leading-zero);
      color: var(--gold);
      font-family: var(--serif);
      font-size: 13px;
    }

    .toc a:hover { color: var(--gold-deep); }

    .article-body {
      min-width: 0;
      padding-bottom: 106px;
    }

    .article-intro {
      margin-bottom: 70px;
      padding-bottom: 50px;
      border-bottom: 1px solid var(--line);
    }

    .article-intro p:first-child::first-letter {
      float: left;
      margin: 9px 12px 0 0;
      color: var(--gold-deep);
      font-family: var(--serif);
      font-size: 74px;
      line-height: .62;
    }

    .article-body p {
      margin-top: 22px;
      color: var(--mid);
      font-size: 16px;
      line-height: 1.88;
    }

    .article-body section {
      scroll-margin-top: 26px;
      margin-top: 76px;
    }

    .article-body h2 {
      max-width: 700px;
      font-family: var(--serif);
      font-size: clamp(37px, 4vw, 48px);
      font-weight: 400;
      letter-spacing: -.02em;
      line-height: 1.08;
    }

    .article-body h2::before {
      content: '';
      display: block;
      width: 34px;
      height: 1px;
      margin-bottom: 20px;
      background: var(--gold);
    }

    .article-body ul {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0 36px;
      margin-top: 30px;
      padding: 0;
      border-top: 1px solid var(--line);
      list-style: none;
    }

    .article-body li {
      position: relative;
      padding: 13px 0 13px 20px;
      border-bottom: 1px solid var(--line);
      color: var(--mid);
      font-size: 14px;
      line-height: 1.55;
    }

    .article-body li::before {
      content: '';
      position: absolute;
      top: 22px;
      left: 0;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--gold);
    }

    .answer {
      color: var(--gold-deep) !important;
      font-family: var(--serif);
      font-size: 28px !important;
      font-style: italic;
      line-height: 1.35 !important;
    }

    .future-link-note {
      position: relative;
      display: block;
      margin: 34px 0 0;
      padding: 24px 28px;
      border-left: 2px solid var(--gold);
      background: var(--paper);
      color: var(--mid);
      font-family: var(--serif);
      font-size: 21px;
      font-style: italic;
      line-height: 1.5;
    }

    .local-section {
      padding: 46px;
      background: var(--cream);
    }

    .local-section h2::before { margin-top: 0; }

    .article-cta {
      position: relative;
      margin-top: 86px;
      padding: 58px 60px;
      overflow: hidden;
      background: var(--dark);
      color: var(--white);
    }

    .article-cta::after {
      content: '';
      position: absolute;
      width: 260px;
      height: 260px;
      right: -120px;
      bottom: -160px;
      border: 1px solid rgba(200, 169, 110, .35);
      border-radius: 50%;
      box-shadow: 0 0 0 38px rgba(200, 169, 110, .05), 0 0 0 76px rgba(200, 169, 110, .035);
    }

    .article-cta .eyebrow { color: var(--gold); }
    .article-cta h2 { max-width: 540px; color: var(--white); }
    .article-cta h2::before { display: none; }

    .article-cta p {
      position: relative;
      z-index: 1;
      max-width: 570px;
      color: rgba(253, 252, 248, .74);
    }

    .article-cta .cta-button {
      position: relative;
      z-index: 1;
      margin-top: 30px;
    }

    .author-box {
      margin-top: 38px;
      padding: 30px 0;
      display: grid;
      grid-template-columns: 86px 1fr;
      gap: 26px;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }

    .author-monogram {
      width: 78px;
      height: 78px;
      display: grid;
      place-items: center;
      border: 1px solid var(--gold);
      border-radius: 50%;
      color: var(--gold-deep);
      font-family: var(--serif);
      font-size: 30px;
      font-style: italic;
    }

    .author-label {
      color: var(--gold-deep);
      font-size: 9px;
      font-weight: 500;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .author-name {
      margin-top: 3px;
      font-family: var(--serif);
      font-size: 28px;
      line-height: 1.2;
    }

    .author-credential {
      margin-top: 4px;
      color: var(--mid);
      font-size: 13px;
    }

    .author-dates {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 22px;
      margin-top: 10px;
      color: var(--light);
      font-size: 10px;
      font-weight: 400;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .medical-note {
      margin-top: 28px;
      color: var(--light) !important;
      font-size: 12px !important;
      font-style: italic;
      line-height: 1.65 !important;
    }

    .site-footer {
      padding: 40px 0;
      background: var(--dark);
      color: rgba(253, 252, 248, .55);
    }

    .footer-inner {
      width: var(--page);
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }

    .footer-inner img {
      width: 96px;
      opacity: .62;
      filter: brightness(2);
    }

    .footer-copy {
      text-align: right;
      font-size: 10px;
      letter-spacing: .08em;
      line-height: 1.7;
      text-transform: uppercase;
    }

    .footer-service-link { color: #E5C994; text-decoration: underline; text-underline-offset: 4px; }

    @media (max-width: 980px) {
      :root { --page: min(100% - 48px, 760px); }

      .hero {
        min-height: auto;
        grid-template-columns: 1fr;
      }

      .hero-copy {
        padding: 64px 0 58px;
      }

      .hero-copy::after { display: none; }

      .hero-media {
        min-height: 560px;
        padding: 0 0 24px;
      }

      .article-layout {
        width: min(760px, calc(100% - 48px));
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .toc { position: static; }
      .toc ol { display: grid; grid-template-columns: repeat(2, 1fr); }
      .toc li:nth-child(odd) { padding-right: 18px; }
      .toc li:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line); }
    }

    @media (max-width: 640px) {
      :root { --page: calc(100% - 36px); }

      body { font-size: 15px; }

      .header-inner { min-height: 72px; }
      .brand img { width: 96px; }
      .brand small { display: none; }
      .header-nav { gap: 12px; }
      .header-link { display: none; }
      .header-cta { min-height: 40px; padding: 10px 15px; font-size: 9px; }

      .breadcrumb-wrap { padding: 17px 0; }

      .hero { margin-bottom: 74px; }
      .hero-copy { padding: 48px 0 44px; }
      .eyebrow { margin-bottom: 20px; }
      h1 { font-size: clamp(46px, 14vw, 60px); }
      .hero-lead { margin-top: 26px; font-size: 21px; }
      .hero-meta { flex-direction: column; gap: 5px; margin-top: 30px; }
      .hero-media { min-height: 440px; }
      .hero-media img { object-position: 60% center; }
      .hero-media figcaption { right: 10px; bottom: 34px; }

      .article-layout { width: calc(100% - 36px); gap: 44px; }
      .toc ol { grid-template-columns: 1fr; }
      .toc li:nth-child(odd),
      .toc li:nth-child(even) { padding: 0; border-left: 0; }

      .article-intro { margin-bottom: 58px; padding-bottom: 40px; }
      .article-body section { margin-top: 62px; }
      .article-body p { font-size: 15px; }
      .article-body ul { grid-template-columns: 1fr; }
      .local-section { margin-left: -18px; margin-right: -18px; padding: 38px 22px; }
      .future-link-note { padding: 20px 22px; font-size: 19px; }

      .article-cta {
        margin-left: -18px;
        margin-right: -18px;
        padding: 44px 26px;
      }

      .author-box { grid-template-columns: 64px 1fr; gap: 18px; }
      .author-monogram { width: 60px; height: 60px; font-size: 25px; }
      .author-name { font-size: 24px; }
      .author-dates { flex-direction: column; gap: 2px; }

      .footer-inner { flex-direction: column; align-items: flex-start; }
      .footer-copy { text-align: left; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: .01ms !important; }
    }
  
.hero.hero-editorial { display: block; min-height: 0; margin-bottom: 70px; border-bottom: 1px solid var(--line); }
.hero-editorial .hero-copy { padding: 62px 0 64px; }
.hero-editorial .hero-copy::after { display: none; }
.hero-editorial h1 { max-width: 960px; line-height: 1.06; }
.hero-editorial .hero-lead { max-width: 720px; }
.related-articles { border-top: 1px solid var(--line); padding-top: 32px; }
.related-articles a { text-underline-offset: 5px; }
@media(max-width:640px) {
  .hero-editorial .hero-copy { padding: 34px 0 42px; }
  .hero-editorial h1 { font-size: clamp(39px, 11vw, 56px); }
  .hero.hero-editorial { margin-bottom: 44px; }
}

.hero.hero-editorial { margin-bottom: 0; border-bottom: 0; }
.article-cover { width: var(--page); margin: 0 auto 80px; }
.article-cover img { display: block; width: 100%; height: auto; max-height: 510px; object-fit: cover; }
@media(max-width:640px) { .article-cover { margin-bottom: 46px; } .article-cover img { min-height: 220px; object-fit: cover; } }
