@font-face{font-family:LibreB;src:url('assets/baskerville.ttf') format('truetype');font-display:swap}@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-display:swap}
:root{--cream:#F7F3EB;--plum:#4C2D46;--ink:#302733;--rose:#E8CCD8;--gold:#AE8B4B;--muted:#77696F;--line:#D7CBC5;--pale:#EAE0DB;--serif:LibreB,Baskerville,Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:8;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2377696F' filter='url(%23n)' opacity='.3' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}button{border:0}svg{display:block;width:100%}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--plum)}h1 em,h2 em{font-weight:400}h2:focus{outline:0}.site-header{height:105px;max-width:1440px;margin:auto;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--sans);font-weight:600;font-size:20px;letter-spacing:3px;text-decoration:none;display:flex;align-items:center;color:var(--plum)}.wordmark>span:first-child{font-size:40px;font-weight:400;margin-right:14px;line-height:1;letter-spacing:0}.brand-dot{color:var(--gold);letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:42px}.site-header nav a{font-size:12px;text-decoration:none}.site-header nav a span{margin-left:8px;color:var(--gold)}.nav-note{font-size:9px;letter-spacing:2.4px;color:var(--muted)}
.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;min-height:760px;padding:65px 6% 70px;overflow:hidden}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.7px;color:var(--muted);line-height:1.7;margin-bottom:22px}.small-star{color:var(--gold);font-size:14px;vertical-align:-1px;padding-right:9px}.hero h1{font-size:clamp(36px,4.05vw,62px);line-height:1.22;letter-spacing:-2.2px;margin:0 0 26px}.hero h1 em{font-size:.83em;color:#78536c;letter-spacing:-1.6px}.hero-description{color:var(--muted);font-size:12px;line-height:1.9;max-width:480px;margin-bottom:28px}#question-form{max-width:465px}label{font-size:11px;font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:10px}label>span{font-size:9px;color:var(--muted);font-weight:400;border:1px solid var(--line);border-radius:20px;padding:2px 8px}.question-wrap{position:relative}textarea{resize:vertical;display:block;border:1px solid #CBBEC1;background:rgba(255,255,255,.22);color:var(--ink);padding:15px 45px 14px 16px;border-radius:4px;line-height:1.8;width:100%;min-height:84px;max-height:240px;font-size:11px}textarea::placeholder{color:#8B7A83;opacity:1}.input-star{position:absolute;right:16px;top:16px;font-size:22px;color:var(--gold);pointer-events:none}.form-bottom{display:flex;justify-content:space-between;margin:9px 0 21px;color:var(--muted);font-size:9px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;min-height:49px;padding:15px 23px;border-radius:3px;font-size:11px;font-weight:500;transition:background .2s,transform .2s,box-shadow .2s}.primary{background:var(--plum);color:var(--cream)}.primary:hover{background:#63415b;box-shadow:0 4px 12px #4c2d4618}.primary:active{transform:translateY(1px)}.primary>span{color:#D4B77B;font-size:17px;line-height:1}.primary:disabled{opacity:.4;box-shadow:none}.privacy{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;margin:12px 0 0}.privacy svg{width:12px;height:12px;fill:none;stroke:var(--muted);stroke-width:1}
.hero-art{position:relative;align-self:center;height:540px;max-width:600px;width:100%;margin-top:10px}.hero-card{position:absolute;width:43%;max-width:238px;top:90px;left:28%;filter:drop-shadow(0 15px 15px #4c2d4630);transform-origin:50% 90%}.card-left{transform:translate(-38%,-5%) rotate(-17deg);z-index:1}.card-right{transform:translate(43%,-3%) rotate(17deg);z-index:2}.card-center{transform:translateY(12px) rotate(-2deg);z-index:3}.hero-card svg{border-radius:12px}.orbit{position:absolute;border:1px solid #D6C4BD;border-radius:50%;left:5%;top:10%;width:94%;height:80%;transform:rotate(-25deg)}.orbit-two{width:85%;height:100%;top:-1%;left:10%;transform:rotate(26deg);opacity:.6}.floating-star{position:absolute;color:var(--gold);font-family:Georgia,serif}.star-one{top:4%;right:16%;font-size:46px}.star-two{bottom:15%;left:6%;font-size:25px}.star-three{top:20%;left:11%;font-size:23px}.art-caption{position:absolute;bottom:-2px;width:100%;text-align:center;white-space:nowrap;font-size:7.5px;letter-spacing:1.5px;color:var(--muted)}.art-caption span{color:var(--gold);margin:0 8px}
.about{max-width:1440px;margin:auto;padding:65px 8% 75px;display:grid;grid-template-columns:1fr 1.3fr;gap:10%;border-top:1px solid var(--line);background:#EFE7E154}.about h2{font-size:30px;line-height:1.5;letter-spacing:-.9px}.about .eyebrow{margin-bottom:18px}.about-copy>p{font-size:12px;color:var(--muted);line-height:1.95;max-width:530px}.about-facts{display:flex;gap:40px;margin:27px 0 26px}.about-facts span{font-family:var(--serif);font-size:29px;color:var(--plum)}.about-facts p{font-size:8px;color:var(--muted);margin:7px 0 0}.about details{border-top:1px solid var(--line);padding-top:17px;font-size:11px}.about summary{cursor:pointer;display:flex;justify-content:space-between;list-style:none;color:var(--plum)}.about summary::-webkit-details-marker{display:none}.about summary span{color:var(--gold);font-size:16px;line-height:1}.about details[open] summary{margin-bottom:16px}.about details[open] summary span{transform:rotate(45deg)}.about details p{line-height:1.9;color:var(--muted);font-size:11px}.about details a{text-underline-offset:3px}footer{max-width:1440px;padding:35px 6%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line)}footer .wordmark{font-size:12px;letter-spacing:2px}footer .wordmark>span:first-child{font-size:28px;margin-right:9px}footer p{font-family:var(--serif);font-style:italic;font-size:11px;color:var(--muted);margin:0}.footer-star{font-size:20px;color:var(--gold)}
.ritual,.reading{max-width:1220px;margin:auto;padding:55px 6% 70px;position:relative;text-align:center;min-height:740px}.ritual h2,.reading h2{font-size:40px;letter-spacing:-1.4px;line-height:1.35;margin:0 0 16px}.ritual .eyebrow,.reading .eyebrow{margin-bottom:17px}.section-description{font-size:12px;color:var(--muted);line-height:1.8}.text-button{background:transparent;color:var(--plum);padding:12px 3px;font-size:11px;text-underline-offset:5px}.text-button:hover{text-decoration:underline}.back-button{position:absolute;top:28px;left:6%;font-size:10px}.question-quote{font-family:var(--serif);font-size:16px;font-style:italic;line-height:1.8;max-width:680px;margin:22px auto;padding:0 25px;color:#78536c;overflow-wrap:anywhere;white-space:pre-wrap}.question-quote:before{content:'“'}.question-quote:after{content:'”'}.card-pool{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;margin:44px auto 24px;max-width:940px}.pool-card{padding:0;background:none;border-radius:5px;transition:transform .25s,opacity .25s;position:relative}.pool-card svg{box-shadow:0 4px 8px #4c2d4618;border-radius:6px}.pool-card:not(:disabled):hover{transform:translateY(-13px) rotate(-3deg)}.pool-card.chosen{transform:translateY(8px) scale(.9);opacity:.15}.pool-card:disabled:not(.chosen){opacity:.5}.selection-progress{color:var(--muted);font-size:10px;min-height:18px}.selected-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:570px;margin:27px auto 32px}.selected-slot{min-width:0}.slot-art{width:108px;max-width:100%;aspect-ratio:2/3;border:1px dashed #C3ACB9;border-radius:6px;margin:auto;display:flex;align-items:center;justify-content:center;color:#B398A9;font-family:var(--serif);font-size:28px}.slot-art.has-card{border:0;box-shadow:0 4px 7px #4c2d4615}.slot-label{font-size:9px;letter-spacing:.6px;color:var(--muted);margin:13px 0 0}.ritual>.primary{margin:auto}.reshuffle{display:block;margin:8px auto 0}.reshuffle span{margin-left:10px;font-size:15px}.dealing .pool-card{animation:deal-in .65s both;animation-delay:calc(var(--i)*.025s)}@keyframes deal-in{from{opacity:0;transform:translateX(-25px) rotate(-6deg)}to{opacity:1;transform:translateX(0) rotate(0)}}
.reading{padding-top:49px;max-width:1260px}.reading-date{font-size:8px;letter-spacing:1px;color:var(--muted);margin:17px 0 0}.reading-heading{margin-bottom:36px}.reading-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;text-align:left}.reading-card .position-line{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:15px;text-align:center}.position-number{font-family:var(--serif);color:var(--gold);margin-right:8px}.reading-card-art{width:180px;max-width:100%;margin:auto;filter:drop-shadow(0 10px 9px #4c2d4621)}.reading-card-art svg{border-radius:10px}.reading-card h3{font-size:24px;letter-spacing:-.8px;margin:23px 0 9px}.card-theme{font-size:8px;text-transform:uppercase;letter-spacing:1.6px;color:var(--gold);margin-bottom:13px}.card-interpretation{font-size:11px;line-height:1.95;color:var(--muted);margin-bottom:15px}.context-prompt{font-family:var(--serif);font-style:italic;font-size:11px;line-height:1.9;color:#78536c;border-top:1px solid var(--line);padding-top:13px;margin-bottom:0}.reveal-in{animation:reveal-in .75s both;animation-delay:calc(var(--i)*.2s)}@keyframes reveal-in{from{opacity:0;transform:translateY(25px) rotateY(80deg)}to{opacity:1;transform:translateY(0) rotateY(0)}}
.synthesis{display:grid;grid-template-columns:75px 1fr;gap:24px;max-width:940px;margin:51px auto 0;background:#EDE2E3;padding:35px 40px;text-align:left;border-radius:3px;border:1px solid #E2D4D7}.synthesis-mark{font-family:Georgia,serif;font-size:65px;line-height:1;color:var(--gold);text-align:center}.synthesis .eyebrow{font-size:8px;margin-bottom:9px}.synthesis h3{font-size:25px;letter-spacing:-.6px;margin-bottom:17px}.synthesis p:not(.eyebrow){font-size:11px;line-height:1.95;color:var(--muted)}.reflection{border-top:1px solid #D6C3CE;margin-top:20px;padding-top:17px}.reflection span{font-size:8px;letter-spacing:1.7px;color:var(--plum)}.reflection p#reflection-text{font-family:var(--serif);font-size:15px;font-style:italic;color:var(--plum);margin:8px 0 0;line-height:1.75}.reading-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;margin-top:30px}.reading-actions .primary,.reading-actions .secondary{gap:25px;min-height:44px;font-size:10px;padding:12px 18px}.secondary{background:transparent;border:1px solid #BBA8B5;color:var(--plum)}.secondary:hover{background:var(--pale)}.reading-actions>.text-button{margin-left:8px;font-size:10px}.action-status{font-size:10px;min-height:15px;margin:14px auto 0;color:var(--muted)}.noscript{padding:25px;text-align:center}
.hero-description{font-size:14px}.question-wrap textarea{font-size:13px}label{font-size:12px}.form-bottom{font-size:10px}.privacy{font-size:10px}.primary,.secondary{font-size:12px}.section-description{font-size:13px}.about-copy>p{font-size:13px}.about details p{font-size:12px}.card-interpretation{font-size:13px;line-height:1.85}.context-prompt{font-size:12px}.synthesis p:not(.eyebrow){font-size:13px;line-height:1.85}
@media(min-width:1500px){.hero{min-height:830px;padding-top:85px;padding-bottom:95px}.hero-art{height:570px}.hero-card{top:100px}}
@media(max-width:1050px){.site-header{padding:0 5%;height:90px}.hero{padding:55px 5% 65px;gap:15px;min-height:720px}.hero h1{font-size:45px}.hero-art{height:460px}.hero-card{top:95px}.art-caption{font-size:6.5px;letter-spacing:.9px;bottom:10px}.art-caption span{margin:0 5px}.orbit{height:75%;top:13%}.orbit-two{height:96%;top:2%}.reading-cards{gap:30px}.reading-card h3{font-size:22px}.reading-card-art{width:165px}.about{gap:7%;padding:50px 6%}.about-facts{gap:25px}}
@media(max-width:760px){.site-header{height:79px;padding:0 6%}.wordmark{font-size:16px;letter-spacing:2.5px}.wordmark>span:first-child{font-size:32px;margin-right:10px}.site-header nav a{font-size:10px}.nav-note{display:none}.hero{display:flex;flex-direction:column;padding:39px 7% 40px;gap:0;min-height:0}.hero-copy{width:100%}.hero .eyebrow{font-size:8px;margin-bottom:17px}.hero h1{font-size:clamp(36px,8vw,51px);line-height:1.2;letter-spacing:-1.8px;margin-bottom:22px}.hero h1 em{font-size:.88em;letter-spacing:-1.5px}.hero-description{font-size:11px;line-height:1.85;max-width:480px;margin-bottom:23px}.desktop-break{display:none}#question-form{max-width:none}label{font-size:10px}textarea{font-size:11px;min-height:84px}.hero-art{height:395px;max-width:450px;margin:13px auto 0;order:2}.hero-card{top:65px;width:40%;left:29.5%}.card-left{transform:translate(-40%,-5%) rotate(-17deg)}.card-right{transform:translate(43%,-3%) rotate(17deg)}.orbit{top:8%;left:8%;width:85%;height:85%}.orbit-two{left:14%;width:75%;height:99%;top:0}.star-one{top:0;right:14%;font-size:37px}.star-two{bottom:14%;left:9%}.star-three{top:17%;left:11%;font-size:20px}.art-caption{font-size:6.5px;letter-spacing:1px;bottom:0}.about{display:block;padding:36px 7% 43px}.about .eyebrow{font-size:8px;margin-bottom:14px}.about h2{font-size:27px;line-height:1.45;margin-bottom:24px}.about-copy>p{font-size:11px}.about-facts{justify-content:space-between;gap:15px;margin:24px 0}.about-facts span{font-size:27px}.about-facts p{font-size:7.5px}footer{padding:25px 7%;flex-wrap:wrap;gap:15px}footer .wordmark{font-size:11px}footer p{font-size:9px}.footer-star{display:none}.ritual,.reading{padding:60px 6% 40px;min-height:0}.ritual h2,.reading h2{font-size:30px;letter-spacing:-1px}.ritual .eyebrow,.reading .eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:14px}.section-description{font-size:10px}.back-button{top:17px;left:6%;font-size:9px}.card-pool{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;max-width:420px;margin:28px auto 18px}.pool-card:not(:disabled):hover{transform:translateY(-5px)}.question-quote{font-size:13px;padding:0 10px;margin:20px auto}.selected-slots{gap:18px;margin:23px auto 26px;max-width:380px}.slot-art{width:86px}.slot-label{font-size:8px;letter-spacing:0}.reading-cards{gap:20px;display:block}.reading-card{display:grid;grid-template-columns:105px 1fr;column-gap:22px;align-items:start;max-width:540px;margin:0 auto 30px;padding-bottom:28px;border-bottom:1px solid var(--line)}.reading-card .position-line{grid-column:1/-1;text-align:left;margin-bottom:15px;font-size:8px}.reading-card-art{grid-column:1;grid-row:2/7;width:105px}.reading-card h3{grid-column:2;margin:0 0 7px;font-size:22px;line-height:1.4}.card-theme{grid-column:2;font-size:7px;letter-spacing:1px;margin-bottom:10px}.card-interpretation{grid-column:2;font-size:10px;line-height:1.9;margin-bottom:12px}.context-prompt{grid-column:2;font-size:10px;line-height:1.8;padding-top:10px}.reading-heading{margin-bottom:29px}.synthesis{display:block;padding:25px 23px;margin-top:18px}.synthesis-mark{font-size:38px;text-align:left;margin-bottom:17px}.synthesis h3{font-size:21px;line-height:1.5}.synthesis p:not(.eyebrow){font-size:10px}.reflection p#reflection-text{font-size:13px;line-height:1.85}.reading-actions{gap:12px;margin-top:23px}.reading-actions .primary,.reading-actions .secondary{flex:1;gap:10px;font-size:9px;white-space:nowrap;padding:12px}.reading-actions>.text-button{margin:0 20px;font-size:10px}.reading-date{font-size:7px}}
@media(max-width:760px){.hero-description{font-size:12px}.question-wrap textarea{font-size:12px}label{font-size:11px}.form-bottom,.privacy{font-size:10px}.section-description{font-size:12px}.about-copy>p,.about details p{font-size:12px}.card-interpretation{font-size:12px;line-height:1.85}.context-prompt{font-size:11px}.synthesis p:not(.eyebrow){font-size:12px;line-height:1.9}}
@media(max-width:360px){.card-pool{grid-template-columns:repeat(4,minmax(0,1fr));max-width:280px}}
@media(max-width:360px){.site-header nav{gap:0}.hero h1{font-size:34px}.hero-art{height:340px}.art-caption{font-size:5.5px;letter-spacing:.7px}.reading-card{grid-template-columns:85px 1fr;column-gap:17px}.reading-card-art{width:85px}.reading-card h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{body{background:white}body:before,.site-header nav,#intro,#ritual,#about,footer,.reading-actions,.action-status{display:none!important}.site-header{height:60px;padding:10px 0}.site-header .wordmark{font-size:17px}.reading{padding:25px 0;max-width:none}.reading h2{font-size:28px}.reading-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.reading-card{display:block;break-inside:avoid;border:0;margin:0;padding:0}.reading-card .position-line{text-align:center;font-size:8px}.reading-card-art{width:120px;filter:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.reading-card h3{font-size:19px;margin:18px 0 10px}.card-interpretation,.context-prompt{font-size:9px}.synthesis{break-inside:avoid;margin-top:26px;padding:22px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.synthesis-mark{font-size:40px}.synthesis h3{font-size:20px}.synthesis p:not(.eyebrow){font-size:9px}.reflection p#reflection-text{font-size:12px}.reading-heading{margin-bottom:25px}@page{size:A4;margin:15mm}}

/* Personal reading: plaintext model output, with its own connected narrative. */
.reading-card-art{margin:0 auto;align-self:start}.personal-panel{margin:0 auto 32px;padding:27px 32px;max-width:850px;border:1px solid var(--line);background:#EFE7E180;border-radius:4px}.personal-panel .eyebrow{font-size:8px;margin-bottom:10px}.personal-panel h3{font-size:25px;margin-bottom:14px}.personal-panel>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.9}.personal-panel .primary{margin:7px 0 14px}.personal-panel .personal-privacy{font-size:10px!important;max-width:620px;margin:0 auto}.personal-privacy a{text-underline-offset:3px}.personal-status{margin:15px auto 0;min-height:0}.personal-status:empty{display:none}.reading-kind{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin:0 auto 25px}.personal-opening{max-width:800px;text-align:left;font-size:14px;line-height:1.95;color:var(--muted);margin:0 auto 35px}.connection-section{margin:36px 0 0;padding:35px 0 0;border-top:1px solid var(--line);text-align:left}.connection-section>h2{font-size:27px;margin-bottom:23px}.connections{display:grid;grid-template-columns:1fr 1fr;gap:25px}.connection{background:#EFE7E1;padding:24px 28px;border-radius:3px}.connection-names{font-size:10px;color:var(--gold);line-height:1.8;margin-bottom:13px}.connection h3{font-size:21px;line-height:1.5;margin-bottom:13px}.connection>p:last-child{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.synthesis h3{line-height:1.5}.synthesis .reflection .next-action{font-family:var(--sans);font-style:normal;font-size:13px;line-height:1.9;color:var(--muted);margin:10px 0 15px}
@media(max-width:760px){.personal-panel{padding:23px 20px}.personal-panel h3{font-size:21px;line-height:1.5}.personal-panel>p:not(.eyebrow){font-size:11px}.personal-panel .primary{font-size:11px;gap:17px}.personal-panel .personal-privacy{font-size:9px!important}.reading-kind{font-size:8px;letter-spacing:1px}.personal-opening{font-size:12px}.connections{grid-template-columns:1fr;gap:15px}.connection{padding:22px}.connection h3{font-size:20px}.connection>p:last-child{font-size:12px}.connection-section>h2{font-size:24px}.synthesis .reflection .next-action{font-size:12px}}
@media print{.personal-panel{display:none!important}.personal-opening{font-size:11px}.reading-kind{font-size:8px}.connection-section{margin:25px 0 0;padding-top:20px}.connections{display:block}.connection{break-inside:avoid;margin-bottom:15px;padding:16px 20px}.connection>p:last-child{font-size:10px}.connection h3{font-size:18px}.synthesis .reflection .next-action{font-size:10px}}
