/* Existing licensed local DM Sans subsets; botanical headings remain serif. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url('fonts/dm-sans-3.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url('fonts/dm-sans-4.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
body { font-family: 'DM Sans', Arial, sans-serif; }
:is(.nav-links a, .menu, .button, .eyebrow, .branch-number, .area-rail b,
    .symbol-list small, .g-jump a, .g-occasion-grid span, .g-reading-grid span,
    .g-planning-grid article > span) { font-family: 'DM Sans', Arial, sans-serif; }
:is(h1, h2, h3, h4, .logo, .area-rail a, .symbol-list span, .calendar-grid span,
    .trust strong, .split .lead, .g-process span) { font-family: Georgia, serif; }

:root { --site-nav-offset: 94px; }
main[id], section[id] { scroll-margin-top: calc(var(--site-nav-offset) + 12px); }
.site-header nav { position: relative; }
.nav-links { flex-shrink: 0; }
:is(a, button, summary):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
.skip { z-index: 1001; }

.legal-hero { padding-block: 66px 42px; background: var(--cream); }
.legal-hero h1 { margin: 0; color: var(--green); font-size: clamp(2.4rem, 5vw, 3.7rem); line-height: 1.15; }
.legal-content { max-width: 820px; padding-block: 52px 72px; }
.legal-content h2 { margin: 38px 0 14px; font-size: clamp(1.35rem, 2.5vw, 1.7rem); line-height: 1.3; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content p { margin-bottom: 20px; }
.legal-content a { overflow-wrap: anywhere; text-underline-offset: 3px; }
.legal-content .back { margin-top: 18px; }
.legal-page .nav-links a { text-transform: none; font-size: .95rem; letter-spacing: 0; }

@media (max-width: 1100px) {
  .site-header nav { min-height: 78px; }
  .brand-emblem { width: 60px; height: 60px; }
  .menu { display: block; flex: none; }
  .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 10px 20px 16px;
    background: #fffefa;
    border: 1px solid var(--line);
    box-shadow: 0 9px 14px #0002;
  }
  .nav-links.open { display: flex; }
  .nav-links a { display: block; padding: 10px 0; font-size: .85rem; }
}
@media (max-width: 760px) {
  :root { --site-nav-offset: 68px; }
  .site-header nav { min-height: 68px; gap: 16px; }
  .logo { font-size: clamp(1.08rem, 4.6vw, 1.35rem); gap: 8px; }
  .brand-emblem { width: 47px; height: 47px; }
  .legal-hero { padding-block: 42px 30px; }
  .legal-content { padding-block: 36px 52px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
