  :root {
    --canvas: #F7F5F0;
    --surface: #EAE5DC;
    --hairline: #E4DECF;
    --forest: #5C8A4A;
    --ink: #2A2A27;
    --ink-2: #6B6B67;
    --ink-3: #A8A8A3;
  }
  * { box-sizing: border-box; }
  html, body {
    margin: 0; padding: 0;
    background: var(--canvas);
    color: var(--ink);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  body { padding-top: 67px; }
  html { scroll-padding-top: 67px; }
  a { color: inherit; text-decoration: none; }
  .container { max-width: 1240px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 720px) { .container { padding: 0 22px; } }
  main { max-width: 680px; margin: 0 auto; padding: 56px 28px 80px; }
  h1 {
    font-size: clamp(34px, 5vw, 46px); font-weight: 700;
    letter-spacing: -0.03em; line-height: 1.1; color: var(--forest); margin: 0 0 36px;
  }
  h2 {
    font-size: 20px; font-weight: 600; letter-spacing: -0.015em;
    color: var(--ink); margin: 40px 0 12px;
  }
  p { font-size: 16px; line-height: 1.65; margin: 0 0 16px; text-wrap: pretty; }
  strong { font-weight: 600; }
  ul { margin: 0 0 16px; padding: 0; list-style: none; }
  li {
    position: relative; padding-left: 22px;
    font-size: 16px; line-height: 1.6; margin-bottom: 10px; text-wrap: pretty;
  }
  li::before {
    content: ""; position: absolute; left: 2px; top: 10px;
    width: 6px; height: 6px; border-radius: 99px; background: var(--forest);
  }
  a.link { color: var(--forest); font-weight: 500; }
  code {
    background: var(--surface); padding: 3px 8px; border-radius: 6px;
    font-size: 14px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  }
  .addr { color: var(--ink-2); line-height: 1.7; }
  .note {
    margin-top: 44px; padding-top: 20px;
    border-top: 0.5px solid var(--hairline);
    font-size: 13px; color: var(--ink-3);
  }
        .nav-toggle { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 44px; height: 44px; margin: -8px -10px -8px 0; padding: 0; background: transparent; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
        .nav-toggle span { display: block; width: 21px; height: 2px; border-radius: 2px; background: rgb(58, 92, 46); transition: transform 220ms ease, opacity 140ms ease; }
        .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        .nav-toggle.is-open span:nth-child(2) { opacity: 0; }
        .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
        .mobile-menu { display: none; border-top: 0.5px solid rgb(228, 222, 207); background: rgb(247, 245, 240); padding: 6px 0 10px; }
        .mobile-menu.open { display: block; }
        .m-link { display: block; padding: 13px 32px; font-size: 16px; font-weight: 500; color: rgb(58, 92, 46); letter-spacing: -0.01em; text-decoration: none; }
        .m-link + .m-link { border-top: 0.5px solid rgb(228, 222, 207); }
        @media (max-width: 880px) {
          .nav-links { display: none !important; }
          .nav-toggle { display: flex !important; }
        }
        @media (min-width: 881px) { .mobile-menu { display: none !important; } }
        @media (max-width: 720px) { .m-link { padding-left: 22px; padding-right: 22px; } }
      

/* Hoisted from former inline style attributes; appended last to keep the cascade. */
.l0 { position: fixed; top: 0px; left: 0px; right: 0px; z-index: 50; background: rgb(247, 245, 240); border-bottom: 0.5px solid rgb(228, 222, 207) }
.l1 { display: flex; justify-content: space-between; align-items: center; padding: 16px 32px }
.l2 { display: flex; align-items: center; gap: 10px }
.l3 { display: block; flex-shrink: 0 }
.l4 { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 17px; font-weight: 600; letter-spacing: -0.02em; color: rgb(58, 92, 46) }
.l5 { display: flex; align-items: center; gap: 28px }
.l6 { font-size: 13px; font-weight: 500; color: rgb(58, 92, 46); transition: color 160ms }
.l7 { display: flex; align-items: center; gap: 14px }
.l8 { font-size: 13px; font-weight: 600; color: rgb(247, 245, 240); background: rgb(58, 92, 46); padding: 9px 16px; border-radius: 99px; letter-spacing: -0.005em }
.l9 { background: rgb(247, 245, 240); border-top: 0.5px solid rgb(228, 222, 207) }
.l10 { padding: 24px 32px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap }
.l11 { display: flex; align-items: center; gap: 12px }
.l12 { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 600; letter-spacing: -0.02em; color: rgb(42, 42, 39) }
.l13 { font-size: 13px; color: rgb(168, 168, 163); margin-left: 12px }
.l14 { display: flex; gap: 24px }
.l15 { font-size: 13px; color: rgb(107, 107, 103) }

/* Site footer (public-launch content update). Existing footer palette; layout only. */
.np-footer { background: rgb(247, 245, 240); border-top: 0.5px solid rgb(228, 222, 207); }
.np-footer__inner { max-width: 1240px; margin: 0 auto; padding: 24px 32px; display: flex; flex-direction: column; gap: 6px; }
.np-footer__brand { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: rgb(42, 42, 39); }
.np-footer__line { font-size: 13px; line-height: 1.5; color: rgb(168, 168, 163); }
.np-footer a { color: rgb(107, 107, 103); }
@media (max-width: 720px) { .np-footer__inner { padding: 22px; } }
