/* Fonts: self-hosted subsets. Sora has no Cyrillic, so Cyrillic headings use Inter; Arabic script uses Noto Sans Arabic under both names. */
@font-face{font-family:"Sora";src:url("/fonts/Sora-600-latin.woff2") format("woff2");font-weight:600;font-display:swap;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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sora";src:url("/fonts/Sora-600-latin-ext.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:"Sora";src:url("/fonts/Inter-600-cyrillic.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sora";src:url("/fonts/Inter-600-cyrillic-ext.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Sora";src:url("/fonts/NotoSansArabic-600.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Sora";src:url("/fonts/Sora-700-latin.woff2") format("woff2");font-weight:700;font-display:swap;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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sora";src:url("/fonts/Sora-700-latin-ext.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:"Sora";src:url("/fonts/Inter-600-cyrillic.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sora";src:url("/fonts/Inter-600-cyrillic-ext.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Sora";src:url("/fonts/NotoSansArabic-700.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Inter";src:url("/fonts/Inter-400-latin.woff2") format("woff2");font-weight:400;font-display:swap;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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url("/fonts/Inter-400-latin-ext.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:"Inter";src:url("/fonts/Inter-400-cyrillic.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";src:url("/fonts/Inter-400-cyrillic-ext.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Inter";src:url("/fonts/NotoSansArabic-400.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Inter";src:url("/fonts/Inter-600-latin.woff2") format("woff2");font-weight:600;font-display:swap;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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url("/fonts/Inter-600-latin-ext.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:"Inter";src:url("/fonts/Inter-600-cyrillic.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter";src:url("/fonts/Inter-600-cyrillic-ext.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Inter";src:url("/fonts/NotoSansArabic-600.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Sora";src:url("/fonts/Inter-600-greek.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Sora";src:url("/fonts/Inter-600-greek-ext.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+1F00-1FFF}
@font-face{font-family:"Sora";src:url("/fonts/NotoSansGeorgian-600.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+2D00-2D2F}
@font-face{font-family:"Sora";src:url("/fonts/Inter-600-greek.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Sora";src:url("/fonts/Inter-600-greek-ext.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+1F00-1FFF}
@font-face{font-family:"Sora";src:url("/fonts/NotoSansGeorgian-700.woff2") format("woff2");font-weight:700;font-display:swap;unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+2D00-2D2F}
@font-face{font-family:"Inter";src:url("/fonts/Inter-400-greek.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Inter";src:url("/fonts/Inter-400-greek-ext.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+1F00-1FFF}
@font-face{font-family:"Inter";src:url("/fonts/NotoSansGeorgian-400.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+2D00-2D2F}
@font-face{font-family:"Inter";src:url("/fonts/Inter-600-greek.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"Inter";src:url("/fonts/Inter-600-greek-ext.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+1F00-1FFF}
@font-face{font-family:"Inter";src:url("/fonts/NotoSansGeorgian-600.woff2") format("woff2");font-weight:600;font-display:swap;unicode-range:U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+2D00-2D2F}
/* Japanese uses the system CJK font (Hiragino, Yu Gothic, Noto Sans CJK). */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#F7F5F0}
img{max-width:100%}
a{color:#1B2A57}a:hover{color:#C8102E}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #8EA6F0;outline-offset:2px}
section[id]{scroll-margin-top:84px}
.site-header{position:sticky;top:0;z-index:10}

/* Mobile menu toggle */
.menu-toggle{display:none;width:44px;height:44px;border:1px solid #E2DED4;border-radius:12px;background:#FFFFFF;align-items:center;justify-content:center;cursor:pointer;padding:0}
.menu-toggle .i-close{display:none}
.menu-toggle[aria-expanded="true"] .i-open{display:none}
.menu-toggle[aria-expanded="true"] .i-close{display:inline}

/* Donation widget states */
.freq{background:transparent;color:#1B2A57}
.freq[aria-pressed="true"]{background:#1B2A57;color:#FFFFFF}
.amt{background:#FFFFFF;color:#1B2A57;border:1px solid #8A92AB}
.amt[aria-pressed="true"]{background:#1B2A57;color:#FFFFFF;border-color:#1B2A57}
.form-note{margin:0;font-size:14px;line-height:20px;font-weight:600}

/* Language menu */
.site-header > div{justify-content:flex-start !important}
.site-header > div > a:first-child{order:0;margin-inline-end:auto}
.lang-menu{order:3;position:relative;font-size:15px;font-weight:600}
.site-nav{order:2}
.menu-toggle{order:4}
.lang-menu summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid #E2DED4;border-radius:12px;cursor:pointer;color:#1B2A57;background:#FFFFFF}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu[open] summary{border-color:#1B2A57}
.lang-menu ul{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:20;margin:0;padding:8px;list-style:none;background:#FFFFFF;border:1px solid #E2DED4;border-radius:12px;box-shadow:0 12px 32px rgba(15,23,48,.16);display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:2px;width:max-content;max-width:calc(100vw - 32px);max-height:70vh;overflow:auto}
.lang-menu li a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:#1B2A57;font-weight:500}
.lang-menu li a:hover{background:#F7F5F0;color:#C8102E}
.lang-menu li a[aria-current]{background:#1B2A57;color:#FFFFFF}
.lang-menu li a[dir="rtl"]{text-align:right}

/* Japanese: system CJK fonts, no faux-bold squeeze, natural line breaks */
:lang(ja) body,:lang(ja) [style*="font-family"]{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP","Noto Sans JP",Meiryo,system-ui,sans-serif !important}
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) p{line-break:strict;word-break:auto-phrase;letter-spacing:0 !important}

/* Right-to-left languages */
[dir="rtl"] body,[dir="rtl"] .site-nav,[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3{letter-spacing:0 !important}
[dir="rtl"] p[style*="uppercase"]{letter-spacing:0 !important}
[dir="rtl"] .h1{line-height:1.45 !important}
[dir="rtl"] .h2,[dir="rtl"] .belief{line-height:1.6 !important}
[dir="rtl"] .site-header img,[dir="rtl"] footer img{direction:ltr}

@media (max-width: 860px){
  .menu-toggle{display:flex}
  .site-header > div > a:first-child{margin-inline-end:auto}
  .lang-menu{order:1}
  .lang-menu summary span{display:none}
  .menu-toggle{order:2}
  .site-nav{order:3}
  .lang-menu ul{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100vw - 32px)}
  .site-header > div{padding:12px 16px !important}
  .site-logo{height:40px !important}
  .site-nav{display:none !important;flex:1 0 100%;flex-direction:column;align-items:stretch !important;gap:0 !important;font-size:17px !important;border-top:1px solid #E2DED4;padding-top:8px}
  .site-nav.open{display:flex !important}
  .site-nav a{padding:12px 0 !important;border-bottom:1px solid #E2DED4}
  .site-nav a[href="#donate"]{border-bottom:0;text-align:center;margin-top:12px;padding:13px !important}
}
@media (max-width: 640px){
  .hero > div{padding:44px 20px 52px !important;gap:24px !important;flex-direction:column-reverse;align-items:flex-start !important}
  .hero-tulip{width:120px !important}
  .hero > div > div:last-child{flex:0 0 auto !important;justify-content:flex-start !important}
  .h1{font-size:34px !important;line-height:40px !important}
  .h2{font-size:28px !important;line-height:34px !important}
  .belief{font-size:22px !important;line-height:31px !important}
  .band{padding-left:20px !important;padding-right:20px !important;padding-top:56px !important;padding-bottom:56px !important}
  .band article,#donate-form,#newsletter,#involved > div > div{padding:24px !important}
  #help .h2{font-size:28px !important}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
