:root {
  color-scheme: light;
  --paper: #fbf8f1;
  --ink: #112e30;
  --body: #505b65;
  --green: #205c40;
  --tan: #a77d59;
  --line: #e9e2d6;
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--body); font: 18px/1.6 var(--sans); }
a { color: var(--green); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }
h1, h2, h3, .brand { color: var(--ink); font-family: var(--serif); font-weight: 500; }
h1, h2, h3, p { margin-top: 0; }
.container { width: min(100%, 1248px); padding-inline: 48px; margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--line); }
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 14px; font-size: 27px; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.brand img { display: block; width: 62px; height: 62px; }
.site-nav { display: flex; align-items: center; gap: 38px; }
.site-nav a { color: #28343d; font-size: 16px; text-decoration: none; }
.site-nav a:hover, .site-nav a[aria-current="page"] { text-decoration: underline; }
.menu-toggle { display: none; color: var(--ink); border: 0; background: transparent; padding: 10px; cursor: pointer; }
.menu-toggle span { display: block; width: 22px; height: 2px; margin-block: 4px; background: currentColor; }
.hero { position: relative; overflow: hidden; background: radial-gradient(ellipse at 74% 20%, #fffcf2 0%, transparent 48%), radial-gradient(ellipse at 10% 0%, #e6ddcf 0%, transparent 68%), linear-gradient(115deg, #f0e8db, #fcf6e9 65%, #e8dfce); }
.hero::before, .hero::after { content: ""; position: absolute; pointer-events: none; background: url("assets/leaf-branch.svg") right top / contain no-repeat; width: 330px; height: 440px; opacity: .42; }
.hero::before { right: -40px; top: -75px; }
.hero::after { right: -72px; bottom: -320px; transform: rotate(-29deg); opacity: .32; }
.hero-inner { min-height: 580px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; position: relative; z-index: 1; padding-block: 75px; }
.hero h1 { font-size: clamp(46px, 5.3vw, 76px); line-height: 1.12; letter-spacing: -2.2px; margin-bottom: 20px; }
.tagline { color: var(--ink); font: 40px/1.25 var(--serif); margin-bottom: 32px; letter-spacing: -.7px; }
.hero-description { max-width: 820px; font-size: 25px; line-height: 1.5; margin-bottom: 0; }
.home-content { padding-block: 80px 86px; }
.home-content h2 { font-size: 43px; line-height: 1.2; margin-bottom: 22px; }
.home-content p { font-size: 21px; line-height: 1.6; margin-bottom: 0; }
.contact { margin-top: 94px; }
.contact::before, .faq::before { content: ""; display: block; width: 42px; height: 1px; background: var(--tan); margin-bottom: 36px; }
.contact h2 { font-size: 36px; }
.contact .contact-email { margin-top: 6px; }
.contact .location { margin-top: 16px; }
.site-footer { border-top: 1px solid var(--line); }
.footer-inner { min-height: 94px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding-block: 22px; font: 16px/1.6 var(--serif); }
.footer-inner p { margin: 0; }
.footer-links { display: flex; align-items: center; gap: 28px; }
.footer-link-pair, .footer-email-group { display: inline-flex; align-items: center; gap: 28px; white-space: nowrap; }
.footer-links a { color: #39444c; text-decoration: none; }
.footer-links a:hover { text-decoration: underline; }
.footer-dot { color: var(--tan); }
.document { max-width: 1000px; padding-block: 58px 66px; }
.document h1 { font-size: 48px; line-height: 1.15; letter-spacing: -1px; margin-bottom: 18px; }
.document h2 { font-size: 27px; line-height: 1.3; margin-bottom: 10px; }
.document p { margin-bottom: 0; }
.last-updated { color: #29383d; margin-bottom: 28px !important; }
.policy-section { margin-top: 30px; }
.support-subtitle { color: var(--ink); font: 28px/1.35 var(--serif); margin-bottom: 28px !important; }
.support-intro { max-width: 820px; }
.support-box { background: #f3ede2; border-radius: 12px; padding: 30px 28px; margin-top: 38px; }
.support-box h2 { font-size: 26px; margin-bottom: 16px; }
.support-email { display: flex; align-items: center; gap: 14px; font-size: 21px; }
.support-email img { width: 28px; height: 24px; flex-shrink: 0; }
.support-box .response-time { font-size: 16px; margin-top: 24px; }
.faq { margin-top: 44px; }
.faq::before { margin-bottom: 28px; }
.faq h2 { font-size: 30px; margin-bottom: 28px; }
.faq ol { margin: 0; padding-left: 24px; }
.faq li { padding-left: 5px; margin-bottom: 34px; }
.faq li:last-child { margin-bottom: 0; }
.faq h3 { font-size: 22px; line-height: 1.4; margin-bottom: 8px; }
.error-page { min-height: calc(100vh - 183px); }
.error-page p + p { margin-top: 24px; }
@media (max-width: 760px) {
  body { font-size: 16px; line-height: 1.55; }
  .container { padding-inline: 24px; }
  .header-inner { min-height: 76px; flex-wrap: wrap; gap: 0; padding-block: 10px; }
  .brand { font-size: 18px; gap: 8px; }
  .brand img { width: 45px; height: 45px; }
  .site-nav { width: 100%; justify-content: flex-start; gap: 25px; padding-block: 10px 3px; }
  .site-nav a { font-size: 15px; }
  .js .menu-toggle { display: block; }
  .js .site-nav { display: none; }
  .js .menu-toggle[aria-expanded="true"] + .site-nav { display: flex; }
  .hero-inner { min-height: 400px; padding-block: 60px; }
  .hero h1 { max-width: 310px; font-size: 42px; line-height: 1.08; letter-spacing: -1.3px; margin-bottom: 16px; }
  .hero h1 span { display: block; }
  .tagline { max-width: 270px; font-size: 28px; line-height: 1.15; letter-spacing: -.5px; margin-bottom: 24px; }
  .hero-description { max-width: 310px; font-size: 18px; line-height: 1.55; }
  .hero::before { width: 200px; height: 270px; top: -35px; right: -75px; opacity: .35; }
  .hero::after { display: none; }
  .home-content { padding-block: 42px 50px; }
  .home-content h2 { font-size: 32px; margin-bottom: 16px; }
  .home-content p { font-size: 16px; line-height: 1.6; }
  .contact { margin-top: 46px; }
  .contact::before { width: 34px; margin-bottom: 28px; }
  .contact .contact-email { margin-top: 12px; }
  .contact .location { margin-top: 18px; font-size: 15px; }
  .footer-inner { min-height: 130px; display: block; padding-block: 22px; font: 13px/1.7 var(--sans); }
  .footer-links { flex-wrap: wrap; gap: 4px 18px; margin-top: 6px; }
  .footer-link-pair, .footer-email-group { gap: 18px; }
  .footer-email-group { flex-basis: 100%; }
  .footer-email-group .footer-dot { display: none; }
  .document { padding-block: 32px 44px; }
  .document h1 { font-size: 36px; margin-bottom: 14px; }
  .last-updated { margin-bottom: 24px !important; }
  .document h2 { font-size: 24px; margin-bottom: 8px; }
  .policy-section { margin-top: 28px; }
  .support-subtitle { font-size: 24px; margin-bottom: 24px !important; }
  .support-box { margin-top: 28px; padding: 24px 18px; }
  .support-box h2 { font-size: 23px; }
  .support-email { font-size: 15px; gap: 10px; }
  .support-email img { width: 25px; height: 22px; }
  .support-box .response-time { font-size: 14px; margin-top: 16px; padding-left: 35px; }
  .faq { margin-top: 26px; }
  .faq::before { width: 34px; margin-bottom: 20px; }
  .faq h2 { font-size: 25px; margin-bottom: 22px; }
  .faq h3 { font-size: 19px; }
  .faq li { padding-left: 2px; margin-bottom: 26px; }
  .error-page { min-height: calc(100vh - 207px); }
}
@media (max-width: 359px) {
  .container { padding-inline: 18px; }
  .brand { font-size: 16px; }
  .support-email { font-size: 13px; }
}
