:root { --ink:#E8EAED; --soft:#a8b8c0; --dim:#6d7d85; --bg:#0B0E13; --line:#22303a; --panel:#12161D; --teal:#57C7D4; --hair:rgba(255,255,255,0.08); }
* { margin:0; padding:0; box-sizing:border-box; }
html { background:#0B0E13; }
body { font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; background-color:#0B0E13; background-image:linear-gradient(180deg, #0B0E13 0%, #060708 100%); color:var(--ink); line-height:1.7; position:relative; min-height:100vh; }
body::before { content:""; position:absolute; top:0; left:0; right:0; height:640px; background-image:radial-gradient(ellipse 65% 55% at 50% 12%, rgba(38,120,135,0.30) 0%, rgba(38,120,135,0) 60%); pointer-events:none; }
body::after { content:""; position:fixed; inset:0; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E"); opacity:0.03; pointer-events:none; }
a { color:var(--teal); }
nav.site { display:flex; justify-content:center; gap:34px; padding:18px 24px; border-bottom:1px solid var(--line); }
nav.site a { color:var(--soft); text-decoration:none; font-size:13px; letter-spacing:4px; text-transform:uppercase; }
nav.site a:hover { color:var(--ink); }
.wrap { max-width:720px; margin:0 auto; padding:0 24px 80px; text-align:center; position:relative; }
.wrap.wide { max-width:900px; }
h1 { font-size:46px; font-weight:200; letter-spacing:12px; margin-top:56px; text-transform:uppercase; }
.tag { margin-top:12px; color:var(--soft); font-size:14px; letter-spacing:4px; text-transform:uppercase; }
.rule { width:120px; height:1px; background:var(--teal); opacity:0.55; margin:36px auto; }
p.lede { font-size:19px; color:var(--ink); }
p { font-size:17px; color:var(--ink); margin-top:18px; }
a.btn { display:inline-block; color:var(--ink); text-decoration:none; border:1px solid var(--soft); padding:12px 30px; letter-spacing:3px; font-size:14px; text-transform:uppercase; margin:6px 4px; }
a.btn:hover { background:var(--ink); color:var(--bg); }
a.btn.small { padding:8px 20px; font-size:12px; }

/* Books */
.books { margin-top:56px; text-align:left; }
.books > h2 { font-size:15px; letter-spacing:5px; text-transform:uppercase; color:var(--teal); font-weight:normal; text-align:center; margin-bottom:8px; }
.books-sub { text-align:center; color:var(--dim); font-size:15px; margin-top:0; }
.book { background:var(--panel); border:1px solid var(--hair); box-shadow:inset 0 1px 0 rgba(255,255,255,0.05); padding:26px 30px; margin-top:16px; display:flex; gap:24px; align-items:center; }
.book img { width:110px; height:auto; display:block; }
.book-body h3 { font-size:20px; color:var(--ink); font-weight:normal; margin:0 0 4px; }
.book-line { color:var(--dim); font-size:13px; letter-spacing:2px; text-transform:uppercase; margin:0 0 8px; }
.book-body p { margin-top:0; font-size:15px; color:var(--ink); }
.book .btn { margin-top:10px; }

/* Pillars (Listen) */
.pillar { background:var(--panel); border:1px solid var(--hair); box-shadow:inset 0 1px 0 rgba(255,255,255,0.05); padding:26px 30px; margin-top:16px; }
.pillar h2 { font-size:13px; letter-spacing:4px; text-transform:uppercase; color:var(--teal); font-weight:normal; margin-bottom:8px; }
.pillar p { margin-top:0; font-size:16px; }

/* About */
.about { display:flex; gap:24px; align-items:flex-start; background:var(--panel); border:1px solid var(--hair); box-shadow:inset 0 1px 0 rgba(255,255,255,0.05); padding:26px 30px; margin-top:16px; }
.about img { width:140px; height:140px; object-fit:cover; border-radius:50%; display:block; }
.about p { margin-top:0; font-size:16px; text-align:left; }
.contact { margin-top:40px; color:var(--dim); font-size:15px; text-align:center; }
.contact a { color:var(--teal); text-decoration:none; border-bottom:1px solid var(--line); }

footer { margin-top:56px; color:var(--dim); font-size:13px; letter-spacing:2px; text-align:center; padding-bottom:40px; }

@media (max-width:640px){
  h1 { font-size:32px; letter-spacing:8px; }
  .book { flex-direction:column; text-align:center; }
  .about { flex-direction:column; align-items:center; }
  .about p { text-align:center; }
}
