:root{--paper:#f4f0e6;--ink:#171715;--muted:#67655f;--line:#d7d0c2;--lime:#d8f06b;--dark:#1f211e;--white:#fbfaf6;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin:0 auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#000;color:#fff;padding:10px;z-index:100}
.header{position:sticky;top:0;z-index:20;background:rgba(244,240,230,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(23,23,21,.08)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between}.logo{font-weight:950;font-size:23px;letter-spacing:-.06em}.logo span{color:#9cad32}.nav nav{display:flex;align-items:center;gap:28px;font-size:14px}.nav-links{display:flex;align-items:center;gap:28px}.nav-toggle{display:none;background:none;border:1px solid var(--ink);padding:9px 10px;cursor:pointer}.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0}.nav nav a:not(.nav-button):hover,.underlink:hover{text-decoration:underline}.nav-button{padding:10px 14px;border:1px solid var(--ink);font-weight:850}
.hero{padding:92px 0 86px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:86px;align-items:end}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:900;color:var(--muted);margin:0 0 18px}.hero h1{font-size:clamp(55px,7vw,92px);line-height:.94;letter-spacing:-.065em;margin:0;max-width:900px}.hero h1 span{font-family:var(--serif);font-weight:400}.lead{font-size:22px;line-height:1.42;max-width:750px;margin:28px 0 18px}.hero-note{font-size:16px;color:var(--muted);max-width:700px;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;gap:18px;background:var(--ink);color:var(--white);font-weight:850;padding:15px 18px;border:1px solid var(--ink)}.button span{font-size:18px}.underlink{font-weight:850;border-bottom:1px solid var(--ink);padding-bottom:2px}.hero-card{border:1px solid var(--ink);background:#ebe5d8;padding:28px;box-shadow:11px 11px 0 var(--lime);transform:rotate(1deg)}.card-label{font-size:11px;letter-spacing:.14em;font-weight:900;color:var(--muted)}.quote{font-family:var(--serif);font-size:32px;line-height:1.12;margin:34px 0}.card-divider{height:1px;background:#b8b0a2}.small-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:24px}.small-grid strong{font-size:26px;letter-spacing:-.04em;display:block}.small-grid span{font-size:11px;line-height:1.25;color:var(--muted);display:block;margin-top:4px}
.tape{overflow:hidden;background:var(--ink);color:var(--white)}.tape-inner{min-height:54px;width:max-content;display:flex;align-items:center;gap:22px;padding:0 24px;font-size:11px;font-weight:900;letter-spacing:.14em}.tape i{color:var(--lime);font-style:normal}
.section{padding:110px 0}.intro{border-bottom:1px solid var(--line)}.intro-grid,.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section h2{font-size:clamp(43px,5vw,68px);line-height:1;letter-spacing:-.055em;margin:0}.section h2 em{font-family:var(--serif);font-weight:400}.prose{font-size:18px;color:var(--muted);max-width:600px}.prose p{margin:0 0 20px}
.how{background:#ece7dc}.section-head{display:grid;grid-template-columns:1fr .55fr;gap:80px;align-items:end;margin-bottom:54px}.section-head>p{font-size:17px;color:var(--muted);margin:0}.how-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.how-grid article{padding:30px 34px 34px 0;border-bottom:1px solid var(--line)}.how-grid article:nth-child(even){padding-left:34px;border-left:1px solid var(--line)}.how-grid span{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--muted)}.how-grid h3{font-size:30px;letter-spacing:-.035em;line-height:1.05;margin:22px 0 10px}.how-grid p{max-width:500px;color:var(--muted);margin:0 0 18px}.how-grid b{font-size:12px;color:#6d7d15;letter-spacing:.03em}
.work{border-bottom:1px solid var(--line)}.work-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.work-card{padding:32px 28px 38px 0;border-bottom:1px solid var(--line)}.work-card:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}.work-card span{font-size:11px;letter-spacing:.14em;font-weight:900;color:var(--muted)}.work-card h3{font-size:31px;line-height:1.04;letter-spacing:-.04em;margin:23px 0 12px}.work-card p{color:var(--muted);max-width:500px}.work-card ul{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--line)}.work-card li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.work-card li::before{content:"↳";margin-right:9px;color:#7a8d18}.work-card.featured{background:linear-gradient(0deg,rgba(216,240,107,.18),rgba(216,240,107,.18));padding-left:22px;border-left:5px solid var(--lime)}
.proof{background:var(--dark);color:var(--white)}.proof-intro{max-width:800px;margin-bottom:58px}.proof-intro .eyebrow{color:#bcb9af}.proof-intro h2{margin:0}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #474941;border-bottom:1px solid #474941}.proof-grid article{padding:30px 20px 34px 0}.proof-grid article+article{border-left:1px solid #474941;padding-left:20px}.proof-grid strong{display:block;color:var(--lime);font-size:43px;letter-spacing:-.05em}.proof-grid h3{font-size:17px;margin:15px 0 8px}.proof-grid p{font-size:14px;color:#bcb9af;margin:0}
.talks{border-bottom:1px solid var(--line)}.talk-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;border:1px solid var(--ink);background:#ebe5d8;overflow:hidden}.talk-feature-copy{padding:42px}.talk-meta,.talk-year{font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--muted)}.talk-feature h3{font-size:44px;line-height:1;letter-spacing:-.05em;margin:16px 0}.talk-feature-copy>p:not(.talk-meta){font-size:17px;color:#55534d;max-width:650px}.talk-value{border-left:4px solid var(--lime);padding:2px 0 2px 17px;margin:26px 0}.talk-value strong,.talk-value span{display:block}.talk-value strong{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.talk-value span{margin-top:6px;color:#54524b}.talk-art{position:relative;min-height:420px;background:var(--ink);color:var(--lime);display:flex;align-items:center;justify-content:center}.scribble{font-family:var(--serif);font-size:56px;line-height:.85;text-align:center;transform:rotate(-8deg)}.music{position:absolute;right:28px;bottom:25px;font-size:45px;transform:rotate(8deg)}.talks-list{margin-top:42px;border-top:1px solid var(--line)}.talks-list article{display:grid;grid-template-columns:170px 1fr;gap:28px;padding:27px 0;border-bottom:1px solid var(--line)}.talks-list h3{font-size:24px;line-height:1.08;letter-spacing:-.03em;margin:4px 0 8px}.talks-list p{margin:0;color:var(--muted);max-width:820px}.value{margin-top:13px;font-size:14px;color:#50504a}.value b{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#697a14;margin-right:8px}.talk-footer{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:30px}.talk-footer p{margin:0;color:var(--muted);max-width:700px;font-size:14px}
.story{border-bottom:1px solid var(--line)}.story-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px}.story-links a{font-weight:850;border-bottom:1px solid var(--ink)}
.contact{background:var(--lime);padding:88px 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.contact h2{font-size:clamp(48px,6vw,78px);line-height:.95;letter-spacing:-.055em;margin:0 0 26px}.contact p{font-size:19px;max-width:680px}.contact-card{background:var(--ink);color:var(--white);padding:32px}.contact-card p{font-size:16px;color:#d5d2c8;margin-top:0}.contact-card small{display:block;color:#b7b4ab;margin-top:12px}.contact-card .button{margin-top:10px;background:var(--lime);color:var(--ink)}
footer{padding:26px 0}.footer{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;font-size:12px;color:var(--muted)}.footer a{color:var(--ink);font-weight:850}
@media(max-width:900px){.hero-grid,.intro-grid,.story-grid,.contact-grid,.talk-feature,.section-head{grid-template-columns:1fr;gap:38px}.hero{padding-top:65px}.proof-grid{grid-template-columns:1fr 1fr}.talk-art{min-height:280px}.talk-footer{align-items:flex-start;flex-direction:column}.nav-toggle{display:block}.nav nav{position:absolute;left:24px;right:24px;top:72px;display:none;flex-direction:column;align-items:stretch;gap:14px;background:var(--paper);border:1px solid var(--ink);padding:18px;box-shadow:0 10px 24px rgba(23,23,21,.08)}.nav nav.is-open{display:flex}.nav-links{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--line)}.nav-links a{padding:10px 4px}.nav nav .nav-button{text-align:center;margin-top:2px}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1160px)}.nav{min-height:64px}.nav-button{padding:8px 10px}.hero h1{font-size:51px}.lead{font-size:19px}.hero-card{box-shadow:7px 7px 0 var(--lime)}.section{padding:76px 0}.how-grid,.work-grid{grid-template-columns:1fr}.how-grid article:nth-child(even),.work-card:nth-child(even){padding-left:0;border-left:0}.work-card.featured{padding-left:18px}.proof-grid{grid-template-columns:1fr}.proof-grid article+article{border-left:0;border-top:1px solid #474941;padding-left:0}.talk-feature-copy{padding:28px}.talk-feature h3{font-size:37px}.talks-list article{grid-template-columns:1fr;gap:8px}.talk-art{min-height:230px}.scribble{font-size:44px}.footer{grid-template-columns:1fr}}

/* Curiosity section */
.curiosity{background:#1d2a25;color:#f4f0e6}
.curiosity .eyebrow{color:#c8d8cf}
.curiosity h2{color:#f4f0e6}
.curiosity .section-head>p{color:#d6dfda}
.curiosity-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:42px}
.curiosity-card{background:#f4f0e6;color:#21302a;border-radius:18px;padding:32px;box-shadow:0 14px 35px rgba(0,0,0,.12)}
.curiosity-card h3{font-family:Georgia,serif;font-size:clamp(26px,3vw,40px);line-height:1.05;margin:10px 0 18px;letter-spacing:-.02em}
.curiosity-card p{color:#52605a;line-height:1.7}
.curiosity-card .talk-meta{color:#68756e;font-size:12px;font-weight:800;letter-spacing:.12em;margin:0}
.curiosity-note{border-top:1px solid #cdd4cf;border-bottom:1px solid #cdd4cf;padding:18px 0;margin:24px 0;display:grid;gap:7px}
.curiosity-note strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.curiosity-note span{color:#3f4c46;line-height:1.55}
.curiosity-card .underlink{color:#21302a}
.curiosity-footer{margin-top:24px;padding:24px 28px;border:1px solid rgba(244,240,230,.22);border-radius:16px}
.curiosity-footer p{margin:0;color:#d9e2dd;line-height:1.65}
.curiosity-footer strong{color:#fff}
@media (max-width:820px){.curiosity-grid{grid-template-columns:1fr}}

/* Writing section */
.writing { background: #ece7dc; }
.writing-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 34px; }
.writing-card { background:#f9f6ee; border:1px solid rgba(20,20,18,.13); padding:28px; min-height: 300px; display:flex; flex-direction:column; }
.writing-feature { grid-column: span 2; min-height: 260px; }
.writing-kicker { font-family: var(--mono); text-transform:uppercase; letter-spacing:.08em; font-size:.73rem; opacity:.67; margin-bottom:16px; }
.writing-card h3 { font-family: var(--display); font-size: clamp(1.5rem, 2.2vw, 2.15rem); line-height:1.02; margin:0 0 14px; max-width: 20ch; }
.writing-card p { color: rgba(20,20,18,.77); max-width: 64ch; }
.writing-value { margin-top:auto; padding-top:22px; display:grid; grid-template-columns: 100px 1fr; gap:14px; border-top:1px solid rgba(20,20,18,.12); }
.writing-value strong { font-family:var(--mono); text-transform:uppercase; font-size:.72rem; letter-spacing:.08em; }
.writing-value span { color:rgba(20,20,18,.78); }
.writing-card .underlink { margin-top:20px; align-self:flex-start; }
.writing-footer { margin-top:20px; padding:24px 0 0; display:flex; justify-content:space-between; gap:30px; align-items:flex-start; border-top:1px solid rgba(20,20,18,.14); }
.writing-footer p { max-width: 66ch; color:rgba(20,20,18,.77); }
@media (max-width: 820px) { .writing-grid{grid-template-columns:1fr;} .writing-feature{grid-column:span 1;} .writing-footer{flex-direction:column;} }

/* Selected experience */
.experience-names { background: #fffaf0; }
.name-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:1px; background:var(--ink, #171717); border:1px solid var(--ink, #171717); }
.name-chip { background:#fffaf0; padding:24px 20px; min-height:128px; display:flex; flex-direction:column; justify-content:space-between; color:var(--ink); text-decoration:none; }
.name-chip strong { font-size:1.15rem; letter-spacing:-.02em; }
.name-chip span { font-size:.9rem; line-height:1.45; max-width:24ch; opacity:.72; }
.name-cta { grid-column:3 / 5; grid-row:2; min-height:128px; background:#3a3935; color:#fffaf0; align-items:center; justify-content:center; text-align:center; }
.name-cta strong { font-size:clamp(1.4rem,2.1vw,2rem); letter-spacing:-.03em; }
.name-cta:hover { background:#474641; }
.project-line { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; margin-top:22px; font-size:.9rem; }
.project-line span { opacity:.6; margin-right:4px; width:100%; }
.project-line strong { font-weight:600; }
@media (max-width:900px) { .name-grid{grid-template-columns:repeat(2,1fr);} .name-cta{grid-column:1 / 3; grid-row:4;} }
@media (max-width:560px) { .name-grid{grid-template-columns:1fr;} .name-chip{min-height:110px;} .name-cta{grid-column:1; grid-row:auto; min-height:110px;} }

.outside{background:#1f2522;color:#f4f0e6}.outside h2{color:#f4f0e6}.outside .section-head>p{color:#d7d2c8}.outside-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}.outside-card{border:1px solid rgba(244,240,230,.22);padding:32px;background:rgba(255,255,255,.025)}.outside-card h3{font-size:34px;line-height:1.05;margin:10px 0 16px}.outside-card p{color:#d7d2c8;line-height:1.7}.outside-card .curiosity-note{border-top:1px solid rgba(244,240,230,.18);margin-top:26px;padding-top:18px}.outside-card .curiosity-note strong{display:block;color:#f4f0e6;margin-bottom:6px}.outside-card .curiosity-note span{color:#d7d2c8;display:block;line-height:1.55}.outside-card .underlink{color:#f4f0e6}.soft-note{display:inline-block;margin-left:18px;color:#a9a39a;font-size:14px}
@media (max-width: 800px){.outside-grid{grid-template-columns:1fr}.soft-note{display:block;margin:12px 0 0}}

.next-line{display:block;margin-top:.12em}
.cta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cta-chip{display:flex;flex-direction:column;gap:14px;text-decoration:none;min-height:210px;justify-content:space-between}
.cta-chip b{font-size:.9rem;letter-spacing:.02em}
@media (max-width: 760px){.cta-grid{grid-template-columns:1fr}}

/* Live publishing */
.live-publishing{padding-top:6rem}
.live-grid{display:grid;grid-template-columns:1.35fr .65fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.live-card{min-height:19rem;padding:2rem 2rem 2.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.live-feed{background:#f3efe4}
.live-mastodon{background:#c9dbcb}
.live-kicker{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem}
.live-card h3{margin:0 0 1rem;font-size:1.45rem;line-height:1.08}
.live-card>p{max-width:34rem;color:var(--muted)}
.rss-feed{display:grid;gap:0;margin-bottom:1.25rem}
.rss-item{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;padding:.85rem 0;border-top:1px solid rgba(22,22,20,.17)}
.rss-item:first-child{border-top:0;padding-top:0}
.rss-title{font-weight:700;line-height:1.18}
.rss-title a{text-decoration:none;color:inherit}
.rss-title a:hover{text-decoration:underline}
.rss-date{font-size:.83rem;color:var(--muted);white-space:nowrap}
.rss-status{margin:0;color:var(--muted)}
@media (max-width:800px){
  .live-grid{grid-template-columns:1fr}
  .live-card{min-height:auto}
}
@media (max-width:560px){
  .rss-item{grid-template-columns:1fr;gap:.3rem}
}
