:root { --ink:#eef2f4; --soft:#a8b8c0; --dim:#6d7d85; --bg:#05080a; --line:#22303a; --panel:#0a1014; }
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; background:var(--bg); color:var(--ink); line-height:1.7; }
a { color:var(--soft); }
.hero { width:100%; display:block; }
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, nav.site a.here { color:var(--ink); }
.wrap { max-width:720px; margin:0 auto; padding:0 24px 80px; text-align:center; }
.wrap.wide { max-width:900px; }
.avatar { width:148px; height:148px; border-radius:50%; object-fit:cover; margin-top:-74px; border:4px solid var(--bg); position:relative; }
@media (max-width: 640px) {
  /* Mobile: the banner's baked-in text goes tiny and the banner + avatar
     stack the same portrait twice. Drop the banner; the avatar + HTML
     headline carry the hero alone, sharp. (Tyler's catch, 2026-10-27.) */
  .hero { display:none; }
  .avatar { margin-top:44px; }
}
h1 { font-size:52px; font-weight:200; letter-spacing:14px; margin-top:26px; text-transform:uppercase; }
h1.page { font-size:34px; letter-spacing:10px; margin-top:56px; }
.tag { margin-top:12px; color:var(--soft); font-size:14px; letter-spacing:4px; text-transform:uppercase; }
.rule { width:120px; height:1px; background:var(--line); margin:36px auto; }
p.lede { font-size:19px; color:var(--ink); }
p { font-size:17px; color:#c9d4d9; margin-top:18px; }
.pillars { margin-top:48px; text-align:left; }
.pillar { background:var(--panel); border:1px solid var(--line); padding:26px 30px; margin-top:16px; }
.pillar h2 { font-size:13px; letter-spacing:4px; text-transform:uppercase; color:var(--soft); font-weight:normal; margin-bottom:8px; }
.pillar p { margin-top:0; font-size:16px; }
.watch { margin-top:48px; }
.watch a.btn, 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; }
.watch a.btn:hover, a.btn:hover { background:var(--ink); color:var(--bg); }
a.btn.small { padding:8px 20px; font-size:12px; }
.contact { margin-top:40px; color:var(--dim); font-size:15px; }
.contact a { color:var(--soft); 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; }

/* Doors (Journal / Notes entry points on home) */
.doors { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:48px; text-align:left; }
.door { background:var(--panel); border:1px solid var(--line); padding:26px 30px; text-decoration:none; display:block; }
.door:hover { border-color:var(--soft); }
.door h2 { font-size:13px; letter-spacing:4px; text-transform:uppercase; color:var(--ink); font-weight:normal; margin-bottom:8px; }
.door p { margin-top:0; font-size:15px; color:#c9d4d9; }
@media (max-width:640px){ .doors { grid-template-columns:1fr; } }

/* Rooms (social cards + embeds) */
.rooms { margin-top:56px; text-align:left; }
.rooms > h2 { font-size:15px; letter-spacing:5px; text-transform:uppercase; color:var(--soft); font-weight:normal; text-align:center; margin-bottom:8px; }
.room { background:var(--panel); border:1px solid var(--line); padding:26px 30px; margin-top:16px; }
.room-head { display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.room-head img { width:52px; height:52px; border-radius:50%; object-fit:cover; }
.room-head .who { flex:1; }
.room-head .who .name { font-size:17px; color:var(--ink); }
.room-head .who .handle { font-size:14px; color:var(--dim); }
.room p { margin-top:0; font-size:15px; }
.room .embed { margin-top:14px; }
.embed iframe.yt { width:100%; aspect-ratio:16/9; border:0; display:block; }

/* Notes stream */
.notes-list { text-align:left; margin-top:40px; }
.note { background:var(--panel); border:1px solid var(--line); padding:22px 28px; margin-top:14px; }
.note time { display:block; font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--dim); margin-bottom:8px; }
.note p { margin-top:0; font-size:16px; color:var(--ink); }
.note a.src { font-size:13px; color:var(--dim); text-decoration:none; border-bottom:1px solid var(--line); }

/* Journal */
article.entry { text-align:left; margin-top:40px; }
article.entry h2 { font-size:26px; font-weight:300; color:var(--ink); margin-bottom:6px; }
article.entry time { font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--dim); }
article.entry p { font-size:17px; }
article.entry .embed { margin:26px 0; }
.journal-list { text-align:left; margin-top:40px; }
.journal-item { background:var(--panel); border:1px solid var(--line); padding:26px 30px; margin-top:16px; }
.journal-item a { text-decoration:none; }
.journal-item h2 { font-size:22px; font-weight:300; color:var(--ink); }
.journal-item time { font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--dim); }
.journal-item p { margin-top:8px; font-size:15px; }

/* Books */
.books { margin-top:56px; text-align:left; }
.books > h2 { font-size:15px; letter-spacing:5px; text-transform:uppercase; color:var(--soft); font-weight:normal; text-align:center; margin-bottom:8px; }
.books-sub { text-align:center; color:var(--dim); font-size:15px; margin-top:0; }
.books-follow { text-align:center; color:var(--dim); font-size:15px; margin-top:24px; }
.books-follow a { color:var(--soft); }
.book { background:var(--panel); border:1px solid var(--line); 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:#c9d4d9; }
.book .btn { display:inline-block; margin-top:10px; padding:10px 18px; border:1px solid var(--soft); color:var(--ink); text-decoration:none; font-size:14px; letter-spacing:1px; }
.book .btn:hover { border-color:var(--ink); }
@media (max-width:640px){ .book { flex-direction:column; text-align:center; } .book-body p, .book-line { text-align:center; } }
