/* Pardes scholarship process, board-facing site.
   Design language matches "Piece by Piece / Ahavat Yeladim":
   Montserrat headlines (navy) over a Lora serif body, navy + green + gold on cool
   off-white, three-square eyebrow, green rule divider, soft cards, photo strip,
   italic serif pull-quotes, bs"d top-right. Warm, editorial, confident. */
:root{
  --navy:#343e85; --navy-deep:#1c2350; --green:#10653c; --green-deep:#0a4a2b; --green-br:#1c8a55;
  --brown:#7a5230; --gold:#b88a3a;
  --off:#f5f6fb; --paper:#ffffff; --ink:#23263e; --body:#474b63; --muted:#7c809a; --line:#e7e8f1;
  --navy-tint:#edeefb; --green-tint:#e7f1ea; --gold-tint:#f6efe1;
  --maxw:1080px; --measure:740px; --gut:24px;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--paper); color:var(--body);
  font-family:'Lora',Georgia,serif; font-size:18px; line-height:1.62; -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,.mont{ font-family:'Montserrat',Arial,sans-serif; }
.heb{ font-family:'Frank Ruhl Libre',serif; }
img{ max-width:100%; display:block; }
a{ color:var(--green); text-decoration:none; }

.band{ width:100%; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gut); }
.measure{ max-width:var(--measure); margin-left:auto; margin-right:auto; }
.sect{ padding:46px 0; }
.center{ text-align:center; }
p{ margin:0 0 14px; }
.accent{ height:4px; background:linear-gradient(90deg,var(--navy) 0%,var(--green) 55%,var(--gold) 100%); }

/* eyebrow with three-square mark (the signature) */
.eyebrow{ font-family:'Montserrat',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.2em;
  font-size:11.5px; color:var(--green); margin:0 0 13px; display:inline-flex; align-items:center; gap:9px; }
.eyebrow .sqs{ display:inline-flex; gap:3px; }
.eyebrow .sqs i{ width:8px; height:8px; border-radius:2px; display:block; }
.eyebrow .sqs i:nth-child(1){ background:var(--navy); }
.eyebrow .sqs i:nth-child(2){ background:var(--green); }
.eyebrow .sqs i:nth-child(3){ background:var(--gold); }

h1.sh,h2.sh{ font-family:'Montserrat',sans-serif; font-weight:800; color:var(--navy);
  font-size:clamp(25px,3.4vw,36px); line-height:1.13; letter-spacing:-.02em; margin:0 0 14px; }
.lead{ font-size:19px; line-height:1.55; color:var(--ink); }
.rule{ width:46px; height:3px; border-radius:3px; background:var(--green); margin:16px 0 0; }
.center .rule{ margin-left:auto; margin-right:auto; }
.prose p{ font-size:17px; color:var(--body); }
.prose p strong{ color:var(--ink); }
strong{ color:var(--ink); }

/* topbar with nav */
.topbar{ position:sticky; top:0; z-index:30; background:rgba(255,255,255,.94);
  backdrop-filter:saturate(140%) blur(10px); -webkit-backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line); }
.topbar .wrap{ display:flex; align-items:center; gap:16px; min-height:62px; max-width:1160px; flex-wrap:wrap; padding-top:9px; padding-bottom:9px; }
.brand{ display:flex; align-items:center; gap:11px; margin-right:auto; }
.brand .mk{ height:38px; width:auto; }
.brand .bt{ display:flex; flex-direction:column; }
.brand .b1{ font-family:'Montserrat',sans-serif; font-weight:800; color:var(--navy); font-size:15px; line-height:1.05; white-space:nowrap; }
.brand .b1 .sl{ color:var(--green); }
.brand .b2{ font-family:'Montserrat',sans-serif; font-weight:600; color:var(--muted); font-size:8px; letter-spacing:.14em; text-transform:uppercase; margin-top:3px; }
.topbar nav{ display:flex; gap:18px; }
.topbar nav a{ font-family:'Montserrat',sans-serif; font-weight:600; font-size:13px; color:var(--body); padding:4px 0;
  border-bottom:2px solid transparent; }
.topbar nav a:hover{ color:var(--navy); }
.topbar nav a.here{ color:var(--navy); border-bottom-color:var(--green); }
.topbar .bsd{ font-family:'Frank Ruhl Libre',serif; font-weight:500; font-size:15px; color:var(--muted); white-space:nowrap; }

/* back link */
.backbar{ max-width:1160px; margin:0 auto; padding:16px var(--gut) 0; }
.back{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; color:var(--green); display:inline-flex; align-items:center; gap:7px; }
.back:hover{ text-decoration:underline; }

/* HERO: centered text on white, photo strip beneath */
.hero{ position:relative; background:#fff; }
.hero .htext{ position:relative; max-width:780px; margin:0 auto; padding:50px var(--gut) 24px; text-align:center; }
.hero .eyebrow{ justify-content:center; }
.hero .heb-name{ font-family:'Frank Ruhl Libre',serif; font-weight:500; font-size:22px; color:var(--green); margin:0 0 10px; }
.hero h1{ font-family:'Montserrat',sans-serif; font-weight:800; color:var(--navy); font-size:clamp(27px,4.2vw,46px); line-height:1.08; letter-spacing:-.025em; margin:0 0 16px; }
.hero h1 em{ font-family:'Lora',serif; font-style:italic; font-weight:500; color:var(--green); }
.hero .sub{ font-size:18.5px; line-height:1.5; color:var(--body); margin:0 auto 14px; max-width:50ch; }
.hero .sub em{ font-style:italic; color:var(--green); }
.hero .tag{ font-family:'Montserrat',sans-serif; font-weight:600; font-size:11.5px; letter-spacing:.04em; color:var(--muted); }
.strip-head{ display:flex; align-items:center; justify-content:space-between; max-width:1160px; margin:0 auto; padding:0 var(--gut); }
.strip-head .e{ font-family:'Montserrat',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.16em; font-size:10.5px; color:var(--muted); }
.strip-head .e .sw{ color:var(--green); }
.hstrip{ display:flex; gap:13px; overflow-x:auto; scroll-snap-type:x mandatory; padding:12px var(--gut) 34px; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.hstrip::-webkit-scrollbar{ height:6px; } .hstrip::-webkit-scrollbar-thumb{ background:#cfd2e6; border-radius:99px; }
.hstrip .ph{ flex:0 0 78%; max-width:420px; aspect-ratio:3/2; border-radius:16px; overflow:hidden; scroll-snap-align:center; box-shadow:0 14px 32px rgba(16,22,52,.14); position:relative; }
.hstrip .ph img{ width:100%; height:100%; object-fit:cover; }
.hstrip .ph .cap{ position:absolute; left:0; right:0; bottom:0; padding:24px 13px 10px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:11.5px; color:#fff; background:linear-gradient(to top,rgba(10,14,34,.78),transparent); }

/* sub-page header block (no photo) */
.phead{ background:#fff; }
.phead .htext{ max-width:var(--measure); margin:0 auto; padding:38px var(--gut) 6px; }

/* pull quote */
.pull{ font-family:'Lora',serif; font-style:italic; font-size:clamp(20px,2.7vw,25px); line-height:1.4; color:var(--navy); border-left:3px solid var(--green); padding:4px 0 4px 20px; margin:22px 0; }

/* steps (rounded-square number badge, soft card) */
.steps{ display:grid; grid-template-columns:1fr; gap:12px; margin-top:22px; }
.steps.one{ grid-template-columns:1fr; }  /* force single even column for odd counts (e.g. 5 steps), no orphan box */
.step{ background:var(--paper); border:1px solid var(--line); border-radius:15px; padding:17px 19px; box-shadow:0 5px 16px rgba(16,22,52,.05); display:flex; gap:15px; align-items:flex-start; }
.step .no{ flex:0 0 auto; width:32px; height:32px; border-radius:9px; background:var(--green-tint); color:var(--green); font-family:'Montserrat',sans-serif; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }
.step h3{ font-family:'Montserrat',sans-serif; font-weight:700; color:var(--navy); font-size:16.5px; margin:0 0 4px; }
.step p{ font-size:15px; color:var(--body); margin:0; line-height:1.5; }

/* requirement cards (even row of three, never an orphan) */
.reqs{ display:grid; grid-template-columns:1fr; gap:12px; margin:16px 0 0; }
.req{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; box-shadow:0 5px 16px rgba(16,22,52,.05); }
.req h4{ font-family:'Montserrat',sans-serif; font-weight:700; color:var(--navy); font-size:15px; margin:0 0 6px; }
.req p{ font-size:14.5px; color:var(--body); margin:0; line-height:1.5; }

/* the tuition split bar */
.splitwrap{ background:var(--navy); border-radius:16px; padding:22px; margin-top:24px; color:#fff; }
.splitwrap .t{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:15px; margin:0 0 3px; }
.splitwrap .d{ font-size:13.5px; color:#c3c9ef; margin:0 0 16px; }
.split{ display:flex; height:44px; border-radius:9px; overflow:hidden; box-shadow:0 5px 14px rgba(0,0,0,.25); }
.split .seg{ display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:700; font-size:12px; color:#fff; }
.split .fam{ flex:5; background:linear-gradient(180deg,#4b56a8,#3a4392); }
.split .sch{ flex:3.8; background:linear-gradient(180deg,#9a6c3f,#7a5230); }
.split .fund{ flex:2.4; background:linear-gradient(180deg,var(--green-br),var(--green)); }
.splitkey{ display:flex; gap:16px; flex-wrap:wrap; margin-top:13px; font-family:'Montserrat',sans-serif; font-size:11.5px; color:#c3c9ef; font-weight:600; }
.splitkey b{ color:#fff; }
.splitwrap .vol{ font-family:'Montserrat',sans-serif; font-size:12.5px; line-height:1.5; color:#c3c9ef; margin:13px 0 0; }
.splitwrap .vol b{ color:#fff; }

/* tiers (left-border accent) */
.tier{ display:block; background:#fff; border:1px solid var(--line); border-left:4px solid var(--green); border-radius:14px; padding:16px 19px; margin:14px 0; box-shadow:0 5px 16px rgba(16,22,52,.05); }
a.tier{ transition:transform .15s, box-shadow .15s; }
a.tier:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(16,22,52,.12); }
a.tier h3{ display:flex; align-items:center; gap:8px; }
.tier.maybe{ border-left-color:var(--gold); }
.tier.no{ border-left-color:var(--muted); }
.tier h3{ font-family:'Montserrat',sans-serif; font-weight:800; color:var(--navy); font-size:18px; margin:0 0 6px; letter-spacing:-.01em; }
.tier p{ font-size:15.5px; color:var(--body); margin:0; line-height:1.55; }

/* honest / note callout (gold) */
.honest{ background:#fff; border:1.5px solid #e4dccb; border-left:4px solid var(--gold); border-radius:14px; padding:17px 19px; margin:22px auto; max-width:var(--measure); }
.honest .lab{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--brown); margin:0 0 6px; }
.honest p{ font-size:15.5px; color:var(--ink); margin:0; line-height:1.55; }

/* family review */
.review{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 24px; margin:20px 0; box-shadow:0 8px 24px rgba(16,22,52,.06); }
.review.first{ margin-top:16px; }
.review h3{ font-family:'Montserrat',sans-serif; font-weight:800; color:var(--navy); font-size:23px; letter-spacing:-.01em; margin:0 0 4px; }
.review .who{ font-family:'Montserrat',sans-serif; font-size:13px; color:var(--muted); font-weight:600; margin:0 0 6px; }
.review .who b{ color:var(--green); }
/* figures as separate even chips (clean borders, no fragile 2x2 dividers) */
.figs{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:16px 0 12px; }
.figs .f{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:13px 14px; }
.figs .f .l{ font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin:0 0 6px; }
.figs .f .v{ font-family:'Montserrat',sans-serif; font-size:22px; font-weight:800; color:var(--navy); letter-spacing:-.02em; line-height:1; }
.figs .f.req{ background:var(--green-tint); border-color:#bfe0cb; }
.figs .f.req .v{ color:var(--green); }
.subh{ font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--green); margin:16px 0 7px; }
.rg{ display:grid; grid-template-columns:1fr 1fr; gap:0 28px; margin:2px 0 0; }
.rg .r{ display:flex; justify-content:space-between; gap:14px; padding:8px 0; border-bottom:1px solid var(--line); }
.rg dt{ font-size:15px; color:var(--body); }
.rg dd{ font-family:'Montserrat',sans-serif; font-size:14px; color:var(--ink); font-weight:700; margin:0; text-align:right; }

/* stat row */
.stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:20px 0; }
.stats .s{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; box-shadow:0 4px 14px rgba(16,22,52,.05); }
.stats .s .v{ font-family:'Montserrat',sans-serif; font-size:28px; font-weight:800; color:var(--navy); letter-spacing:-.02em; line-height:1; }
.stats .s .l{ font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; color:var(--muted); letter-spacing:.03em; text-transform:uppercase; margin-top:8px; line-height:1.3; }

/* table */
table{ width:100%; border-collapse:collapse; font-family:'Montserrat',sans-serif; font-size:14px; margin:20px 0; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
th{ background:var(--navy-tint); text-align:left; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--navy); font-weight:700; padding:12px 14px; }
td{ padding:12px 14px; border-top:1px solid var(--line); color:var(--body); }
td.num,th.num{ text-align:right; white-space:nowrap; }
tr.total td{ font-weight:800; color:var(--ink); background:var(--off); }

/* close band + button */
.close{ background:var(--green-tint); text-align:center; border-top:1px solid #d4e6da; }
.close .wrap{ max-width:640px; padding-top:50px; padding-bottom:54px; }
.close .eyebrow{ justify-content:center; }
.close h2{ font-family:'Montserrat',sans-serif; font-weight:800; color:var(--navy); font-size:clamp(25px,3.6vw,34px); line-height:1.12; margin:0 0 12px; }
.close p{ color:var(--body); font-size:17.5px; margin:0 auto 22px; max-width:46ch; }
.cbtn{ display:inline-flex; align-items:center; gap:9px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:16px; color:#fff !important; background:var(--green); padding:16px 30px; border-radius:13px; box-shadow:0 14px 30px rgba(16,101,60,.28); transition:transform .16s; }
.cbtn:hover{ transform:translateY(-2px); }

/* pager */
.pager{ max-width:var(--measure); margin:0 auto; padding:28px var(--gut) 8px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.pager a{ font-family:'Montserrat',sans-serif; }
.pager .dir{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green); }
.pager .ttl{ font-size:16px; font-weight:700; color:var(--navy); }
.pager a.next{ text-align:right; margin-left:auto; }

/* footer */
footer{ background:var(--navy-deep); color:#9aa1cf; }
footer .wrap{ padding:30px 24px 38px; max-width:1160px; }
.fbrand{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.fbrand .b1{ font-family:'Montserrat',sans-serif; font-weight:800; color:#fff; font-size:17px; }
.fbrand .b1 .sl{ color:#8fe0b4; }
.fmeta{ font-family:'Montserrat',sans-serif; font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:#7780b4; margin-bottom:14px; }
.fbot{ border-top:1px solid rgba(255,255,255,.12); padding-top:16px; font-family:'Montserrat',sans-serif; font-size:10.5px; line-height:1.7; color:#838bbf; }
.fbadge{ display:inline-block; font-weight:700; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#bcd9c8; border:1px solid rgba(143,224,180,.35); border-radius:999px; padding:3px 9px; margin-bottom:9px; }

@media (min-width:760px){
  :root{ --gut:30px; }
  .sect{ padding:62px 0; }
  .steps{ grid-template-columns:1fr 1fr; gap:14px; }
  .reqs{ grid-template-columns:repeat(3,1fr); gap:14px; }
  .hstrip .ph{ flex:0 0 33%; }
}
@media (max-width:620px){
  .topbar nav{ order:3; width:100%; gap:15px; overflow-x:auto; padding-bottom:2px; }
  .figs,.stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rg{ grid-template-columns:1fr; }
  /* year-end table becomes clean per-family cards (no sideways scroll) */
  table.ye{ border:none; }
  table.ye tr{ display:block; background:#fff; border:1px solid var(--line); border-radius:12px; padding:8px 15px; margin:0 0 10px; }
  table.ye tr:first-child{ display:none; }
  table.ye td{ display:flex; justify-content:space-between; gap:14px; text-align:left; border:none; border-bottom:1px solid var(--line); padding:8px 0; }
  table.ye td.num{ text-align:left; font-weight:700; color:var(--ink); }
  table.ye td:last-child{ border-bottom:none; }
  table.ye td::before{ content:attr(data-label); color:var(--muted); font-weight:600; font-size:13px; }
  table.ye td.fam{ display:block; font-family:'Montserrat',sans-serif; font-weight:800; color:var(--navy); font-size:18px; padding:2px 0 9px; border-bottom:2px solid var(--line); }
  table.ye td.fam::before{ content:none; }
  table.ye tr.total{ background:var(--off); }
  table.ye td:empty{ display:none; }
}
