[hidden] { display: none !important; }
:root {
  --navy: #20366f;
  --navy-2: #162854;
  --green: #9ebd45;
  --green-dark: #6f8d27;
  --gold: #d9ad46;
  --ink: #1e2736;
  --muted: #667085;
  --cream: #f7f5ed;
  --cream-2: #fbfaf5;
  --white: #ffffff;
  --line: #e5e3d9;
  --shadow: 0 18px 50px rgba(32, 54, 111, 0.12);
  --shadow-sm: 0 9px 28px rgba(32, 54, 111, 0.09);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 14px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream-2);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }

.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.section { padding: 92px 0; }
.section-sm { padding: 62px 0; }
.section-soft { background: var(--cream); }
.section-navy { background: var(--navy); color: white; }
.section-title {
  max-width: 760px;
  margin-bottom: 38px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  font-size: .76rem;
  letter-spacing: .14em;
  font-weight: 800;
  color: var(--green-dark);
  margin-bottom: 14px;
}
.eyebrow::before { content: ""; width: 26px; height: 2px; background: currentColor; }
h1, h2, h3, h4 { margin: 0 0 14px; line-height: 1.08; color: var(--navy-2); }
h1, h2 { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
h1 { font-size: clamp(2.7rem, 6vw, 5.8rem); }
h2 { font-size: clamp(2.15rem, 4vw, 3.65rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 18px; }
.lead { font-size: clamp(1.08rem, 1.8vw, 1.3rem); color: #536071; max-width: 780px; }
.muted { color: var(--muted); }
.small { font-size: .9rem; }

.announcement {
  background: var(--navy-2);
  color: white;
  font-size: .88rem;
  text-align: center;
  padding: 9px 16px;
}
.announcement a { color: #d7ea98; font-weight: 800; text-decoration: none; margin-left: 8px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(32, 54, 111, .08);
  background: rgba(251, 250, 245, .92);
  backdrop-filter: blur(16px);
}
.nav-wrap { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; min-width: 306px; flex: 0 0 auto; }
.brand img { width: 54px; height: 54px; flex: 0 0 auto; }
.brand-text strong { display: block; color: var(--navy-2); font-family: Georgia, serif; font-size: 1.02rem; line-height: 1.1; white-space: nowrap; }
.brand-text span { display: block; color: var(--muted); font-size: .76rem; letter-spacing: .07em; text-transform: uppercase; margin-top: 3px; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: 2px; min-width: 0; }
.site-nav a { text-decoration: none; color: #38445a; font-size: .88rem; font-weight: 700; padding: 9px 8px; border-radius: 10px; white-space: nowrap; }
.site-nav a:hover, .site-nav a.active { color: var(--navy); background: rgba(32, 54, 111, .07); }
.nav-cta { background: var(--green) !important; color: var(--navy-2) !important; padding-inline: 13px !important; box-shadow: 0 8px 20px rgba(111, 141, 39, .2); }
.nav-cta:hover { background: var(--green-dark) !important; color: white !important; }
.menu-button { display: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: rgba(32,54,111,.08); color: var(--navy); align-items: center; justify-content: center; cursor: pointer; }
.menu-button svg { width: 24px; }

.hero { padding: 72px 0 86px; overflow: hidden; position: relative; }
.hero::after { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: rgba(158,189,69,.12); top: -180px; left: -180px; z-index: -1; }
.hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 58px; align-items: center; }
.hero-copy h1 span { color: var(--green-dark); }
.hero-copy .lead { max-width: 670px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 34px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 0 20px; border-radius: 999px; border: 1px solid transparent; text-decoration: none; font-weight: 800; transition: .2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--navy); color: white; box-shadow: 0 10px 24px rgba(32,54,111,.22); }
.btn-primary:hover { background: var(--navy-2); }
.btn-secondary { background: white; border-color: #d9dce4; color: var(--navy); }
.btn-secondary:hover { border-color: #b8c2d8; }
.btn-green { background: var(--green); color: #172244; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 16px 28px; color: #536071; font-size: .93rem; font-weight: 700; }
.hero-meta span { display: inline-flex; align-items: center; gap: 8px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.hero-visual { position: relative; }
.hero-visual img { width: 100%; filter: drop-shadow(0 24px 38px rgba(32,54,111,.13)); }
.floating-card { position: absolute; background: white; border: 1px solid rgba(32,54,111,.09); border-radius: 18px; box-shadow: var(--shadow-sm); padding: 16px 18px; max-width: 220px; }
.floating-card strong { display: block; color: var(--navy); font-size: 1rem; }
.floating-card span { color: var(--muted); font-size: .84rem; }
.floating-one { left: -18px; bottom: 28px; }
.floating-two { right: -8px; top: 35px; }

.stat-strip { border-block: 1px solid var(--line); background: white; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { padding: 27px 20px; text-align: center; border-right: 1px solid var(--line); }
.stat:last-child { border-right: 0; }
.stat strong { display: block; font-family: Georgia, serif; color: var(--navy); font-size: 1.8rem; }
.stat span { color: var(--muted); font-size: .88rem; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card { background: white; border: 1px solid rgba(32,54,111,.08); border-radius: var(--radius-lg); padding: 28px; box-shadow: var(--shadow-sm); }
.card-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: rgba(158,189,69,.16); color: var(--navy); margin-bottom: 20px; }
.card-icon svg { width: 25px; height: 25px; }
.card p { color: #5d6877; }
.card-link { color: var(--navy); font-weight: 800; text-decoration: none; }
.card-link:hover { text-decoration: underline; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.split-card { background: white; border-radius: var(--radius-xl); padding: 42px; box-shadow: var(--shadow-sm); border: 1px solid rgba(32,54,111,.07); }
.values { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.value { padding: 16px; border-radius: 14px; background: var(--cream); }
.value strong { color: var(--navy); display: block; margin-bottom: 4px; }

.quote { padding: 34px; border-left: 5px solid var(--green); background: white; border-radius: 0 20px 20px 0; box-shadow: var(--shadow-sm); }
.quote p { font-family: Georgia, serif; font-size: 1.35rem; color: var(--navy-2); }

.quick-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.quick-link { display: block; background: white; border: 1px solid rgba(32,54,111,.08); border-radius: 16px; padding: 20px; text-decoration: none; font-weight: 800; color: var(--navy); box-shadow: 0 8px 20px rgba(32,54,111,.05); }
.quick-link span { display: block; color: var(--muted); font-size: .82rem; font-weight: 600; margin-top: 5px; }
.quick-link:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }

.cta-band { background: var(--navy); color: white; border-radius: var(--radius-xl); padding: 50px; display: flex; align-items: center; justify-content: space-between; gap: 32px; overflow: hidden; position: relative; }
.cta-band::after { content: ""; position: absolute; width: 240px; height: 240px; border: 55px solid rgba(158,189,69,.28); border-radius: 50%; right: -80px; top: -80px; }
.cta-band h2 { color: white; font-size: clamp(2rem, 3.5vw, 3.2rem); }
.cta-band p { color: #d6dced; max-width: 650px; }
.cta-band .btn { position: relative; z-index: 1; flex-shrink: 0; }

.page-hero { padding: 66px 0 58px; background: linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%); border-bottom: 1px solid var(--line); }
.page-hero h1 { font-size: clamp(2.6rem, 5vw, 4.6rem); max-width: 860px; }
.breadcrumbs { font-size: .86rem; color: var(--muted); margin-bottom: 20px; }
.breadcrumbs a { color: var(--navy); text-decoration: none; font-weight: 700; }

.content-grid { display: grid; grid-template-columns: 1.5fr .65fr; gap: 48px; align-items: start; }
.prose h2 { font-size: 2rem; margin-top: 36px; }
.prose h3 { margin-top: 28px; }
.prose ul, .prose ol { padding-left: 1.3rem; }
.prose li { margin-bottom: 8px; }
.sidebar-card { position: sticky; top: 112px; background: var(--navy); color: white; border-radius: 22px; padding: 28px; }
.sidebar-card h3 { color: white; }
.sidebar-card p { color: #d7dced; }
.sidebar-card a { color: white; }

.steps { counter-reset: step; display: grid; gap: 16px; }
.step { counter-increment: step; display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; background: white; padding: 22px; border: 1px solid var(--line); border-radius: 18px; }
.step::before { content: counter(step); width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--navy); color: white; font-weight: 900; }
.step h3 { margin: 2px 0 8px; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 8px 26px rgba(32,54,111,.05); }
table { border-collapse: collapse; width: 100%; min-width: 680px; }
th, td { padding: 16px 18px; text-align: left; border-bottom: 1px solid var(--line); }
th { background: #f0f3e4; color: var(--navy-2); font-size: .83rem; text-transform: uppercase; letter-spacing: .06em; }
tr:last-child td { border-bottom: 0; }
.price { color: var(--navy); font-weight: 900; white-space: nowrap; }
.data-updated { color: var(--muted); font-size: .82rem; margin-top: 12px; }

.notice { padding: 18px 20px; border-radius: 14px; background: #f7efd8; border: 1px solid #ead49a; color: #604b17; }
.notice strong { color: #44340d; }

.menu-week { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.menu-day { min-height: 190px; background: white; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: 0 8px 20px rgba(32,54,111,.045); }
.menu-day h3 { background: var(--navy); color: white; margin: 0; padding: 14px 16px; font-size: 1rem; }
.menu-day .menu-body { padding: 16px; }
.menu-day .date { color: var(--green-dark); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.menu-day .meal { margin-top: 10px; font-weight: 700; color: #344055; }
.empty-state { text-align: center; padding: 52px 24px; border: 1px dashed #c8cdd9; background: white; border-radius: 20px; }
.empty-state strong { display: block; color: var(--navy); font-size: 1.15rem; }

.resource-list { display: grid; gap: 12px; }
.resource-row { display: flex; justify-content: space-between; gap: 20px; align-items: center; background: white; border: 1px solid var(--line); border-radius: 16px; padding: 18px 20px; }
.resource-row strong { color: var(--navy); }
.resource-row a { text-decoration: none; color: var(--navy); font-weight: 800; }

.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 24px; }
.contact-card { background: white; padding: 28px; border: 1px solid var(--line); border-radius: 20px; }
.contact-card h3 { margin-bottom: 8px; }
.contact-item { padding: 16px 0; border-bottom: 1px solid var(--line); }
.contact-item:last-child { border-bottom: 0; }
.contact-item span { display: block; color: var(--muted); font-size: .82rem; }
.contact-item a { color: var(--navy); font-weight: 800; text-decoration: none; }
.map-card { border-radius: 20px; overflow: hidden; min-height: 410px; background: linear-gradient(135deg,#dfe7b8,#e7ecf6); display: grid; place-items: center; position: relative; }
.map-card::before { content: ""; position: absolute; inset: 8%; border: 2px dashed rgba(32,54,111,.22); border-radius: 48% 52% 44% 56%; transform: rotate(-7deg); }
.map-label { position: relative; z-index: 1; text-align: center; background: white; border-radius: 18px; box-shadow: var(--shadow-sm); padding: 24px; max-width: 300px; }

.site-footer { background: #14234a; color: #d7dced; padding: 60px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 1.35fr .85fr 1fr .85fr 1.2fr; gap: 28px; }
.footer-brand { display: flex; gap: 14px; align-items: center; margin-bottom: 18px; }
.footer-brand img { width: 62px; height: 62px; }
.footer-brand strong { color: white; font-family: Georgia, serif; font-size: 1.1rem; }
.site-footer h4 { color: white; margin-bottom: 16px; }
.site-footer a { color: #d7dced; text-decoration: none; }
.site-footer a:hover { color: white; }
.footer-links { display: grid; gap: 9px; font-size: .92rem; }
.footer-bottom { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); display: flex; justify-content: space-between; gap: 20px; font-size: .82rem; color: #aeb7cb; }

.skip-link { position: absolute; left: -999px; top: 0; background: white; color: var(--navy); padding: 10px; z-index: 100; }
.skip-link:focus { left: 10px; top: 10px; }

@media (max-width: 1040px) {
  .site-nav { position: fixed; top: 119px; left: 20px; right: 20px; display: none; flex-direction: column; align-items: stretch; padding: 14px; border-radius: 18px; background: white; box-shadow: var(--shadow); border: 1px solid var(--line); }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 12px 14px; }
  .menu-button { display: inline-flex; }
  .hero-grid, .split, .content-grid, .contact-grid { grid-template-columns: 1fr; }
  .hero-visual { max-width: 690px; margin-inline: auto; }
  .sidebar-card { position: static; }
  .card-grid { grid-template-columns: 1fr 1fr; }
  .quick-links { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .menu-week { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .container { width: min(calc(100% - 28px), var(--max)); }
  .section { padding: 68px 0; }
  .section-sm { padding: 48px 0; }
  .announcement { font-size: .79rem; }
  .nav-wrap { height: 72px; }
  .brand { min-width: 0; flex: 0 1 auto; }
  .brand img { width: 47px; height: 47px; }
  .brand-text strong { font-size: .98rem; }
  .brand-text span { display: none; }
  .site-nav { top: 108px; left: 14px; right: 14px; }
  .hero { padding: 48px 0 62px; }
  .hero-grid { gap: 38px; }
  h1 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .hero-actions .btn { width: 100%; }
  .floating-card { display: none; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .card-grid, .quick-links, .values, .menu-week { grid-template-columns: 1fr; }
  .split-card { padding: 28px; }
  .cta-band { padding: 34px 26px; align-items: flex-start; flex-direction: column; }
  .page-hero { padding: 46px 0 40px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
  .resource-row { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}


/* Donation + language */
.lang-switch { border: 1px solid rgba(32,54,111,.16); padding-inline: 10px !important; font-weight: 800 !important; }
.home-give { background: linear-gradient(135deg, #172b5b 0%, #20366f 66%, #2d477f 100%); color: white; }
.home-give h2, .home-give .lead, .home-give .eyebrow { color: white; }
.home-give .eyebrow { opacity: .82; }
.donation-feature { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr); gap: 48px; align-items: center; }
.donation-feature-copy .lead { max-width: 760px; color: rgba(255,255,255,.78); }
.donation-feature-card { background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-xl); padding: 34px; backdrop-filter: blur(8px); }
.donation-feature-card strong { display:block; font-family: Georgia,serif; font-size: 1.65rem; margin: 12px 0 8px; }
.donation-feature-card p { color: rgba(255,255,255,.74); margin:0; }
.donation-heart { display:flex; width:54px; height:54px; border-radius:50%; align-items:center; justify-content:center; background:var(--green); color:#162854; font-size:2rem; line-height:1; }
.donation-cards { grid-template-columns: repeat(4,1fr); }

/* Native Arabic / RTL support */
html[dir="rtl"] body { font-family: Tahoma, Arial, "Segoe UI", sans-serif; text-align: right; }
html[dir="rtl"] h1, html[dir="rtl"] h2 { font-family: Tahoma, Arial, "Segoe UI", sans-serif; letter-spacing: 0; }
html[dir="rtl"] .brand-text strong { font-family: Tahoma, Arial, "Segoe UI", sans-serif; }
html[dir="rtl"] .brand-text span { letter-spacing: 0; }
html[dir="rtl"] .eyebrow { letter-spacing: 0; }
html[dir="rtl"] .eyebrow::before { order: 2; }
html[dir="rtl"] .footer-brand strong { font-family: Tahoma, Arial, "Segoe UI", sans-serif; }
html[dir="rtl"] .floating-one { right: -18px; left: auto; }
html[dir="rtl"] .floating-two { left: -8px; right: auto; }
html[dir="rtl"] .breadcrumbs { direction: rtl; }
html[dir="rtl"] table { text-align: right; }
html[dir="rtl"] .card-link, html[dir="rtl"] .resource b { direction: rtl; }
html[dir="rtl"] code { direction: ltr; unicode-bidi: embed; }

@media (max-width: 1050px) {
  .donation-cards { grid-template-columns: repeat(2,1fr); }
  .site-nav a { font-size: .9rem; padding-inline: 8px; }
}
@media (max-width: 900px) {
  .donation-feature { grid-template-columns: 1fr; }
  .lang-switch { width: 100%; text-align: center; }
}
@media (max-width: 640px) {
  .donation-cards { grid-template-columns: 1fr; }
  .donation-feature-card { padding: 26px; }
}


/* Expanded About page */
.about-nav-wrap { position: sticky; top: 83px; z-index: 20; background: rgba(255,255,255,.96); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.about-jump { display: flex; gap: 8px; overflow-x: auto; padding-top: 10px; padding-bottom: 10px; scrollbar-width: none; }
.about-jump::-webkit-scrollbar { display: none; }
.about-jump a { flex: 0 0 auto; text-decoration: none; color: var(--navy); font-weight: 800; font-size: .82rem; padding: 9px 12px; border-radius: 999px; background: #f4f6fa; border: 1px solid var(--line); }
.about-jump a:hover { background: #edf1d8; border-color: #d7dfad; }
.about-highlight-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 28px 0 34px; }
.about-highlight { border: 1px solid var(--line); background: white; border-radius: 16px; padding: 18px; }
.about-highlight strong { display: block; color: var(--green-dark); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 5px; }
.about-highlight span { color: var(--navy); font-weight: 900; }
.sidebar-links { display: grid; margin: 8px 0 24px; }
.sidebar-links a { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.14); text-decoration: none; }
.sidebar-links a:last-child { border-bottom: 0; }
.about-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.info-panel { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 28px; box-shadow: 0 10px 28px rgba(32,54,111,.05); }
.info-panel h3 { margin-top: 0; }
.info-panel ol { padding-inline-start: 1.25rem; }
.info-panel li { margin-bottom: 10px; }
.goal-grid { list-style: none; counter-reset: goals; display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; padding: 0; margin: 0; }
.goal-grid li { counter-increment: goals; position: relative; background: white; border: 1px solid var(--line); border-radius: 18px; padding: 22px 22px 22px 68px; min-height: 132px; }
.goal-grid li::before { content: counter(goals); position: absolute; left: 20px; top: 22px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: white; font-weight: 900; }
.goal-grid strong { display: block; color: var(--navy); margin-bottom: 6px; }
.goal-grid span { color: var(--muted); }
.quote-card, .saint-card { background: linear-gradient(150deg, var(--navy), #2b467f); color: white; border-radius: 24px; padding: 32px; }
.quote-card { position: sticky; top: 160px; }
.quote-card p, .saint-card p { color: rgba(255,255,255,.8); }
.quote-mark { display: block; font-family: Georgia,serif; font-size: 5rem; line-height: .8; color: var(--green); opacity: .9; }
.saint-card h3 { color: white; }
.saint-monogram { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: var(--navy); font-family: Georgia,serif; font-size: 1.5rem; font-weight: 900; margin-bottom: 20px; }
.policy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }

/* Facebook page embed */
.facebook-section { overflow: hidden; }
.social-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(340px,1.1fr); align-items: center; gap: 54px; }
.social-copy { max-width: 620px; }
.facebook-note { margin-top: 14px; max-width: 520px; }
.facebook-embed { width: min(100%, 540px); margin-inline: auto; min-height: 620px; background: white; border: 1px solid var(--line); border-radius: 22px; padding: 18px; box-shadow: var(--shadow-sm); overflow: hidden; display: flex; justify-content: center; }
.facebook-embed iframe { display: block; width: 100%; max-width: 500px; min-width: 0; border-radius: 12px; }

html[dir="rtl"] .goal-grid li { padding: 22px 68px 22px 22px; }
html[dir="rtl"] .goal-grid li::before { right: 20px; left: auto; }
html[dir="rtl"] .about-highlight strong { letter-spacing: 0; }

@media (max-width: 1040px) {
  .about-nav-wrap { top: 83px; }
  .about-two-col, .policy-grid, .social-grid { grid-template-columns: 1fr; }
  .quote-card { position: static; }
  .facebook-embed { width: min(100%, 540px); }
}
@media (max-width: 760px) {
  .about-nav-wrap { top: 73px; }
  .about-highlight-grid, .goal-grid { grid-template-columns: 1fr; }
  .goal-grid li { min-height: 0; }
  .facebook-embed { min-height: 560px; padding: 10px; border-radius: 18px; }
  .facebook-embed iframe { height: 540px; }
}


/* Family resources */
.resource-hub-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.hub-card { display:block; text-decoration:none; color:var(--ink); background:white; border:1px solid var(--line); border-radius:20px; padding:24px; min-height:220px; box-shadow:0 10px 28px rgba(32,54,111,.045); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.hub-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-sm); border-color:#cdd6b2; }
.hub-card h3 { color:var(--navy); margin:10px 0 8px; font-size:1.3rem; }
.hub-card p { color:var(--muted); margin:0 0 18px; }
.hub-card b { color:var(--green-dark); font-size:.9rem; }
.hub-kicker { display:inline-block; color:var(--green-dark); background:rgba(158,189,69,.13); border-radius:999px; padding:6px 9px; font-size:.72rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.uniform-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:20px 0 30px; }
.notice-warn { border-left-color:#c9962c; background:#fff9ed; }
.document-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:28px; }
.document-card { display:block; text-decoration:none; color:var(--ink); background:white; border:1px solid var(--line); border-radius:20px; padding:26px; min-height:190px; box-shadow:0 10px 28px rgba(32,54,111,.045); }
.document-card > span { display:inline-grid; place-items:center; width:48px; height:32px; border-radius:8px; background:var(--navy); color:white; font-size:.72rem; font-weight:900; letter-spacing:.06em; }
.document-card h3 { margin:16px 0 7px; color:var(--navy); }
.document-card p { color:var(--muted); }
.document-card b { color:var(--green-dark); }
.form-chip-grid { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 30px; }
.form-chip-grid span { padding:9px 12px; border-radius:999px; background:#f1f4f9; border:1px solid var(--line); color:var(--navy); font-size:.85rem; font-weight:800; }
.mini-link-list, .check-link-list { display:grid; gap:0; margin-top:22px; }
.mini-link-list a, .check-link-list a { text-decoration:none; padding:10px 0; border-top:1px solid rgba(255,255,255,.16); }
.check-link-list a { display:flex; justify-content:space-between; gap:18px; }
html[dir="rtl"] .hub-kicker { letter-spacing:0; }
html[dir="rtl"] .notice-warn { border-left:1px solid var(--line); border-right:4px solid #c9962c; }
@media(max-width:1050px){ .resource-hub-grid{grid-template-columns:repeat(2,1fr)} .document-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:700px){ .resource-hub-grid,.uniform-grid,.document-grid{grid-template-columns:1fr} .hub-card{min-height:0} }

.policy-full { grid-column: 1 / -1; }
.policy-note { font-size: .94rem; color: var(--muted); }
.original-policy { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.original-policy h4 { margin: 0 0 12px; }

@media (max-width: 700px) {
  .about-nav-wrap { top: 73px; }
}

#overview, #mission, #goals, #partnership, #development, #hours, #saint, #wellness {
  scroll-margin-top: 155px;
}

@media (max-width: 700px) {
  #overview, #mission, #goals, #partnership, #development, #hours, #saint, #wellness {
    scroll-margin-top: 145px;
  }
}

/* Contact page + email form v6 */
.contact-heading { font-size: 2.25rem; }
.map-embed-card { background: white; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; min-height: 410px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; }
.map-embed-card iframe { display: block; width: 100%; min-height: 340px; flex: 1; border: 0; }
.map-embed-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border-top: 1px solid var(--line); }
.map-embed-footer strong { display: block; color: var(--navy); }
.map-embed-footer span { display: block; color: var(--muted); font-size: .88rem; margin-top: 2px; }
.contact-form-layout { align-items: start; }
.contact-form-card { padding: 34px; }
.contact-form { margin-top: 18px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 7px; }
.field-full { grid-column: 1 / -1; }
.field label { color: var(--navy-2); font-weight: 800; font-size: .9rem; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #cfd4df; border-radius: 12px; background: white; color: var(--ink); padding: 12px 13px; outline: none; transition: border-color .15s ease, box-shadow .15s ease; }
.field textarea { min-height: 150px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(32,54,111,.11); }
.form-submit { margin-top: 20px; border: 0; cursor: pointer; }
.form-help { margin: 12px 0 0; color: var(--muted); font-size: .82rem; }
.form-status { display: none; margin: 0 0 18px; padding: 13px 15px; border-radius: 12px; font-weight: 700; }
.form-status.success { display: block; color: #345018; background: #edf5d6; border: 1px solid #cadc93; }
.form-status.error { display: block; color: #7a2b25; background: #fff0ee; border: 1px solid #efc2bd; }
.hp-field { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; }
html[dir="rtl"] .field input[dir="ltr"] { text-align: left; }
html[dir="rtl"] .map-embed-footer { text-align: right; }
@media (max-width: 700px) {
  .form-grid { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .contact-form-card { padding: 26px; }
  .map-embed-footer { align-items: flex-start; flex-direction: column; }
  .map-embed-footer .btn { width: 100%; }
  .map-embed-card iframe { min-height: 300px; }
}


/* Search + school updates v7 */
.nav-search { width: 42px; height: 42px; flex: 0 0 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(32,54,111,.13); border-radius: 10px; background: transparent; color: var(--navy); cursor: pointer; transition: background .18s ease, border-color .18s ease; }
.nav-search:hover { background: rgba(32,54,111,.07); border-color: rgba(32,54,111,.22); }
.nav-search svg { width: 19px; height: 19px; }
.nav-search-label { display: none; font-weight: 800; }
body.search-open { overflow: hidden; }
.search-modal { position: fixed; inset: 0; z-index: 120; display: none; align-items: flex-start; justify-content: center; padding: min(12vh,100px) 20px 30px; background: rgba(10,22,50,.62); backdrop-filter: blur(8px); }
.search-modal.open { display: flex; }
.search-dialog { width: min(720px,100%); max-height: min(760px,82vh); overflow: hidden; display: flex; flex-direction: column; background: white; border: 1px solid rgba(255,255,255,.35); border-radius: 24px; box-shadow: 0 30px 90px rgba(5,15,40,.32); }
.search-dialog-head { padding: 22px 22px 16px; border-bottom: 1px solid var(--line); }
.search-dialog-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.search-dialog-top strong { color: var(--navy-2); font-family: Georgia,serif; font-size: 1.35rem; }
.search-close { width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #f0f2f6; color: var(--navy); font-size: 1.3rem; cursor: pointer; }
.search-input-wrap { position: relative; }
.search-input-wrap svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 21px; color: var(--muted); }
.search-input { width: 100%; min-height: 54px; border: 1px solid #cfd4df; border-radius: 14px; padding: 12px 16px 12px 48px; color: var(--ink); outline: none; font-size: 1.05rem; }
.search-input:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(32,54,111,.1); }
.search-results { overflow-y: auto; padding: 10px 12px 18px; }
.search-empty { padding: 38px 22px; text-align: center; color: var(--muted); }
.search-result { display: block; text-decoration: none; padding: 15px 14px; border-radius: 14px; border-bottom: 1px solid #f0eee7; }
.search-result:hover, .search-result:focus { background: #f5f7ed; outline: none; }
.search-result strong { display: block; color: var(--navy); font-size: 1.02rem; margin-bottom: 3px; }
.search-result span { color: var(--muted); font-size: .88rem; display: block; line-height: 1.45; }
.search-result mark { background: #eaf2c9; color: inherit; padding: 0 .08em; }
.search-hint { padding: 0 2px; color: var(--muted); font-size: .78rem; margin-top: 8px; }

.facebook-feature { background: linear-gradient(145deg,#edf1f9 0%,#f7f5ed 58%,#eef3db 100%); border-block: 1px solid var(--line); }
.facebook-feature-heading { display: flex; align-items: end; justify-content: space-between; gap: 38px; margin-bottom: 38px; }
.facebook-feature-heading > div:first-child { max-width: 760px; }
.btn-facebook { background: #1877f2; color: white; flex: 0 0 auto; box-shadow: 0 10px 24px rgba(24,119,242,.2); }
.btn-facebook:hover { background: #0e67d4; }
.facebook-feature-grid { display: grid; grid-template-columns: minmax(420px,1.2fr) minmax(300px,.8fr); gap: 28px; align-items: start; }
.facebook-primary-card { background: white; border: 1px solid rgba(32,54,111,.1); border-radius: 26px; overflow: hidden; box-shadow: var(--shadow); }
.facebook-priority { display: flex; align-items: center; gap: 15px; padding: 22px 24px; background: #20366f; color: white; }
.facebook-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: #1877f2; color: white; font: 900 1.9rem/1 Arial,sans-serif; }
.facebook-priority span:not(.facebook-mark) { display: block; color: #bdc8df; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.facebook-priority strong { display: block; color: white; font-size: 1.18rem; }
.facebook-embed-large { min-height: 0; width: 100%; max-width: none; border: 0; border-radius: 0; box-shadow: none; padding: 20px; background: #f8f9fb; }
.facebook-embed-large iframe { height: 560px; max-width: 500px; }
.school-updates-card { background: var(--navy); color: white; border-radius: 26px; padding: 32px; box-shadow: var(--shadow); position: sticky; top: 112px; }
.school-updates-card h3 { color: white; font-size: 2rem; margin-top: 12px; }
.school-updates-card > p { color: #d8deec; }
.school-updates-card .hub-kicker { color: #dcec9d; background: rgba(158,189,69,.14); }
.update-link-list { display: grid; gap: 10px; margin: 25px 0; }
.update-link-list > a, .update-link-list > div { display: block; padding: 17px 18px; border-radius: 14px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.12); text-decoration: none; }
.update-link-list > a:hover { background: rgba(255,255,255,.14); }
.update-link-list strong { display: block; color: white; }
.update-link-list span { display: block; color: #cbd4e8; font-size: .84rem; margin-top: 3px; }

.weather-update-panel { background: white; border: 1px solid var(--line); border-radius: 26px; padding: 38px; box-shadow: var(--shadow-sm); }
.weather-update-copy { max-width: 860px; margin-bottom: 30px; }
.weather-source-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.weather-source-card { display: block; text-decoration: none; background: #f7f8fb; border: 1px solid #e1e5ed; border-radius: 18px; padding: 22px; color: var(--ink); min-height: 165px; }
.weather-source-card.facebook-source { background: #edf4ff; border-color: #cbdcf8; }
.weather-source-card > span { display: block; color: var(--green-dark); font-size: .74rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.weather-source-card strong { display: block; color: var(--navy); font-size: 1.15rem; margin-bottom: 8px; }
.weather-source-card p { color: var(--muted); font-size: .88rem; margin: 0; }
.weather-source-card b { display: block; color: var(--navy); font-size: .85rem; margin-top: 16px; }

html[dir="rtl"] .search-input { padding: 12px 48px 12px 16px; }
html[dir="rtl"] .search-input-wrap svg { right: 16px; left: auto; }
html[dir="rtl"] .facebook-priority span:not(.facebook-mark), html[dir="rtl"] .weather-source-card > span { letter-spacing: 0; }

@media (max-width: 1040px) {
  .site-nav .nav-search { width: 100%; height: auto; min-height: 46px; justify-content: flex-start; padding: 12px 14px; border: 0; flex-basis: auto; }
  .nav-search-label { display: inline; }
  .facebook-feature-heading { align-items: flex-start; flex-direction: column; }
  .facebook-feature-grid { grid-template-columns: 1fr; }
  .school-updates-card { position: static; }
  .weather-source-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .search-modal { padding: 14px; align-items: center; }
  .search-dialog { max-height: 90vh; border-radius: 20px; }
  .facebook-feature-heading .btn { width: 100%; }
  .facebook-feature-grid { display: block; }
  .school-updates-card { margin-top: 18px; padding: 25px; }
  .facebook-embed-large { min-height: 0; padding: 10px; }
  .facebook-embed-large iframe { height: 500px; }
  .weather-update-panel { padding: 26px; }
}


/* Deployment polish */
.tour-btn, .tour-link { white-space: nowrap; }
.tour-btn { flex-shrink: 0; }
.resource-row > a { white-space: nowrap; flex-shrink: 0; }
.document-card b { display: inline-block; white-space: nowrap; }

.tuition-table table { min-width: 860px; }
.tuition-summary-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:20px; margin-top:44px; align-items:stretch; }
.tuition-big { font-size:2.5rem; }
.tuition-policy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tuition-policy-grid .split-card { height:100%; }
.care-card { max-width:760px; }
.care-card ul { margin-top:0; }

.supply-summary-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; align-items:stretch; margin-bottom:30px; }
.supply-summary-grid .notice { display:flex; flex-direction:column; justify-content:center; }
.kindergarten-supply h2 { font-size:2.4rem; margin:6px 0 8px; }
.kindergarten-supply p { margin-bottom:0; }

.transport-stack { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:white; box-shadow:0 8px 26px rgba(32,54,111,.05); }
.transport-stack .notice, html[dir="rtl"] .transport-stack .notice-warn { margin:0; border:0; border-radius:0; border-bottom:1px solid #ead49a; }
.transport-stack .table-wrap { border:0; border-radius:0; box-shadow:none; }
.transport-stack + .data-updated { margin-top:12px; }

@media(max-width:900px){
  .tuition-summary-grid, .tuition-policy-grid, .supply-summary-grid { grid-template-columns:1fr; }
}

/* Tuition layout polish */
.tuition-fees-wrap { margin-top: 34px; }
.tuition-fees-card { max-width: 900px; }
.hero-donate-btn { padding-inline: 24px; }


/* v16 language and beliefs */
.site-nav .lang-switch { font-size: .82rem !important; padding-inline: 8px !important; white-space: nowrap; }
.belief-section { max-width: 980px; margin: 0 auto 24px; padding: 28px 30px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 10px 30px rgba(29, 46, 82, .06); }
.belief-section h2 { margin-top: 0; color: var(--navy); }
.belief-section p:last-child { margin-bottom: 0; }
@media (max-width: 920px) { .site-nav .lang-switch { width: 100%; text-align: center; } .belief-section { padding: 22px 20px; } }

/* Venmo donation QR */
.venmo-qr{display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:center;margin:18px 0 20px;padding:16px;border:1px solid var(--line,#e3e0d6);border-radius:18px;background:#fff}
.venmo-qr img{display:block;width:118px;height:auto;border-radius:14px;border:1px solid #ece9df}
.venmo-qr strong{display:block;color:var(--navy,#20366f);font-size:1.02rem;margin-bottom:5px}
.venmo-qr span{display:block;color:var(--muted,#667085);font-size:.92rem;line-height:1.45}
html[dir="rtl"] .venmo-qr{text-align:right}
@media(max-width:520px){.venmo-qr{grid-template-columns:92px 1fr;gap:13px}.venmo-qr img{width:92px}}


/* Preschool page + expanded navigation (v19) */
.site-header .container { width: min(calc(100% - 28px), 1360px); }
.nav-wrap { gap: 8px; }
.brand { min-width: 274px; }
.site-nav { gap: 0; }
.site-nav a { font-size: .82rem; padding-inline: 6px; }
.nav-cta { padding-inline: 11px !important; }
.lang-switch { padding-inline: 8px !important; }

.preschool-hero { padding: 68px 0 78px; overflow: hidden; position: relative; }
.preschool-hero::before { content:""; position:absolute; width:380px; height:380px; border-radius:50%; background:rgba(158,189,69,.11); left:-145px; top:-170px; z-index:-1; }
.preschool-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); gap:58px; align-items:center; }
.preschool-hero-copy h1 { max-width: 660px; }
.preschool-collage { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:220px 220px; gap:12px; min-height:452px; }
.preschool-collage img { width:100%; height:100%; object-fit:cover; border-radius:22px; box-shadow:var(--shadow-sm); }
.preschool-collage .preschool-photo-main { grid-row:1 / span 2; border-radius:28px; }
.preschool-pillars, .preschool-program-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.preschool-pillars .card { min-height: 220px; }
.preschool-program { background:white; border:1px solid var(--line); border-radius:22px; padding:28px; box-shadow:0 10px 30px rgba(32,54,111,.05); }
.preschool-program > span { display:inline-block; color:var(--green-dark); text-transform:uppercase; letter-spacing:.08em; font-size:.73rem; font-weight:900; margin-bottom:10px; }
.preschool-program h3 { margin-bottom:10px; }
.preschool-hour { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 14px; color:#536071; }
.preschool-hour strong { color:var(--navy); }
.preschool-program-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.preschool-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:230px; gap:12px; }
.preschool-gallery-item { margin:0; overflow:hidden; border-radius:18px; background:#eef0e6; }
.preschool-gallery-item.wide { grid-column:span 2; }
.preschool-gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.preschool-gallery-item:hover img { transform:scale(1.025); }

@media (max-width: 1280px) {
  .site-nav { position: fixed; top: 119px; left: 20px; right: 20px; display: none; flex-direction: column; align-items: stretch; padding: 14px; border-radius: 18px; background: white; box-shadow: var(--shadow); border: 1px solid var(--line); }
  .site-nav.open { display:flex; }
  .site-nav a { padding:12px 14px; font-size:.9rem; }
  .menu-button { display:inline-flex; }
  .lang-switch { width:100%; text-align:center; }
}
@media (max-width: 1080px) {
  .preschool-hero-grid { grid-template-columns:1fr; }
  .preschool-collage { max-width:820px; width:100%; margin-inline:auto; }
}
@media (max-width: 800px) {
  .preschool-pillars, .preschool-program-grid { grid-template-columns:1fr; }
  .preschool-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:220px; }
  .preschool-gallery-item.wide { grid-column:span 2; }
}
@media (max-width: 700px) {
  .site-nav { top:108px; left:14px; right:14px; }
  .preschool-hero { padding:46px 0 58px; }
  .preschool-collage { grid-template-columns:1fr 1fr; grid-template-rows:260px 180px; min-height:0; }
  .preschool-collage .preschool-photo-main { grid-column:1 / -1; grid-row:auto; }
}
@media (max-width: 520px) {
  .preschool-gallery { grid-template-columns:1fr; grid-auto-rows:250px; }
  .preschool-gallery-item.wide { grid-column:span 1; }
  .preschool-collage { grid-template-rows:230px 155px; }
}

/* Preschool layout + carousel polish (v20) */
.preschool-pillars,
.preschool-program-grid {
  margin-top: 34px;
  align-items: stretch;
}
.preschool-pillars .card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 30px;
  min-height: 205px;
  border-radius: 22px;
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(32,54,111,.055);
}
.preschool-pillars .card h3 { margin: 0 0 14px; }
.preschool-pillars .card p { margin: 0; }

.preschool-program-grid { gap: 22px; }
.preschool-program {
  display: flex;
  flex-direction: column;
  padding: 30px;
  min-height: 320px;
}
.preschool-program p { margin-bottom: 0; }
.preschool-hour {
  margin-top: auto;
  padding: 16px 17px;
  border: 1px solid #dfe4d3;
  border-radius: 14px;
  background: #f7f9f0;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 12px;
}
.preschool-hour strong { white-space: nowrap; }
.preschool-hour > span { text-align: right; white-space: nowrap; }
html[dir="rtl"] .preschool-hour > span { text-align: left; }
.preschool-program-actions { margin-top: 30px; }

.preschool-carousel { margin-top: 34px; }
.preschool-carousel-viewport {
  overflow: hidden;
  border-radius: 24px;
}
.preschool-carousel-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 32px) / 3);
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  direction: ltr;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  padding: 2px;
}
.preschool-carousel-track::-webkit-scrollbar { display: none; }
.preschool-slide {
  margin: 0;
  height: 360px;
  overflow: hidden;
  border-radius: 22px;
  background: #eef0e6;
  scroll-snap-align: start;
  box-shadow: 0 10px 26px rgba(32,54,111,.08);
}
.preschool-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease;
}
.preschool-slide:hover img { transform: scale(1.025); }
.preschool-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
}
.preschool-carousel-arrows { display: flex; gap: 10px; }
.preschool-carousel-btn {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 7px 18px rgba(32,54,111,.08);
  transition: transform .16s ease, background .16s ease, color .16s ease;
}
.preschool-carousel-btn:hover { background: var(--navy); color: #fff; transform: translateY(-1px); }
.preschool-carousel-btn:disabled { opacity: .38; cursor: default; transform: none; }
.preschool-carousel-dots { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.preschool-carousel-dot {
  width: 9px;
  height: 9px;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: #cbd2bf;
}
.preschool-carousel-dot.active { width: 26px; background: var(--green-dark); }

@media (max-width: 980px) {
  .preschool-carousel-track { grid-auto-columns: calc((100% - 16px) / 2); }
  .preschool-slide { height: 330px; }
}
@media (max-width: 800px) {
  .preschool-pillars,
  .preschool-program-grid { gap: 14px; margin-top: 24px; }
  .preschool-program { min-height: 0; }
  .preschool-hour { margin-top: 22px; }
}
@media (max-width: 620px) {
  .preschool-carousel-track { grid-auto-columns: 100%; gap: 12px; }
  .preschool-slide { height: min(72vw, 390px); }
  .preschool-carousel-controls { margin-top: 15px; }
  .preschool-carousel-btn { width: 44px; height: 44px; }
  .preschool-hour { grid-template-columns: 1fr; gap: 4px; }
  .preschool-hour > span, html[dir="rtl"] .preschool-hour > span { text-align: inherit; }
}

/* Header sizing + utility spacing polish (v21) */
@media (min-width: 1281px) {
  .site-header .container { width: min(calc(100% - 32px), 1460px); }
  .nav-wrap { height: 90px; gap: 12px; }
  .brand { min-width: 310px; gap: 11px; }
  .brand img { width: 62px; height: 62px; }
  .brand-text strong { font-size: 1.14rem; line-height: 1.08; }
  .brand-text span { font-size: .78rem; letter-spacing: .075em; margin-top: 4px; }

  .site-nav { gap: 1px; }
  .site-nav a { font-size: .84rem; padding: 10px 7px; }

  /* Visually separate search / donate / language controls from the main links. */
  .site-nav .nav-search {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    margin-left: 11px;
  }
  .site-nav .nav-cta {
    margin-left: 7px;
    padding-inline: 14px !important;
  }
  .site-nav .nav-cta,
  .site-nav .lang-switch {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .site-nav .nav-cta + .lang-switch { margin-left: 10px; }
  .site-nav .lang-switch + .lang-switch { margin-left: 6px; }
}

@media (max-width: 1280px) {
  .site-nav .nav-search,
  .site-nav .nav-cta,
  .site-nav .lang-switch { margin-left: 0 !important; }
}

/* Header fit + clearly separated utility controls (v23) */
@media (min-width: 1281px) {
  .site-header .container {
    width: min(calc(100% - 28px), 1540px);
  }

  .nav-wrap {
    height: 94px;
    gap: 14px;
  }

  .brand {
    min-width: 326px;
    gap: 12px;
  }

  .brand img {
    width: 66px;
    height: 66px;
  }

  .brand-text strong {
    font-size: 1.19rem;
    line-height: 1.06;
    white-space: nowrap;
  }

  .brand-text span {
    font-size: .79rem;
    letter-spacing: .075em;
    margin-top: 5px;
    white-space: nowrap;
  }

  /* Keep the content links compact enough that the brand can stay larger. */
  .site-nav {
    gap: 0;
  }

  .site-nav > a:not(.nav-cta):not(.lang-switch) {
    font-size: .82rem;
    padding-inline: 5px;
  }

  /* Make Search / Donate / language selectors read as distinct controls. */
  .site-nav > .nav-search {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    margin-inline-start: 16px !important;
    border-radius: 12px;
  }

  .site-nav > .nav-search + .nav-cta {
    margin-inline-start: 9px !important;
  }

  .site-nav > .nav-cta {
    min-height: 46px;
    padding-inline: 16px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .site-nav > .nav-cta + .lang-switch {
    margin-inline-start: 10px !important;
  }

  .site-nav > .lang-switch + .lang-switch {
    margin-inline-start: 8px !important;
  }

  .site-nav > .lang-switch {
    min-height: 46px;
    padding-inline: 11px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

/* Mobile navigation spacing + utility grouping (v24) */
@media (max-width: 1040px) {
  .site-nav {
    gap: 8px !important;
    padding: 16px !important;
  }

  .site-nav.open {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }

  /* Main navigation rows stay full-width and get comfortable separation. */
  .site-nav > a:not(.lang-switch),
  .site-nav > .nav-search {
    grid-column: 1 / -1;
    margin: 0 !important;
  }

  .site-nav > a:not(.nav-cta):not(.lang-switch) {
    padding: 13px 16px !important;
    border-radius: 12px;
  }

  /* Start the utility section with a little breathing room. */
  .site-nav > .nav-search {
    margin-top: 6px !important;
    min-height: 48px;
    padding: 12px 16px !important;
    border: 1px solid var(--line) !important;
    border-radius: 12px;
    background: #f8f9fb;
  }

  .site-nav > .nav-cta {
    min-height: 50px;
    margin-top: 2px !important;
    border-radius: 12px;
    padding: 13px 16px !important;
  }

  /* Language buttons sit side-by-side with a real gap instead of touching. */
  .site-nav > .lang-switch {
    width: auto !important;
    min-height: 48px;
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 520px) {
  .site-nav {
    gap: 7px !important;
    padding: 14px !important;
  }

  .site-nav > a:not(.nav-cta):not(.lang-switch),
  .site-nav > .nav-search,
  .site-nav > .nav-cta {
    font-size: .96rem !important;
  }
}
