@font-face{font-family:Lava;src:url('./assets/LavaPro_HL-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lava;src:url('./assets/LavaPro_HL-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Lava;src:url('./assets/LavaPro_HL-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--gold:#d1a941;--ink:#232f2f;--mint:#b7c5ca;--rail:42px}
*{box-sizing:border-box}html{background:var(--ink);scrollbar-color:#8a6e34 #182d2f}body{margin:0;color:#eeecdd;font-family:Lava,serif}p{margin:0}button,a{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{cursor:pointer}img{border:0}.design-canvas{transform-origin:top left}.horizontal-region{position:relative}.horizontal-viewport{height:100svh;position:sticky;top:0;overflow:hidden;background:var(--ink)}.horizontal-stage{position:absolute;top:0;left:0;will-change:transform}.vertical-region{position:relative;overflow:hidden;background:var(--ink)}#vertical-design{position:absolute!important;top:0;left:0;transform-origin:top left}.site-rail{position:fixed;right:0;top:0;bottom:0;width:var(--rail);z-index:40;background:#182729;border-left:1px solid #8a6e3459;display:flex;align-items:center;flex-direction:column;gap:16px}.menu-toggle{height:64px;width:100%;border:0;background:none;display:grid;place-content:center;gap:5px}.menu-toggle span{width:19px;height:1px;background:#eeecdd;transition:transform .3s,opacity .3s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.rail-link{writing-mode:vertical-rl;text-decoration:none;color:var(--mint);font-size:15px;padding:8px 0;transition:color .3s}.rail-link:hover,.rail-link[aria-current=true]{color:var(--gold)}.rail-progress{position:absolute;left:0;top:0;width:2px;height:0;background:var(--gold);pointer-events:none}.menu-panel{position:fixed;right:var(--rail);top:0;bottom:0;z-index:35;width:min(380px,calc(100vw - var(--rail)));padding:90px 42px;background:#182d2ff5;backdrop-filter:blur(16px);transform:translateX(calc(100% + var(--rail)));visibility:hidden;transition:transform .55s cubic-bezier(.22,1,.36,1),visibility .55s;display:flex;flex-direction:column;gap:22px;text-align:right}.menu-panel.open{transform:translateX(0);visibility:visible}.menu-panel a{font-size:32px;text-decoration:none;color:var(--mint);border-bottom:1px solid #8a6e3440;padding-bottom:15px;transition:color .25s,padding-right .25s}.menu-panel a:hover{color:var(--gold);padding-right:8px}.menu-scrim{position:fixed;inset:0;z-index:30;background:#0007;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}.menu-scrim.open{opacity:1;visibility:visible}.design-hit{position:absolute;padding:0;background:transparent;border:0;z-index:10;border-radius:2px}.design-hit:hover{box-shadow:0 0 0 2px #d1a94188}.portrait-slot img{transition:filter .45s,scale .65s cubic-bezier(.22,1,.36,1)}.portrait-slot:hover img{filter:brightness(1.08);scale:1.025}.interactive-slot{cursor:pointer}.interactive-slot:hover{filter:brightness(1.08)}.history-photo img{transition:filter .5s}.history-photo:hover img{filter:brightness(1.06)}dialog{border:1px solid #8a6e3466;background:#182d2f;color:#eeecdd;width:min(620px,90vw);padding:42px;max-height:85svh;overflow:auto}dialog::backdrop{background:#00110ecc;backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:12px;left:16px;font-size:32px;border:0;background:none}.dialog-content img{display:block;max-width:200px;max-height:220px;object-fit:cover;margin:0 auto 25px}.dialog-content h2{color:var(--gold);font-size:30px;text-align:right;font-weight:400}.dialog-content p{font-size:23px;line-height:1.35;text-align:right}.skip-link{position:fixed;top:8px;left:8px;z-index:80;background:var(--gold);color:#001d17;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.mobile-layout{display:none}
@media(max-width:700px){:root{--rail:36px}.rail-link{font-size:13px;max-height:16vh}.site-rail{gap:8px}.desktop-layout{display:none}.mobile-layout{display:block;padding-right:var(--rail)}.mobile-section{padding:64px 25px;text-align:right;overflow:hidden;background:#001d17}.mobile-section.hero{background:#232f2f;min-height:90svh;display:flex;flex-direction:column;justify-content:center}.mobile-section h1{font-size:56px;color:var(--gold);font-weight:400;line-height:.95;margin:25px 0}.mobile-section h2{font-size:36px;color:var(--gold);font-weight:400;margin:0 0 30px}.mobile-section h3{font-size:26px;font-weight:400;margin:28px 0 15px}.mobile-section p{font-size:21px;line-height:1.45;margin:15px 0}.mobile-section img{display:block;max-width:100%;height:auto;margin:25px auto}.mobile-section .mobile-logo{width:100px;margin:0 0 25px auto}.mobile-section .portrait{width:160px;height:180px;object-fit:cover}.mobile-rabbis{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mobile-rabbi{background:none;border:0;text-align:right;font-size:19px;padding:0;color:var(--gold)}.mobile-rabbi img{width:100%;height:170px;object-fit:cover}.mobile-year{padding:36px 0;border-top:1px solid #8a6e3450}.mobile-year .year{font-size:28px;color:var(--gold)}.mobile-section.ethos{background:#232f2f}.mobile-values{display:grid;gap:1px;background:#8a6e34}.mobile-values p{background:#f9f3ec;color:#001d17;padding:26px;margin:0;font-size:29px}.study-title{background:#ac832e;color:#232f2f;padding:35px;text-align:center;max-width:200px;margin:auto;font-size:40px;box-shadow:0 -14px 0 -5px #d6a541,0 -28px 0 -10px #eebd57}.menu-panel{padding:75px 24px}.menu-panel a{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.horizontal-stage{will-change:auto}}

.horizontal-stage{transform-origin:0 0;width:16086px;height:904px}.scroll-motion{will-change:translate,opacity}.portrait-slot:hover{filter:brightness(1.06)}
@media(prefers-reduced-motion:reduce){.scroll-motion{translate:0 0!important;clip-path:none!important;will-change:auto}}
/* Stop macOS trackpad rubber-banding without intercepting native scrolling. */
html,body{overscroll-behavior:none}
html{overflow-x:clip}

/* Preserve natural text wrapping while scroll reveals individual letters. */
.scroll-letter{opacity:0}
.foundation-photo-layer{z-index:8;isolation:isolate}
@media(max-width:700px),(prefers-reduced-motion:reduce){.scroll-letter{opacity:1!important}}

/* Individual words rise without altering source font size or line spacing. */
.scroll-word{display:inline-block;opacity:0;transform:translateY(28px)}
@media(max-width:700px),(prefers-reduced-motion:reduce){.scroll-word{opacity:1!important;transform:none!important}}
