@font-face{font-family:"JH Digits";src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Roboto");font-weight:400;unicode-range:U+0030-0039}
@font-face{font-family:"JH Digits";src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Helvetica-Bold"),local("Roboto Bold"),local("Roboto-Bold");font-weight:700;unicode-range:U+0030-0039}
/* The Jewish Heritage for the Blind — draft site styles
   Accessibility first: 20px base, AAA contrast palette, visible focus, user text-size + high-contrast modes. */
@font-face{font-family:"Atkinson Hyperlegible";src:url("assets/atkinson-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("assets/atkinson-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("assets/atkinson-400i.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --bg:#fffaf1;          /* warm cream */
  --surface:#ffffff;
  --tint:#f6ead6;        /* parchment band */
  --text:#2a1a10;        /* deep brown, 16.5:1 on cream */
  --muted:#4a3526;       /* still AAA (10:1) */
  --brand:#7a1f2b;       /* burgundy, 10.4:1 on cream */
  --brand-dark:#5a1520;
  --gold:#f2c14e;        /* focus halo / accents */
  --on-brand:#ffffff;
  --border:#5a4636;
  --focus:#1a1a1a;
  --radius:14px;
  --max:72rem;
  --font-scale:1.25;     /* 1.25 x 16 = 20px base */
}
html{font-size:calc(100% * var(--font-scale));-webkit-text-size-adjust:100%}
html[data-text="large"]{--font-scale:1.5}     /* 24px */
html[data-text="xlarge"]{--font-scale:1.75}   /* 28px */

html[data-contrast="high"]{
  --bg:#000;--surface:#000;--tint:#111;--text:#fff;--muted:#fff;--brand:#ffe14d;--brand-dark:#ffe14d;
  --gold:#ffe14d;--on-brand:#000;--border:#fff;--focus:#ffe14d;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:"JH Digits","Atkinson Hyperlegible",Verdana,"Segoe UI",system-ui,sans-serif;font-size:1rem;line-height:1.65;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{line-height:1.2;margin:0 0 .6em;color:var(--text)}
h1{font-size:clamp(2rem,6vw,3rem)}
h2{font-size:clamp(1.55rem,4.5vw,2.1rem)}
h3{font-size:1.3rem}
p,ul,ol,dl{margin:0 0 1em}
ul,ol{padding-left:1.3em}
li{margin-bottom:.4em}
a{color:var(--brand);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.16em}
strong{font-weight:700}

/* Focus: thick, two-tone so it shows on any background */
:focus{outline:none}
:focus-visible{outline:4px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 8px var(--gold);border-radius:6px}

.skip-link{position:absolute;left:1rem;top:-10rem;z-index:100;background:var(--text);color:var(--bg);padding:.8rem 1.2rem;font-weight:700;border-radius:8px}
.skip-link:focus{top:1rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.wrap{max-width:var(--max);margin:0 auto;padding:0 1.1rem}

/* Accessibility toolbar */
.a11y-bar{background:var(--text);color:var(--bg)}
html[data-contrast="high"] .a11y-bar{background:#000;border-bottom:2px solid #fff;color:#fff}
.a11y-bar .wrap{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;justify-content:space-between;padding-top:.45rem;padding-bottom:.45rem}
.a11y-group{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.a11y-label{font-weight:700;font-size:.85rem}
.a11y-bar button{font:inherit;font-size:.85rem;font-weight:700;min-height:48px;min-width:48px;padding:.3rem .7rem;border-radius:10px;border:2px solid currentColor;background:transparent;color:inherit;cursor:pointer}
.a11y-bar button[aria-pressed="true"]{background:var(--bg);color:var(--text)}
html[data-contrast="high"] .a11y-bar button[aria-pressed="true"]{background:#ffe14d;color:#000;border-color:#ffe14d}
.a11y-bar :focus-visible{outline-color:var(--gold);box-shadow:none}

/* Header + nav */
.site-header{background:var(--surface);border-bottom:3px solid var(--brand)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding-top:.7rem;padding-bottom:.7rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text);font-weight:700;line-height:1.15;min-height:48px}
.brand img{display:block;width:150px;height:auto;background:#fff;border-radius:12px;padding:6px}
/* The logo already shows the full name in large letters; the text stays for screen readers. */
.brand span{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (min-width:48rem){.brand img{width:210px}}
@media (min-width:75rem){.brand img{width:240px}}
.menu-toggle{font:inherit;font-weight:700;min-height:52px;padding:.4rem .75rem;border-radius:12px;border:3px solid var(--brand);background:var(--surface);color:var(--brand);cursor:pointer;display:inline-flex;gap:.5rem;align-items:center}
.menu-toggle .bars{display:inline-block;width:1.1em;height:.8em;border-top:3px solid currentColor;border-bottom:3px solid currentColor;position:relative}
.menu-toggle .bars::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:3px solid currentColor;transform:translateY(-50%)}
.site-nav{flex-basis:100%}
.site-nav ul{list-style:none;margin:0;padding:.4rem 0 .2rem;display:flex;flex-direction:column;gap:.35rem}
.site-nav li{margin:0}
.site-nav a{display:flex;align-items:center;min-height:56px;padding:.4rem 1rem;border-radius:12px;text-decoration:none;font-weight:700;color:var(--text);border:2px solid transparent}
.site-nav a:hover{border-color:var(--border)}
.site-nav a[aria-current="page"]{background:var(--tint);border-color:var(--brand);color:var(--brand)}
.js .site-nav[data-open="false"]{display:none}
.nav-donate a{background:var(--brand);color:var(--on-brand)!important}
@media (min-width:62rem){
  .menu-toggle{display:none}
  .site-nav,.js .site-nav[data-open="false"]{display:block;flex-basis:auto}
  .site-nav ul{flex-direction:row;padding:0;gap:.2rem;flex-wrap:wrap;justify-content:flex-end}
  .site-nav a{min-height:52px;padding:.3rem .8rem}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:56px;padding:.6rem 1.4rem;border-radius:999px;font-weight:700;text-decoration:none;font-size:1.05rem;border:3px solid var(--brand);line-height:1.2;text-align:center;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--brand);color:var(--on-brand)}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn-secondary{background:var(--surface);color:var(--brand)}
.btn-secondary:hover{background:var(--tint)}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.ext::after{content:" ↗";speak:never}

/* Sections */
main{display:block}
.section{padding:3rem 0}
.section-tint{background:var(--tint)}
.eyebrow{display:inline-block;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;color:var(--brand);margin-bottom:.6rem}
.lede{font-size:1.15rem;color:var(--muted);max-width:40em}
.hero{padding:2.2rem 0 3rem;background:linear-gradient(180deg,var(--tint),var(--bg))}
html[data-contrast="high"] .hero{background:#000}
.hero-grid{display:grid;gap:2rem;align-items:center}
.hero figure,figure.media{margin:0}
.hero img,.media img{border-radius:var(--radius);border:3px solid var(--border)}
figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}
.page-head{padding:2.2rem 0 1.4rem;background:var(--tint);border-bottom:2px solid var(--border)}
.page-head p{margin-bottom:0}

.grid{display:grid;gap:1.2rem}
.card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:1.4rem}
.card h3{margin-bottom:.4em}
.card > :last-child{margin-bottom:0}
.card-feature{border-width:3px;border-color:var(--brand)}
.two-col{display:grid;gap:2rem;align-items:start}
.two-col>*,.grid>*,.hero-grid>*,.footer-grid>*{min-width:0}
.contact-list dd,.site-footer p,.placeholder,.stat-num{overflow-wrap:anywhere}
.pill-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.pill-list li{margin:0;border:2px solid var(--border);border-radius:999px;padding:.35rem 1rem;background:var(--surface)}
.big-quote{font-size:clamp(1.6rem,5vw,2.3rem);font-weight:700;line-height:1.25;color:var(--brand);margin:0 0 .6em}
.note{border-left:6px solid var(--brand);background:var(--surface);padding:1rem 1.2rem;border-radius:0 var(--radius) var(--radius) 0}
.placeholder{background:#fff3b0;color:#2a1a10;padding:0 .25em;border-radius:4px;outline:1px dashed #6b5300}
html[data-contrast="high"] .placeholder{background:#ffe14d;color:#000}
.draft-tag{display:inline-block;font-size:.8rem;font-weight:700;background:#fff3b0;color:#2a1a10;border:2px dashed #6b5300;border-radius:8px;padding:.15rem .6rem;margin-bottom:.8rem}
.stat-list{list-style:none;padding:0;display:grid;gap:1rem}
.stat-list li{margin:0}
.stat-num{display:block;font-size:2.2rem;font-weight:700;color:var(--brand);line-height:1.1}
.title-list{columns:1;padding-left:1.3em}
.contact-list dt{font-weight:700;margin-top:.8rem}
.contact-list dd{margin:0}
.contact-list a{font-size:1.1rem}

/* Forms */
form{display:grid;gap:1.1rem}
label{font-weight:700;display:block;margin-bottom:.3rem}
.hint{display:block;font-weight:400;font-size:.9rem;color:var(--muted)}
input,textarea,select{font:inherit;width:100%;min-height:56px;padding:.6rem .8rem;border:3px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}
textarea{min-height:9rem}
fieldset{border:2px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem}
legend{font-weight:700;padding:0 .4rem}
.check{display:flex;gap:.7rem;align-items:center;font-weight:400;min-height:48px;margin:0}
.check input{width:28px;height:28px;min-height:0;flex:none;accent-color:var(--brand)}
.form-status{font-weight:700;border:3px solid var(--brand);border-radius:10px;padding:.8rem 1rem;background:var(--surface)}
.form-status:empty{display:none}

/* Footer */
.site-footer{background:var(--navy);color:#fff;padding:2.5rem 0 1.5rem;margin-top:0;border-top:6px solid var(--gold)}
html[data-contrast="high"] .site-footer{background:#000;border-top:3px solid #fff;color:#fff}
.site-footer a{color:inherit}
.site-footer h2{color:inherit;font-size:1.2rem}
.footer-grid{display:grid;gap:1.8rem}
.site-footer ul{list-style:none;padding:0}
.site-footer li a{display:inline-flex;align-items:center;min-height:48px}
.site-footer .btn-primary,.site-footer .btn-gold{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.site-footer .btn-gold:hover{background:var(--coral-dark);border-color:var(--coral-dark)}
html[data-contrast="high"] .site-footer .btn-primary,html[data-contrast="high"] .site-footer .btn-gold{background:#ffe14d;color:#000;border-color:#ffe14d}
.site-footer :focus-visible{outline-color:var(--gold);box-shadow:none}
.fine{font-size:.85rem;border-top:1px solid currentColor;padding-top:1rem;margin-top:1.5rem}

@media (min-width:48rem){
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .stat-list{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:2fr 1fr 1.4fr}
  .title-list{columns:2;column-gap:2.5rem}
}
@media (min-width:62rem){
  .hero-grid{grid-template-columns:1.15fr .85fr}
  .two-col{grid-template-columns:1fr 1fr}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .section{padding:4rem 0}
}
/* Testimonials (Kind words) */
.quote{margin:0;display:flex;flex-direction:column;justify-content:space-between}
.quote blockquote{margin:0;padding-left:1rem;border-left:5px solid var(--brand)}
.quote blockquote p{margin:0;font-size:1.05rem}
.quote figcaption{margin-top:1rem;font-size:1rem;font-weight:700;color:var(--muted)}
.quote-inline{margin:1.4rem 0 0}
.quotes-title{margin:2.2rem 0 1rem}
.more-link{margin:1.6rem 0 0;font-weight:700}
.jump-list{margin:1.4rem 0 0}
.jump-list li{padding:0}
.jump-list a{display:flex;align-items:center;min-height:48px;padding:.3rem 1.1rem;font-weight:700;border-radius:999px}
/* Lekavod Shabbos web edition */
.issue-wrap{max-width:48rem}
.h1-sub{display:block;font-size:.55em;margin-top:.5em;color:var(--muted)}
.page-head .issue-wrap p{margin-bottom:.5rem}
.dedication{font-style:italic}
.issue-toc{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.4rem}
.issue-toc ol{margin:0;padding-left:1.6rem}
.issue-toc li{margin:.25rem 0}
.issue-toc a{display:inline-block;padding:.35rem 0}
.issue-article{margin-top:2.4rem;padding-top:2rem;border-top:3px solid var(--border)}
.issue-article p{max-width:none}
.byline{font-weight:700;color:var(--muted)}
.source{font-size:.95rem;color:var(--muted)}
.back-top{font-size:.95rem}
.issue-footer{margin-top:2.4rem;padding-top:1.4rem;border-top:3px solid var(--border);font-weight:700}
.masthead{font-size:.95rem;color:var(--muted)}
.btn-stack{flex-direction:column;align-items:flex-start}
.card .btn-row + h3{margin-top:1.8rem}
.site-nav a[aria-current="true"]{border-color:var(--brand)}
[hidden]{display:none!important}
.heb [lang="he"]{display:inline-block;white-space:nowrap}
/* Largest text step */
html[data-text="xxlarge"]{--font-scale:2}   /* 32px */
/* Calendar */
.cal-controls{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:flex-end;justify-content:space-between}
.cal-controls .btn-row{margin-top:0}
.cal-jump label{display:block;font-weight:700;margin-bottom:.3rem}
.cal-jump{max-width:100%}
.cal-jump select{width:auto;min-width:min(12rem,100%);max-width:100%}
.cal-week{margin-top:1.8rem}
#week-title{font-size:clamp(1.6rem,5vw,2.2rem);margin-bottom:.3rem}
.week-sub{font-weight:700;color:var(--brand);font-size:1.1rem}
.days{list-style:none;padding:0;margin:1.2rem 0 2rem;display:grid;gap:1rem}
@media (min-width:62rem){html:not([data-text="xlarge"]):not([data-text="xxlarge"]) .days{grid-template-columns:repeat(2,1fr)}}
.day{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem;margin:0}
.day h3{font-size:1.3rem;margin:0 0 .3rem}
.day .heb{margin:0;font-weight:700;color:var(--muted)}
.day .events{margin:.6rem 0 0;padding-left:1.3rem;font-size:1.1rem;font-weight:700}
.day .events li{margin:.15rem 0}
.is-today{border-width:4px;border-color:var(--brand);box-shadow:0 0 0 4px var(--gold)}
.today-tag{display:inline-block;background:var(--brand);color:var(--on-brand);border-radius:999px;padding:.05rem .7rem;font-size:.85rem;vertical-align:middle;margin-left:.3rem}
.times{border-collapse:collapse;width:100%;max-width:30rem;background:var(--surface);font-size:1.1rem}
.times th,.times td{border:2px solid var(--border);padding:.45rem .8rem;text-align:left}
.times td{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.times thead th{background:var(--tint)}
.times{table-layout:fixed}
.times td{width:5.5em}
.times th{overflow-wrap:anywhere;hyphens:auto}
html[data-text="xlarge"] .times,html[data-text="xxlarge"] .times{font-size:1rem}
html[data-text="xlarge"] .times th,html[data-text="xlarge"] .times td,html[data-text="xxlarge"] .times th,html[data-text="xxlarge"] .times td{padding:.35rem .5rem}
.cal-printed{margin-top:2.6rem;padding-top:1.6rem;border-top:3px solid var(--border)}
.cal-page-panel{margin-top:1rem}
.cal-page-scroll{overflow:auto;border:2px solid var(--border);border-radius:var(--radius);background:#fff;max-height:85vh;margin-top:1rem}
.cal-page-scroll img{display:block;width:100%;height:auto;max-width:none}
.btn:disabled{opacity:.55;cursor:not-allowed}
#print-area{display:none}
@page calpage{size:landscape;margin:.25in}
@media print{
  body.printing > *:not(#print-area){display:none!important}
  body.printing #print-area{display:block;page:calpage}
  #print-area .print-week{break-after:page;page-break-after:always;font-size:15pt}
  #print-area .days{grid-template-columns:repeat(4,1fr);gap:8pt}
  #print-area .day{padding:6pt 8pt;border:1.5pt solid #000}
  #print-area .times{font-size:11pt;max-width:none}
  #print-area .times th,#print-area .times td{padding:2pt 5pt}
}
/* Read to me */
.listen-bar{background:var(--surface);border-bottom:2px solid var(--border);padding:.8rem 0}
.listen-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.listen-rate{display:inline-flex;align-items:center;gap:.5rem;font-weight:700}
.listen-rate select{width:auto;min-height:48px}
.listen-note{margin:.4rem 0 0;font-size:.9rem;color:var(--muted)}
.reading{outline:4px solid var(--gold);outline-offset:4px;background:var(--tint)}
.listen-from{margin-left:.4rem;font:inherit;font-size:.9rem;font-weight:700;min-height:44px;min-width:44px;padding:.2rem .9rem;border:2px solid var(--brand);border-radius:999px;background:var(--surface);color:var(--brand);cursor:pointer}
.listen-from[hidden]{display:none}
/* Covers */
.cover-link{display:block;margin:0 0 1rem;max-width:26rem}
.cover-link img{display:block;width:100%;height:auto;border:2px solid var(--border);border-radius:8px}
.issue-cover{max-width:34rem;margin:1.2rem 0 0}
/* Past issues */
.issue-filter{max-width:32rem;margin-bottom:1.6rem}
.issue-filter label{display:block;font-weight:700;margin-bottom:.3rem}
.issue-count{margin:.5rem 0 0;font-weight:700;color:var(--muted)}
.issue-list{list-style:none;padding:0;margin:0;display:grid;gap:1.2rem}
.issue-item{display:grid;gap:1rem;margin:0;grid-template-columns:minmax(0,1fr)}
.issue-item>*{min-width:0}
.issue-body .btn{max-width:100%}
@media (min-width:48rem){.issue-item{grid-template-columns:14rem minmax(0,1fr);align-items:start}}
.issue-thumb{display:block;width:100%;max-width:22rem;height:auto;border:2px solid var(--border);border-radius:8px}
.issue-body h2{margin-bottom:.2rem}
.issue-date{font-weight:700;color:var(--muted);margin:0}
.issue-ded{margin:.5rem 0 0}
.issue-body .btn-row{margin-top:.9rem}
.edition{margin:1rem 0 0;padding:1rem 1.2rem;border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface)}
.edition h3,.edition h2{font-size:1.1rem;margin:0 0 .4rem}
.edition p{margin:.3rem 0}
.print-sample{font-family:"Times New Roman",Times,serif;font-size:21pt;line-height:1.3;margin:.5rem 0 0}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media (forced-colors:active){.btn,.card,.site-nav a[aria-current="page"]{border:2px solid CanvasText}}

/* Real photos from the organization */
figure.photo-small{margin:1.5rem 0 0;max-width:280px}
figure.photo-small img{width:100%;height:auto}
figure.photo-wide{margin:2rem auto 0;max-width:640px}
figure.photo-wide img{width:100%;height:auto}
.photo-small figcaption,.photo-wide figcaption{margin-top:.5rem;font-weight:700}
.photo-quote{display:grid;gap:1.2rem;align-items:center;margin:0 0 2rem}
.photo-quote img{width:100%;max-width:340px;height:auto;border-radius:var(--radius);border:3px solid var(--border);justify-self:center}
.photo-quote blockquote{margin:0;padding-left:1rem;border-left:5px solid var(--brand)}
.photo-quote blockquote p{margin:0;font-size:1.35rem;font-weight:700;line-height:1.35}
.photo-quote .photo-credit{margin:.8rem 0 0;font-weight:400}
@media (min-width:48rem){.photo-quote{grid-template-columns:min(340px,40%) 1fr;gap:2rem}}
.tax-id{font-size:1.1rem}

/* ===== Round 6: Webflow look (palette, serif headings, photo hero, teal bands) ===== */
@font-face{font-family:"Shippori Mincho";src:url("assets/shippori-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("assets/atkinson-700i.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
:root{
  /* Round 8 palette: navy, gold and cream (Oct 22). Cream page cuts glare; navy text 12.6:1 on cream. */
  --bg:#fbf7ef; --surface:#fffdf8; --tint:#f3ebdc; --text:#1b2f4e; --muted:#3a4a63;
  --brand:#1f3a68; --brand-dark:#162b4f; --on-brand:#ffffff; --border:#5b6577;
  --navy:#1f3a68; --navy-dark:#162b4f; --on-gold:#142640;
  --coral:#e8b23a; --coral-dark:#f0c25a; --teal:#1f3a68; --ink:#1b2f4e; --gold:#e8b23a;
}
h1,h2,.big-quote{font-family:"Shippori Mincho",Georgia,"Times New Roman",serif;letter-spacing:-.01em}
h2{color:var(--navy)}
html[data-contrast="high"] h2{color:#fff}
.script{font-family:"JH Digits","Atkinson Hyperlegible",Verdana,"Segoe UI",system-ui,sans-serif;font-style:italic;font-weight:700;color:var(--brand);font-size:clamp(1.4rem,3.6vw,1.75rem);line-height:1.25;margin:0 0 .4rem;letter-spacing:.01em}
html[data-contrast="high"] .script{color:#ffe14d}
.site-header{border-bottom:0;box-shadow:0 4px 0 var(--gold)}
html[data-contrast="high"] .site-header{box-shadow:none;border-bottom:2px solid #fff}
.site-nav a[aria-current="page"]{color:var(--brand)}
html[data-contrast="high"] .site-nav a[aria-current="page"]{color:#ffe14d}
.nav-donate a{background:var(--gold);color:var(--on-gold)!important;border-color:var(--coral)!important;border-radius:999px!important;text-transform:uppercase;letter-spacing:.04em}
.nav-donate a:hover{background:var(--coral-dark)}
html[data-contrast="high"] .nav-donate a{background:#ffe14d;color:#000!important;border-color:#ffe14d!important}
/* Buttons: navy primary with white text (11.3:1); gold DONATE with navy text (7.9:1) */
.btn{text-transform:uppercase;letter-spacing:.05em;font-size:1rem;border-radius:6px}
.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-dark);border-color:var(--navy-dark);color:#fff}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.btn-gold:hover{background:var(--coral-dark);border-color:var(--coral-dark);color:var(--on-gold)}
.btn-secondary{background:var(--surface);border-color:var(--navy);color:var(--navy)}
.btn-secondary:hover{background:var(--tint)}
html[data-contrast="high"] .btn-primary,html[data-contrast="high"] .btn-gold{background:#ffe14d;border-color:#ffe14d;color:#000}
html[data-contrast="high"] .btn-secondary{background:#000;border-color:#fff;color:#fff}
.btn-lg{min-height:64px;font-size:1.1rem;padding:.8rem 1.8rem}
.section-tint{background:var(--tint)}
html[data-contrast="high"] .section-tint{background:#111}

/* Hero: light split layout (Round 8). Cream background, navy text 12.6:1, photo beside the text. */
.hero-wf{position:relative;color:var(--text);background:var(--bg);padding:clamp(2.2rem,6vw,4.5rem) 0;border-bottom:6px solid var(--gold)}
.hero-split-grid{display:grid;gap:2rem;align-items:center}
.hero-split-grid>*{min-width:0}
.pill{max-width:100%}
@media (min-width:62rem){.hero-split-grid{grid-template-columns:1.1fr .9fr;gap:3rem}}
.hero-wf .script{color:var(--navy);font-size:clamp(1.5rem,4.2vw,2.1rem);margin-bottom:.6rem}
.hero-wf .script::after{content:"";display:block;width:4.5rem;height:6px;border-radius:3px;background:var(--gold);margin-top:.5rem}
.hero-wf h1{color:var(--text);font-size:clamp(2.1rem,5.4vw,3.6rem);line-height:1.15;margin:0 0 .8em;max-width:18em}
.pill{display:inline-block;background:var(--gold);border:2px solid var(--gold);border-radius:999px;padding:.45rem 1.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1rem;margin:0 0 1.6rem;color:var(--on-gold)}
.hero-photo{margin:0}
.hero-photo img{display:block;width:100%;height:auto;border-radius:14px;border:4px solid var(--surface);box-shadow:0 0 0 3px var(--gold),0 10px 28px rgba(27,47,78,.18)}
html[data-contrast="high"] .hero-wf{background:#000;color:#fff;border-bottom:0}
html[data-contrast="high"] .hero-wf h1{color:#fff}
html[data-contrast="high"] .hero-wf .script{color:#ffe14d}
html[data-contrast="high"] .hero-wf .script::after{background:#ffe14d}
html[data-contrast="high"] .pill{background:transparent;border-color:#fff;color:#fff}
html[data-contrast="high"] .hero-photo img{border-color:#fff;box-shadow:none}
html[data-contrast="high"] .hero-wf .btn-secondary{background:#000;color:#fff}

/* Navy band (calendar), white text 11.3:1, gold rules (Round 8; class name kept) */
.band-teal{background:var(--navy);color:#fff;border-top:6px solid var(--gold);border-bottom:6px solid var(--gold)}
.band-teal h2,.band-teal .script,.band-teal a:not(.btn),.band-teal figcaption{color:#fff}
.band-teal .order-box a:not(.btn){color:var(--navy)}
.band-teal .btn-secondary:hover{background:var(--tint)}
.band-teal img{border:0}
.band-teal figure{margin:0}
.band-teal img{width:100%;height:auto;border-radius:6px;display:block}
html[data-contrast="high"] .band-teal{background:#000;color:#fff;border-top:2px solid #fff;border-bottom:2px solid #fff}
html[data-contrast="high"] .band-teal img{border:0}
html[data-contrast="high"] .band-teal .order-box a:not(.btn){color:#fff}
html[data-contrast="high"] .band-teal h2,html[data-contrast="high"] .band-teal .script,html[data-contrast="high"] .band-teal a:not(.btn),html[data-contrast="high"] .band-teal figcaption{color:#fff}
.order-box{background:var(--bg);border:3px solid var(--gold);border-radius:10px;padding:1.2rem 1.4rem;margin-top:1.4rem;color:var(--ink)}
.order-box h3{margin:0 0 .4rem;color:var(--ink)}
.order-box p{margin:.3rem 0 .8rem}
html[data-contrast="high"] .order-box{background:#000;border-color:#fff;color:#fff}
html[data-contrast="high"] .order-box h3{color:#fff}

/* Checklist like the Webflow "About Us" block */
.check-list{list-style:none;padding:0;margin:1.2rem 0;display:grid;gap:.5rem 1.5rem}
@media (min-width:36rem){.check-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.check-list li{position:relative;padding-left:2.1rem;font-weight:700;margin:0}
.check-list li::before{content:"";position:absolute;left:0;top:.2em;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--coral);box-shadow:inset 0 0 0 3px var(--surface),0 0 0 2px var(--navy)}
html[data-contrast="high"] .check-list li::before{background:#ffe14d;box-shadow:none}
.section-head{max-width:46rem;margin:0 auto 2rem;text-align:center}
.section-head .script{margin-bottom:.2rem}

/* "Ways we can help" cards with a coral top rule */
.help-card{border:0;border-top:6px solid var(--gold);box-shadow:0 2px 12px rgba(27,47,78,.14)}
html[data-contrast="high"] .help-card{border:2px solid #fff;border-top:6px solid #ffe14d;box-shadow:none}

/* Stats band */
.stats-band{background:var(--gold);color:var(--on-gold);padding:2.6rem 0}
html[data-contrast="high"] .stats-band{color:#fff}
.stats{list-style:none;margin:0;padding:0;display:grid;gap:1.6rem;text-align:center}
@media (min-width:48rem){.stats{grid-template-columns:repeat(3,1fr)}}
.stats li{margin:0}
.stats .num{display:block;font-family:"Shippori Mincho",Georgia,serif;font-weight:700;font-size:clamp(2.4rem,6vw,3.4rem);line-height:1.1;color:var(--on-gold)}
html[data-contrast="high"] .stats .num{color:#fff}
.stats .lbl{display:block;font-weight:700;font-size:1.05rem}
html[data-contrast="high"] .stats-band{background:#000;border-top:2px solid #fff;border-bottom:2px solid #fff}

/* Calendar week: printed page as the main visual, text version behind it */
.cal-page-fig{margin:0 0 1.2rem}
.cal-page-fig img{display:block;width:100%;height:auto;background:#fff;border:2px solid var(--border);border-radius:8px}
.cal-page-fig figcaption{font-size:1rem;color:var(--muted)}
.cal-text-head{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:.4rem 0 1.2rem}
.text-behind{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.text-behind *{white-space:nowrap}

/* Schedule a call */
.call-card{border:4px solid var(--navy);border-top-width:10px;border-top-color:var(--gold);background:var(--surface)}
.call-card h2{margin-top:0}
.call-form{display:grid;gap:1rem;margin-top:1rem}
.call-form label{display:block;font-weight:700;margin-bottom:.3rem}
.call-form input,.call-form textarea,.call-form select{width:100%;font:inherit;font-size:1.05rem;padding:.7rem .8rem;border:2px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);min-height:52px}
.call-form textarea{min-height:8rem}
@media (min-width:48rem){.call-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}
.big-phone{font-size:clamp(1.5rem,4vw,2rem);font-weight:700}
html[data-contrast="high"] .call-card{background:#000;border-color:#ffe14d}
html[data-contrast="high"] .call-form input,html[data-contrast="high"] .call-form textarea,html[data-contrast="high"] .call-form select{background:#000;color:#fff;border-color:#fff}

/* Prayer services */
.schedule{width:100%;max-width:44rem;border-collapse:collapse;font-size:1.2rem;margin:0 0 1rem;background:var(--surface)}
.schedule th,.schedule td{border:2px solid var(--border);padding:.8rem 1rem;text-align:left;vertical-align:top}
.schedule thead th{background:var(--navy);color:#fff}
html[data-contrast="high"] .schedule{background:#000}
html[data-contrast="high"] .schedule thead th{background:#000;color:#fff}
.tool-card{display:flex;flex-direction:column;gap:.6rem}
.tool-card .btn-row{margin-top:.4rem}
.embed-wrap{margin-top:1.2rem}
.embed-wrap iframe{display:block;width:100%;height:min(80vh,52rem);border:3px solid var(--border);border-radius:8px;background:#fff}
.howto{padding-left:1.4em}
.howto li{margin-bottom:.5em}
.credit{font-size:1rem;color:var(--muted)}

@media (min-width:62rem){
  .site-header .wrap{flex-wrap:nowrap;gap:1rem}
  .site-nav ul{gap:.1rem;flex-wrap:wrap}
  .site-nav a{padding:.3rem .55rem;font-size:.92rem}
}
@media (min-width:62rem) and (max-width:84rem){.brand img{width:170px}}
html[data-text="xlarge"] .site-header .wrap,html[data-text="xxlarge"] .site-header .wrap{flex-wrap:wrap}

@media (min-width:62rem){.site-nav a{padding:.25rem .42rem;font-size:.86rem}.brand img{width:170px}}
@media (min-width:110rem){.brand img{width:200px}.site-nav a{font-size:.92rem;padding:.3rem .55rem}}

#cal-view #week-title{margin-top:1.6rem}
.btn-row.spaced{margin-top:1.6rem}

.player{margin:1.2rem 0 1.6rem}
.player h3{margin-top:0}
.player-pick{margin:.6rem 0 1rem;max-width:40rem}
.player-pick label,.speed label{display:block;font-weight:700;margin-bottom:.3rem}
.speed label{display:inline;margin-right:.3rem}
.player select{font:inherit;font-size:1.05rem;min-height:52px;padding:.5rem .7rem;border:2px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);max-width:100%}
.player-pick select{width:100%}
.player-controls{align-items:center}
.now-playing{font-size:1.15rem;font-weight:700;min-height:1.6em;margin:.8rem 0}
.player audio{display:block;width:100%;max-width:40rem;margin:.4rem 0 1rem}
.part-list{padding-left:1.6em}
.part-list li{margin:.2rem 0}
.linklike{font:inherit;font-size:1.15rem;background:none;border:2px solid transparent;border-radius:8px;color:var(--brand);text-decoration:underline;cursor:pointer;padding:.35rem .5rem;min-height:48px;text-align:start}
.linklike[aria-current="true"]{border-color:var(--brand);font-weight:700;text-decoration:none}
html[data-contrast="high"] .player select{background:#000;color:#fff;border-color:#fff}
html[data-contrast="high"] .linklike{color:#ffe14d}
html[data-contrast="high"] .linklike[aria-current="true"]{border-color:#ffe14d}

:root{--brand:#1f3a68;--brand-dark:#162b4f}
.nav-donate a{color:var(--on-gold)!important}
.schedule{table-layout:fixed}
.schedule th,.schedule td{overflow-wrap:anywhere;hyphens:auto}

.btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}
html[data-text="xlarge"] .btn,html[data-text="xxlarge"] .btn{letter-spacing:0;padding-left:1rem;padding-right:1rem}

/* Page-flip viewer */
.flip-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:0 0 1rem}
.flip-count{font-weight:700;font-size:1.15rem;min-width:7em;text-align:center}
.flip-go label{font-weight:700;margin-right:.3rem}
.flip-go select{font:inherit;font-size:1.05rem;min-height:52px;padding:.4rem .6rem;border:2px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);max-width:100%}
.flip-stage{perspective:2200px;background:#e9dfcc;border-radius:10px;padding:clamp(.4rem,2vw,1.2rem);display:flex;gap:.6rem;justify-content:center;overflow:auto;max-height:none}
.flip-sheet{margin:0;flex:1 1 0;min-width:0;transform-origin:left center;transition:transform .23s ease-in,opacity .23s;max-width:1300px}
.flip-sheet img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.35);border-radius:2px}
.flip-stage.turn-out-next .flip-sheet{transform:rotateY(-80deg);opacity:.4}
.flip-stage.turn-out-prev .flip-sheet{transform-origin:right center;transform:rotateY(80deg);opacity:.4}
.flip-stage.turn-in-next .flip-sheet{transition:none;transform-origin:right center;transform:rotateY(80deg);opacity:.4}
.flip-stage.turn-in-prev .flip-sheet{transition:none;transform:rotateY(-80deg);opacity:.4}
.flip-stage.turning-in .flip-sheet{transition:transform .25s ease-out,opacity .25s;transform:none;opacity:1}
.flip-stage.zoomed{display:block;max-height:85vh}
.flip-stage.zoomed .flip-sheet{max-width:none;width:200%}
.flip-stage.zoomed.two .flip-sheet{width:100%}
.flip-stage.two .flip-sheet{max-width:none}
.flip-text-link{font-size:1.15rem;font-weight:700}
html[data-contrast="high"] .flip-stage{background:#000;border:2px solid #fff}
html[data-contrast="high"] .flip-go select{background:#000;color:#fff;border-color:#fff}
@media (prefers-reduced-motion:reduce){.flip-sheet{transition:none!important}}

/* About block: pull-quote heading */
.quote-heading{position:relative;font-size:clamp(2.2rem,6.4vw,3.3rem);line-height:1.12;color:var(--brand);margin:0 0 .6rem;padding-left:.95em}
.quote-heading::before{content:"\201C" / "";position:absolute;left:-.04em;top:-.12em;font-size:1.9em;line-height:1;color:var(--coral);pointer-events:none}
.quote-sub{font-size:clamp(1.25rem,3.2vw,1.55rem);font-weight:700;line-height:1.3;margin:0 0 1.1rem}
.about-quote .big-quote{font-size:clamp(1.3rem,3.4vw,1.75rem)}
html[data-contrast="high"] .quote-heading::before{color:#ffe14d}

/* Show the whole hero photo (portrait) so the large print book is not cropped. */
.hero-photo{max-width:440px;justify-self:center;width:100%}
.hero-photo img{object-fit:contain}

.about-quote .two-col{align-items:center}

/* Calendar page: the calendar comes first; info follows. */
.page-head-compact{padding-top:1rem;padding-bottom:.25rem}
.page-head-compact h1{font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);margin-bottom:0}
.page-head-compact + .cal-section{padding-top:.75rem}

.view-cal{margin:1.25rem 0 1rem}

.cal-buttons{margin-top:1.5rem;align-items:center}
@media (min-width:62rem){.cal-buttons{flex-wrap:nowrap}.cal-buttons .btn-lg{padding:.8rem 1.1rem;font-size:1rem}}
@media (min-width:62rem){.cal-buttons .btn{padding-left:1.1rem;padding-right:1.1rem}}
.cal-buttons{align-items:stretch}
.h2-sub{display:inline-block;font-size:.6em;margin-top:.35rem;line-height:1.25}
.ph-box{display:flex;align-items:center;justify-content:center;min-height:320px;border:3px dashed var(--border);border-radius:var(--radius);background:#FFFDF8;color:#3A4A63;font-size:1.2rem;padding:1rem;text-align:center}

/* Prayer Services: tick-box controller */
.listen-box{margin:0 0 1.6rem;padding:0 0 1.2rem;border-bottom:2px solid var(--border)}
.picker{margin:0}
.picker h3,.player-h{margin-top:0}
.listen-box .player-h{margin-top:0}
.pick-count{font-size:1.1rem;margin:.8rem 0}
.pick-list{margin:1rem 0}
.pick-group{border:2px solid var(--border);border-radius:10px;margin:0 0 .6rem;background:var(--surface)}
.pick-group>summary{cursor:pointer;padding:.75rem 1rem .75rem 2.6rem;min-height:52px;font-weight:700;font-size:1.1rem;color:var(--ink);list-style:none;position:relative}
.pick-group>summary::-webkit-details-marker{display:none}
.pick-group>summary::before{content:'';position:absolute;left:1rem;top:1.15rem;border:.42rem solid transparent;border-left:.62rem solid currentColor;border-right:0;transition:transform .15s}
.pick-group[open]>summary::before{transform:rotate(90deg)}
.pick-group>summary .pg-count{font-weight:400;color:var(--muted)}
.pick-group[open]>summary{border-bottom:2px solid var(--border)}
.pick-group fieldset{border:0;margin:0;padding:.6rem 1rem 1rem;min-width:0}
.pick-group legend{font-weight:700;padding:0;margin:0 0 .5rem;float:left;width:100%}
.pick-group legend+*{clear:both}
.pick-actions{margin:.2rem 0 .8rem;gap:.5rem}
.btn.btn-sm{min-height:48px;padding:.45rem .9rem;font-size:.9rem;letter-spacing:.03em}
.checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem}
.checks li{min-width:0}
.checks label{min-width:0;overflow-wrap:anywhere}
.checks li{display:flex;align-items:center;gap:.7rem;margin:0;padding:.25rem .3rem;border-radius:8px}
.checks li:hover{background:var(--tint)}
.checks input[type=checkbox]{flex:0 0 auto;width:1.6em;height:1.6em;margin:0;accent-color:var(--navy,#1f3a68);cursor:pointer}
.checks label{flex:1 1 auto;cursor:pointer;font-size:1.1rem;padding:.35rem 0;min-height:44px;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.checks label [lang="he"]{font-size:1.2em}
.pick-play{margin-top:1rem}
.edit-box{border:3px solid var(--gold);border-radius:10px;padding:1rem 1.2rem;margin:0 0 1rem;background:var(--bg)}
.edit-box h4{margin:0 0 .6rem}
.edit-list{padding-left:1.8em;margin:0 0 .8rem}
.edit-list li{margin:0 0 .6rem}
.edit-name{display:inline-block;margin-right:.6rem;font-size:1.1rem}
.edit-btns{display:inline-flex;flex-wrap:wrap;gap:.4rem;vertical-align:middle}
.queue-box{margin:.4rem 0 0}
.queue-box>summary{cursor:pointer;font-weight:700;font-size:1.1rem;min-height:48px;padding:.6rem 0;color:var(--navy,#1f3a68);text-decoration:underline}
.queue-title{font-size:1.1rem;margin:.4rem 0}
.player .btn:disabled{opacity:1;cursor:not-allowed;background:var(--surface);border-color:#5c6b80;color:#4a5566;border-style:dashed}
html[data-contrast="high"] .pick-group,html[data-contrast="high"] .edit-box{background:#000;border-color:#fff}
html[data-contrast="high"] .pick-group>summary{color:#fff}
html[data-contrast="high"] .pick-group>summary .pg-count{color:#fff}
html[data-contrast="high"] .checks li:hover{background:#222}
html[data-contrast="high"] .checks input[type=checkbox]{accent-color:#ffe14d}
html[data-contrast="high"] .queue-box>summary{color:#ffe14d}
html[data-contrast="high"] .player .btn:disabled{background:#000;border-color:#bbb;color:#ddd}
html[data-contrast="high"] .edit-box{border-color:#ffe14d}
@media (max-width:40rem){.card.player{padding:1rem .75rem}.pick-group fieldset{padding:.5rem .5rem .8rem}.pick-group>summary{padding:.7rem .6rem .7rem 2.1rem}.pick-group>summary::before{left:.6rem}.pick-group fieldset{padding:.5rem .6rem .8rem}.edit-name{display:block;margin:0 0 .3rem}}

#our-pubs ~ * figure img, section[aria-labelledby="our-pubs"] figure img{max-width:440px;width:100%;height:auto;margin-inline:auto;display:block}

/* Section separation (Oct 27) */
.section-sky{background:#e3ebf6}
.section-tint{background:#efe3cc}
html[data-contrast="high"] .section-sky,html[data-contrast="high"] .section-tint{background:#111}
main > .section + .section{border-top:1px solid rgba(31,58,104,.15)}
html[data-contrast="high"] main > .section + .section{border-top:2px solid #fff}
.card-photo{width:100%;height:auto;border-radius:10px;margin:.4rem 0 1rem}
