:root{--bg:#f2f8f4;--ink:#1f2421;--muted:#5f6a64;--accent:#6a45e8;--deep:#0d3b2e;--rule:#d6e6dc;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Inter,sans-serif}
a{color:inherit}
.wrap{max-width:72rem;margin:0 auto;padding:0 2rem}
.top{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 0;font-size:.85rem}
.hero .hname{font:400 clamp(1.8rem,2.8vw,2.3rem)/1.1 'Instrument Serif',serif;color:var(--deep);margin:0 0 .9rem}.top nav a{margin-left:2rem;text-decoration:none}.top nav a:hover{color:var(--accent)}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:center;padding:3.5rem 0 5rem}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:var(--accent);font-weight:500}
h1{font:400 clamp(2.8rem,5.4vw,4.6rem)/1.02 'Instrument Serif',serif;letter-spacing:-.02em;margin:1rem 0 1.5rem}
h1 em{color:var(--accent)}
.hero p{font-size:1.15rem;color:var(--muted);max-width:34rem;margin:0 0 2rem}
.btn{display:inline-block;background:var(--deep);color:#fff;padding:.9rem 1.6rem;border-radius:999px;text-decoration:none;font-weight:500;font-size:.95rem;margin:0 .75rem .75rem 0}
.btn.ghost{background:none;color:var(--deep);box-shadow:inset 0 0 0 1px var(--deep)}
.btn:hover{background:var(--accent);color:#fff;box-shadow:none}
.arch{aspect-ratio:4/5;border-radius:12rem 12rem 1rem 1rem;background:url(/photo.jpg) center top/cover,#b39dfa;box-shadow:0 20px 50px #0d3b2e26,12px 12px 0 -2px #c4b5fd}
.band{background:var(--deep);color:#eefaf3;padding:3.5rem 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat b{display:block;font:400 3rem/1 'Instrument Serif',serif;color:#c4b5fd;margin-bottom:.5rem}.stat span{font-size:.92rem;color:#cfe3d8}
.sec{padding:5rem 0;display:grid;grid-template-columns:14rem 1fr;gap:3rem;border-bottom:1px solid var(--rule)}
.num{font:400 3rem 'Instrument Serif',serif;color:var(--accent);line-height:1}
.sec h2{font:500 .8rem Inter;letter-spacing:.2em;text-transform:uppercase;margin:.75rem 0 0}
.lead{font:400 1.85rem/1.3 'Instrument Serif',serif;margin:0 0 2rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{background:var(--card);border-radius:1rem;padding:1.6rem;box-shadow:0 1px 0 var(--rule),0 10px 30px #0d3b2e0d}
.card i{display:block;width:2.5rem;height:.35rem;border-radius:1rem;margin-bottom:1.1rem;background:linear-gradient(90deg,var(--accent),#34d399)}
.card h3{font:400 1.4rem/1.2 'Instrument Serif',serif;margin:0 0 .5rem}.card p{margin:0;color:var(--muted);font-size:.95rem}
.ai{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.ai .card.feature{grid-column:span 2;background:linear-gradient(120deg,#6a45e8,#3b82c4 60%,#1f8a5c);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.ai .card.feature p{color:#ecebff}.ai .card.feature .btn{background:#fff;color:var(--deep);margin:0;white-space:nowrap}
.soon{border:1px dashed #b7a8f5;background:transparent;box-shadow:none}
.tag{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:.4rem}
.row{display:grid;grid-template-columns:1fr auto;gap:.25rem 2rem;padding:1.4rem 0;border-top:1px solid var(--rule)}.row:first-child{border:0;padding-top:0}
.row b{font:400 1.4rem 'Instrument Serif',serif}.row .when{color:var(--muted);font-size:.95rem}.row p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.95rem}
.edu{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.5rem}
.cta{text-align:center;padding:6rem 0}.cta h2{font:400 clamp(2.2rem,5vw,4rem)/1.1 'Instrument Serif',serif;margin:1rem 0 1.25rem}
.cta p{color:var(--muted);max-width:34rem;margin:0 auto 2rem}
.principles{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.5rem}.p{display:flex;gap:1rem}.p span{font:italic 400 1.8rem/1 'Instrument Serif',serif;color:var(--accent);min-width:2rem}.p h3{font:400 1.45rem/1.2 'Instrument Serif',serif;margin:0 0 .4rem}.p p{margin:0;color:var(--muted);font-size:.95rem}
.bg{padding:3.5rem 0 0;max-width:46rem;margin-left:17rem}.bg p{margin:0;color:var(--muted)}
.areas{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 2.5rem}.area{border-left:3px solid;border-image:linear-gradient(var(--accent),#34d399) 1;padding-left:1.1rem}.area h3{font:400 1.4rem/1.2 'Instrument Serif',serif;margin:0 0 .4rem}.area p{margin:0;color:var(--muted);font-size:.95rem}
.creds{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:3rem}.cred-col{background:var(--card);border-radius:1rem;padding:1.5rem;box-shadow:0 1px 0 var(--rule),0 10px 30px #0d3b2e0d}
.cred{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.7rem 0;border-top:1px solid var(--rule)}.cred:nth-child(2){border:0}.cred b{font:400 1.25rem 'Instrument Serif',serif}.cred span{color:var(--muted);font-size:.85rem}
.pill{background:#ece7ff;color:var(--accent)!important;border-radius:999px;padding:.15rem .6rem;font-weight:500;white-space:nowrap}
.form{max-width:36rem;margin:0 auto;text-align:left;background:var(--card);border-radius:1.25rem;padding:2rem;box-shadow:0 10px 40px #0d3b2e14}
.form label{display:block;font-size:.8rem;font-weight:500;letter-spacing:.04em;margin-bottom:1rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form input,.form textarea{display:block;width:100%;margin-top:.35rem;padding:.75rem .9rem;border:1px solid var(--rule);border-radius:.6rem;font:inherit;font-size:.95rem;background:var(--bg)}
.send{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.send .btn{border:0;cursor:pointer;margin:0}.li{font-size:.9rem;color:var(--deep);text-decoration:none}
.talk{padding:.65rem 0;border-top:1px solid var(--rule)}.talk:nth-child(2){border:0;padding-top:.2rem}.talk b{display:block;font:400 1.2rem/1.3 'Instrument Serif',serif}.talk span{color:var(--muted);font-size:.85rem}
.worlds{display:flex;flex-wrap:wrap;gap:.6rem}.worlds span{background:var(--card);border:1px solid var(--rule);border-radius:999px;padding:.45rem 1rem;font-size:.9rem;font-weight:500;color:var(--deep)}
.body{margin:0;color:var(--muted);max-width:44rem}
.talks{margin-top:.75rem}.talks .row{border-top:1px solid var(--rule);padding:1.1rem 0;align-items:baseline}.talks .row:first-child{border-top:1px solid var(--rule);padding-top:1.1rem}.talks .row b{font-size:1.3rem}
.ai{margin-top:2.5rem}
.words .stat b{font-size:1.7rem;line-height:1.15;font-style:italic}.band-label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#9fd8b8;margin-bottom:1.25rem;font-weight:500}.band .words{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.statement{font:400 clamp(1.6rem,3vw,2.4rem)/1.3 'Instrument Serif',serif;margin:0;max-width:56rem;color:#eefaf3}.statement em{color:#c4b5fd;display:block;margin-top:.35rem}
.readlink{margin:2rem 0 0;color:var(--muted);font-size:.95rem}.readlink a{color:var(--deep);font-weight:500;text-decoration:none;background:linear-gradient(90deg,var(--accent),#34d399) left bottom/100% 2px no-repeat;padding-bottom:2px}.readlink a:hover{color:var(--accent)}
.cta.grad{background:linear-gradient(120deg,#6a45e8,#3b82c4 55%,#1f8a5c);border-radius:1.5rem;margin:4rem 0;padding:5rem 2rem;color:#fff}.cta.grad .eyebrow{color:#e4ddff}.cta.grad h2{color:#fff}.cta.grad>p{color:#ecebff}.cta.grad .form{color:var(--ink)}
.readrow{text-decoration:none;color:inherit}.readrow .when{color:var(--accent);font-weight:500}.readrow:hover b{color:var(--accent)}.readrow p{margin:.15rem 0 0}
.facts{display:flex;gap:3rem;flex-wrap:wrap}.facts b{display:block;font:400 3rem/1 'Instrument Serif',serif;color:var(--accent);margin-bottom:.35rem}.facts span{color:var(--muted);font-size:.92rem}
@media(prefers-color-scheme:dark){:root{--bg:#0e1714;--ink:#e6eee9;--muted:#a3b3aa;--accent:#a78bfa;--deep:#0b3327;--rule:#22332c;--card:#15221d}
.btn{background:var(--accent);color:#120d24}.btn:hover{background:#c4b5fd;color:#120d24}
.arch{box-shadow:0 20px 50px #0006,12px 12px 0 -2px #6a45e8}
.card,.cred-col{box-shadow:0 1px 0 var(--rule),0 10px 30px #0004}
.pill{background:#2a2350}.li,.readlink a{color:#c4b5fd}
.worlds span{color:var(--ink)}
.cta.grad .form{color:var(--ink);box-shadow:0 10px 40px #0006}.form input,.form textarea{color:var(--ink)}
.band{background:#0b3327}.hero .hname{color:var(--ink)}.mark{background:var(--accent);color:#120d24}}
.back{font-size:.85rem;font-weight:500;text-decoration:none}.back:hover{color:var(--accent)}
footer{display:flex;justify-content:space-between;padding:2rem 0;font-size:.85rem;color:var(--muted);border-top:1px solid var(--rule)}
@media(max-width:44rem){.eyebrow .sep{display:block;height:0;overflow:hidden}.wrap{padding:0 1.25rem}.top nav{display:none}.hero{grid-template-columns:1fr;gap:2rem;padding:1.5rem 0 3.5rem}.arch{order:-1;max-width:14rem;width:100%}.stats,.band .words{grid-template-columns:1fr 1fr;gap:1.75rem 1.25rem}.stat b{font-size:2.4rem}.sec{grid-template-columns:1fr;gap:1.5rem;padding:3.5rem 0}.cards,.ai,.edu,.principles,.areas,.creds,.two{grid-template-columns:1fr}.bg{margin-left:0}.ai .card.feature{grid-column:auto;flex-direction:column;align-items:flex-start}.row{grid-template-columns:1fr}.lead{font-size:1.35rem}}

/* Books page */
.top.split{justify-content:space-between}
.bhero{padding:3rem 0 3rem;max-width:44rem}.bhero h1{margin:.75rem 0 1rem}.bhero p{color:var(--muted);font-size:1.15rem;margin:0}
.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2rem;padding-bottom:5rem}
.book{display:grid;grid-template-columns:7rem 1fr;gap:1.25rem;align-items:start}
.cover{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:.4rem;box-shadow:0 10px 24px #0d3b2e26,4px 4px 0 -1px #c4b5fd;background:linear-gradient(150deg,#6a45e8,#3b82c4 60%,#1f8a5c)}
div.cover{display:flex;align-items:flex-end;padding:.6rem;color:#fff;font:400 .95rem/1.1 'Instrument Serif',serif}
.book h3{font:400 1.45rem/1.15 'Instrument Serif',serif;margin:0}.book h3 a{text-decoration:none}.book h3 a:hover{color:var(--accent)}
.book .sub{font-size:.92rem;margin:.3rem 0 0;line-height:1.4}.book .by{color:var(--muted);font-size:.85rem;margin:.5rem 0 .6rem}.book p{margin:0;color:var(--muted);font-size:.92rem}
@media(max-width:60rem){.shelf{grid-template-columns:1fr 1fr}}
@media(max-width:44rem){.shelf{grid-template-columns:1fr;gap:2rem}.book{grid-template-columns:5.5rem 1fr}}
/* Contact form status */
.form-status{margin:1rem 0 0;font-size:.92rem;min-height:1.4em}.form-status.ok{color:#1f8a5c}.form-status.err{color:#b4233c}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.6;cursor:wait}
.cf-turnstile{margin:0 0 1rem}
