:root {
      color-scheme: light;
      --forest: #162a20;
      --pine: #244232;
      --moss: #3a5944;
      --gold: #b9995c;
      --gold-light: #e6d4a6;
      --parchment: #f6f0e2;
      --paper: #fffaf0;
      --ink: #1d3025;
      --muted: #657265;
      --line: #dcd1b9;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--parchment);
      color: var(--ink);
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    a { color: inherit; }
    a:focus-visible { outline: 3px solid #d6a94d; outline-offset: 4px; border-radius: 3px; }
    .container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
    .serif { font-family: Georgia, "Times New Roman", serif; }

    /* The same logo masthead and navigation structure used on the homepage. */
    .site-masthead { background: #fbf8f1; }
    .site-masthead a { display: flex; align-items: center; justify-content: center; padding: 22px 20px 25px; min-height: 245px; }
    .site-masthead img { display: block; width: min(520px, 90vw); max-height: 205px; height: auto; object-fit: contain; }
    .site-nav { position: sticky; top: 0; z-index: 50; min-height: 64px; display: flex; align-items: center; justify-content: center; background: #253d30; padding: 10px 24px; box-shadow: 0 3px 16px #0000001a; }
    .site-nav-links { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px; }
    .site-nav-links a { color: #fff; font: 600 13px/1.4 Arial, Helvetica, sans-serif; text-decoration: none; }
    .site-nav-links a:hover, .site-nav-links a[aria-current="page"] { color: #e5c78e; }
    .site-nav-links a[aria-current="page"] { text-decoration: underline; text-decoration-color: #e5c78e; text-underline-offset: 7px; }
    .site-nav-links .nav-contact { background: #253d30; border: 1px solid #b89a65; border-radius: 3px; padding: 11px 15px; color: #fff; }
    .site-nav-links .nav-contact:hover { background: #365141; color: #fff; }
    .site-nav-toggle { display: none; background: none; border: none; padding: 6px 12px; color: #fff; font-size: 27px; cursor: pointer; }
    .site-nav-toggle:focus-visible { outline: 3px solid #e5c78e; }

    .hero {
      overflow: hidden;
      background:
        radial-gradient(circle at 79% 11%, rgba(188,153,89,.16), transparent 31%),
        linear-gradient(150deg, #203b2c 0%, #162a20 66%, #10221a 100%);
      color: #fbf4e5;
    }
    .hero-inner {
      display: grid;
      grid-template-columns: 1fr .93fr;
      gap: clamp(36px, 6vw, 88px);
      align-items: center;
      min-height: 570px;
      padding-block: 78px 92px;
    }
    .eyebrow {
      display: flex;
      align-items: center;
      gap: 14px;
      color: var(--gold-light);
      font-size: .7rem;
      font-weight: 750;
      text-transform: uppercase;
      letter-spacing: .21em;
    }
    .eyebrow::before { content: ""; width: 34px; height: 1px; background: var(--gold); }
    .hero h1 {
      max-width: 660px;
      margin: 27px 0 25px;
      font: 400 clamp(3.7rem, 6.4vw, 6.4rem)/.99 Georgia, "Times New Roman", serif;
      letter-spacing: -.065em;
    }
    .hero h1 em { display: block; color: var(--gold-light); font-weight: 400; }
    .hero p {
      max-width: 520px;
      margin: 0;
      color: #d8dfd5;
      font-size: 1.06rem;
      line-height: 1.78;
    }
    .hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 36px; }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      gap: 11px;
      border-radius: 3px;
      padding: 13px 21px;
      font-size: .88rem;
      font-weight: 750;
      text-decoration: none;
      transition: transform .2s ease, background .2s ease;
    }
    .button:hover { transform: translateY(-2px); }
    .button-primary { background: var(--gold-light); color: #1a3023; }
    .button-primary:hover { background: #f5e6bf; }
    .button-secondary { color: #f1e8d1; border: 1px solid rgba(230,212,166,.48); }
    .button-secondary:hover { background: rgba(230,212,166,.08); }

    .landscape-frame {
      position: relative;
      isolation: isolate;
      width: 100%;
      aspect-ratio: 9 / 10;
      border: 1px solid rgba(230,212,166,.45);
      border-radius: 50% 50% 6px 6px / 34% 34% 6px 6px;
      overflow: hidden;
      background: #beac79;
      box-shadow: 17px 21px 0 -8px rgba(174,146,91,.12), 0 25px 60px rgba(0,0,0,.23);
    }
    .landscape-frame::after {
      position: absolute;
      z-index: 1;
      content: "";
      inset: 9px;
      border: 1px solid rgba(255,248,221,.42);
      border-radius: inherit;
      pointer-events: none;
    }
    .landscape-frame svg { width: 100%; height: 100%; display: block; }
    .source-hero-art {
      position: absolute;
      z-index: 1;
      inset: 0;
      overflow: hidden;
    }
    .source-hero-art img {
      position: absolute;
      display: block;
      width: 350%;
      height: auto;
      max-width: none;
      right: 0;
      top: 5%;
      transform: translateY(-5%);
    }
    .source-hero-art::after {
      position: absolute;
      inset: 0;
      content: "";
      background: linear-gradient(180deg, rgba(21,39,27,.01) 55%, rgba(14,36,22,.4) 100%);
    }
    .landscape-caption {
      position: absolute;
      z-index: 2;
      right: 0;
      bottom: 0;
      left: 0;
      padding: 43px 20px 23px;
      color: #f9f0db;
      background: linear-gradient(transparent, rgba(16,35,25,.85));
      font-size: .62rem;
      font-weight: 750;
      letter-spacing: .25em;
      text-align: center;
      text-transform: uppercase;
    }

    .qualifications {
      scroll-margin-top: 76px;
      position: relative;
      padding-block: 100px 112px;
      background:
        radial-gradient(ellipse at 95% 5%, rgba(186,160,108,.16), transparent 30%),
        radial-gradient(ellipse at 0% 95%, rgba(186,160,108,.12), transparent 25%),
        var(--parchment);
    }
    .section-intro { max-width: 700px; margin-bottom: 48px; }
    .section-intro .eyebrow { color: #765f34; }
    .section-intro h2 {
      margin: 18px 0 15px;
      color: var(--forest);
      font: 400 clamp(2.7rem, 5vw, 4.4rem)/1.09 Georgia, "Times New Roman", serif;
      letter-spacing: -.052em;
    }
    .section-intro p { margin: 0; color: #596658; font-size: 1rem; line-height: 1.75; }
    .cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
    .qualification-card {
      position: relative;
      overflow: hidden;
      padding: 235px clamp(28px, 3.4vw, 50px) clamp(28px, 3.4vw, 50px);
      background:
        radial-gradient(circle at 100% 0%, rgba(188,156,89,.12), transparent 45%),
        var(--paper);
      border: 1px solid #ded4bc;
      box-shadow: 0 17px 40px rgba(43,51,34,.065);
    }
    .artwork-strip {
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      height: 190px;
      overflow: hidden;
      border-bottom: 1px solid rgba(185,153,92,.4);
    }
    .artwork-strip img {
      position: absolute;
      display: block;
      width: 220%;
      height: auto;
      max-width: none;
      right: 0;
    }
    .artwork-strip--deer img { top: 47%; transform: translateY(-47%); }
    .artwork-strip--gate img { top: 86%; transform: translateY(-86%); }
    .artwork-strip::after {
      position: absolute;
      inset: 0;
      content: "";
      background: linear-gradient(0deg, rgba(246,240,226,.2), transparent 65%);
    }
    .qualification-card::before {
      position: absolute;
      top: 10px; right: 10px; bottom: 10px; left: 10px;
      content: "";
      border: 1px solid rgba(185,153,92,.25);
      pointer-events: none;
    }
    .qualification-card h3 {
      position: relative;
      display: inline-block;
      max-width: 100%;
      margin: 0 0 20px;
      padding-bottom: 17px;
      color: var(--forest);
      font: 400 clamp(2.35rem, 3.4vw, 3.5rem)/1.08 Georgia, "Times New Roman", serif;
      letter-spacing: -.055em;
    }
    .qualification-card h3::after { position: absolute; bottom: 0; left: 0; width: 90%; height: 2px; content: ""; background: #ad8c4e; }
    .qualification-list { position: relative; list-style: none; margin: 0; padding: 0; }
    .qualification-list li {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      padding: 13px 0;
      border-bottom: 1px solid rgba(41,67,45,.11);
      color: #1e3127;
      font-size: clamp(.95rem, 1.22vw, 1.05rem);
      line-height: 1.5;
    }
    .qualification-list li:last-child { border-bottom: 0; }
    .qual-icon {
      display: inline-grid;
      flex: 0 0 34px;
      height: 34px;
      place-items: center;
      border-radius: 50%;
      background: var(--forest);
      color: #f0e3bd;
    }
    .qual-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
    .qualification-list .qual-name { padding-top: 4px; }
    .qualification-list a { text-decoration-color: #ba9a55; text-underline-offset: 4px; text-decoration-thickness: 1px; }
    .qualification-list a:hover { color: #876522; }
    .external-mark { font-size: .8em; white-space: nowrap; }

    .closing {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 50% 120%, rgba(125,149,102,.25), transparent 50%),
        var(--forest);
      color: #f9f1e0;
      text-align: center;
      padding-block: 78px 88px;
    }
    .closing::before, .closing::after {
      position: absolute;
      content: "";
      width: 340px;
      height: 340px;
      border: 1px solid rgba(230,212,166,.09);
      border-radius: 50%;
      top: -190px;
    }
    .closing::before { left: -140px; }
    .closing::after { right: -140px; }
    .small-divider { width: 56px; height: 2px; margin: 0 auto 26px; background: var(--gold); }
    .closing h2 {
      max-width: 790px;
      margin: 0 auto 20px;
      font: 400 clamp(2.05rem, 4.1vw, 3.6rem)/1.19 Georgia, "Times New Roman", serif;
      letter-spacing: -.039em;
    }
    .closing p { max-width: 680px; margin: 0 auto 31px; color: #d5dfd3; font-size: 1.02rem; line-height: 1.75; }
    .site-footer { padding: 24px 0; background: #102017; color: #c1c9bd; }
    .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: .75rem; }
    .site-footer a { color: #dfcea7; text-underline-offset: 3px; }
    @media (max-width: 760px) {
      .site-masthead a { min-height: 170px; padding: 18px 16px; }
      .site-masthead img { width: min(365px, 90vw); max-height: 140px; }
      .site-nav { justify-content: flex-end; min-height: 65px; padding: 10px 22px; }
      .site-nav-toggle { display: block; }
      .site-nav-links { display: none; }
      .site-nav-links.open { position: absolute; top: 100%; left: 0; right: 0; display: flex; flex-direction: column; align-items: stretch; background: #253d30; padding: 20px 24px; gap: 18px; box-shadow: 0 12px 20px #0002; }
    }

    @media (max-width: 900px) {
      .hero-inner { grid-template-columns: 1fr .8fr; min-height: 0; gap: 30px; }
      .hero h1 { font-size: clamp(3.15rem, 6.1vw, 4.8rem); }
      .qualification-card { padding: 235px 26px 30px; }
    }
    @media (max-width: 720px) {
      .container { width: min(100% - 32px, 560px); }
      .hero-inner { display: flex; flex-direction: column; align-items: stretch; padding-block: 66px 64px; }
      .hero h1 { font-size: clamp(3.5rem, 12vw, 5.2rem); }
      .hero p { font-size: .99rem; }
      .landscape-frame { max-width: 440px; aspect-ratio: 11 / 9; margin: 18px auto 0; border-radius: 48% 48% 6px 6px / 48% 48% 6px 6px; }
      .qualifications { padding-block: 70px 75px; }
      .section-intro { margin-bottom: 33px; }
      .cards { grid-template-columns: 1fr; gap: 22px; }
      .qualification-card { padding: 220px 29px 31px; }
      .qualification-card h3 { font-size: clamp(2.6rem, 9vw, 3.25rem); }
      .closing { padding-block: 68px 75px; }
    }
    @media (max-width: 400px) {
      .hero h1 { font-size: 3.14rem; }
      .hero-actions { flex-direction: column; align-items: stretch; }
      .qualification-card { padding: 220px 22px 28px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .button { transition: none; }
    }
    @media print {
      .site-masthead, .site-nav, .hero-actions, .closing .button, .site-footer { display: none; }
      .hero { color: #17291e; background: white; }
      .hero p, .hero h1 em { color: #17291e; }
      .hero-inner { min-height: 0; padding: 22px 0; }
      .landscape-frame { display: none; }
      .qualifications { padding: 20px 0; }
      .qualification-card { break-inside: avoid; box-shadow: none; }
    }
