
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#111312;--cream:#f3efe5;--paper:#fbf8f1;--gold:#b58c4a;--sage:#6b786b;--deep:#1e2822;--line:rgba(17,19,18,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative;z-index:10;background:rgba(251,248,241,.88);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:600;letter-spacing:.22em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ink);border-radius:50%;font-size:.78rem;letter-spacing:0}
nav{display:flex;align-items:center;gap:2rem;font-size:.85rem}nav a{opacity:.75}nav a:hover{opacity:1}.nav-cta{border:1px solid var(--ink);padding:.6rem 1rem;border-radius:99px}.menu-toggle{display:none;background:none;border:0}
.hero{min-height:calc(100vh - 88px);padding:7vw 6vw;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden;position:relative;background:radial-gradient(circle at 75% 45%,#eee4cf 0,transparent 32%)}
.hero-copy{position:relative;z-index:2}.eyebrow,.section-number{font-size:.72rem;letter-spacing:.22em;font-weight:600;text-transform:uppercase}.eyebrow{color:var(--gold)}h1,h2{font-family:"Playfair Display",serif;line-height:.96;margin:.25em 0;font-weight:600}h1{font-size:clamp(3.8rem,8vw,8rem);letter-spacing:-.055em}h1 em,h2 em{font-weight:600;color:var(--gold)}.hero-text{font-size:1.15rem;max-width:600px;color:#4f544f}.hero-actions{display:flex;gap:1rem;margin-top:2rem}.button{border:1px solid var(--ink);border-radius:999px;padding:.9rem 1.3rem;background:transparent;cursor:pointer}.button.primary{background:var(--ink);color:white}.button:hover{transform:translateY(-2px)}
.orbit{width:min(42vw,560px);aspect-ratio:1;position:relative;justify-self:center;display:grid;place-items:center}.orbit-ring{position:absolute;border:1px solid rgba(17,19,18,.25);border-radius:50%}.ring-a{inset:6%;animation:spin 28s linear infinite}.ring-b{inset:22%;border-style:dashed;animation:spin 18s linear infinite reverse}.orbit-center{width:36%;aspect-ratio:1;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 25px 70px rgba(30,40,34,.25)}.orbit-center span{letter-spacing:.3em;font-size:.8rem;margin-left:.3em}.orbit-center strong{font:600 4.5rem/1 "Playfair Display",serif;color:#d9bd89}.orbit-word{position:absolute;font-size:.7rem;letter-spacing:.2em}.w1{top:4%;left:48%}.w2{right:0;top:49%}.w3{bottom:3%;left:45%}.w4{left:0;top:49%}@keyframes spin{to{transform:rotate(360deg)}}
.halo{position:absolute;border-radius:50%;filter:blur(1px);opacity:.35}.halo-one{width:220px;height:220px;background:#e7d6b8;left:-90px;bottom:10%}.halo-two{width:160px;height:160px;border:1px solid var(--gold);right:10%;top:5%}
.daily-band{display:grid;grid-template-columns:.7fr 1.5fr auto;gap:2rem;align-items:center;background:var(--deep);color:white;padding:2.5rem 6vw}.daily-band h2{font-size:2.5rem;margin:0}.daily-band p{max-width:700px;color:#dfe4df}.icon-button{width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:none;color:#fff;font-size:1.5rem;cursor:pointer}
.intro{padding:10vw 6vw;display:grid;grid-template-columns:.35fr 1fr .7fr;gap:5vw;align-items:start}.intro h2,.section-heading h2{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.05em}.intro>div>p{max-width:650px;color:#525752}.intro blockquote{margin:6rem 0 0;border-left:1px solid var(--gold);padding-left:2rem;font:italic 1.5rem/1.4 "Playfair Display",serif}.intro cite{display:block;margin-top:1rem;font:500 .75rem "DM Sans";letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.explore{padding:7vw 6vw;background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem}.search-box{display:grid;gap:.5rem;min-width:300px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.search-box input{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:.7rem 0;outline:none;text-transform:none;letter-spacing:0}.filter-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:3rem 0}.filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:.5rem .9rem;cursor:pointer}.filter.active{background:var(--ink);color:#fff}
.names-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.name-card{min-height:245px;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;cursor:pointer;transition:.25s}.name-card:hover{background:var(--paper);transform:translateY(-4px);box-shadow:0 20px 45px rgba(24,28,25,.08)}.name-card .number{font-size:.68rem;color:var(--gold);letter-spacing:.12em}.name-card h3{font:600 1.7rem "Playfair Display",serif;margin:auto 0 .6rem}.name-card p{font-size:.9rem;color:#5e625e;margin:0}.no-results{text-align:center;padding:3rem}
.prayer{padding:9vw 6vw;background:linear-gradient(135deg,#c7b890,#897753);position:relative;overflow:hidden}.prayer:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.25);border-radius:50%;right:-100px;top:-170px}.prayer-card{max-width:900px;margin:auto;text-align:center;color:white;position:relative;z-index:2}.prayer-card h2{font-size:clamp(3.5rem,7vw,7rem)}.prayer-card>p{max-width:630px;margin:1.5rem auto}.button.light{border-color:white;color:white}.breathing{display:none;margin:3rem auto 0;position:relative;width:190px;height:190px;place-items:center}.breathing.active{display:grid}.breath-circle{position:absolute;inset:0;border:1px solid white;border-radius:50%;animation:breathe 8s ease-in-out infinite}.breathing strong{font-family:"Playfair Display",serif;font-size:1.5rem}@keyframes breathe{0%,100%{transform:scale(.68);opacity:.45}50%{transform:scale(1.05);opacity:1}}
.manifesto{padding:10vw 6vw;background:var(--ink);color:white}.manifesto p{font:600 clamp(2.7rem,6vw,6rem)/1.1 "Playfair Display",serif;margin:0 0 1.2em;letter-spacing:-.04em}.manifesto span{color:#777}.manifesto strong{color:#d2b57e;font-style:italic}
footer{padding:3rem 6vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;border-top:1px solid var(--line);font-size:.8rem}.footer-brand{justify-self:start}
.modal{position:fixed;inset:0;background:rgba(15,17,16,.78);z-index:50;display:grid;place-items:center;padding:1rem}.modal[hidden]{display:none}.modal-card{background:var(--paper);width:min(620px,100%);padding:4rem;position:relative;text-align:center}.modal-close{position:absolute;right:1rem;top:.7rem;border:0;background:none;font-size:2rem;cursor:pointer}.modal-number{font:600 5rem/1 "Playfair Display",serif;color:#e0d4bc}.modal-card h2{font-size:4rem}.modal-card>p{max-width:440px;margin:1.5rem auto}.modal-prompt{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
@media(max-width:950px){.hero{grid-template-columns:1fr}.orbit{width:min(75vw,480px);margin-top:3rem}.intro{grid-template-columns:1fr}.intro blockquote{margin-top:1rem}.names-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start;flex-direction:column}.search-box{width:100%}footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-self:center}}
@media(max-width:680px){.site-header{height:74px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:1.2rem 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{padding-top:5rem}.hero-actions{flex-direction:column;align-items:flex-start}.daily-band{grid-template-columns:1fr auto}.daily-band>p{grid-column:1/-1}.intro,.explore,.prayer,.manifesto{padding:5rem 1.25rem}.names-grid{grid-template-columns:1fr}.name-card{min-height:200px}.modal-card{padding:3rem 1.2rem}.modal-card h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
