:root {
  color-scheme: light;
  --ink: #0b0b0b;
  --muted: #555;
  --focus: #1a1a1a;
}
* { box-sizing: border-box; }
html { background: #fff; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--ink); background: #fff; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
a { color: inherit; }
.hero { display: block; width: 100%; height: auto; overflow: hidden; border-bottom: 1px solid #f0f0f0; background: #fff; }
.hero picture { display: block; width: 100%; height: auto; overflow: hidden; }
.hero-art { display: block; width: 100%; max-width: none; height: auto; object-fit: contain; object-position: center center; }
.home-main { display: flex; flex-direction: column; align-items: center; padding: 120px 24px 0; text-align: center; }
.statement { margin: 0 0 128px; font-family: "Brush Script MT", "Segoe Script", "Apple Chancery", cursive; font-size: 40px; line-height: 1.2; font-weight: 400; letter-spacing: 0; }
.divisions { display: flex; flex-direction: column; align-items: flex-start; gap: 29px; width: max-content; max-width: 100%; margin-inline: auto; font-size: 27px; line-height: 1.18; font-weight: 400; text-align: left; }
.divisions span { white-space: nowrap; }
.social-grid { display: grid; grid-template-columns: repeat(10, 24px); justify-content: center; gap: 37px; margin-top: 128px; }
.social-icon { display: grid; width: 24px; height: 24px; place-items: center; color: #3f3f3f; text-decoration: none; transition: opacity 140ms ease, color 140ms ease; }
.social-icon svg { display: block; width: 24px; height: 24px; fill: currentColor; }
.social-icon[aria-disabled="true"] { cursor: default; }
.social-icon[href]:hover,.social-icon[href]:focus-visible { color: #111; opacity: .7; }
.social-icon[href]:focus-visible,.footer-links a:focus-visible,.subpage-home:focus-visible { outline: 2px solid var(--focus); outline-offset: 5px; border-radius: 2px; }
.site-footer { padding: 136px 24px 42px; color: var(--muted); text-align: center; font-size: 12px; line-height: 1.4; }
.footer-links { display: flex; justify-content: center; gap: 22px; margin-bottom: 23px; }
.footer-links a { text-decoration: none; transition: color 140ms ease; }
.footer-links a:hover { color: #111; }
.site-footer p { margin: 0; }
.subpage { min-height: 100vh; display: flex; flex-direction: column; }
.subpage-header { padding: 36px clamp(24px, 5vw, 72px); border-bottom: 1px solid #f1f1f1; }
.subpage-home { display: inline-block; text-decoration: none; }
.subpage-logo { display: block; width: 218px; max-width: 65vw; height: auto; }
.legal-main { width: min(680px, calc(100% - 48px)); margin: 0 auto; padding: 92px 0 72px; flex: 1; }
.legal-main h1 { margin: 0 0 54px; font-size: 28px; line-height: 1.2; font-weight: 600; letter-spacing: -.01em; }
.legal-main h2 { margin: 40px 0 12px; font-size: 15px; line-height: 1.4; font-weight: 600; }
.legal-main p,.legal-main li { color: #333; font-size: 14px; line-height: 1.75; }
.legal-main p { margin: 0 0 18px; }
.legal-main ul { margin: 0 0 20px; padding-left: 20px; }
.legal-main .effective { color: #777; font-size: 12px; margin-top: -34px; margin-bottom: 46px; }
.legal-main a { text-underline-offset: 3px; }
.subpage .site-footer { padding-top: 36px; }
@media (max-width: 640px) {
  .hero { width: 100%; height: auto; min-height: 0; padding: 0; overflow: hidden; }
  .hero picture { display: block; width: 100%; height: auto; overflow: hidden; }
  .hero-art { display: block; width: 100%; max-width: none; height: auto; object-fit: contain; object-position: center center; }
  .home-main { padding-top: 84px; }
  .statement { margin-bottom: 86px; font-size: 32px; }
  .divisions { gap: 28px; font-size: 20px; }
  .social-grid { grid-template-columns: repeat(5, 22px); column-gap: 30px; row-gap: 28px; margin-top: 96px; }
  .social-icon { width: 22px; height: 22px; }
  .social-icon svg { width: 20px; height: 20px; }
  .site-footer { padding-top: 100px; padding-bottom: 38px; font-size: 12px; }
  .footer-links { gap: 20px; }
  .subpage-header { padding: 28px 24px; }
  .subpage-logo { width: 190px; }
  .legal-main { padding-top: 72px; }
  .legal-main h1 { font-size: 26px; margin-bottom: 48px; }
}
@media (max-width: 360px) { .statement { font-size: 28px; } .divisions { font-size: 18px; } .social-grid { column-gap: 24px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; } }
