/* Neighborhoods hub: a visual page, wide grid, giant letters as the image. */
main.hub{max-width:1200px;padding:0 var(--pad) 40px}
.hub-hero{padding:clamp(70px,10vw,130px) 0 clamp(40px,6vw,70px);border-bottom:1px solid var(--line)}
.hub h1{margin:0 0 28px}
.hub-big{display:block;font-size:clamp(3rem,9vw,7.5rem);font-weight:900;line-height:.95;letter-spacing:-.04em;background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.hub-thin{display:block;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:300;letter-spacing:-.01em;line-height:1.3;margin-top:14px;color:var(--fg)}
.hub .intro{max-width:40rem;color:var(--dim);font-size:clamp(1.05rem,1.4vw,1.2rem)}

.hub-sec{padding-top:clamp(70px,9vw,120px)}
.hub h2{margin:0 0 14px;font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:900;letter-spacing:-.025em}
.hub h2::before{margin-bottom:24px}
.hub-sub{color:var(--dim);font-size:1.08rem;margin:0 0 34px;max-width:36rem}

/* neighborhood tiles */
.hood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hood{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:270px;padding:24px;border-radius:22px;background:linear-gradient(160deg,#1f2a3e 0%,#172133 70%);border:1px solid var(--line);text-decoration:none;color:var(--fg);overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s}
.hood-l{position:absolute;top:-.08em;inset-inline-end:14px;font-size:11rem;font-weight:900;line-height:1;letter-spacing:-.06em;color:#26334b;transition:color .45s,transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.hood-word .hood-l{font-size:5.4rem;top:18px;inset-inline-end:auto;inset-inline-start:22px;letter-spacing:-.04em;line-height:.95;max-width:90%}
.hood-txt{position:relative;display:flex;flex-direction:column;gap:6px;padding-inline-end:34px}
.hood-txt b{font-size:1.3rem;font-weight:800;line-height:1.2}
.hood-txt small{font-size:.92rem;color:var(--dim);line-height:1.5}
.hood-go{position:absolute;bottom:24px;inset-inline-end:22px;color:var(--acc);font-size:1.2rem;transition:transform .35s}
.hood:hover{transform:translateY(-4px);border-color:rgba(210,185,141,.5)}
.hood:hover .hood-l{color:#3a4762;transform:translateY(6px)}
.hood:hover .hood-go{transform:translateX(-6px)}
.hood-tool{background:linear-gradient(160deg,#2a3346 0%,#1f2738 100%);border-color:rgba(210,185,141,.35)}
.hood-tool .hood-l{color:rgba(210,185,141,.18)}
.hood-tool:hover .hood-l{color:rgba(210,185,141,.32)}
.hood-tool .hood-txt b{color:var(--acc)}

/* goals */
.goals{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;border-top:1px solid var(--line)}
.goal{padding:34px 0 10px;padding-inline-end:clamp(18px,3vw,40px)}
.goal+.goal{border-inline-start:1px solid var(--line);padding-inline-start:clamp(18px,3vw,40px)}
.goal b{display:block;font-size:clamp(2rem,3.6vw,3rem);font-weight:900;letter-spacing:-.03em;line-height:1;margin-bottom:16px;color:var(--fg)}
.goal p{font-size:1rem;margin:0}

/* rules */
.rules{list-style:none;counter-reset:r;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,56px) clamp(30px,5vw,80px);margin-top:36px}
.rules li{counter-increment:r;position:relative;padding-top:58px}
.rules li::before{content:"0" counter(r);position:absolute;top:0;inset-inline-start:0;font-size:2.4rem;font-weight:200;color:var(--acc);line-height:1;letter-spacing:-.02em}
.rules b{display:block;font-size:1.3rem;font-weight:800;line-height:1.3;margin-bottom:8px}
.rules span{display:block;color:var(--dim);font-size:1rem;line-height:1.8}

/* FAQ + form stay in a reading column */
.hub-narrow{max-width:760px;margin-inline:auto;padding-top:clamp(40px,6vw,60px)}
.hub .faq{margin-top:20px}

@media(max-width:1000px){
  .hood-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  main.hub{padding:0 20px 30px}
  .hood-grid{gap:10px}
  .hood{min-height:200px;padding:18px;border-radius:18px}
  .hood-l{font-size:7.5rem}
  .hood-word .hood-l{font-size:2.9rem;top:14px;inset-inline-start:16px}
  .hood-txt{padding-inline-end:0}
  .hood-txt b{font-size:1.1rem}
  .hood-txt small{font-size:.82rem}
  .hood-go{display:none}
  .goals{grid-template-columns:1fr}
  .goal,.goal+.goal{padding:26px 0;border-inline-start:0;border-bottom:1px solid var(--line)}
  .rules{grid-template-columns:1fr}
}

/* ===== round 2: material, light and life (21.10.26) ===== */
/* warm light pools + fine grain on the whole page, static */
body:has(main.hub){background:
  radial-gradient(900px 700px at 85% 38%,rgba(210,185,141,.07),transparent 60%),
  radial-gradient(1000px 800px at 10% 70%,rgba(70,104,160,.12),transparent 62%),
  radial-gradient(800px 600px at 70% 100%,rgba(210,185,141,.05),transparent 60%),
  var(--bg);background-attachment:fixed}
body:has(main.hub)::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* hero: real Be'er Sheva at golden hour, full bleed */
.hub-hero{position:relative;margin-inline:calc(50% - 50vw);padding:0;border:0;min-height:min(92vh,860px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hub-photo{position:absolute;inset:0;z-index:-1}
.hub-photo img{width:100%;height:115%;object-fit:cover;object-position:50% 35%;transform:scale(1.06);will-change:transform}
.hub-photo::after{content:"";position:absolute;inset:0;background:
  linear-gradient(to top,var(--bg) 0%,rgba(19,27,40,.88) 22%,rgba(19,27,40,.35) 55%,rgba(19,27,40,.15) 75%,rgba(19,27,40,.55) 100%),
  linear-gradient(to left,rgba(19,27,40,.75) 0%,rgba(19,27,40,0) 55%)}
.hub-hero-in{width:100%;max-width:1200px;margin-inline:auto;padding:140px var(--pad) clamp(50px,7vw,90px)}
.hub-hero .crumbs,.hub-hero .crumbs a{color:#d9dde3}
.hub-hero .crumbs a{color:var(--acc)}
.hub-big{font-size:clamp(3.2rem,10vw,8.4rem);text-shadow:none;filter:drop-shadow(0 6px 30px rgba(0,0,0,.35))}
.hub-thin{color:#fff}
.hub-hero .intro{color:#d5d9df;max-width:36rem}
.hub-down{display:inline-flex;align-items:center;gap:10px;margin-top:26px;color:var(--fg);text-decoration:none;font-weight:600;font-size:.95rem;border-bottom:1px solid rgba(210,185,141,.6);padding-bottom:4px}
.hub-down span{color:var(--acc);transition:transform .3s}
.hub-down:hover span{transform:translateY(4px)}

/* tiles: micro-labels, layered letter, light that reacts to hover */
.hood{background:
  radial-gradient(120% 90% at 100% 0%,rgba(210,185,141,.10),transparent 55%),
  linear-gradient(160deg,#1f2a3e 0%,#151e2e 75%)}
.hood::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 80% 10%,rgba(210,185,141,.16),transparent 70%);opacity:0;transition:opacity .45s}
.hood:hover::before{opacity:1}
.hood-l{color:#2a3852}
.hood:hover .hood-l{color:var(--acc);opacity:.55}
.hood-tag{position:absolute;top:18px;inset-inline-start:18px;z-index:1;font-style:normal;font-size:.74rem;font-weight:600;letter-spacing:.02em;color:var(--acc-2,#e6d4b0);border:1px solid rgba(210,185,141,.35);background:rgba(19,27,40,.55);border-radius:999px;padding:4px 11px}
.hood-word .hood-l{top:52px}
.hood-tool .hood-tag{color:var(--ink);background:var(--acc);border-color:var(--acc)}

/* goals: big words cropped by their column, a little layering */
.goal{position:relative}
.goal b{font-size:clamp(2.4rem,4.6vw,3.8rem);background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* rules: a line that fills as you read */
.rules{position:relative;padding-inline-start:0}
.rules::before{content:"";position:absolute;top:0;bottom:0;inset-inline-start:50%;width:1px;background:var(--line)}
.rules::after{content:"";position:absolute;top:0;inset-inline-start:50%;width:1px;height:calc(var(--p,0)*100%);background:var(--acc);transition:height .15s linear}
.rules li:nth-child(odd){padding-inline-end:clamp(20px,3vw,40px)}
.rules li:nth-child(even){padding-inline-start:clamp(20px,3vw,40px)}

/* scroll entrances (only when JS is on and motion is allowed) */
.rv-on [data-rv]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.rv-on [data-rv].in{opacity:1;transform:none}
.rv-on .hood[data-rv] .hood-l{transform:translateY(40%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1) calc(var(--d,0ms) + 120ms),color .45s}
.rv-on .hood[data-rv].in .hood-l{transform:none}
.rv-on .hood[data-rv].in:hover .hood-l{transform:translateY(6px)}
html.a11y-noanim .hub-photo img{transform:none!important}

@media(max-width:640px){
  .hub-hero{min-height:88vh}
  .hub-hero-in{padding:120px 20px 44px}
  .hub-photo::after{background:linear-gradient(to top,var(--bg) 0%,rgba(19,27,40,.9) 30%,rgba(19,27,40,.3) 65%,rgba(19,27,40,.5) 100%)}
  .hood-tag{top:12px;inset-inline-start:12px;font-size:.68rem;padding:3px 9px}
  .hood-word .hood-l{top:44px}
  .rules::before,.rules::after{content:none}
  .rules li:nth-child(n){padding-inline:0}
}
/* full-bleed without 100vw (no sideways scroll) */
main.hub{max-width:none;padding:0 0 40px}
.hub-hero{margin-inline:0}
.hub-sec,.hub-narrow{max-width:1200px;margin-inline:auto;padding-inline:var(--pad)}
.hub-narrow{max-width:calc(760px + 2*var(--pad))}
.hood{min-height:290px}
.hood-word .hood-l{font-size:3.9rem;line-height:.92}
@media(max-width:640px){main.hub{padding:0 0 30px}.hub-sec,.hub-narrow{padding-inline:20px}.hood{min-height:210px}.hood-word .hood-l{font-size:2.5rem}}
/* keyboard users: entrances never hide a focused tile */
html.kbd [data-rv],[data-rv]:focus,[data-rv]:focus-within{opacity:1!important;transform:none!important}
html.kbd .hood[data-rv] .hood-l{transform:none!important}
