@font-face{font-family:Newsreader;src:url('/assets/newsreader.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:FrankRuhl;src:url('/assets/frank-ruhl-libre.ttf') format('truetype');font-display:swap}
:root{color-scheme:light;--paper:#f6f3ec;--blue:#1f4e9e;--ink:#1c1c1e;--muted:#62656d;--line:#deddd7;font-family:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0}a{color:inherit;text-underline-offset:.25em}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:4px}img{max-width:100%;height:auto;display:block}.wrap{width:min(1120px,calc(100% - 3rem));margin-inline:auto}
.skip{position:fixed;left:1rem;top:-5rem;background:var(--blue);color:white;padding:1rem;z-index:10}.skip:focus{top:1rem}header{display:flex;align-items:center;justify-content:space-between;padding-block:1.8rem;border-bottom:1px solid var(--line);gap:1rem}.wordmark{font-family:Newsreader,Georgia,serif;font-size:2rem;letter-spacing:-.04em;text-decoration:none;display:flex;align-items:baseline;gap:.75rem}.wordmark span{font-size:1.1rem;letter-spacing:0;color:var(--blue)}nav{display:flex;gap:1.7rem;font-size:.9rem}nav a{text-decoration:none}nav a:hover{color:var(--blue);text-decoration:underline}
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center;min-height:690px;padding-block:4rem}.eyebrow{font-size:.78rem;letter-spacing:.13em;font-weight:600;color:var(--blue);margin:0 0 1.6rem}h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:400}h1{font-size:clamp(3.6rem,7vw,6.8rem);line-height:1.03;letter-spacing:-.04em;margin:0 0 1.7rem}h1 em{color:var(--blue);font-style:normal}.intro{font-size:1.125rem;line-height:1.7;max-width:25rem;color:var(--muted);margin:0 0 2rem}.pill{display:inline-block;background:var(--blue);color:white;text-decoration:none;border-radius:999px;padding:14px 34px;font-size:1rem;font-weight:600;transition:transform .2s,background .2s}.pill:hover{background:#173e80;transform:translateY(-2px)}.availability{font-size:.875rem;color:var(--muted);margin:1.25rem 0 0}.cover{margin:0;text-align:center;position:relative}.cover img{height:480px;width:auto;margin:auto;object-fit:contain;animation:float 7s ease-in-out infinite}.cover figcaption{font-family:Newsreader,Georgia,serif;font-size:1.3rem;color:var(--blue);margin-top:.7rem;letter-spacing:.05em}
.app-details{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;padding-block:4rem}h2{font-size:2.55rem;line-height:1.2;letter-spacing:-.025em;margin:0}.features article{display:flex;gap:1.25rem;padding-block:1.5rem;border-bottom:1px solid var(--line)}.features article:first-child{padding-top:0}.features article:last-child{border:0}.feature-number{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--blue);padding-top:.3rem}h3{font-size:1.6rem;line-height:1.25;margin:0 0 .5rem}.features p{font-size:1rem;line-height:1.65;color:var(--muted);margin:0;max-width:31rem}.closing{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2rem}.closing p{font-family:Newsreader,Georgia,serif;font-size:1.6rem;margin:0}.closing a{font-size:1rem;color:var(--blue)}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.6rem;color:var(--muted);font-size:.875rem}
.legal{max-width:760px;padding-block:3rem 5rem}.legal .back{font-size:.875rem;color:var(--blue);display:inline-block;margin-bottom:2rem}.legal h1{font-size:3.3rem;margin-bottom:1rem}.legal .intro{max-width:none}.updated{font-size:.875rem;color:var(--muted);margin-bottom:3rem}.legal section{margin-block:2rem}.legal h2{font-size:1.65rem;margin-bottom:.7rem}.legal section p{font-size:1rem;line-height:1.8;margin:.75rem 0}.legal section a{color:var(--blue);overflow-wrap:anywhere}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(.4deg)}}
@media(max-width:760px){.wrap{width:calc(100% - 2.5rem)}header{padding-block:1.2rem}nav{gap:1rem}.hero{grid-template-columns:1fr;gap:2rem;padding-block:3rem;min-height:auto}.hero-copy{text-align:center}.hero .intro{margin-inline:auto}.eyebrow{margin-bottom:1.2rem}.cover img{height:340px}.app-details{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}h2{font-size:2.2rem}.closing,footer{align-items:flex-start;flex-direction:column}.legal h1{font-size:2.7rem}.legal{padding-top:2rem}.legal .intro{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover img{animation:none}.pill{transition:none}}
@media(max-width:760px){header{flex-wrap:wrap}h1{font-size:clamp(2.5rem,10vw,3.6rem)}nav{flex-wrap:wrap}.hero-copy{min-width:0}}

/* The opening sequence follows natural scrolling; no wheel or touch interception. */
.book-scroll{position:relative}.story-stage{min-height:min(78svh,690px)}.book-scroll.is-pinned .story-stage{position:sticky;top:0}.cover{display:flex;flex-direction:column;align-items:center;justify-content:center}.cover .book-fallback{animation:none}.book-canvas{display:none;width:min(100%,500px);height:auto;aspect-ratio:1}.cover.is-ready .book-fallback{display:none}.cover.is-ready .book-canvas{display:block}.cover .scroll-note{font-family:inherit;font-size:.875rem;letter-spacing:0;color:var(--muted);margin:1rem 0 0}.purpose{max-width:740px;margin-inline:auto;padding:4rem 0 4.5rem}.purpose h2{font-size:clamp(2.2rem,4vw,3.2rem);margin-bottom:1.5rem}.purpose>p:not(.eyebrow){font-size:1.125rem;line-height:1.8;color:var(--muted);margin:1rem 0}
@media(max-width:760px){.story-stage.hero{padding-block:1.5rem;gap:1rem;min-height:0}.story-stage h1{margin-bottom:1rem}.story-stage .intro{font-size:1rem;line-height:1.65;margin-bottom:1.4rem}.story-stage .availability{font-size:.8rem;margin-top:1rem}.book-canvas{width:min(100%,32svh,285px)}.cover .scroll-note{margin-top:.5rem;font-size:.8rem}.purpose{padding-block:3rem}.purpose>p:not(.eyebrow){font-size:1rem}}
@media(prefers-reduced-motion:reduce){.book-scroll.is-pinned .story-stage{position:static}.scroll-note{display:none}}
.pill:disabled{font-family:inherit;border:0;cursor:default;opacity:1}.pill:disabled:hover{background:var(--blue);transform:none}

.app-store-badge{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;opacity:1;cursor:default}.app-store-badge img{display:block;width:180px;height:auto}

/* Download first, followed by a full-width book reveal. */
.app-intro{text-align:center;max-width:700px;margin-inline:auto;padding:3.5rem 0 1.5rem}
.app-intro .eyebrow{margin-bottom:1rem}
.app-intro h1{font-size:clamp(2.8rem,5.5vw,4.8rem);margin-bottom:1.25rem}
.app-intro .intro{max-width:38rem;margin:0 auto 1.75rem}
.app-intro .availability{margin-top:.85rem}
.book-scroll{width:100vw;margin-left:calc(50% - 50vw)}
.story-stage.hero{grid-template-columns:1fr;justify-items:center;gap:0;min-height:92svh;padding:1.5rem 0}
.story-stage .cover{width:100%;max-width:1200px}
.story-stage .book-canvas{width:min(96vw,82svh,1040px)}
.story-stage .book-fallback{height:min(78svh,820px);max-width:90vw}
@media(max-width:760px){.app-intro{padding-top:2rem}.app-intro .intro{font-size:1rem;line-height:1.65}.app-intro .availability{font-size:.8rem}.story-stage.hero{min-height:78svh;padding-block:1.25rem}.story-stage .book-canvas{width:min(100vw,82svh)}.story-stage .book-fallback{height:min(65svh,540px)}}

.inspiration-link{padding:3rem 0;text-align:center;border-bottom:1px solid var(--line)}.inspiration-link .eyebrow{margin-bottom:.8rem}.inspiration-link>a{font-family:Newsreader,Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);text-underline-offset:6px}
.inspiration{padding-top:2rem;padding-bottom:4rem}.inspiration-heading{max-width:760px;margin:3rem auto 4rem;text-align:center}.inspiration-heading h1{font-size:clamp(3rem,6vw,5.4rem)}.inspiration-heading .intro{max-width:640px;margin-inline:auto}.inspiration-people{max-width:960px;margin:auto}.inspiration-person{display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:center;padding:3rem 0;border-top:1px solid var(--line)}.inspiration-person h2{font-size:2.7rem;margin:0 0 .4rem}.inspiration-person .eyebrow{margin-bottom:1rem}.person-name{font-size:.9rem;color:var(--muted);margin-bottom:1.5rem}.inspiration-person p:not(.eyebrow):not(.person-name){line-height:1.85;color:var(--muted)}.inspiration-portrait{margin:0}.inspiration-portrait>img,.portrait-window{display:block;width:100%;height:auto;background:#ece6da}.inspiration-portrait figcaption{font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:.75rem}.portrait-window{aspect-ratio:3/4;overflow:hidden;position:relative}.portrait-window img{position:absolute;width:200%;max-width:none;height:auto;left:-50%;bottom:-25%}.person-source{font-size:.8rem}.inspiration-ending{max-width:700px;margin:4rem auto;text-align:center}.inspiration-ending p{line-height:1.9;color:var(--muted)}.image-credits{max-width:960px;margin:auto;border-top:1px solid var(--line);padding-top:1.5rem;font-size:.8rem;color:var(--muted);line-height:1.7}.image-credits summary{cursor:pointer}
@media(max-width:760px){.inspiration-heading{margin-block:2.5rem}.inspiration-person{grid-template-columns:1fr;gap:1.75rem;padding-block:2.5rem}.inspiration-portrait{width:min(100%,280px);margin-inline:auto}.inspiration-person h2{font-size:2.2rem}.inspiration-person .eyebrow{font-size:.7rem}.inspiration-ending{margin-block:3rem}header nav{gap:.8rem;font-size:.875rem}}

.rebbe-portrait .portrait-window{aspect-ratio:3/4}.rebbe-portrait .portrait-window img{width:230%;left:auto;right:0;top:0;bottom:auto}

.features .feature-dedication{font-size:.75rem;line-height:1.6;margin:0 0 .7rem}.feature-dedication a{color:var(--blue);text-underline-offset:3px}.inspiration-person{scroll-margin-top:1.5rem}

@font-face{font-family:BookHand;src:url('/assets/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}

.dedication-index{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:960px;margin:0 auto 3rem}.dedication-index a{font-family:Newsreader,Georgia,serif;font-size:1.4rem;text-underline-offset:5px}.dedication-index span{display:block;font-family:Manrope,system-ui,sans-serif;font-size:.75rem;color:var(--muted);margin-bottom:.6rem}@media(max-width:760px){.dedication-index{grid-template-columns:1fr 1fr;gap:1.75rem 1rem}}

body{font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:450}.wordmark{font-weight:500;letter-spacing:-.035em}.wordmark span,[lang="he"]{font-family:FrankRuhl,Georgia,serif}.intro{letter-spacing:-.012em}.eyebrow{font-size:.72rem;font-weight:650;letter-spacing:.14em}.person-name{font-weight:500}.back{font-size:.875rem}

/* The book and Magen David form one compact Kavaná signature. */
.wordmark{align-items:center;gap:.65rem;letter-spacing:-.025em;flex:none}.wordmark .brand-mark{width:44px;height:44px;flex:none}.wordmark .brand-name{display:flex;flex-direction:column;align-items:flex-start;font-family:Newsreader,Georgia,serif;font-size:1.8rem;font-weight:500;line-height:1;letter-spacing:-.025em;color:var(--ink)}.wordmark .brand-hebrew{font-family:FrankRuhl,Georgia,serif;font-size:.9rem;font-weight:400;line-height:1.25;letter-spacing:.04em;color:var(--blue);margin-top:.3rem}@media(max-width:760px){.wordmark .brand-mark{width:38px;height:38px}.wordmark .brand-name{font-size:1.65rem}.wordmark .brand-hebrew{font-size:.8rem;margin-top:.2rem}.wordmark{gap:.55rem}}

.story-stage>.scroll-note{text-align:center;font-size:.875rem;color:var(--muted);margin:0 0 .75rem}

/* Jerusalem stone ties the website to the existing app artwork. */
.wordmark .brand-mark{border-radius:10px;width:48px;height:48px;object-fit:cover;box-shadow:0 1px 5px #6f62451a}
.app-intro{position:relative;isolation:isolate;padding-top:2rem}
.app-intro::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:50%;top:-115px;transform:translateX(-50%);width:100vw;height:calc(100% + 210px);background:linear-gradient(90deg,#f6f3ecb8,#f6f3ecd9 45%,#f6f3ec70),url('/assets/kotel-stone.webp') center/cover no-repeat;mask-image:linear-gradient(transparent,black 12%,black 72%,transparent)}
.hero-app-logo{width:84px;height:84px;border-radius:20px;margin:0 auto 1.4rem;box-shadow:0 8px 24px #57452d20}
@media(max-width:760px){.wordmark .brand-mark{width:42px;height:42px}.hero-app-logo{width:72px;height:72px;border-radius:17px;margin-bottom:1.2rem}.app-intro::before{background-position:65% center}.app-intro{padding-top:1.7rem}}

header.wrap{position:relative;z-index:1}

/* Centered opening, a clearer signature, and a calm, ordered header. */
header.wrap{width:min(1320px,calc(100% - 5rem));display:grid;grid-template-columns:1fr auto 1fr;min-height:104px;padding-block:1.25rem;border-bottom-color:#d7d5cd}
header nav{justify-content:center;gap:2.25rem;font-weight:550}
.header-release{justify-self:end;font-size:.75rem;color:#515761;letter-spacing:.015em}
.wordmark .brand-mark{width:50px;height:50px;border-radius:12px;box-shadow:0 3px 10px #09275a24}
.app-intro{max-width:1050px;min-height:calc(90svh - 104px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0 2.5rem}
.app-intro::before{top:-104px;height:calc(100% + 200px);background:linear-gradient(90deg,#f6f3ecb0 0%,#f6f3eced 28%,#f6f3ecf5 50%,#f6f3ecdf 73%,#f6f3ec90 100%),url('/assets/kotel-stone.webp') center/cover no-repeat;mask-image:linear-gradient(black 75%,transparent)}
.hero-app-logo{width:104px;height:104px;border-radius:24px;margin:0 0 1.8rem;box-shadow:0 10px 30px #15335d28}
.app-intro .eyebrow{font-size:.75rem;letter-spacing:.18em;margin-bottom:1.2rem}
.app-intro h1{font-size:clamp(3.5rem,6.8vw,6.6rem);line-height:.98;letter-spacing:-.045em;margin-bottom:1.65rem}
.app-intro .intro{max-width:570px;font-size:1.125rem;color:#444c59;line-height:1.65;margin-bottom:1.8rem}
.app-intro .app-store-badge img{width:188px}
.app-intro .availability{font-size:.75rem;color:#545b66}
.hero-details{display:flex;justify-content:center;gap:1.7rem;margin-top:2.2rem;font-size:.75rem;color:#384b69}
.hero-details span+span{position:relative}.hero-details span+span::before{content:"";position:absolute;left:-.9rem;top:50%;width:3px;height:3px;background:#7b8fae;border-radius:50%}
.story-stage.hero{padding-top:.25rem}
@media(min-width:1600px){.app-intro{min-height:calc(85svh - 104px)}}
@media(max-width:760px){header.wrap{width:calc(100% - 2.5rem);min-height:118px;grid-template-columns:1fr auto;row-gap:1.3rem;padding-block:1rem}.wordmark .brand-mark{width:42px;height:42px;border-radius:10px}.header-release{font-size:.65rem}header nav{grid-column:1/-1;grid-row:2;gap:2rem;font-size:.8rem}.app-intro{min-height:calc(88svh - 118px);padding:2.5rem 0 2rem}.app-intro::before{top:-118px;background-position:65% center}.hero-app-logo{width:82px;height:82px;border-radius:20px;margin-bottom:1.6rem}.app-intro h1{font-size:clamp(3rem,10.6vw,4.5rem);margin-bottom:1.4rem}.app-intro .eyebrow{font-size:.63rem;letter-spacing:.14em}.app-intro .intro{font-size:1rem;max-width:350px;margin-bottom:1.6rem}.hero-details{gap:1rem;font-size:.62rem;margin-top:1.7rem}.hero-details span+span::before{left:-.55rem}.app-intro .availability{font-size:.67rem}.app-intro .app-store-badge img{width:174px}}

/* Real app screens, with room to read the interface and its purpose. */
.app-tour{padding-bottom:4rem}.tour-heading{text-align:center;padding:4.5rem 0 3.5rem}.tour-heading h1{font-size:clamp(3rem,5.5vw,5rem)}.tour-heading .intro{max-width:540px;margin:0 auto}.screen-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.5rem 2.5rem}.screen-feature{min-width:0}.screen-copy{min-height:155px}.screen-copy .eyebrow{margin-bottom:.75rem}.screen-copy h2{font-size:1.9rem;margin-bottom:.65rem}.screen-copy p:not(.eyebrow){font-size:.9rem;line-height:1.7;color:var(--muted);margin:0 0 1.5rem}.screen-device{margin:0 auto;width:min(100%,300px);padding:6px;border-radius:40px;background:#25272c;border:1px solid #484c55;box-shadow:0 18px 35px #182d4a14}.screen-device img{width:100%;height:auto;border-radius:34px}.tour-extras{display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid var(--line);padding-top:3rem;margin-top:4rem}.tour-extras h2{font-size:2rem}.tour-extras p:not(.eyebrow){font-size:1rem;line-height:1.8;color:var(--muted);max-width:440px}.tour-extras .eyebrow{margin-bottom:1rem}.tour-download{text-align:center;border-top:1px solid var(--line);padding:3.5rem 0 0;margin-top:2.5rem}.tour-download h2{margin-bottom:1.75rem}header nav a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:.5rem}
@media(max-width:900px){.screen-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem}}
@media(max-width:600px){.tour-heading{padding:3rem 0}.tour-heading h1{font-size:clamp(2.75rem,10vw,3.5rem)}.tour-heading .intro{font-size:1rem}.screen-gallery{grid-template-columns:1fr;gap:3.5rem}.screen-copy{min-height:0;text-align:center;max-width:340px;margin:auto}.screen-copy h2{font-size:2rem}.screen-device{width:min(100%,285px)}.tour-extras{grid-template-columns:1fr;gap:2rem;margin-top:3rem}.tour-download h2{font-size:2rem}}
.tour-link{display:inline-block;margin-top:1.5rem;color:var(--blue);font-size:.9rem}

/* Compact navigation tabs with a clear current-page state. */
header.wrap{width:min(1160px,calc(100% - 3rem));margin-top:18px;min-height:82px;padding:12px 20px;grid-template-columns:1fr auto 1fr;gap:1rem;background:#faf8f1ed;border:1px solid #d6d7d380;border-radius:24px;box-shadow:0 4px 20px #20385408}
header .wordmark .brand-mark{width:44px;height:44px;border-radius:11px}
header .wordmark .brand-name{font-size:1.6rem}
header .wordmark .brand-hebrew{font-size:.75rem;margin-top:.2rem}
header .site-tabs{display:flex;gap:4px;padding:4px;background:#e8e9e35c;border:1px solid #d8dcd54d;border-radius:999px;font-size:.85rem;font-weight:550}
header .site-tabs a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 19px;border-radius:999px;text-decoration:none;white-space:nowrap;color:#4d5563;transition:background .18s,color .18s}
header .site-tabs a:hover{background:#1f4e9e0d;color:var(--blue);text-decoration:none}
header .site-tabs a[aria-current="page"]{background:var(--blue);color:white;text-decoration:none;box-shadow:0 2px 5px #153b7920}
header .site-tabs a:focus-visible{outline-offset:2px}
header .header-release{display:flex;align-items:center;gap:7px;font-size:.7rem;color:#68717d}
header .header-release::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue)}
@media(max-width:900px){header .site-tabs a{padding-inline:14px}header .header-release{font-size:.63rem}}
@media(max-width:760px){header.wrap{width:calc(100% - 1.5rem);margin-top:12px;padding:14px;grid-template-columns:1fr auto;gap:13px;border-radius:22px;min-height:0}header .site-tabs{grid-column:1/-1;grid-row:2;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;font-size:.78rem}header .site-tabs a{min-height:44px;padding-inline:6px}header .header-release{max-width:110px;font-size:.62rem}header .wordmark .brand-name{font-size:1.5rem}header .wordmark .brand-mark{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){header .site-tabs a{transition:none}}

/* A thin titanium rim, dark screen bezel, and physical side controls. */
.screen-device{position:relative;padding:8px;border-radius:46px;background:linear-gradient(115deg,#a5a8ae 0%,#e8e9eb 9%,#777c84 23%,#34383f 49%,#bbc0c6 76%,#e3e5e7 91%,#70757d 100%);border:1px solid #8b9098;box-shadow:inset 0 0 0 2px #ffffff70,inset 0 0 0 4px #1d2026,0 20px 38px #182d4a20,0 3px 5px #121a2720}
.screen-device img{border-radius:38px;outline:3px solid #0b0d10;outline-offset:0}
.device-button{position:absolute;width:3px;border-radius:2px;background:linear-gradient(90deg,#9ea3aa,#d6d9dd 45%,#626974);box-shadow:0 0 0 1px #555c6460}
.device-action{left:-4px;top:15%;height:3.5%}.device-volume{left:-4px;top:23%;height:7%}.device-volume::after{content:"";position:absolute;top:calc(100% + 12px);left:0;width:3px;height:100%;border-radius:2px;background:inherit;box-shadow:inherit}.device-power{right:-4px;top:26%;height:11%}

/* Balanced type and spacing, with the stone strongest at the edges. */
.app-intro{max-width:960px;min-height:calc(88svh - 100px);padding:2.75rem 0 2.5rem}
.app-intro::before{top:-110px;height:calc(100% + 240px);background:radial-gradient(ellipse at 48% 45%,#f6f3ecf5 0%,#f6f3eceb 27%,#f6f3ec80 63%,#f6f3ec38 100%),url('/assets/kotel-stone.webp') center 48%/cover no-repeat;mask-image:linear-gradient(black 68%,transparent 100%)}
.hero-app-logo{width:88px;height:88px;border-radius:21px;margin-bottom:1.5rem}
.app-intro h1{font-size:clamp(3.1rem,6.1vw,5.6rem);line-height:1.04;margin-bottom:1.5rem;letter-spacing:-.035em}
.app-intro .eyebrow{margin-bottom:1rem;letter-spacing:.15em}
.app-intro .intro{max-width:540px;font-size:1.08rem;line-height:1.75;margin-bottom:1.5rem}
.app-intro .app-store-badge img{width:180px}
.hero-details{margin-top:1.6rem;gap:1.5rem}
.hero-details span+span::before{left:-.8rem}
.app-details{gap:3.5rem;padding-block:3.5rem}
.app-details h2{font-size:clamp(2.2rem,3.3vw,2.8rem);line-height:1.15}
.story-stage.hero{min-height:84svh;padding-block:1rem;align-content:center;gap:1rem}
.story-stage .book-canvas{width:min(92vw,74svh,860px)}
@media(max-width:760px){.app-intro{min-height:calc(86svh - 150px);padding:2.25rem 0 2rem}.app-intro::before{top:-155px;height:calc(100% + 220px);background:radial-gradient(ellipse at 46% 43%,#f6f3ecf5 0%,#f6f3eceb 34%,#f6f3ecb3 70%,#f6f3ec60 100%),url('/assets/kotel-stone.webp') 72% center/cover no-repeat}.hero-app-logo{width:72px;height:72px;border-radius:17px;margin-bottom:1.3rem}.app-intro h1{font-size:clamp(2.7rem,10.2vw,3.6rem);margin-bottom:1.25rem}.app-intro .intro{font-size:.97rem;line-height:1.75;max-width:340px}.app-intro .eyebrow{font-size:.65rem;letter-spacing:.12em}.hero-details{font-size:.65rem;gap:1rem;margin-top:1.3rem}.hero-details span+span::before{left:-.55rem}.app-details{gap:2rem;padding-block:2.75rem}.story-stage.hero{min-height:72svh}.story-stage .book-canvas{width:min(94vw,66svh)}}

/* The open ivory pages become the stage for the iPhone to come forward. */
.story-stage.hero{min-height:100svh;padding:1.25rem 0;gap:0;align-content:center;overflow:hidden;--phone-opacity:0;--phone-scale:.2;--phone-y:80px;--phone-tilt:24deg;--book-opacity:1;--book-scale:1;--copy-opacity:0}
.book-to-app{position:relative;width:100%;height:70svh;perspective:1200px;display:grid;place-items:center}
.book-to-app .cover{position:absolute;inset:0;opacity:var(--book-opacity);transform:scale(var(--book-scale));will-change:transform,opacity;pointer-events:none}
.book-to-app .book-canvas{width:min(94vw,82svh,960px)}
.emerging-app{position:absolute;opacity:var(--phone-opacity);transform:translateY(var(--phone-y)) rotateX(var(--phone-tilt)) scale(var(--phone-scale));transform-origin:50% 65%;will-change:transform,opacity}
.emerging-app .screen-device{width:min(28svh,280px);margin:0;box-shadow:inset 0 0 0 2px #ffffff70,inset 0 0 0 4px #1d2026,0 25px 60px #12264a28,0 4px 8px #121a2720}
.reveal-copy{text-align:center;max-width:600px;padding:0 1.25rem;opacity:var(--copy-opacity);transform:translateY(calc((1 - var(--copy-opacity))*12px));pointer-events:none}
.reveal-copy h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:.7rem}.reveal-copy p{font-size:.95rem;line-height:1.6;color:var(--muted);margin:0 0 .85rem}.reveal-copy a{font-size:.85rem;color:var(--blue)}
.is-revealed .reveal-copy{pointer-events:auto}
.book-scroll:not(.is-animated) .book-to-app{height:auto}.book-scroll:not(.is-animated) .cover{position:relative}.book-scroll:not(.is-animated) .emerging-app{display:none}.book-scroll:not(.is-animated) .reveal-copy{opacity:1;transform:none;pointer-events:auto;margin-top:2rem}
@media(max-width:760px){.book-to-app{height:63svh}.emerging-app .screen-device{width:min(26svh,250px)}.reveal-copy h2{font-size:1.8rem}.reveal-copy p{font-size:.85rem;max-width:310px}.story-stage>.scroll-note{font-size:.75rem;margin-bottom:.5rem}.book-to-app .book-canvas{width:min(110vw,80svh)}}
@media(prefers-reduced-motion:reduce){.story-stage.hero{overflow:visible}.book-to-app{height:auto;gap:2rem;padding-block:2rem}.book-to-app .cover{position:relative;opacity:1;transform:none}.emerging-app{position:relative;opacity:1;transform:none}.reveal-copy{opacity:1;transform:none;pointer-events:auto}.book-to-app .cover,.emerging-app{will-change:auto}}

/* The finished reveal holds while the surrounding screens introduce the app. */
.story-stage.hero{--sides-opacity:0;--sides-offset:100px}
.emerging-app{z-index:3}.side-screen{position:absolute;text-decoration:none;opacity:var(--sides-opacity);pointer-events:none;will-change:transform,opacity;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px}
.side-screen .screen-device{width:min(22svh,210px);margin:0}.side-label{font-size:.75rem;font-weight:600;color:#344862;white-space:nowrap}
.near-left{transform:translateX(calc(-1 * (min(27vw,260px) + var(--sides-offset)))) rotate(-5deg)}
.near-right{transform:translateX(calc(min(27vw,260px) + var(--sides-offset))) rotate(5deg)}
.far-left{z-index:1;transform:translateX(calc(-1 * (min(44vw,475px) + var(--sides-offset)))) translateY(25px) rotate(-9deg)}
.far-right{z-index:1;transform:translateX(calc(min(44vw,475px) + var(--sides-offset))) translateY(25px) rotate(9deg)}
.far-left .screen-device,.far-right .screen-device{width:min(18svh,175px)}
.show-sides .side-screen{pointer-events:auto}.side-screen:focus-visible{outline-offset:10px}
@media(max-width:760px){.side-screen{gap:10px}.side-screen .screen-device{width:min(18svh,150px)}.side-label{font-size:.6rem}.near-left{transform:translateX(calc(-1 * (min(39vw,170px) + var(--sides-offset)))) rotate(-7deg)}.near-right{transform:translateX(calc(min(39vw,170px) + var(--sides-offset))) rotate(7deg)}.far-left,.far-right{display:none}.emerging-app .screen-device{width:min(24svh,230px)}.reveal-copy p{max-width:340px}}
@media(prefers-reduced-motion:reduce){.side-screen{position:relative;opacity:1;transform:none;pointer-events:auto;will-change:auto}.book-to-app{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem;padding-inline:1rem}.book-to-app .cover,.emerging-app{grid-column:1/-1;justify-self:center}.far-left,.far-right{display:flex}.side-screen .screen-device{width:min(32vw,200px)}}
.story-stage.hero{--later-screens:0}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){.near-left,.near-right{opacity:calc(var(--sides-opacity) * (1 - var(--later-screens)))}.far-left,.far-right{display:flex;opacity:var(--later-screens);z-index:2}.far-left{transform:translateX(calc(-1 * (min(39vw,170px) + var(--sides-offset)))) rotate(-7deg)}.far-right{transform:translateX(calc(min(39vw,170px) + var(--sides-offset))) rotate(7deg)}.far-left .screen-device,.far-right .screen-device{width:min(18svh,150px)}}

/* A lighter, more compact top navigation. */
header.wrap{min-height:64px;margin-top:12px;padding:8px 16px;border-radius:18px;gap:.75rem}
header .wordmark{gap:.55rem}header .wordmark .brand-mark{width:36px;height:36px;border-radius:9px}header .wordmark .brand-name{font-size:1.45rem}header .wordmark .brand-hebrew{font-size:.72rem;margin-top:.15rem}
header .site-tabs{padding:3px;gap:2px;font-size:.78rem}header .site-tabs a{min-height:34px;padding-inline:15px}
@media(max-width:760px){header.wrap{margin-top:10px;padding:10px 12px;gap:8px;border-radius:17px;min-height:0}header .wordmark .brand-mark{width:32px;height:32px;border-radius:8px}header .wordmark .brand-name{font-size:1.35rem}header .wordmark .brand-hebrew{font-size:.65rem}header .site-tabs{font-size:.74rem;padding:2px;gap:2px}header .site-tabs a{min-height:36px;padding-inline:5px}}

/* Screens fan out from behind the main iPhone, in a staggered depth sequence. */
.side-screen{transform-style:preserve-3d;backface-visibility:hidden;transform-origin:50% 70%}
.side-screen .screen-device{box-shadow:inset 0 0 0 2px #ffffff70,inset 0 0 0 4px #1d2026,0 18px 35px #182d4a1c,0 3px 5px #121a2718}
@media(max-width:760px){.side-label{max-width:76px;white-space:normal;text-align:center;line-height:1.3}}
@media(prefers-reduced-motion:reduce){.side-screen{transform:none!important;opacity:1!important;transform-style:flat}}

/* Restrained graphite hardware with proportional corners at every size. */
.screen-device,.side-screen .screen-device,.emerging-app .screen-device{padding:clamp(3px,.55svh,6px);border-radius:15% / 7%;background:#181a1d;border:1px solid #55585d;box-shadow:0 1px 2px #14182018,0 16px 34px #18212f15;outline:1px solid #b3b5b850;outline-offset:1px}
.screen-device img{border-radius:13.5% / 6.25%;outline:none}
.device-button{background:#56595e;box-shadow:none;width:2px}.device-action,.device-volume{left:-3px}.device-power{right:-3px}
.side-screen{gap:18px}.side-screen .screen-device{order:0;width:min(23svh,220px)}.side-label{order:1;font-size:.72rem;font-weight:500;color:#565e69;letter-spacing:.015em}
.far-left .screen-device,.far-right .screen-device{width:min(20svh,190px)}
@media(max-width:760px){.side-screen{gap:12px}.side-screen .screen-device,.far-left .screen-device,.far-right .screen-device{width:min(18svh,150px)}.side-label{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.side-screen .screen-device{width:min(32vw,200px)}}

/* The animated book must share the full-width center with the phone reveal. */
.story-stage .book-to-app .cover{width:100%;max-width:none;margin:0;align-items:center;justify-content:center;transform-origin:center}

/* Quiet navigation with the original App Store download badge. */
header .site-tabs{background:transparent;border:0;border-radius:6px}
header .site-tabs a{border-radius:6px}
header .site-tabs a[aria-current="page"]{background:#1f4e9e0c;color:var(--blue);box-shadow:none}

/* A short app overview, with three restrained previews. */
.compact-tour{max-width:1000px;padding-bottom:3rem}
.compact-tour .tour-heading{padding:2.5rem 0 2rem}
.compact-tour .tour-heading h1{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:.85rem}
.compact-tour .tour-heading .intro{font-size:1rem;line-height:1.6;margin-bottom:1.35rem}
.compact-tour .availability{margin:.65rem 0 0;font-size:.75rem}
.compact-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;max-width:800px;margin:auto}
.compact-preview{min-width:0;text-align:center}
.compact-tour .screen-device{width:min(100%,190px);padding:4px;border-radius:28px;box-shadow:0 12px 25px #182d4a12}
.compact-tour .screen-device img{border-radius:24px;display:block}
.compact-caption h2{font-size:1.35rem;margin:1.2rem 0 .4rem}
.compact-caption p{font-size:.85rem;line-height:1.5;color:var(--muted);margin:0 auto;max-width:230px}
@media(max-width:600px){
 .compact-tour .tour-heading{padding:2rem 0 1.8rem}
 .compact-gallery{display:flex;gap:1.3rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 .5rem 1.3rem;}
 .compact-preview{flex:0 0 210px;scroll-snap-align:center}
 .compact-tour .screen-device{width:170px}
 .compact-caption h2{font-size:1.25rem}
}

/* A small living constellation introduces the ideas behind the app. */
.symbol-particles{display:block;width:320px;height:260px;max-width:100%;margin:-1rem auto 1rem;pointer-events:none}
@media(max-width:760px){.symbol-particles{width:270px;height:230px;margin-top:-.5rem}}

/* The About introduction is its own full-screen chapter; the people follow below. */
.inspiration.wrap{width:min(1320px,calc(100% - 3rem))}
.about-intro{min-height:calc(100vh - 8rem);min-height:calc(100svh - 8rem);display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:clamp(2.5rem,6vh,5rem);padding:clamp(3rem,6vh,5rem) 0 clamp(3rem,7vh,6rem)}
.about-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(2rem,4vw,5rem);width:100%;max-width:1280px;margin:0 auto}
.about-hero .inspiration-heading{margin:0;max-width:none;text-align:left}
.about-hero .inspiration-heading h1{font-size:clamp(4rem,6.2vw,7rem);line-height:.98;margin-bottom:2.3rem}
.about-hero .inspiration-heading .intro{margin:0;max-width:650px;font-size:clamp(1.125rem,1.4vw,1.35rem)}
.about-hero .about-particles{width:min(100%,540px);height:auto;aspect-ratio:7/6;margin:0;justify-self:center}
.about-intro .dedication-index{width:100%;max-width:1280px;margin:0 auto;gap:clamp(1.5rem,3vw,3.5rem)}
.about-intro .dedication-index a{font-size:clamp(1.4rem,1.8vw,1.8rem)}
.about-intro .dedication-index span{font-size:.8rem}
@media(max-width:900px){.about-hero{grid-template-columns:1fr;gap:1rem}.about-hero .inspiration-heading{text-align:center}.about-hero .inspiration-heading .intro{margin-inline:auto}.about-hero .about-particles{width:min(100%,390px)}}
@media(max-width:760px){.inspiration.wrap{width:calc(100% - 2.5rem)}.about-intro{min-height:calc(100svh - 10.5rem);gap:1.5rem;padding:2rem 0 2.5rem}.about-hero{gap:.75rem}.about-hero .inspiration-heading h1{font-size:clamp(3.2rem,11vw,5rem);margin-bottom:1.5rem}.about-hero .inspiration-heading .intro{font-size:1rem;line-height:1.7}.about-hero .about-particles{width:min(100%,230px)}.about-intro .dedication-index{grid-template-columns:1fr 1fr;gap:1rem}.about-intro .dedication-index a{font-size:1.4rem}.about-intro .dedication-index span{font-size:.72rem}}

/* Photographic hardware overlay; app screenshots remain full resolution. */
.screen-device,.side-screen .screen-device,.emerging-app .screen-device,.compact-tour .screen-device{
 aspect-ratio:1109 / 2294;padding:0;border:0;border-radius:0;background:transparent;
 box-shadow:none;outline:none;overflow:visible;
 filter:drop-shadow(0 18px 22px #18212f1a);
}
.screen-device img,.compact-tour .screen-device img{
 position:absolute;left:4.058%;top:1.656%;width:91.794%;height:96.687%;
 object-fit:cover;border-radius:12% / 5.5%;outline:none;display:block;
}
.screen-device::after{
 content:"";position:absolute;inset:0;background:url('/assets/devices/iphone-16-pro-black.png') center / 100% 100% no-repeat;
 pointer-events:none;
}
.screen-device .device-button{display:none}

.calculation-method{max-width:960px;margin:3rem auto 4rem;padding:3rem 0;border-block:1px solid var(--line);scroll-margin-top:2rem}.calculation-method h2{font-size:clamp(2.4rem,4vw,3.2rem);margin-bottom:1.5rem}.method-intro{max-width:700px;font-size:1.1rem;line-height:1.8;color:var(--muted);margin-bottom:2.5rem}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem}.method-grid h3{font-size:1.6rem}.method-grid p,.method-details p{font-size:.95rem;line-height:1.85;color:var(--muted)}.method-details{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:1.5rem;font-size:.9rem}.method-details summary{cursor:pointer;color:var(--blue);line-height:1.6}.method-source{font-size:.8rem;color:var(--blue);margin-top:1.5rem}.calculation-link{color:var(--blue);font-size:.85rem}@media(max-width:760px){.calculation-method{padding-block:2rem;margin-block:2rem}.method-grid{grid-template-columns:1fr;gap:1.25rem}.method-intro{font-size:1rem}}

/* Give the opening book a larger presence without enlarging the phone montage. */
.story-stage .book-to-app .book-canvas{width:min(115vw,106svh,1240px)}
@media(max-width:760px){.story-stage .book-to-app .book-canvas{width:min(125vw,96svh)}}

.rav-development{max-width:960px;margin:0 auto 4rem;padding:2.5rem 3rem;background:#1f4e9e06;border:1px solid #1f4e9e18;border-radius:16px;scroll-margin-top:2rem}.rav-development h2{font-size:clamp(2rem,3vw,2.6rem);margin-bottom:1.4rem}.rav-development>p:not(.eyebrow){max-width:740px;font-size:1rem;line-height:1.85;color:var(--muted)}.rav-development .development-note{font-size:.82rem!important;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}@media(max-width:760px){.rav-development{padding:1.75rem 1.5rem;margin-bottom:3rem}}

.home-calculations{display:grid;grid-template-columns:1fr 1.15fr;gap:3.5rem;padding:3.5rem 0;border-top:1px solid var(--line);scroll-margin-top:2rem}.home-calculations h2{font-size:clamp(2.2rem,3.3vw,2.8rem);line-height:1.15}.home-method-intro{font-size:1rem;line-height:1.75;color:var(--muted);max-width:330px;margin-top:1.5rem}.home-method-points article{padding:0 0 1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.home-method-points article:last-of-type{margin-bottom:0}.home-method-points h3{font-size:1.5rem}.home-method-points p{font-size:.95rem;line-height:1.8;color:var(--muted);margin:.7rem 0 0}.home-method-points .home-method-source{font-size:.78rem;color:var(--blue);margin-top:1.25rem}@media(max-width:760px){.home-calculations{grid-template-columns:1fr;gap:2rem;padding-block:2.75rem}.home-method-intro{max-width:none}}

/* One canvas size throughout the cover and all opening frames. */
.story-stage .book-to-app .book-canvas{width:min(112vw,100svh,1420px)}
.cover.is-preparing .book-fallback{display:none}.cover.is-preparing .book-canvas{display:block}
@media(max-width:760px){.story-stage .book-to-app .book-canvas{width:min(110vw,100svh)}}

/* Keep the scroll prompt visually attached to the book below, not the hero above. */
.story-stage>.scroll-note{position:relative;top:clamp(2rem,5svh,3.5rem);z-index:4;pointer-events:none}
@media(max-width:760px){.story-stage>.scroll-note{top:1.5rem}}

/* Daily times: a quiet, inspectable tool. */
.calculator-link{display:block;margin-top:1rem}.solar-equations{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--line)}.solar-equations>p{line-height:1.8;color:var(--muted)}.solar-equations h3{font-size:2rem;margin-bottom:1rem}.equation{padding:1.4rem 1.6rem;margin:1.3rem 0;background:#1f4e9e06;border-left:2px solid var(--blue)}.equation code{display:block;color:#193b72;font-size:clamp(.85rem,1.3vw,1rem);line-height:2;overflow-wrap:anywhere}.equation p{font-size:.9rem;line-height:1.8;color:var(--muted);margin:.7rem 0 0}.zmanim-page{max-width:1000px;padding-block:4rem}.zmanim-heading{max-width:720px;margin-bottom:2.5rem}.zmanim-heading h1{font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.1;margin:1rem 0}.zmanim-heading>p:last-child{color:var(--muted);line-height:1.7}.zmanim-calculator{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem}.zmanim-calculator label{display:grid;gap:.6rem;font-size:.8rem;color:#334155}.zmanim-calculator input,.zmanim-calculator select{width:100%;min-width:0;padding:.85rem;border:1px solid #c6ccd5;border-radius:8px;background:white;color:#222;font:inherit;font-size:.92rem}.location-actions{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem}.zmanim-calculator button{cursor:pointer;font:inherit;font-size:.9rem;padding:.9rem 1.3rem;border-radius:999px}.location-button{border:1px solid var(--blue);color:var(--blue);background:#fff}.calculate-button{border:0;background:var(--blue);color:white;margin-top:1.5rem}.location-privacy{font-size:.75rem;color:var(--muted);line-height:1.6;margin:1rem 0 1.5rem}.zmanim-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.zmanim-status{font-size:.82rem;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}.zman-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.zman-row strong{font-size:.96rem;font-weight:600}.zman-row span{display:block;font-size:.75rem;color:var(--muted);margin-top:.4rem;line-height:1.5}.zman-row time{font-size:1.15rem;font-weight:600;color:var(--blue);white-space:nowrap;font-variant-numeric:tabular-nums}.calculator-assumptions{padding:2.5rem 0}.calculator-assumptions h2{font-size:2rem}.calculator-assumptions p{font-size:.9rem;line-height:1.85;color:var(--muted);margin-top:1rem}@media(max-width:760px){.zmanim-page{padding-block:2.5rem}.zmanim-calculator{padding:1.25rem}.location-actions{grid-template-columns:1fr}.location-button{justify-self:start}.zmanim-inputs{grid-template-columns:1fr}.equation{padding:1rem}.zman-row time{font-size:1rem}}
.zmanim-page .zmanim-heading{display:block;padding:0;border:0;background:none}.zmanim-page .zmanim-heading .eyebrow{max-width:none}.zmanim-page .zmanim-heading h1{max-width:none}.zmanim-page .zmanim-heading>p:last-child{max-width:580px}
@media(max-width:760px){header .site-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}header .site-tabs a{padding-inline:2px;font-size:.7rem;white-space:nowrap}}

/* Astronomy, made visible. The diagram is illustrative, never a local sky forecast. */
.home-calculations.visual-method{grid-template-columns:.8fr 1.5fr;gap:2.5rem 3rem;padding-block:4.5rem}.visual-method .method-heading{padding-top:1.5rem}.visual-method h2{font-size:clamp(2.8rem,4vw,3.6rem);line-height:1.07}.visual-method .home-method-intro{font-size:.95rem;max-width:300px}.method-read-link{display:block;font-size:.77rem;color:var(--muted);margin-top:1.25rem;line-height:1.7}.solar-day-visual{margin:0;padding:1.5rem 1.6rem 1.2rem;border:1px solid #cbd5e180;border-radius:16px;background:linear-gradient(150deg,#fff9,#ecf0f650);min-width:0}.solar-visual-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.59rem;letter-spacing:.1em;color:#315582}.solar-visual-heading .diagram-label{font-size:.6rem;letter-spacing:0;color:#6b7280}.solar-day-visual svg{display:block;width:100%;height:auto;margin:.5rem 0 .75rem;overflow:visible}.sky-caption{font-family:Manrope,sans-serif;font-size:10px;letter-spacing:2px;fill:#718096}.sky-event{font-family:Manrope,sans-serif;font-size:16px;font-weight:600;fill:#294362}.sky-time{font-family:Manrope,sans-serif;font-size:13px;fill:#617085}.hour-divisions text{font-family:Manrope,sans-serif;font-size:10px;fill:#718096}.solar-day-visual figcaption label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;font-size:.72rem;color:#4a5568}.solar-day-visual output{font-weight:600;color:#315fa5}.solar-day-visual input[type=range]{display:block;width:100%;height:22px;accent-color:#315fa5;margin:.7rem 0 1.25rem;cursor:pointer}.proportional-examples{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.9rem;border-top:1px solid #cbd5e1;padding-top:1.1rem}.proportional-examples span{display:block;font-size:.55rem;letter-spacing:.08em;color:#66758b;line-height:1.5}.proportional-examples strong{display:block;font-size:1.3rem;font-weight:500;color:#234e93;margin:.4rem 0}.proportional-examples small{display:block;font-size:.6rem;color:#6b7280;line-height:1.6}.solar-day-visual #daylight-note{font-size:.62rem;line-height:1.7;color:#718096;margin:1rem 0 0}.visual-method-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:2.25rem}.method-step-number{display:block;font-size:.62rem;color:#315fa5;letter-spacing:.1em;padding-top:1.4rem;border-top:1px solid var(--line)}.visual-method-steps h3{font-size:1.6rem;margin-top:.7rem}.visual-method-steps p{font-size:.82rem;line-height:1.85;color:var(--muted);margin-top:.7rem}.visual-method-source{grid-column:1/-1;font-size:.67rem;color:#6b7280;margin:0}@media(max-width:760px){.home-calculations.visual-method{grid-template-columns:1fr;gap:2rem;padding-block:3rem}.visual-method .method-heading{padding-top:0}.visual-method .home-method-intro{max-width:100%}.solar-day-visual{padding:1.1rem .9rem}.solar-visual-heading{font-size:.5rem;letter-spacing:.07em}.solar-visual-heading .diagram-label{font-size:.5rem}.proportional-examples{gap:.5rem}.proportional-examples strong{font-size:1.05rem}.proportional-examples span{font-size:.48rem}.proportional-examples small{font-size:.53rem}.visual-method-steps{grid-template-columns:1fr;gap:1.5rem}.visual-method-steps p{font-size:.9rem}}

/* Location first. Everything else follows automatically. */
.effortless-zmanim{max-width:900px;padding-block:2.7rem}.effortless-zmanim .zmanim-heading{margin-bottom:1.8rem;max-width:none}.effortless-zmanim .zmanim-heading h1{font-size:clamp(2.4rem,4vw,3.4rem);margin:.6rem 0 .7rem}.effortless-zmanim .zmanim-heading>p:last-child{font-size:.95rem}.effortless-zmanim .zmanim-calculator{padding:1.7rem 2rem}.simple-location{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:1rem}.effortless-zmanim .location-button{display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--blue);color:#fff;border:0;min-height:50px}.effortless-zmanim button:disabled{cursor:default;opacity:.65}.location-or{font-size:.78rem;color:var(--muted)}.city-search-wrap{position:relative;min-width:0}.effortless-zmanim #city-search{min-height:50px;padding-left:1rem;border-radius:999px}.city-matches{position:absolute;z-index:12;top:calc(100% + 8px);left:0;right:0;max-height:340px;overflow:auto;background:#fff;border:1px solid #d4dae3;border-radius:12px;box-shadow:0 12px 40px #172b4e18;list-style:none;padding:.4rem;margin:0}.effortless-zmanim .city-matches button{width:100%;text-align:left;background:transparent;border:0;border-radius:7px;padding:.85rem .9rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem}.city-matches button:hover,.city-matches button:focus-visible{background:#edf2f9}.city-matches strong{font-size:.87rem;font-weight:600}.city-matches span{color:var(--muted);font-size:.72rem;text-align:right}.city-search-notice{font-size:.8rem;padding:1rem;line-height:1.6;color:var(--muted)}.effortless-zmanim .location-privacy{margin:.7rem 0 1.2rem;font-size:.68rem}.day-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0 1rem;padding-top:1.4rem;border-top:1px solid var(--line)}.selected-place>span{display:block;font-weight:600;font-size:1rem}.selected-place small{display:block;color:var(--muted);font-size:.7rem;margin-top:.35rem}.date-controls{display:flex;align-items:center;gap:.3rem}.effortless-zmanim .date-controls button{padding:0;width:30px;height:36px;border:0;background:#f1f4f8;color:#315fa5;border-radius:7px;font-size:1.4rem}.effortless-zmanim .date-controls input{padding:.45rem .5rem;border:0;background:transparent;max-width:150px;font-size:.83rem}.effortless-zmanim .date-controls .today-button{font-size:.7rem;width:auto;padding-inline:.6rem;background:transparent}.location-adjustments{font-size:.7rem;color:var(--muted);margin-top:.5rem}.location-adjustments summary{cursor:pointer;padding:.5rem 0;display:list-item}.location-adjustments .zmanim-inputs{margin-top:.8rem;gap:.8rem}.location-adjustments .manual-zone{grid-column:1/-1}.location-adjustments p{font-size:.7rem;line-height:1.7;margin-top:.7rem}.effortless-zmanim .zmanim-status{border:0;padding:0;margin:1.2rem 0;font-size:.8rem}.zmanim-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-bottom:1.7rem}.zmanim-highlights .zman-row{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;background:#f2f5fa;border:0;border-radius:10px;padding:1.1rem 1rem}.zmanim-highlights .zman-row strong{font-size:.75rem;font-weight:500;color:#51617b}.zmanim-highlights .zman-row time{font-size:1.45rem;color:#234e93;font-weight:500}.effortless-zmanim .zman-row span{display:none}.effortless-zmanim.show-zmanim-methods .zman-row span{display:block}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.results-toolbar h2{font-size:1.55rem;margin:0}.effortless-zmanim .results-toolbar button{font-size:.7rem;background:none;border:0;color:var(--blue);padding:.5rem 0;border-radius:0}.effortless-zmanim .zmanim-results .zman-row{padding:.95rem 0}.effortless-zmanim .calculator-assumptions{padding:1.5rem 0;color:var(--muted);font-size:.83rem}.effortless-zmanim .calculator-assumptions summary{cursor:pointer;padding:.6rem 0}.effortless-zmanim .city-data-credit{font-size:.7rem}.effortless-zmanim [hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.effortless-zmanim{padding-block:1.7rem}.effortless-zmanim .zmanim-calculator{padding:1.2rem}.simple-location{grid-template-columns:1fr;gap:.6rem}.location-or{text-align:center;font-size:.7rem}.effortless-zmanim .location-button{width:100%;justify-self:stretch}.day-navigation{gap:.9rem}.date-controls{width:100%;justify-content:space-between}.date-controls label{flex:1}.effortless-zmanim .date-controls input{max-width:none;width:100%;text-align:center}.zmanim-highlights{gap:.4rem}.zmanim-highlights .zman-row{padding:.85rem .55rem}.zmanim-highlights .zman-row strong{font-size:.62rem}.zmanim-highlights .zman-row time{font-size:1.05rem}.results-toolbar h2{font-size:1.35rem}}

/* Keep the mobile scroll stage fixed while Safari's browser bars expand/collapse. */
.book-scroll.is-animated .story-stage.hero{min-height:var(--story-viewport,100svh)}
@media(max-width:760px){
  .book-scroll.is-animated .story-stage.hero{height:var(--story-viewport,100svh);min-height:0;padding-block:12px}
  .book-scroll.is-animated .book-to-app{height:max(150px,calc(var(--story-viewport,100svh) - 230px))}
  .book-scroll.is-animated .book-canvas{width:min(110vw,calc(var(--story-viewport,100svh)*.9))}
  .book-scroll.is-animated .book-to-app .cover{will-change:auto}
}
html{overscroll-behavior-y:none}
@media(prefers-reduced-motion:reduce){
  .book-scroll.is-animated .story-stage.hero{height:auto;min-height:0}
  .book-scroll.is-animated .book-to-app{height:auto}
}

@media(max-width:760px){
 .book-scroll.is-animated .story-stage>.scroll-note{align-self:start;z-index:4;margin:0;height:24px}
}

/* Reserve the runway in the first layout, before the deferred animation loads. */
html.book-scroll-enabled .book-scroll:not(.is-animated){height:430svh}
html.book-scroll-enabled .book-scroll:not(.is-animated) .story-stage{height:100svh;min-height:0}
@media(max-width:760px){html.book-scroll-enabled .book-scroll:not(.is-animated){height:495svh}}

/* A short explanation of local prayer times, with the details on their own page. */
.prayer-times-note{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;padding:4rem 0;border-top:1px solid var(--line)}
.prayer-times-note h2{font-size:clamp(2rem,3.5vw,2.8rem);line-height:1.15;font-weight:400;margin:0}
.prayer-times-copy{max-width:520px}
.prayer-times-copy p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0 0 1rem}
.prayer-times-links{display:flex;flex-wrap:wrap;gap:1rem 1.75rem;margin-top:1.5rem}
.prayer-times-links a{font-size:.9rem;text-underline-offset:4px}
.prayer-times-links a:first-child{color:var(--blue)}
.prayer-times-links a:last-child{color:var(--muted)}
@media(max-width:760px){.prayer-times-note{grid-template-columns:1fr;gap:1.5rem;padding:2.75rem 0}.prayer-times-links{flex-direction:column;align-items:flex-start;gap:.9rem}}

/* A quiet book-shaped placeholder while the opening poses decode. */
.book-skeleton{display:none;position:absolute;width:min(32svh,260px);height:min(52svh,420px);border-radius:10px 16px 16px 10px;background:#dde3eb;overflow:hidden;box-shadow:inset 7px 0 0 #cdd5e1,inset 0 0 0 1px #cad3e0;pointer-events:none}
.book-skeleton>span{position:absolute;inset:24px;border:1px solid #c5cedb;border-radius:2px}
.book-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#ffffff60 48%,transparent 66%);transform:translateX(-100%);animation:book-skeleton-shimmer 1.8s ease-in-out infinite}
html.book-scroll-enabled .cover:not(.is-ready) .book-skeleton,.book-scroll.is-loading .book-skeleton{display:block}
html.book-scroll-enabled .cover:not(.is-ready) .book-fallback,.book-scroll.is-loading .book-fallback{visibility:hidden}
.cover.is-ready .book-canvas{animation:book-loaded-in .3s ease-out}
@keyframes book-skeleton-shimmer{to{transform:translateX(100%)}}
@keyframes book-loaded-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.book-skeleton::after,.cover.is-ready .book-canvas{animation:none}}
