:root{--ink:#283746;--muted:#657381;--paper:#f7f9fb;--surface:#fff;--line:#dfe6ec;--brand:#315f86;--brand2:#244d70;--accent:#6d8294;--soft:#eef3f7;--radius:13px;--shadow:0 8px 24px rgba(36,77,112,.055);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);line-height:1.5}img{max-width:100%;display:block}a{color:var(--brand2);text-decoration-thickness:.08em;text-underline-offset:.16em}a:hover{color:var(--brand)}button,input,textarea{font:inherit}.wrap{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:.7rem 1rem;border-radius:10px}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,247,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,229,229,.95)}.nav-row{min-height:66px;display:flex;align-items:center;gap:1.4rem}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:-.02em}.brand img{width:36px;height:36px;object-fit:contain}.brand small{display:block;font-size:.68rem;color:var(--muted);font-weight:600;letter-spacing:.01em}.nav{margin-left:auto;display:flex;align-items:center;gap:.25rem}.nav a{display:flex;align-items:center;gap:.45rem;padding:.52rem .62rem;border-radius:10px;color:var(--ink);text-decoration:none;font-size:.8rem;font-weight:700}.nav a:hover{background:var(--soft)}.nav svg,.action svg,.mini-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav .donate-link{background:var(--brand);color:white;padding-inline:.8rem}.nav .donate-link:hover{background:var(--brand2);color:white}.menu-btn{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.62rem;cursor:pointer}.menu-btn svg{width:22px;height:22px}.hero{padding:2.7rem 0 2rem;background:linear-gradient(180deg,#f0f0f0 0%,rgba(247,247,247,0) 100%)}.eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:var(--brand2);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:2rem;align-items:center}.hero h1{font-size:clamp(2rem,4vw,3.55rem);line-height:1.06;letter-spacing:-.055em;margin:.45rem 0 .8rem;max-width:820px}.hero p{font-size:clamp(.98rem,1.5vw,1.08rem);color:var(--muted);max-width:720px}.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:12px;padding:.64rem .9rem;font-weight:800;text-decoration:none;border:1px solid var(--line);background:#fff;color:var(--ink)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn:hover{transform:translateY(-1px)}.address-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.address-card .logo-large{width:88px;margin-bottom:.7rem}.address-card strong{font-size:.98rem}.address-card p{font-size:.82rem;margin:.35rem 0;color:var(--muted)}.prayer-band{padding:0 0 2.7rem}.prayer-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:.8rem;align-items:stretch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.prayer-card{overflow:hidden}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.card-head h2,.card-head h3{margin:0;font-size:.96rem}.card-head p{margin:.15rem 0 0;color:var(--muted);font-size:.8rem}.prayer-card iframe{display:block;width:100%;height:430px;border:0;background:#fff}.notice{padding:1rem;background:var(--brand);color:#fff;display:flex;flex-direction:column;justify-content:center}.notice .eyebrow{color:#fff}.notice h2{font-size:1.28rem;line-height:1.2;margin:.4rem 0}.notice p{color:#f5f5f5;margin:.2rem 0 1.1rem}.notice strong{color:#fff}.section{padding:3rem 0}.section.soft{background:var(--soft)}.section-title{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.5rem;align-items:end;margin-bottom:1.35rem}.section-title h2{font-size:clamp(1.55rem,2.8vw,2.25rem);line-height:1.08;letter-spacing:-.04em;margin:.35rem 0 0}.section-title p{margin:0;color:var(--muted);font-size:.82rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.feature{padding:1rem}.feature-icon{width:36px;height:36px;border-radius:10px;background:var(--soft);display:grid;place-items:center;color:var(--brand);margin-bottom:.65rem}.feature h3{margin:.2rem 0 .35rem;font-size:.98rem}.feature p{color:var(--muted);margin:.2rem 0;font-size:.82rem}.feature a{font-weight:800;text-decoration:none}.list-clean{padding:0;margin:.8rem 0 0;list-style:none}.list-clean li{padding:.32rem 0;border-bottom:1px solid var(--line)}.list-clean li:last-child{border-bottom:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.panel{padding:1.1rem}.panel h3{margin-top:0}.useful-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem}.link-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.58rem .72rem;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--ink);font-weight:700;background:#fff}.link-card:hover{border-color:#d0d0d0;background:#fff}.calendar iframe{width:100%;height:500px;border:0;border-radius:11px}.donate{background:var(--brand);color:white}.donate .section-title p,.donate .eyebrow{color:#f5f5f5}.donate .card{box-shadow:none}.donate-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.donate-copy{padding:1.15rem;color:var(--ink)}.donate-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;margin-top:.7rem}.donate-option{border:1px solid var(--line);border-radius:9px;padding:.65rem;background:#fff}.donate-option strong{display:block}.donate-option small{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:.9rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.contact-form label{font-weight:750;font-size:.8rem}.contact-form input,.contact-form textarea{width:100%;margin-top:.25rem;border:1px solid #d0d0d0;border-radius:10px;background:#fff;padding:.62rem;color:var(--ink)}.contact-form textarea{min-height:120px;resize:vertical}.contact-form .full{grid-column:1/-1}.contact-form button{border:0;cursor:pointer}.contact-list{display:grid;gap:.75rem}.contact-item{display:flex;gap:.75rem;align-items:flex-start}.contact-item .feature-icon{flex:0 0 auto;margin:0;width:38px;height:38px}.site-footer{padding:1.15rem 0;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.footer-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-row a{color:inherit}.page-hero{padding:2.5rem 0 1.6rem;background:linear-gradient(180deg,#f0f0f0,transparent)}.page-hero h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;letter-spacing:-.045em;margin:.4rem 0 .8rem}.page-hero p{max-width:760px;color:var(--muted);font-size:.96rem}.school-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:.9rem;align-items:start}.week-stack{display:grid;gap:.55rem}.week{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.week summary{list-style:none;cursor:pointer;padding:.75rem .9rem;font-weight:850;display:flex;align-items:center;justify-content:space-between;gap:1rem}.week summary::-webkit-details-marker{display:none}.week summary:after{content:"+";font-size:1.3rem;color:var(--brand2)}.week[open] summary:after{content:"−"}.week .week-body{padding:0 .8rem .8rem;overflow-x:auto}.week table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:570px}.week th,.week td{text-align:left;padding:.55rem .55rem;border-bottom:1px solid var(--line);vertical-align:top}.week th{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.week tr:last-child td{border-bottom:0}.week td a{font-weight:750}.semester{font-size:1.15rem;margin:1.4rem 0 .6rem}.sticky-card{position:sticky;top:96px;padding:.9rem}.sticky-card iframe{width:100%;height:430px;border:0}.archive-note{padding:.7rem .8rem;background:#f7f7f7;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.ramadan-table{width:100%;border-collapse:collapse}.ramadan-table th,.ramadan-table td{padding:.6rem;border-bottom:1px solid var(--line);text-align:left}.ramadan-table th{font-size:.72rem;text-transform:uppercase;color:var(--muted);letter-spacing:.07em }@media(max-width:900px){.nav{display:none;position:absolute;top:66px;left:1rem;right:1rem;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px;padding:.55rem;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:.8rem}.menu-btn{display:grid;place-items:center}.hero-grid,.prayer-shell,.section-title,.split,.donate-grid,.contact-grid,.school-layout{grid-template-columns:1fr}.address-card{display:none}.grid-3{grid-template-columns:1fr 1fr}.sticky-card{position:static}.sticky-card iframe{height:440px}}@media(max-width:620px){.wrap{width:min(calc(100% - 1.2rem),var(--max))}.brand span{font-size:.8rem}.brand small{display:none}.hero{padding-top:2.2rem}.hero h1{font-size:2.25rem}.section{padding:2.5rem 0}.grid-3,.useful-grid,.donate-options,.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.prayer-card iframe{height:410px}.calendar iframe{height:440px}.nav-row{min-height:62px}.nav{top:62px}.brand img{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}

/* V2 refinement: restrained blue palette, sleeker body icons, wider desktop prayer area. */
.nav .donate-link,.btn.primary{box-shadow:none}.notice,.donate{background:var(--brand2)}
.notice .eyebrow,.donate .eyebrow,.donate .section-title p{color:#eaf2f8}
.hero{background:linear-gradient(180deg,#edf3f7 0%,rgba(247,249,251,0) 100%)}
.page-hero{background:linear-gradient(180deg,#edf3f7,transparent)}
.hero h1,.section-title h2,.page-hero h1{color:#243746}
.eyebrow,a{color:var(--brand2)}.nav a:hover{color:var(--brand2)}
.nav .donate-link:hover,.btn.primary:hover{background:#1d4262}

/* Body icons: no badges, no filled tiles, thin and quiet. */
.feature-icon{width:24px;height:24px;border-radius:0;background:transparent;display:grid;place-items:center;color:#60798e;margin-bottom:.55rem}
.feature-icon svg,.contact-item .feature-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.contact-item .feature-icon{width:24px;height:24px;margin:.08rem 0 0;flex:0 0 24px;color:#60798e}
.contact-item{gap:.65rem}
.feature h3{margin:.1rem 0 .32rem}
.link-card svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.link-card:hover svg{stroke:var(--brand2)}
.hero-actions .btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Give the third-party prayer table enough desktop width to render without horizontal scrolling. */
.prayer-shell{grid-template-columns:minmax(0,1fr) 225px;gap:.8rem}
.prayer-card iframe{height:430px;overflow:hidden}
.notice{padding:.9rem}.notice h2{font-size:1.08rem}.notice p{font-size:.79rem}
@media(min-width:901px) and (max-width:1100px){.prayer-shell{grid-template-columns:minmax(0,1fr) 200px}.wrap{width:min(calc(100% - 1.4rem),var(--max))}}
@media(max-width:900px){.prayer-shell{grid-template-columns:1fr}.notice{min-height:0}}
/* Desktop prayer layout: full-width table with compact Friday strip below. */
@media(min-width:901px){
  .prayer-shell{grid-template-columns:1fr}
  .notice{display:grid;grid-template-columns:max-content max-content minmax(0,1fr) max-content;align-items:center;gap:.85rem;padding:.7rem .9rem}
  .notice h2{margin:0;font-size:.98rem;white-space:nowrap}
  .notice p{margin:0;font-size:.78rem}
  .notice .btn{white-space:nowrap;padding:.52rem .72rem;font-size:.78rem}
  .prayer-card iframe{width:100%;height:430px}
}

/* Hero action links: lighter, sleeker treatment than navigation/buttons elsewhere. */
.hero-actions .btn{
  font-weight:600;
  font-size:.9rem;
  padding:.58rem .82rem;
  border-radius:10px;
  letter-spacing:0;
}
.hero-actions .btn.primary{font-weight:600}

/* Sleeker body action links — navigation remains unchanged */
main a.button,
main .button,
main a.btn,
main .btn,
main a.cta,
main .cta,
main a.text-link,
main .text-link,
main a.card-link,
main .card-link,
main a.contact-link,
main .contact-link,
main a.resource-link,
main .resource-link {
  font-weight: 500;
}

/* Final refinement: lightweight body CTA links */
main a[href*="sundayschool"],
main a[href*="#contact"],
main a[href*="contact"],
main .text-link,
main .card-link,
main .contact-link,
main .resource-link {
  font-weight: 400 !important;
  letter-spacing: 0.01em;
}

/* Improve readability of donation/support heading on blue background */
.support-heading-contrast {
  color: #ffffff !important;
}

/* Support ASIC: compact Amazon Wish List treatment */
.amazon-compact-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 0;
  padding: 1rem 1.1rem;
}
.amazon-compact-copy {
  display: grid;
  gap: .18rem;
}
.amazon-compact-title {
  font-weight: 500;
  color: var(--ink, #203040);
}
.amazon-compact-text {
  font-size: .9rem;
  color: var(--muted, #66717d);
}
.amazon-compact-link {
  flex: 0 0 auto;
  font-weight: 400 !important;
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 700px) {
  .amazon-compact-card {
    align-items: flex-start;
    flex-direction: column;
    gap: .65rem;
  }
}

/* Community connection + volunteer section */
.community-connect {
  padding-block: 2.8rem;
  background: #f5f8fb;
}
.community-connect .compact-heading {
  margin-bottom: 1.15rem;
}
.community-connect-grid {
  display: grid;
  grid-template-columns: .8fr 1.7fr;
  gap: 1rem;
  align-items: stretch;
}
.whatsapp-card,
.volunteer-card {
  background: #fff;
  border: 1px solid #dce5ed;
  border-radius: .85rem;
  padding: 1.15rem;
}
.whatsapp-card {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
}
.whatsapp-icon {
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #edf4f9;
  color: #2b597c;
}
.whatsapp-card h3,
.volunteer-card h3 {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
}
.whatsapp-card p,
.volunteer-card p {
  margin: 0;
  font-size: .9rem;
  color: var(--muted, #68737d);
}
.whatsapp-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .8rem;
  font-weight: 400 !important;
  color: #2b597c;
  text-decoration: none;
}
.whatsapp-link:hover {
  text-decoration: underline;
}
.volunteer-card-heading {
  margin-bottom: .85rem;
}
.volunteer-form {
  display: grid;
  gap: .8rem;
}
.form-row {
  display: grid;
  gap: .75rem;
}
.form-row.two-col {
  grid-template-columns: repeat(2, minmax(0,1fr));
}
.volunteer-form label {
  display: grid;
  gap: .35rem;
}
.volunteer-form label > span {
  font-size: .82rem;
  font-weight: 500;
  color: #334455;
}
.volunteer-form input,
.volunteer-form select {
  width: 100%;
  min-height: 2.6rem;
  padding: .58rem .7rem;
  border: 1px solid #ccd7e0;
  border-radius: .55rem;
  background: #fff;
  color: #253544;
  font: inherit;
  font-size: .92rem;
}
.volunteer-form input:focus,
.volunteer-form select:focus {
  outline: 2px solid rgba(43,89,124,.18);
  border-color: #6f94b1;
}
.volunteer-submit {
  justify-self: start;
  border: 0;
  border-radius: .55rem;
  padding: .65rem .9rem;
  background: #2b597c;
  color: #fff;
  font: inherit;
  font-size: .9rem;
  font-weight: 500;
  cursor: pointer;
}
.volunteer-submit:hover {
  background: #244d6b;
}
.volunteer-note {
  font-size: .78rem !important;
  color: #7a858f !important;
}
@media (max-width: 820px) {
  .community-connect-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .form-row.two-col {
    grid-template-columns: 1fr;
  }
}

/* Combined Prayer Times + Community involvement card */
.prayer-community-band {
  padding-block: 2.2rem;
}
.prayer-community-card {
  padding: 1rem;
}
.prayer-main-row {
  display: grid;
  gap: .8rem;
}
.prayer-table-area,
.prayer-table-area .prayer-card {
  min-width: 0;
}
.prayer-table-area .prayer-card,
.friday-area .notice {
  border: 0;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
}
.prayer-table-area iframe {
  width: 100%;
  max-width: 100%;
}
.friday-area .notice {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: .75rem 1rem;
  padding: .7rem .8rem;
  background: #f6f8fa;
  border: 1px solid #dce5ed;
  border-radius: .65rem;
}
.friday-area .notice .eyebrow {
  margin: 0;
}
.friday-area .notice h2 {
  margin: 0;
  font-size: .95rem;
  line-height: 1.35;
  font-weight: 500;
}
.friday-area .notice p {
  margin: 0;
  font-size: .82rem;
}
.friday-area .notice .btn {
  margin: 0;
  white-space: nowrap;
  font-weight: 400;
}
.prayer-community-divider {
  height: 1px;
  margin: 1rem 0;
  background: #e1e7ec;
}
.prayer-community-heading {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: end;
  margin-bottom: .85rem;
}
.prayer-community-heading h2 {
  margin: .12rem 0 0;
  font-size: 1.15rem;
  font-weight: 500;
}
.prayer-community-heading > p {
  max-width: 36rem;
  margin: 0;
  font-size: .88rem;
  color: var(--muted, #68737d);
}
.prayer-community-actions {
  display: grid;
  grid-template-columns: minmax(230px, .75fr) minmax(0, 1.6fr);
  gap: .8rem;
  align-items: stretch;
}
.prayer-community-actions .whatsapp-card,
.prayer-community-actions .volunteer-card {
  border: 1px solid #dce5ed;
  border-radius: .7rem;
  padding: .9rem;
  background: #f9fbfc;
}
.prayer-community-actions .whatsapp-card h3,
.prayer-community-actions .volunteer-card h3 {
  font-size: 1rem;
  font-weight: 500;
}
.prayer-community-actions .volunteer-form {
  gap: .65rem;
}
.prayer-community-actions .volunteer-form input,
.prayer-community-actions .volunteer-form select {
  min-height: 2.35rem;
  padding: .48rem .62rem;
}
.prayer-community-actions .volunteer-submit {
  font-weight: 500;
}
@media (max-width: 900px) {
  .friday-area .notice {
    grid-template-columns: 1fr auto;
  }
  .friday-area .notice p {
    grid-column: 1 / -1;
  }
  .prayer-community-heading {
    display: block;
  }
  .prayer-community-heading > p {
    margin-top: .35rem;
  }
  .prayer-community-actions {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .prayer-community-card {
    padding: .75rem;
  }
  .friday-area .notice {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .friday-area .notice .btn {
    justify-self: start;
  }
  .prayer-community-actions .form-row.two-col {
    grid-template-columns: 1fr;
  }
}

/* Improve Friday-prayer notice readability */
.friday-area .notice p {
  color: #3f4e5b !important;
  opacity: 1 !important;
}

/* Strong readable contrast for the entire Friday prayer strip */
.friday-area .notice,
.friday-area .notice .eyebrow,
.friday-area .notice h2,
.friday-area .notice p {
  color: #263746 !important;
  opacity: 1 !important;
}
.friday-area .notice .eyebrow {
  color: #315f82 !important;
}
.friday-area .notice h2 {
  color: #1f3445 !important;
}

/* Floating donation shortcut */
.floating-donate {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .62rem .78rem;
  border: 1px solid rgba(24, 67, 99, .18);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #264f70;
  text-decoration: none;
  font-size: .86rem;
  font-weight: 500;
  box-shadow: 0 8px 22px rgba(25, 47, 64, .14);
  backdrop-filter: blur(8px);
}
.floating-donate svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.floating-donate:hover {
  background: #f5f8fb;
  border-color: rgba(24, 67, 99, .28);
}
.floating-donate:focus-visible {
  outline: 2px solid #6f94b1;
  outline-offset: 3px;
}
@media (max-width: 640px) {
  .floating-donate {
    right: .75rem;
    bottom: .75rem;
    padding: .58rem;
  }
  .floating-donate span {
    display: none;
  }
  .floating-donate svg {
    width: 1.08rem;
    height: 1.08rem;
  }
}

/* Sunday School teacher resources page */
.teachers-page {
  min-height: calc(100vh - 80px);
  padding-block: 3rem;
  background: #f5f8fb;
}
.teachers-shell {
  max-width: 980px;
  margin: 0 auto;
  padding: 1.25rem;
  background: #fff;
  border: 1px solid #dce5ed;
  border-radius: .85rem;
}
.teachers-heading {
  margin-bottom: 1.1rem;
}
.teachers-heading h1 {
  margin: .15rem 0 .35rem;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 600;
  color: #203747;
}
.teachers-heading p {
  margin: 0;
  color: #667580;
  font-size: .94rem;
}
.teacher-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .8rem;
}
.teacher-filters label {
  display: grid;
  gap: .35rem;
}
.teacher-filters label > span {
  font-size: .82rem;
  font-weight: 500;
  color: #33495a;
}
.teacher-filters select {
  width: 100%;
  min-height: 2.55rem;
  padding: .56rem .7rem;
  border: 1px solid #ccd8e1;
  border-radius: .55rem;
  background: #fff;
  color: #263846;
  font: inherit;
  font-size: .9rem;
}
.teacher-filters select:focus {
  outline: 2px solid rgba(49,95,130,.18);
  border-color: #6f94b1;
}
@media (max-width: 850px) {
  .teacher-filters {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 560px) {
  .teachers-page {
    padding-block: 1.4rem;
  }
  .teachers-shell {
    padding: .9rem;
  }
  .teacher-filters {
    grid-template-columns: 1fr;
  }
}

/* Sunday School registration */
.registration-page{padding-block:2.5rem;background:#f5f8fb}
.registration-shell{max-width:900px;margin:0 auto;padding:1.2rem;background:#fff;border:1px solid #dce5ed;border-radius:.85rem}
.registration-heading{margin-bottom:1rem}
.registration-heading h1{margin:.15rem 0 .35rem;font-size:clamp(1.55rem,3vw,2rem);font-weight:600;color:#203747}
.registration-heading p{margin:0;color:#667580;font-size:.92rem}
.required-mark{color:#a43c3c;font-weight:600}
.registration-message{margin:0 0 1rem;padding:.8rem .9rem;border-radius:.55rem;font-size:.9rem}
.registration-message.error{color:#7d2424;background:#fff1f1;border:1px solid #e7bcbc}
.registration-form{display:grid;gap:1rem}
.registration-gate{display:grid;gap:.9rem;margin:0;padding:.9rem;border:1px solid #dce5ed;border-radius:.65rem;background:#f9fbfc}
.registration-gate legend{padding:0 .35rem;font-size:.9rem;font-weight:500;color:#33495a}
.radio-question{display:grid;gap:.45rem}
.question-label{color:#33495a;font-size:.9rem}
.radio-options{display:flex;gap:1rem}
.radio-options label{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}
.registration-grid{display:grid;gap:.8rem}
.registration-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.registration-grid label{display:grid;gap:.35rem}
.registration-grid label.full{grid-column:1/-1}
.registration-grid label>span{font-size:.82rem;font-weight:500;color:#33495a}
.registration-grid input,.registration-grid select,.registration-grid textarea{width:100%;padding:.58rem .68rem;border:1px solid #ccd8e1;border-radius:.55rem;background:#fff;color:#263846;font:inherit;font-size:.91rem}
.registration-grid input,.registration-grid select{min-height:2.55rem}
.registration-grid textarea{resize:vertical}
.registration-submit{justify-self:start;border:0;border-radius:.55rem;padding:.68rem .95rem;background:#2b597c;color:#fff;font:inherit;font-size:.9rem;font-weight:500;cursor:pointer}
.registration-submit:hover{background:#244d6b}
@media(max-width:620px){.registration-page{padding-block:1.4rem}.registration-shell{padding:.9rem}.registration-grid.two-col{grid-template-columns:1fr}.registration-grid label.full{grid-column:auto}}
.registration-table{width:100%;border-collapse:collapse;font-size:.86rem}
.registration-table th,.registration-table td{padding:.6rem .65rem;border-bottom:1px solid #dce5ed;text-align:left;vertical-align:top}
.registration-table th{color:#33495a;font-weight:500;background:#f6f8fa}

/* Netlify registration helpers */
.netlify-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.registration-submit:disabled{opacity:.7;cursor:wait}
.registration-success{max-width:680px}
.registration-success h1{margin:.15rem 0 .5rem;color:#203747}
.registration-success p{color:#526572}
.registration-home-link{display:inline-block;margin-left:.8rem;font-weight:400;color:#315f82;text-decoration:none}

/* Sunday School registration callout */
.sunday-registration-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  margin:1rem 0 1.25rem;
  padding:.9rem 1rem;
  border:1px solid #d6e2eb;
  border-radius:.7rem;
  background:#f5f8fb;
}
.sunday-registration-callout h2{
  margin:.1rem 0 .25rem;
  font-size:1.05rem;
  font-weight:500;
  color:#263d4e;
}
.sunday-registration-callout p{
  margin:0;
  max-width:44rem;
  font-size:.88rem;
  color:#526572;
}
.sunday-registration-callout p strong{
  color:#294f6d;
  font-weight:600;
}
.sunday-registration-link{
  flex:0 0 auto;
  white-space:nowrap;
  font-weight:500;
}
@media(max-width:680px){
  .sunday-registration-callout{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Mobile menu hamburger visibility fix */
.menu-btn {
  color: #264f70;
}
.menu-btn svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor !important;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 900px) {
  .menu-btn {
    display: grid;
    place-items: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    background: #ffffff;
    border: 1px solid #d7e1e8;
    border-radius: .55rem;
  }
  .menu-btn svg path {
    stroke: #264f70 !important;
  }
}
