@charset "UTF-8";
:root { color-scheme: light; --paper: #f8f5ed; --ink: #273e31; --muted: #56645a; --line: #d8dece; --accent: #ffcca0; }
* { box-sizing: border-box; }
html { scroll-padding-top: 30px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 17px/1.7 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid #a54e17; outline-offset: 5px; border-radius: 3px; }
.skip { position: absolute; left: 12px; top: -80px; padding: 12px 20px; background: white; z-index: 2; }
.skip:focus { top: 12px; }
header, main, footer { max-width: 1180px; margin: auto; padding-inline: 48px; }
header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 26px; }
.brand { display: flex; gap: 12px; align-items: center; font-size: 19px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.brand img { border-radius: 12px; }
.brand-sub { display: block; font-size: 11px; font-weight: 500; color: var(--muted); margin-top: 4px; letter-spacing: .035em; }
nav { display: flex; gap: 24px; font-size: 14px; }
nav a { display: inline-flex; min-height: 44px; align-items: center; text-decoration: none; }
nav a[aria-current] { text-decoration: underline; }
.hero { margin-top: 30px; padding: 56px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 30px; align-items: center; background: #e8eddf; border-radius: 32px; }
.eyebrow { font-size: 11px; letter-spacing: .15em; font-weight: 750; }
h1 { font-size: clamp(42px, 5.4vw, 68px); letter-spacing: -.05em; font-weight: 650; line-height: 1.08; margin: 15px 0 22px; }
.intro { max-width: 440px; font-size: 21px; line-height: 1.5; }
.hero-note { font-size: 14px; color: var(--muted); }
.button { display: inline-flex; gap: 24px; align-items: center; padding: 13px 22px; margin-top: 15px; background: var(--ink); color: white; border-radius: 30px; font-size: 14px; font-weight: 600; text-decoration: none; }
.hero-art { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.hero-art img { width: 180px; height: 180px; border-radius: 40px; image-rendering: auto; transform: rotate(5deg); box-shadow: 0 16px 36px #273e3115; }
.hero-art span { font-size: 12px; color: var(--muted); }
.document-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 64px; padding-block: 64px 80px; }
aside { align-self: start; position: sticky; top: 32px; }
aside a { display: block; min-height: 44px; padding-block: 8px; font-size: 14px; }
.aside-note { font-size: 12px; color: var(--muted); margin-top: 26px; }
.prose { min-width: 0; max-width: 740px; overflow-wrap: anywhere; }
.prose > :first-child { margin-top: 0; }
.prose p { margin-block: 0 20px; }
.prose h2 { font-size: 25px; line-height: 1.3; letter-spacing: -.025em; margin: 48px 0 18px; padding-top: 30px; border-top: 1px solid var(--line); }
.prose h2:first-child { margin-top: 0; }
.prose h3 { font-size: 19px; line-height: 1.4; margin-top: 28px; }
.prose li { margin-bottom: 12px; }
.prose ul { padding-left: 22px; }
.legal-heading { padding-top: 64px; border-bottom: 1px solid var(--line); padding-bottom: 32px; }
.legal-heading h1 { font-size: clamp(38px, 5vw, 60px); }
.legal-heading > p:last-child { color: var(--muted); }
footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding-block: 28px; font-size: 12px; color: var(--muted); }
@media (max-width: 760px) {
  header, main, footer { padding-inline: 24px; }
  header { flex-wrap: wrap; gap: 14px; padding-block: 18px; }
  nav { gap: 22px; }
  .hero { padding: 32px; margin-top: 12px; grid-template-columns: 1fr; gap: 32px; }
  .hero-art { display: none; }
  .intro { font-size: 19px; }
  .document-layout { grid-template-columns: 1fr; gap: 32px; padding-block: 36px 56px; }
  aside { position: static; border-bottom: 1px solid var(--line); padding-bottom: 22px; }
  aside .eyebrow, .aside-note { display: none; }
  aside a { display: inline-flex; margin-right: 18px; align-items: center; }
  .prose h2 { font-size: 23px; }
  .legal-heading { padding-top: 30px; }
}
