body.caluminate-home{background:var(--c-marketing-ground);overflow-x:hidden}
/* The bar is promoted to its own compositing layer: without it, mobile Chrome
   tears the sticky band while scrolling and page text bleeds through it. */
.site-header{position:sticky;top:0;z-index:60;isolation:isolate;transform:translateZ(0);background:var(--c-marketing-ground);border-bottom:1px solid var(--c-hairline);transition:box-shadow .2s ease,background-color .2s ease,border-color .2s ease}
/* Once the page moves, the bar stops being flush ground and becomes an object
   sitting over the content, so nothing scrolling under it reads as a collision. */
.site-header.is-scrolled{background:var(--c-canvas);border-bottom-color:var(--c-hairline-strong);box-shadow:0 1px 0 rgba(42,30,18,.04),0 8px 22px -14px rgba(42,30,18,.34)}
.site-header-inner{display:flex;width:min(100% - 48px,1080px);margin:auto;align-items:center;justify-content:space-between;padding:var(--s-sm) 0;font-family:var(--font-ui)}
.site-header .brand{display:inline-flex;align-items:center;gap:var(--s-xs);color:var(--c-ink);font-weight:600;font-size:13px;letter-spacing:2px;text-decoration:none}.site-header .brand span{color:var(--c-primary)}
.site-header nav{display:flex;align-items:center;gap:var(--s-lg)}.site-header nav a{color:var(--c-ink-body);font:var(--t-caption);font-weight:600;letter-spacing:1px;text-decoration:none;text-transform:uppercase}.site-header nav a:hover{color:var(--c-primary-ink)}
:root{--serif:'Cormorant Garamond',Georgia,serif;--sans:'EB Garamond',Georgia,serif;--ui:'Inter','Segoe UI',Arial,sans-serif;--aa-gold:#B8902E;--cal-layer-o:0;--cal-sweep-o:0;--cal-sweep-x:0px;--cal-pulse-o:.16}
/* Eyebrows are UI type, not reading type. Every section here styles its own
   paragraphs (`.mobile-story-copy p` and friends), and those beat public.css's
   single-class .section-label — so without this the labels silently render as
   20px reading serif still carrying the eyebrow 2px tracking. */
.caluminate-home .eyebrow,.caluminate-home .section-label{margin:0 0 var(--s-md);color:var(--c-primary-ink);font:var(--t-eyebrow);font-family:var(--font-ui);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}
.hero{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(24px,5vw,64px);align-items:center;max-width:1180px;margin:auto;padding:clamp(28px,5vw,64px) clamp(var(--s-lg),5vw,var(--s-xxl)) clamp(24px,4vw,56px)}
.hero-copy h1{margin:var(--s-md) 0 var(--s-lg);color:var(--c-ink);font-family:var(--font-display);font-weight:500;font-size:clamp(52px,7.4vw,88px);line-height:.96;letter-spacing:-.5px;text-wrap:balance}.hero-copy h1 em{font-style:italic;color:var(--c-primary-ink)}
.hero-sub{max-width:46ch;color:var(--c-ink-body);font:var(--t-reading-lg);font-family:var(--font-reading)}
.hero-actions{display:flex;align-items:center;gap:var(--s-lg);margin-top:var(--s-xl);flex-wrap:wrap}.hero-actions p{max-width:38ch;margin:0;color:var(--c-ink-muted);font:var(--t-caption);font-family:var(--font-ui)}
.hero-demo{position:relative}.cal-demo{display:block;width:100%;height:auto;overflow:visible}
.calendar-board{fill:#fbf7e8;stroke:rgba(184,144,46,.52);stroke-width:1;filter:drop-shadow(0 18px 30px rgba(42,30,18,.12))}
.calendar-topbar{fill:#f5efd8;stroke:#ddd5c0;stroke-width:1}.calendar-sidebar{fill:#f1e7ce;stroke:#ddd5c0;stroke-width:1}.calendar-grid-bg{fill:#fbf7e8}
.calendar-rule{stroke:#ddd5c0;stroke-width:.8}.calendar-rule.soft{stroke:rgba(203,192,164,.52)}.calendar-rule.gold{stroke:rgba(184,144,46,.42)}
.calendar-title{fill:#2a1e12;font:600 11px var(--ui);letter-spacing:.02em}.calendar-chip{fill:#f1e7ce;stroke:rgba(184,144,46,.4);stroke-width:.8}.calendar-chip-text{fill:#8a6f3a;font:500 8px var(--ui)}
.day-name{fill:#8a6f3a;font:600 7.5px var(--ui);letter-spacing:.12em;text-transform:uppercase}.day-num{fill:#2a1e12;font:500 16px var(--serif)}.time-label{fill:#8a806a;font:500 7.5px var(--ui)}
.layer-label{fill:#5c4a35;font:500 8.5px var(--ui)}.layer-meta{fill:#8a806a;font:600 7.5px var(--ui);letter-spacing:.08em}
.layer-check{fill:#6f7f9d;stroke:rgba(42,30,18,.18);stroke-width:.8}.layer-check.work{fill:#6f7242}.layer-check.caluminate{fill:rgba(184,144,46,.16);stroke:rgba(184,144,46,.78);filter:drop-shadow(0 0 8px rgba(184,144,46,var(--cal-pulse-o)))}.layer-check-mark{fill:rgba(241,231,206,.95);font:600 8px var(--ui)}
.caluminate-layer{opacity:var(--cal-layer-o)}.caluminate-sweep{opacity:var(--cal-sweep-o);fill:url(#calSweep);transform:translateX(var(--cal-sweep-x))}
.demo-cursor{fill:#FFE2A8;stroke:rgba(255,247,228,.88);stroke-width:1;filter:drop-shadow(0 0 10px rgba(244,185,95,.72))}.demo-ripple{fill:none;stroke:rgba(255,226,168,.72);stroke-width:1;filter:drop-shadow(0 0 8px rgba(244,185,95,.55))}
.event-box{stroke-width:.8}.event-box.work{fill:rgba(54,88,134,.86);stroke:rgba(128,170,226,.34)}.event-box.personal{fill:rgba(58,112,78,.82);stroke:rgba(140,206,159,.30)}.event-box.caluminate{fill:rgba(227,197,126,.92);stroke:rgba(255,226,168,.78);filter:drop-shadow(0 0 10px rgba(227,197,126,.22))}.event-box.proposed{fill:rgba(244,185,95,.88);stroke:rgba(255,247,228,.72);filter:drop-shadow(0 0 9px rgba(244,185,95,.26))}
.event-time{fill:rgba(12,19,35,.84);font:600 7px var(--ui);letter-spacing:.04em}.event-time.ordinary{fill:rgba(241,231,206,.82)}.event-title{fill:rgba(255,247,228,.96);font:600 7.6px var(--ui)}.event-title.gold{fill:rgba(12,19,35,.92)}.event-note{fill:rgba(12,19,35,.78);font:italic 600 7.4px var(--serif)}.layer-status{fill:#8a806a;font:italic 400 9.5px var(--serif)}
.parchment-continuation{position:relative;color:var(--c-ink-body)}
.understand-section,.home-section,.judgement-section,.moments-section,.safety-section,.lilly-section,.membership-section{position:relative;z-index:1;max-width:1080px;margin:auto;padding:clamp(var(--s-xxl),8vw,var(--s-section)) clamp(var(--s-lg),5vw,var(--s-xxl))}
.understand-section{padding-top:clamp(var(--s-xl),6vw,80px)}.understand-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(var(--s-xl),8vw,96px);align-items:start}.understand-grid h1,.understand-grid h2,.section-heading h2,.judgement-section h2,.safety-intro h2,.lilly-section h2,.membership-section h2{margin:0 0 var(--s-lg);color:var(--c-ink);font:var(--t-heading-1);font-size:clamp(40px,5vw,58px);letter-spacing:var(--ls-heading-1);text-wrap:balance}.understand-lede,.section-heading>p:last-child,.judgement-section>div>p,.safety-intro>p,.membership-section>div>p{font:var(--t-reading-lg);font-family:var(--font-reading)}
.understand-grid aside{padding:var(--s-lg);border-left:3px solid var(--c-primary);background:var(--c-surface-tint);border-radius:0 var(--r-md) var(--r-md) 0}.understand-grid aside p{margin:0;color:var(--c-ink);font:italic 500 30px/1.15 var(--font-display)}.understand-grid aside span{display:block;margin-top:var(--s-md);font:var(--t-reading);font-family:var(--font-reading)}
.context-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.2fr;align-items:center;margin-top:var(--s-xxl);border-top:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline)}.context-equation>span{display:flex;flex-direction:column;gap:2px;padding:var(--s-md)}.context-equation small{color:var(--c-ink-muted);font:var(--t-caption);font-family:var(--font-ui)}.context-equation>i{color:var(--c-primary-ink);font:400 24px/1 var(--font-display)}.context-equation .equation-result{background:var(--c-surface-tint);color:var(--c-ink)}
.understand-actions{display:flex;align-items:center;gap:var(--s-lg);margin-top:var(--s-xl);flex-wrap:wrap}.understand-actions p{max-width:42ch;margin:0;color:var(--c-ink-muted);font:var(--t-caption);font-family:var(--font-ui)}
.home-section,.judgement-section,.moments-section,.safety-section,.lilly-section,.membership-section{border-top:1px solid var(--c-hairline)}.section-heading{max-width:800px;margin-bottom:var(--s-xl)}
.story-steps .step{position:relative;overflow:hidden}.story-steps .step:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--c-primary);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.story-steps .step:hover:after{transform:scaleX(1)}
.judgement-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(var(--s-xl),8vw,96px);align-items:center}.judgement-section blockquote{margin:0;padding:var(--s-xl);border:1px solid var(--c-hairline-strong);border-left:3px solid var(--c-primary);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--c-surface-tint);box-shadow:var(--e-soft)}.judgement-section blockquote>span{color:var(--c-primary-ink);font:var(--t-eyebrow);font-family:var(--font-ui);letter-spacing:var(--ls-eyebrow)}.judgement-section blockquote p{color:var(--c-ink);font:italic var(--t-reading-lg);font-family:var(--font-reading)}.judgement-section cite{color:var(--c-ink-muted);font:var(--t-caption);font-family:var(--font-ui);font-style:normal}
.judgement-section{display:block}.judgement-intro{max-width:780px;margin:0 0 var(--s-xl)}
.reading-card{display:grid;grid-template-columns:minmax(210px,.82fr) 1.5fr;border:1px solid var(--c-hairline-strong);border-left:3px solid var(--c-primary);border-radius:var(--r-md);background:var(--c-canvas);box-shadow:var(--e-soft);overflow:hidden}
.reading-aside{padding:clamp(var(--s-lg),3vw,var(--s-xl));background:var(--c-surface-tint);border-right:1px solid var(--c-hairline)}
.reading-badge{display:inline-block;color:var(--c-primary-ink);font:var(--t-eyebrow);font-family:var(--font-ui);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}
.reading-date{margin:var(--s-sm) 0 var(--s-md);color:var(--c-ink);font:500 30px/1 var(--font-display)}
.reading-hook{margin:0;color:var(--c-ink-body);font:italic var(--t-reading);font-family:var(--font-reading)}
.reading-open{display:inline-block;margin-top:var(--s-lg);padding:6px 12px;border:1px solid var(--c-hairline-strong);border-radius:var(--r-pill);color:var(--c-primary-ink);font:var(--t-caption);font-family:var(--font-ui);font-weight:600}
.reading-body{padding:clamp(var(--s-lg),3vw,var(--s-xl))}
.reading-body h3{margin:0 0 var(--s-md);color:var(--c-ink);font-family:var(--font-display);font-weight:500;font-size:23px;line-height:1.15}
.reading-body p{margin:0 0 var(--s-md);color:var(--c-ink-body);font:var(--t-reading);font-family:var(--font-reading)}
.reading-practice span{display:inline-block;margin-right:8px;color:var(--c-primary-ink);font:var(--t-eyebrow);font-family:var(--font-ui);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}
.reading-attrib{margin:0;color:var(--c-ink-muted);font:var(--t-caption);font-family:var(--font-ui)}
.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-md)}.moment-grid article{display:flex;min-height:250px;flex-direction:column;margin:0;padding:var(--s-lg);border:1px solid var(--c-hairline);border-radius:var(--r-md);background:var(--c-canvas)}.moment-grid article:nth-child(2){background:var(--c-surface-tint);box-shadow:var(--e-soft)}.moment-grid article>span{color:var(--c-primary-ink);font:var(--t-eyebrow);font-family:var(--font-ui);letter-spacing:var(--ls-eyebrow)}.moment-grid h3{margin:var(--s-xl) 0 var(--s-xs);color:var(--c-ink);font:var(--t-heading-3)}.moment-grid p{margin:0;font:var(--t-reading);font-family:var(--font-reading)}.moment-grid small{margin-top:auto;padding-top:var(--s-xl);color:var(--c-ink-muted);font:var(--t-caption);font-family:var(--font-ui)}
.safety-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(var(--s-xl),8vw,96px);align-items:start}.text-cta{color:var(--c-primary-ink);font:var(--t-button);font-family:var(--font-ui);letter-spacing:var(--ls-button);text-decoration:none;text-transform:uppercase}.safety-list{border-top:1px solid var(--c-hairline)}.safety-list article{display:grid;grid-template-columns:44px 1fr;gap:var(--s-md);margin:0;padding:var(--s-lg) 0;border-bottom:1px solid var(--c-hairline)}.safety-list article>span{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--c-primary);border-radius:var(--r-pill);color:var(--c-primary-ink);font:var(--t-caption);font-family:var(--font-ui)}.safety-list h3{margin:0 0 var(--s-xxs);color:var(--c-ink);font:var(--t-heading-3);font-size:21px}.safety-list p{margin:0;font:var(--t-reading);font-family:var(--font-reading)}
.lilly-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(var(--s-xl),8vw,96px);background:linear-gradient(to right,transparent 0,transparent 38%,var(--c-surface-tint) 38%,var(--c-surface-tint) 100%)}.lilly-reading{padding:0 var(--s-xl);font:var(--t-reading-lg);font-family:var(--font-reading)}.lilly-reading .lilly-words{margin:var(--s-xl) 0;padding:var(--s-lg);border-left:3px solid var(--c-primary);background:var(--c-canvas);color:var(--c-ink);font-style:italic}
.membership-section{display:grid;grid-template-columns:1fr minmax(300px,.72fr);gap:clamp(var(--s-xl),8vw,96px);align-items:center}.membership-card{padding:var(--s-xl);border:1px solid var(--c-hairline-strong);border-radius:var(--r-md);background:var(--c-surface-tint);box-shadow:var(--e-soft)}.membership-card>span{display:block;color:var(--c-primary-ink);font:var(--t-eyebrow);font-family:var(--font-ui);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}.membership-card>strong{display:block;margin:var(--s-sm) 0 0;color:var(--c-ink);font:var(--t-display-lg);font-family:var(--font-display)}.membership-card p{margin:var(--s-xs) 0 var(--s-lg)}.site-footer{position:relative;z-index:4}
.editorial-context,.editorial-life,.how-section,.mobile-story-section,.planning-section,.final-cta-section{position:relative;z-index:1;max-width:1080px;margin:auto;padding:clamp(72px,10vw,124px) clamp(var(--s-lg),5vw,var(--s-xxl));border-top:1px solid var(--c-hairline)}
.editorial-context{padding-top:clamp(80px,12vw,144px)}
.editorial-context h2,.editorial-life h2,.mobile-story-copy h2,.planning-intro h2,.final-cta-section h2{margin:0;color:var(--c-ink);font:500 clamp(44px,6.5vw,72px)/1 var(--font-display);letter-spacing:var(--ls-display-xl);text-wrap:balance}
.editorial-context-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--s-xl),8vw,96px);max-width:900px;margin:var(--s-xxl) 0 0 auto}.editorial-context-copy p,.mobile-story-copy>p,.planning-intro>p,.final-cta-section>p{margin:0;color:var(--c-ink-body);font:var(--t-reading-lg);font-family:var(--font-reading)}
.editorial-life h2{max-width:900px}.editorial-life-contrast{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--s-xl);align-items:center;margin-top:var(--s-xxl);padding:var(--s-xl) 0;border-top:1px solid var(--c-hairline);border-bottom:1px solid var(--c-hairline)}.editorial-life-contrast div{padding:var(--s-md)}.editorial-life-contrast span{color:var(--c-primary-ink);font:var(--t-eyebrow);font-family:var(--font-ui);letter-spacing:var(--ls-eyebrow);text-transform:uppercase}.editorial-life-contrast p{margin:var(--s-md) 0 0;color:var(--c-ink);font:500 clamp(25px,3vw,36px)/1.2 var(--font-display)}.editorial-life-contrast i{color:var(--c-primary);font:400 24px/1 var(--font-display);font-style:normal}.editorial-life-close{max-width:700px;margin:var(--s-xl) 0 0 auto;color:var(--c-ink-body);font:italic var(--t-reading-lg);font-family:var(--font-reading)}
.mobile-story-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);gap:clamp(var(--s-xl),8vw,108px);align-items:center;max-width:1180px}.mobile-story-copy h2{font-size:clamp(42px,5.4vw,64px)}.mobile-story-copy>p{margin-top:var(--s-lg)}.mobile-story-proof{padding-top:var(--s-lg);border-top:1px solid var(--c-hairline);color:var(--c-primary-ink)!important;font:var(--t-caption)!important;font-family:var(--font-ui)!important;letter-spacing:.04em}.mobile-story-demo{min-width:0}
.planning-section{max-width:1080px}.planning-intro{max-width:780px;margin-bottom:var(--s-xxl)}.planning-intro>p{margin-top:var(--s-lg);max-width:650px}.planning-section .reading-card{margin-top:var(--s-xl)}
.horizon-section{border-top:1px solid var(--c-hairline)}
.final-cta-section{text-align:center;background:var(--c-surface-tint)}.final-cta-section h2{max-width:850px;margin:0 auto}.final-cta-section>p{max-width:600px;margin:var(--s-lg) auto}.final-cta-section .btn{margin-top:var(--s-md)}
@media(max-width:900px){.hero,.understand-grid,.judgement-section,.safety-section,.lilly-section,.membership-section,.mobile-story-section{grid-template-columns:1fr}.hero{gap:var(--s-xl)}.hero-demo{max-width:560px}.lilly-section{background:linear-gradient(to bottom,transparent 0,transparent 36%,var(--c-surface-tint) 36%,var(--c-surface-tint) 100%)}.lilly-reading{padding:var(--s-xl) 0 0}.mobile-story-copy{max-width:760px}.mobile-story-demo{margin-top:var(--s-lg)}}
@media(max-width:700px){.site-header-inner{width:calc(100% - 32px)}.site-header nav{gap:var(--s-md)}.site-header nav a{font-size:10px;letter-spacing:.7px}.site-header nav a:first-child{display:none}.hero{padding-top:var(--s-md)}.hero-copy h1{font-size:clamp(44px,12vw,62px)}.understand-section,.home-section,.judgement-section,.moments-section,.safety-section,.lilly-section,.membership-section,.editorial-context,.editorial-life,.how-section,.mobile-story-section,.planning-section,.final-cta-section{padding-left:var(--s-md);padding-right:var(--s-md)}.understand-grid h2,.section-heading h2,.judgement-section h2,.safety-intro h2,.lilly-section h2,.membership-section h2{font-size:39px}.editorial-context h2,.editorial-life h2,.mobile-story-copy h2,.planning-intro h2,.final-cta-section h2{font-size:clamp(40px,12vw,52px)}.editorial-context-copy{grid-template-columns:1fr;gap:var(--s-lg);margin-top:var(--s-xl)}.editorial-life-contrast{grid-template-columns:1fr;gap:var(--s-sm)}.editorial-life-contrast i{transform:rotate(90deg);justify-self:center}.editorial-life-contrast div{padding:var(--s-sm) 0}.editorial-life-close{margin-top:var(--s-lg)}.context-equation{grid-template-columns:1fr auto 1fr}.context-equation>span{padding:var(--s-sm) var(--s-xs)}.context-equation>i:nth-of-type(3){display:none}.context-equation .equation-result{grid-column:1/-1;text-align:center;align-items:center}.understand-actions{align-items:stretch;flex-direction:column}.moment-grid{grid-template-columns:1fr}.moment-grid article{min-height:210px}.reading-card{grid-template-columns:1fr}.reading-aside{border-right:none;border-bottom:1px solid var(--c-hairline)}.final-cta-section .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.story-steps .step:after{transition:none}}
/* One word in the heading changes in step with the demo beside it: Lilly reads
   as an astrologer while she is judging and as an assistant once she is acting.
   Both words occupy the same grid cell, so the box is always as wide as the
   longer of the two and the line never reflows when they swap. */
.word-swap{display:inline-grid;vertical-align:baseline}
.word-swap>.word{grid-area:1/1;opacity:0;transition:opacity .45s ease}
.word-swap>.word.is-on{opacity:1}
@media(prefers-reduced-motion:reduce){.word-swap>.word{transition:none}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
