:root{
  --ink:#1C2733;
  --ink-deep:#141D27;
  --paper:#F5F3EC;
  --paper-dim:#EDEAE0;
  --brass:#9C7A2D;
  --brass-soft:#B99B55;
  --gray:#5B6470;
  --hairline:#D9D4C5;
  --hairline-dark:#33404E;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none!important;transition:none!important;}
}
body{
  font-family:'Public Sans',system-ui,sans-serif;
  font-weight:300;
  color:var(--ink);
  background:var(--paper);
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'EB Garamond',Georgia,serif;}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:500;color:var(--brass);
}
a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}

/* ---------- Nav ---------- */
header.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(245,243,236,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--hairline);
}
.navbar{display:flex;align-items:center;justify-content:space-between;height:66px;}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;}
.brand svg{width:36px;height:32px;flex:none;}
.brand-name{font-family:'EB Garamond',serif;font-size:17px;letter-spacing:.06em;font-weight:600;line-height:1.2;}
nav.links{display:flex;gap:28px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;}
nav.links a{text-decoration:none;color:var(--gray);transition:color .2s;}
nav.links a:hover,nav.links a:focus-visible{color:var(--ink);}
nav.links a.active{color:var(--brass);}
.nav-cta{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  text-decoration:none;color:var(--paper);background:var(--ink);
  padding:10px 18px;transition:background .2s;
}
.nav-cta:hover{background:var(--ink-deep);}
@media (max-width:860px){nav.links{display:none;}}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;text-decoration:none;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:500;padding:15px 30px;transition:all .2s;
}
.btn-solid{background:var(--ink);color:var(--paper);}
.btn-solid:hover{background:var(--ink-deep);}
.btn-line{border:1px solid var(--ink);color:var(--ink);}
.btn-line:hover{background:var(--ink);color:var(--paper);}

/* ---------- Hero ---------- */
.hero{padding:92px 0 88px;text-align:center;position:relative;}
.hero .mark{width:150px;height:130px;margin:0 auto 34px;display:block;}
.hero h1{
  font-family:'EB Garamond',serif;font-weight:500;
  font-size:clamp(30px,4.6vw,48px);line-height:1.18;letter-spacing:.01em;
  max-width:760px;margin:0 auto 8px;
}
.hero .hebrew{
  font-family:'Frank Ruhl Libre','EB Garamond',serif;color:var(--brass);
  font-size:clamp(16px,2vw,20px);letter-spacing:.12em;margin-bottom:26px;
}
.hero p.lede{
  max-width:620px;margin:26px auto 0;font-size:17.5px;color:var(--gray);line-height:1.75;
}
.hero-ctas{margin-top:44px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero-caption{
  margin-top:64px;padding-top:28px;border-top:1px solid var(--hairline);
  display:flex;justify-content:center;gap:48px;flex-wrap:wrap;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);font-weight:400;
}
.hero-caption span b{display:block;color:var(--ink);font-weight:500;margin-bottom:2px;}

/* ---------- Section scaffolding ---------- */
section{padding:88px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{
  font-family:'EB Garamond',serif;font-weight:500;
  font-size:clamp(28px,4vw,40px);line-height:1.2;margin-top:14px;
}
.section-head p{margin-top:16px;color:var(--gray);}

/* ---------- Forum ---------- */
.forum{background:var(--paper-dim);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.two-col .col p + p{margin-top:18px;}
.two-col .col p{color:#3A4350;}
.pull{
  font-family:'EB Garamond',serif;font-size:24px;line-height:1.5;font-weight:500;
  border-left:2px solid var(--brass);padding-left:24px;color:var(--ink);
}
@media (max-width:820px){.two-col{grid-template-columns:1fr;gap:36px;}}

/* ---------- Matters grid ---------- */
.matters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);}
.matter{background:var(--paper);padding:34px 30px;transition:background .25s;}
.matter:hover{background:#FBFAF5;}
.matter h3{font-family:'EB Garamond',serif;font-size:21px;font-weight:600;margin-bottom:10px;}
.matter p{font-size:14.5px;color:var(--gray);line-height:1.65;}
@media (max-width:900px){.matters-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.matters-grid{grid-template-columns:1fr;}}

/* ---------- Process ---------- */
.process{background:var(--ink);color:var(--paper);}
.process .eyebrow{color:var(--brass-soft);}
.process .section-head h2{color:var(--paper);}
.process .section-head p{color:#A9B2BD;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);}
.step{padding:34px 26px 26px 26px;border-top:1px solid var(--hairline-dark);border-right:1px solid var(--hairline-dark);}
.step:nth-child(3n){border-right:0;padding-right:0;}
.step:nth-child(3n+1){padding-left:0;}
.step .num{
  font-family:'EB Garamond',serif;font-size:15px;color:var(--brass-soft);
  letter-spacing:.18em;margin-bottom:14px;display:block;
}
.step h3{font-family:'EB Garamond',serif;font-size:19px;font-weight:500;margin-bottom:10px;color:var(--paper);}
.step p{font-size:13.5px;color:#9AA4B0;line-height:1.65;}
@media (max-width:900px){
  .steps{grid-template-columns:1fr;}
  .step{border-right:0;border-top:1px solid var(--hairline-dark);padding:26px 0 18px;}
}
.process-more{margin-top:44px;font-size:14px;color:#9AA4B0;}
.process-more a{color:var(--paper);text-decoration:none;border-bottom:1px solid var(--brass-soft);}
.process-more a:hover{color:var(--brass-soft);}

/* ---------- Enforceability ---------- */
.enforce .two-col .col h3{
  font-family:'EB Garamond',serif;font-size:20px;font-weight:600;margin-bottom:8px;margin-top:26px;
}
.enforce .two-col .col h3:first-child{margin-top:0;}
.enforce .two-col .col p{font-size:15px;}

/* ---------- Panel ---------- */
.panel{background:var(--paper-dim);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.panel-body{max-width:720px;}
.panel-body p + p{margin-top:18px;}
.panel-body p{color:#3A4350;}

/* ---------- Contact ---------- */
.contact{background:var(--ink);color:var(--paper);text-align:center;padding:104px 0;}
.contact .mark{width:96px;height:84px;margin:0 auto 30px;}
.contact h2{font-family:'EB Garamond',serif;font-weight:500;font-size:clamp(28px,4vw,42px);max-width:640px;margin:0 auto;}
.contact p{color:#A9B2BD;max-width:520px;margin:20px auto 0;}
.contact .btn-line{border-color:var(--brass-soft);color:var(--paper);margin-top:40px;}
.contact .btn-line:hover{background:var(--brass);border-color:var(--brass);}
.contact-details{
  margin-top:56px;padding-top:32px;border-top:1px solid var(--hairline-dark);
  display:flex;justify-content:center;gap:56px;flex-wrap:wrap;
  font-size:13px;color:#9AA4B0;letter-spacing:.04em;
}
.contact-details a{color:var(--paper);text-decoration:none;border-bottom:1px solid var(--hairline-dark);}
.contact-details a:hover{border-color:var(--brass-soft);}

/* ---------- Footer ---------- */
footer{background:var(--ink-deep);color:#7C8794;padding:28px 0;font-size:12px;letter-spacing:.06em;}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
footer a{color:#7C8794;text-decoration:none;}
footer a:hover{color:var(--paper);}

/* ---------- Rules page ---------- */
.page-head{padding:76px 0 56px;border-bottom:1px solid var(--hairline);text-align:center;}
.page-head .mark{width:104px;height:90px;margin:0 auto 26px;display:block;}
.page-head h1{font-family:'EB Garamond',serif;font-weight:500;font-size:clamp(32px,5vw,50px);line-height:1.15;}
.page-head p{color:var(--gray);max-width:600px;margin:18px auto 0;}
.rules-layout{display:grid;grid-template-columns:250px 1fr;gap:64px;padding:72px 0 96px;}
@media (max-width:900px){.rules-layout{grid-template-columns:1fr;gap:40px;}}
.rules-toc{position:sticky;top:96px;align-self:start;font-size:13.5px;}
@media (max-width:900px){.rules-toc{position:static;}}
.rules-toc .toc-title{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:500;margin-bottom:16px;}
.rules-toc a{display:block;text-decoration:none;color:var(--gray);padding:6px 0;border-bottom:1px solid var(--hairline);transition:color .2s;}
.rules-toc a:hover{color:var(--ink);}
.rules-body{max-width:720px;}
.rule{margin-bottom:52px;scroll-margin-top:96px;}
.rule h2{
  font-family:'EB Garamond',serif;font-weight:600;font-size:24px;line-height:1.3;margin-bottom:6px;
}
.rule .rule-no{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);font-weight:500;display:block;margin-bottom:8px;
}
.rule p{color:#3A4350;margin-top:14px;font-size:15.5px;}
.rules-note{
  margin-top:64px;padding:28px 32px;background:var(--paper-dim);border:1px solid var(--hairline);
  font-size:13.5px;color:var(--gray);
}
.rules-note b{color:var(--ink);font-weight:500;}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---------- Lockup band ---------- */
.lockup-band{background:var(--paper);border-top:1px solid var(--hairline);padding:72px 0;text-align:center;}
.lockup-band svg{width:min(640px,88vw);height:auto;display:block;margin:0 auto;}

/* ---------- Hero lockup ---------- */
.hero-lockup{width:min(780px,94vw);height:auto;display:block;margin:0 auto 10px;}

/* ---------- Hero: Hebrew headline hierarchy ---------- */
.hero-lockup{margin-bottom:44px;}
.hero .hebrew-h1{
  font-family:'Frank Ruhl Libre','EB Garamond',serif;font-weight:500;
  font-size:clamp(34px,5.5vw,58px);line-height:1.25;color:var(--ink);
  max-width:820px;margin:0 auto;
}
.hero .headline2{
  font-family:'EB Garamond',serif;font-weight:500;
  font-size:clamp(21px,3.2vw,32px);line-height:1.35;color:var(--brass);
  max-width:700px;margin:18px auto 0;
}

/* ---------- Neutrals ---------- */
.neutrals-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline);}
.neutral{background:var(--paper);padding:36px 34px;}
.neutral h3{font-family:'EB Garamond',serif;font-size:23px;font-weight:600;}
.neutral-role{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:500;margin:8px 0 14px;}
.neutral p{font-size:14.5px;color:var(--gray);line-height:1.7;}
@media (max-width:760px){.neutrals-grid{grid-template-columns:1fr;}}

/* ---------- Fee schedule ---------- */
.fees-body{max-width:760px;margin:0 auto;padding:72px 0 96px;}
.fee-item{padding:36px 0;border-bottom:1px solid var(--hairline);}
.fee-item:first-child{padding-top:0;}
.fee-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;}
.fee-row h2{font-family:'EB Garamond',serif;font-weight:600;font-size:23px;}
.fee-amount{font-family:'EB Garamond',serif;font-weight:500;font-size:23px;color:var(--brass);white-space:nowrap;}
.fee-item p{color:#3A4350;margin-top:12px;font-size:15.5px;}
.fee-item p + p{margin-top:10px;}
.fees-note{margin-top:48px;padding:26px 30px;background:var(--paper-dim);border:1px solid var(--hairline);font-size:13.5px;color:var(--gray);}
.fees-note b{color:var(--ink);font-weight:500;}

/* ---------- Rules: parts ---------- */
.toc-part{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);font-weight:500;margin:22px 0 6px;}
.toc-part:first-of-type{margin-top:0;}
.rule-part{margin:72px 0 40px;scroll-margin-top:96px;}
.rule-part:first-child{margin-top:0;}
.rule-part .part-no{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);font-weight:500;}
.rule-part h2{font-family:'EB Garamond',serif;font-weight:600;font-size:30px;margin-top:8px;padding-bottom:14px;border-bottom:1px solid var(--hairline);}
.rule h3{font-family:'EB Garamond',serif;font-weight:600;font-size:22px;line-height:1.3;}
