:root{color-scheme:dark;--bg:#0c0e0c;--panel:#151a16;--text:#e5dfd0;--muted:#b3b6a7;--line:#384338;--accent:#bbca9c;--plum:#c1a8bb;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:radial-gradient(ellipse at 90% 12%,#29312755,transparent 40%),radial-gradient(ellipse at 0 50%,#32223255,transparent 40%),var(--bg);color:var(--text);font:16px/1.65 system-ui,sans-serif}a{color:inherit;text-decoration:none}button,textarea,input{font:inherit}button{cursor:pointer}button,a,input,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:100;background:var(--text);color:var(--bg);padding:10px}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:20;background:#0c0e0cf2;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(24px,calc((100vw - var(--max))/2))}.brand{display:flex;gap:12px;align-items:center;font-size:.8rem;letter-spacing:.18em}.brand-mark{color:var(--accent);font-size:1.5rem}nav{display:flex;gap:24px}nav a{font-size:.85rem;color:var(--muted);padding:8px 0}nav a:hover{color:var(--text)}.status-dot{font-size:.65rem;letter-spacing:.14em;color:var(--accent)}.status-dot span{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:8px}.hero{max-width:var(--max);margin:auto;min-height:690px;padding:80px 24px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:20px;position:relative}.eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.2em;color:var(--accent);margin:0 0 22px}h1,h2,h3{margin:0;font-weight:400;line-height:1.12}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(5rem,10.5vw,9rem);letter-spacing:-.08em;line-height:.85;font-style:italic;text-shadow:2px 4px 30px #b4b29615}h1 span{display:inline-block;transform:rotate(-5deg)}h1 em{display:inline-block;padding-left:.32em;font-weight:400;color:#c4c3a5;transform:rotate(-5deg)}h2{font-family:Georgia,serif;font-size:clamp(2.3rem,4vw,3.8rem);letter-spacing:-.035em}h3{font-family:Georgia,serif;font-size:1.65rem}.lede{color:var(--muted);max-width:490px;font-size:1.1rem;margin:35px 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-block;border:1px solid #65745a;background:transparent;color:var(--text);padding:12px 20px;border-radius:3px 15px 3px 15px;min-height:46px}.button:hover{background:#293426}.button.primary{background:var(--accent);color:#152013;border-color:var(--accent);font-weight:600}.woodland{position:relative;align-self:stretch;min-height:490px;display:grid;place-items:center}.woodland img{position:absolute;inset:-40px -12% 0;width:112%;height:115%;object-fit:contain;filter:drop-shadow(12px 12px 14px #0008)}.moon{height:175px;width:175px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#dfd5b4,#bcb99a 45%,#70775c);box-shadow:0 0 90px #aeb99218;opacity:.8;position:absolute;top:18%;right:15%}.woodland-caption{position:absolute;bottom:0;font-size:.6rem;letter-spacing:.35em;color:var(--muted)}.system-strip{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:20px 24px}.system-strip div{display:flex;flex-direction:column;gap:5px}.system-strip strong{font-size:.6rem;letter-spacing:.2em;color:var(--muted)}.system-strip span{font-size:.8rem}.section{max-width:var(--max);margin:auto;padding:90px 24px;position:relative}.section+.section:before{content:'';position:absolute;top:0;left:24px;right:24px;height:22px;background:url('assets/roots.svg') center 48%/100% 600px;opacity:.4;pointer-events:none}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:24px}.filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:end}.filter{color:var(--muted);background:transparent;border:1px solid var(--line);padding:10px 14px;border-radius:30px;min-height:44px;font-size:.8rem}.filter[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{position:relative;min-height:280px;border:1px solid var(--line);border-radius:3px 32px 3px 3px;padding:25px;background:linear-gradient(140deg,#20291b70,#151516);transition:border-color .2s,background .2s}.project-card:first-child{grid-column:span 2}.project-card:hover,.project-card:focus-within{border-color:#97a77d;background:#20291e}.card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.tag,.status{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.status{color:var(--plum)}.project-card h3{margin:35px 0 15px}.project-open{font:inherit;color:inherit;border:0;background:none;padding:0;text-align:left}.project-open:after{content:'';position:absolute;inset:0}.project-card p{font-size:.9rem;color:var(--muted);margin-bottom:32px}.card-link{font-size:.75rem;color:var(--accent)}.split-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}.copy-block p,.sound p,.about-copy{color:var(--muted)}label{display:block;margin:20px 0 10px;color:var(--muted);font-size:.8rem}textarea{width:100%;resize:vertical;background:#111411;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:15px;margin-bottom:12px}.micro{font-size:.75rem;color:var(--muted)}.tarot-stage{min-height:380px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px;border:1px solid var(--line);border-radius:90px 90px 8px 8px;background:radial-gradient(ellipse at top,#48324855,transparent 80%)}.tarot-rest{grid-column:1/-1;align-self:center;text-align:center;letter-spacing:.2em;color:var(--plum);font-size:.7rem}.tarot-card{align-self:stretch;margin-top:50px;border:1px solid #665469;border-radius:45px 45px 4px 4px;padding:15px 12px;background:#171519}.tarot-role{text-align:center;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;color:var(--plum)}.tarot-symbol{text-align:center;font-size:2.7rem;color:var(--plum);margin:20px 0}.tarot-name{font-size:1.15rem}.tarot-meaning{font-size:.8rem;color:var(--muted)}.oracle{text-align:center}.oracle-text{font-family:Georgia,serif;font-size:clamp(1.4rem,3vw,2.4rem);max-width:800px;margin:30px auto;color:var(--plum)}.oracle-seal{width:76px;height:76px;border:1px solid #8c7790;border-radius:50%;background:#261c28;color:var(--plum);font-size:2.5rem}.oracle-seal:hover{background:#372a39}.sound-controls{background:var(--panel);padding:30px;border:1px solid var(--line);border-radius:4px 40px 4px 4px}.sound-controls label{display:flex;justify-content:space-between}.sound-controls input{display:block;width:100%;margin:10px 0 25px;accent-color:var(--accent);min-height:28px}.signal{display:grid;grid-template-columns:150px 1fr;gap:25px;border-top:1px solid var(--line);padding:26px 0}.signal time{font-size:.8rem;color:var(--accent)}.signal h3{font-size:1.5rem}.signal p{color:var(--muted);margin-bottom:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:50px}.about-copy p:first-child{margin-top:0}dialog{width:min(720px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:1px solid #718061;background:#141914;color:var(--text);padding:48px 30px 30px;border-radius:4px 30px 4px 4px}dialog::backdrop{background:#000c}.dialog-close{position:absolute;right:15px;top:8px;background:none;color:var(--text);border:0;font-size:2rem;width:44px;height:44px}.dialog-kicker{font-size:.7rem;color:var(--accent);letter-spacing:.15em}.dialog-body{color:var(--muted)}footer{max-width:var(--max);margin:auto;padding:30px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:var(--muted)}
@media(min-width:1500px){.hero{min-height:780px}}@media(max-width:950px){.status-dot{display:none}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{align-items:start;flex-direction:column}.filters{justify-content:start}.split-section{grid-template-columns:1fr}.hero{min-height:600px}.woodland img{inset:0;width:100%;height:100%}.moon{width:120px;height:120px}.tarot-stage{min-height:340px}.tarot-card{margin-top:30px}.tarot-name{font-size:1.4rem}}@media(max-width:600px){html{scroll-padding-top:125px}.site-header{flex-direction:column;align-items:start;gap:5px;padding:12px 20px}.brand{font-size:.7rem}nav{gap:25px;width:100%;justify-content:space-between}.hero{display:block;padding:65px 24px 40px;min-height:auto}.hero-copy{position:relative;z-index:1}h1{font-size:clamp(4.5rem,21vw,7rem)}.woodland{min-height:290px;margin-top:25px}.woodland img{inset:-15% 0;width:100%;height:125%}.moon{right:25%;top:12%}.woodland-caption{bottom:-10px}.system-strip{grid-template-columns:1fr 1fr;gap:18px}.section{padding:65px 24px}.project-grid{grid-template-columns:1fr}.project-card:first-child{grid-column:auto}.project-card{min-height:250px}.split-section,.about{grid-template-columns:1fr;gap:30px}.tarot-stage{grid-template-columns:1fr;border-radius:50px 50px 6px 6px;padding:20px}.tarot-card{margin:0;padding:20px;border-radius:35px 35px 4px 4px}.tarot-symbol{margin:5px}.tarot-rest{padding:60px 0}.signal{grid-template-columns:1fr;gap:10px}footer{flex-direction:column}.sound-controls{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(forced-colors:active){.button,.filter,.project-card,.tarot-card{border:1px solid ButtonText}.filter[aria-pressed=true]{outline:2px solid Highlight}}

/* Keep decorations within the viewport and controls usable at enlarged text sizes. */
[hidden]{display:none!important}button:disabled,input:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}
.hero{overflow:clip}.hero>* , .split-section>* , .about>*{min-width:0}
.project-card,.tarot-card,.dialog-body{overflow-wrap:anywhere}
body:has(dialog[open]){overflow:hidden}
.project-open:focus-visible{outline:none}.project-open:focus-visible:after{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px 32px 3px 3px}
@media(max-width:360px){nav{gap:12px}.card-top{flex-wrap:wrap}.hero-actions .button{width:100%;text-align:center}}
