:root{
  --paper:#f1f0e8;--paper-2:#e9e9df;--ink:#15201e;--muted:#5f6a64;--line:#d1d4c9;
  --night:#152321;--night-2:#20332f;--acid:#c9ff77;--orange:#ef6b4a;
  --font-sans:Inter,"Segoe UI",Arial,sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --font-serif:Georgia,"Times New Roman",serif;--max:1300px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
::selection{background:var(--acid);color:var(--ink)}
.site-shell{max-width:1640px;margin:0 auto;overflow:hidden}
.skip-link{position:absolute;left:12px;top:-80px;z-index:1000;background:var(--acid);color:var(--ink);padding:12px 16px;font-weight:700}
.skip-link:focus{top:12px}
.masthead{height:105px;padding:0 clamp(26px,5.7vw,94px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:15px;white-space:nowrap}
.brand-sign{display:flex;align-items:center;justify-content:center;width:51px;height:51px;color:var(--acid);background:var(--ink);font-size:25px;font-weight:850;letter-spacing:-.13em;line-height:1;padding-right:5px}
.brand-sign span{color:#faf9ed;font-weight:400;margin:0 2px}
.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{font-size:13px;letter-spacing:.12em;font-weight:800}.brand-copy small{font:10px var(--font-mono);letter-spacing:.08em;color:var(--muted)}
.nav-desktop{display:flex;align-items:center;gap:36px;margin-left:auto}.nav-desktop a{font-size:13px;font-weight:650;position:relative;padding:10px 0;transition:color .2s}
.nav-desktop a:hover{color:#607a40}.nav-desktop a[aria-current="page"]:after{content:"";position:absolute;width:5px;height:5px;border-radius:100%;background:var(--orange);left:calc(50% - 3px);bottom:0}
.masthead-side{display:flex;align-items:center;gap:16px}.head-github{padding:13px 17px;border:1px solid var(--ink);font:700 11px var(--font-mono);letter-spacing:.05em;white-space:nowrap;transition:background .2s,color .2s}.head-github:hover{background:var(--ink);color:var(--acid)}.head-github span{margin-left:18px;font-size:15px}
.mobile-menu{display:none}
.hero{padding:clamp(48px,6vw,89px) clamp(26px,5.7vw,94px) 77px;display:grid;grid-template-columns:1fr minmax(400px,.83fr);align-items:center;gap:clamp(35px,5.4vw,94px);min-height:736px}
.hero-copy{min-width:0}.hero-eyebrow{display:flex;align-items:center;gap:12px;font:11px var(--font-mono);letter-spacing:.07em;white-space:nowrap;color:#4e625c}.index-n{color:var(--orange);font-weight:700}.hero-rule{width:26px;height:1px;background:#9ca99a}
.hero h1{font-size:clamp(58px,6.25vw,101px);letter-spacing:-.087em;line-height:.98;font-weight:800;margin:32px 0 32px}.hero h1 em,.section-heading h2 em,.thought-main h2 em,.footer h2 em,.page-banner h1 em,.about-copy h2 em,.about-bottom h2 em,.not-found h1 em{font-family:var(--font-serif);font-weight:400;letter-spacing:-.065em}.hero h1 em{font-style:italic}.outlined-word{color:transparent;-webkit-text-stroke:1.7px var(--ink);text-stroke:1.7px var(--ink);letter-spacing:-.09em}.hero-point{color:var(--orange)}
.hero-lead{font-size:16px;color:#52605a;line-height:1.86;max-width:520px;margin:0}.hero-lead strong{color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px;flex-wrap:wrap}
.button-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:#fff;padding:19px 22px;font-weight:750;font-size:12px;transition:background .2s,transform .2s}.button-primary span{font-size:18px;color:var(--acid)}.button-primary:hover{background:#304941;transform:translateY(-2px)}
.button-underlined{border-bottom:1px solid var(--ink);padding:12px 0;font-size:12px;font-weight:740;display:inline-flex;gap:28px;align-items:center}.button-underlined:hover{color:#6b8a50}
.hero-footnote{display:flex;align-items:center;gap:12px;margin-top:66px;font:10px var(--font-mono);letter-spacing:.055em;color:#8a938b;line-height:1.8}.mini-line{width:22px;height:1px;background:var(--orange);flex-shrink:0}
.hero-visual{position:relative;min-height:526px;background:var(--night);color:#e8f3ec;display:flex;flex-direction:column;overflow:hidden;box-shadow:24px 24px 0 #e0e2d8}.hero-visual:after{content:"";position:absolute;pointer-events:none;inset:7px;border:1px solid #344945}
.monitor-head{display:flex;justify-content:space-between;position:relative;z-index:1;padding:31px 36px 10px;font:11px var(--font-mono);letter-spacing:.1em;color:#a6c0b5}.monitor-head span:last-child{color:#d6f4bc}
.network-art{width:100%;height:auto;max-height:430px;display:block;flex:1;margin:auto}.monitor-bottom{display:flex;align-items:center;justify-content:space-between;padding:15px 36px 31px;z-index:1}.monitor-bottom div{display:flex;flex-direction:column;gap:8px}.monitor-bottom small{font:10px var(--font-mono);color:#7f9b90}.monitor-bottom strong{font-size:13px;font-weight:600}.live-square{display:block;width:12px;height:12px;background:var(--acid);box-shadow:0 0 0 7px #2a4037}.visual-corner{position:absolute;transform:rotate(-90deg);right:-42px;top:49%;font:9px var(--font-mono);letter-spacing:.1em;color:#577369}
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px clamp(26px,5.7vw,94px);display:flex;align-items:center;justify-content:space-between;gap:18px;white-space:nowrap;font:10px var(--font-mono);letter-spacing:.07em;color:#4d5a53}.ticker-cross{font-size:20px;color:var(--orange)}
.section{padding:126px clamp(26px,5.7vw,94px)}.section-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-end}.overline{display:inline-flex;align-items:center;gap:10px;font:11px var(--font-mono);letter-spacing:.11em;color:#65776d}.section-heading h2{font-size:clamp(43px,5.2vw,75px);letter-spacing:-.07em;line-height:1.07;margin:25px 0 0}.section-heading h2 em{font-style:italic}.section-link{border-bottom:1px solid var(--ink);display:flex;align-items:center;gap:28px;padding:10px 0;font-size:13px;font-weight:700;white-space:nowrap}.section-link span{font-size:18px}.section-link:hover{color:#679249}.section-intro{margin:24px 0 42px;max-width:565px;color:#6a746c;font-size:15px;line-height:1.85}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{min-width:0;border:1px solid var(--line);background:#f8f8f0;transition:border .2s,transform .2s,box-shadow .2s}.project-card:hover{border-color:#94a78b;transform:translateY(-3px);box-shadow:0 10px 0 #e3e8da}.project-card-featured{grid-column:1/-1}.project-card-link{display:block;height:100%}.project-card-top{display:flex;justify-content:space-between;align-items:center;padding:23px 26px 19px;font:10px var(--font-mono);letter-spacing:.08em;color:#576a60}.project-arrow{font-size:19px;color:var(--ink);transition:transform .2s}.project-card:hover .project-arrow{transform:translate(3px,-3px)}
.project-art{height:230px;margin:0 26px;background:#23332e;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-card-featured .project-art{height:270px}.project-art-kekcall{background:#1d2927}.project-art-gamehub{background:#2c4039}.project-art-nessus{background:#dce7d5}
.art-kekcall{width:min(400px,85%);height:185px;background:#2d3d38;border:1px solid #647e70;box-shadow:13px 13px 0 #1a2522;display:flex;flex-direction:column}.art-k-head{display:flex;justify-content:space-between;padding:17px;font:10px var(--font-mono);color:#ccdbc8;border-bottom:1px solid #455e53}.art-k-head span:last-child{color:var(--acid)}.art-wave{height:85px;display:flex;gap:5px;justify-content:center;align-items:center}.art-wave i{display:block;background:var(--acid);width:4px;border-radius:5px;height:16px}.art-wave i:nth-child(2),.art-wave i:nth-child(11){height:27px}.art-wave i:nth-child(3),.art-wave i:nth-child(10){height:40px}.art-wave i:nth-child(4),.art-wave i:nth-child(9){height:21px}.art-wave i:nth-child(5),.art-wave i:nth-child(8){height:54px}.art-wave i:nth-child(6),.art-wave i:nth-child(7){height:34px}.art-controls{display:flex;gap:11px;justify-content:center}.art-controls span{border:1px solid #60766d;color:#60766d;border-radius:100%;width:21px;height:21px;display:grid;place-items:center;font-size:11px}.art-controls span:last-child{background:var(--orange);border-color:var(--orange);color:#fff}
.art-gamehub{width:100%;height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.art-gamehub:before{content:"";position:absolute;width:210px;height:210px;border:1px dashed #61776b;transform:rotate(45deg)}.art-gamehub:after{content:"";position:absolute;width:140px;height:140px;border:1px solid #91a69a;transform:rotate(45deg)}.gamehub-diamond{position:relative;z-index:1;font-size:70px;font-weight:850;letter-spacing:-.14em;color:var(--acid)}.gamehub-diamond span{color:#fff}.gamehub-track{z-index:1;display:flex;align-items:center;gap:13px;margin-top:11px;color:#d6e8d7;font:10px var(--font-mono);letter-spacing:.06em;background:#2c4039;padding:9px}.gamehub-track span:nth-child(even){color:var(--acid)}
.art-nessus{flex-direction:column;padding:24px}.nessus-caption{width:min(320px,100%);font:10px var(--font-mono);letter-spacing:.1em;color:#4b6057}.nessus-rows{width:min(320px,100%);display:flex;flex-direction:column;gap:11px;margin:19px auto}.nessus-rows span{height:10px}.nessus-rows span:nth-child(1){width:84%;background:#db6e51}.nessus-rows span:nth-child(2){width:65%;background:#edaf59}.nessus-rows span:nth-child(3){width:48%;background:#a7b9a3}.nessus-rows span:nth-child(4){width:31%;background:#91a19e}.nessus-route{font:10px var(--font-mono);letter-spacing:.08em;color:#40554b;border-top:1px solid #b5c2b0;padding-top:12px}.nessus-route b{color:#e16c4a;font-size:14px}
.project-card-body{padding:25px 26px 27px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title-row h3{margin:0;font-size:clamp(26px,3vw,37px);letter-spacing:-.06em;line-height:1.1}.privacy-tag{background:#e7eadf;color:#607263;padding:8px 10px;font:10px var(--font-mono);white-space:nowrap}.project-card-body p{max-width:620px;color:#5f6a62;line-height:1.7;font-size:14px;margin:14px 0 25px}.tagline-list{display:flex;gap:7px;flex-wrap:wrap}.tagline-list span{border:1px solid #d4d9cf;padding:8px 10px;font:10px var(--font-mono);color:#536457;line-height:1.2}.privacy-note{margin:23px 0 0;display:flex;gap:12px;font-size:12px;color:#7b867c;line-height:1.7}.privacy-note span{color:var(--orange);font-size:18px}
.thought-section{display:grid;grid-template-columns:170px 1fr;gap:35px;position:relative;background:var(--night);color:#f3f4eb;padding:98px clamp(26px,5.7vw,94px) 111px;overflow:hidden}.thought-index{font:11px var(--font-mono);color:var(--acid);letter-spacing:.08em;padding-top:17px}.thought-main{position:relative;z-index:2}.thought-main h2{font-size:clamp(41px,4.6vw,72px);letter-spacing:-.07em;line-height:1.17;margin:0}.thought-main h2 em{color:var(--acid);font-style:italic}.thought-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:55px}.thought-bottom p{max-width:595px;color:#a5b5ac;font-size:15px;line-height:1.9;margin:0}.light-link{font-size:12px;border-bottom:1px solid #9bad9c;padding:0 0 12px;display:inline-flex;align-items:center;gap:20px;white-space:nowrap}.light-link:hover{color:var(--acid)}.thought-mark{font-size:550px;color:#20342c;position:absolute;right:-17px;top:-170px;line-height:1;pointer-events:none}
.recent-section{padding-bottom:145px}.notes-list{border-top:1px solid var(--line);margin-top:45px}.note-row{border-bottom:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:55px 1fr 100px 25px;gap:20px;align-items:center;transition:padding .2s,color .2s}.note-row:hover{padding-left:10px;color:#678e44}.note-count{font:11px var(--font-mono);color:var(--orange)}.note-main{display:flex;flex-direction:column;gap:11px}.note-main strong{font-size:22px;letter-spacing:-.04em;font-weight:750}.note-main small{font-size:13px;color:#778178;line-height:1.55}.note-date{font:11px var(--font-mono);color:#7b887d;white-space:nowrap}.note-arrow{font-size:21px}
.footer{background:#dfe4d7;padding:83px clamp(26px,5.7vw,94px) 26px}.footer-top{display:grid;grid-template-columns:1fr .55fr;gap:40px;align-items:end}.accent-dot{width:8px;height:8px;background:var(--orange);display:inline-block}.footer h2{font-size:clamp(51px,6.2vw,90px);letter-spacing:-.085em;line-height:1.05;margin:25px 0 55px}.footer h2 em{font-style:italic}.footer-contact{padding-bottom:62px}.footer-contact p{line-height:1.85;font-size:15px;color:#607063;max-width:350px;margin:0 0 18px}.text-arrow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9faa9b;padding:15px 0;font-size:13px;font-weight:700;max-width:360px}.text-arrow:hover{color:#577642}.text-arrow span{font-size:20px}.footer-bottom{border-top:1px solid #b8c2b3;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:26px;color:#6d7b6d;font:10px var(--font-mono)}.footer-bottom a:hover{color:var(--ink)}
/* Inner pages */
.page-banner{padding:95px clamp(26px,5.7vw,94px) 66px;border-bottom:1px solid var(--line)}.page-banner h1{font-size:clamp(61px,8vw,120px);line-height:1.03;letter-spacing:-.085em;margin:30px 0 54px}.page-banner h1 em{font-style:italic}.banner-sub{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.banner-sub p{max-width:575px;color:#5e6a62;font-size:17px;line-height:1.8;margin:0}.banner-sub span{font:10px var(--font-mono);color:#738177;letter-spacing:.07em;white-space:nowrap}.archive-section{padding:18px clamp(26px,5.7vw,94px) 60px}.archive-item{display:grid;grid-template-columns:100px 1fr 60px;gap:20px;padding:47px 0;border-bottom:1px solid var(--line);align-items:start}.archive-item:hover .archive-main h2{color:#658c42}.archive-num{font:12px var(--font-mono);color:var(--orange);margin-top:12px}.archive-kicker{font:11px var(--font-mono);color:#718279;letter-spacing:.06em}.archive-kicker span{color:var(--orange);margin:0 6px}.archive-main h2{font-size:clamp(37px,5vw,66px);line-height:1.1;letter-spacing:-.067em;margin:13px 0;transition:color .2s}.archive-main p{max-width:650px;color:#66736b;line-height:1.8;margin:0 0 23px;font-size:15px}.archive-link{text-align:right;font-size:28px}.archive-outro{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:0 clamp(26px,5.7vw,94px) 100px;font-size:13px;color:#6a786f;line-height:1.7}.archive-outro a{font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}
.detail-hero{padding:66px clamp(26px,5.7vw,94px) 78px;background:var(--night);color:#f4f4e8}.back-link{display:inline-flex;font:11px var(--font-mono);letter-spacing:.1em;color:#869d91}.back-link:hover{color:var(--orange)}.detail-topline{margin-top:76px;display:flex;justify-content:space-between;gap:20px;color:#9dad9f;font:11px var(--font-mono);letter-spacing:.06em}.detail-topline span:first-child{color:var(--acid)}.detail-hero h1{font-size:clamp(79px,12vw,180px);line-height:1;letter-spacing:-.09em;margin:25px 0}.detail-hero h1 span{color:var(--acid)}.detail-description{font-size:clamp(19px,2.1vw,28px);line-height:1.5;max-width:830px;color:#d4ddd0;margin:0 0 32px}.detail-hero .tagline-list span{border-color:#53685a;color:#bfd0bc}.project-detail-grid{display:grid;grid-template-columns:230px 1fr;gap:50px;padding:100px clamp(26px,5.7vw,94px)}.project-detail-rail{display:flex;flex-direction:column;gap:40px}.rail-vertical{writing-mode:vertical-rl;letter-spacing:.3em;color:#a5b0a3;font:11px var(--font-mono)}.detail-content{max-width:890px}.detail-entry{padding:0 0 51px;margin-bottom:52px;border-bottom:1px solid var(--line)}.detail-number{font:11px var(--font-mono);letter-spacing:.09em;color:#8d987f}.detail-entry h2{margin:19px 0 18px;font-size:clamp(31px,3.3vw,49px);letter-spacing:-.065em}.detail-entry p{font-size:17px;color:#5f6d61;line-height:1.95;max-width:730px;margin:0}.capability-list{list-style:none;padding:0;margin:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}.capability-list li{display:flex;align-items:baseline;gap:12px;font-size:15px;line-height:1.5}.capability-list li span{color:var(--orange)}.disclosure{display:flex;gap:22px;border:1px solid #c7d2bd;background:#e7eadf;padding:26px;margin-top:10px}.lock-symbol{font-size:25px;color:#6d8467}.disclosure strong{font-size:13px}.disclosure p{margin:8px 0 0;color:#617060;font-size:13px;line-height:1.7}.detail-external{display:flex;gap:15px;margin-top:24px}.detail-end{background:#dfe4d7;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:50px clamp(26px,5.7vw,94px)}.detail-end>span{font:11px var(--font-mono);color:#708272}.detail-end a{font-size:25px;font-weight:750;letter-spacing:-.04em}.detail-end a span{color:#789c56}
.journal-archive{padding:28px clamp(26px,5.7vw,94px) 100px}.journal-entry{display:grid;grid-template-columns:220px 1fr;gap:32px;border-bottom:1px solid var(--line);padding:48px 0}.journal-meta{font:11px var(--font-mono);display:flex;flex-direction:column;gap:14px;color:#7a877a}.journal-meta time{color:var(--orange)}.journal-info h2{margin:0 0 15px;font-size:clamp(28px,3.5vw,48px);letter-spacing:-.06em;line-height:1.19}.journal-info h2 span{font-size:.6em;color:#849a76;vertical-align:top}.journal-info h2 a:hover{color:#5e8b3f}.journal-info p{font-size:15px;line-height:1.8;color:#657268;max-width:660px;margin:0 0 21px}.journal-tags{display:flex;flex-wrap:wrap;gap:10px}.journal-tags a{font:11px var(--font-mono);padding:8px 10px;background:#e6eadf;color:#596e54}.journal-tags a:hover{background:var(--acid);color:var(--ink)}.filter-crumb{padding:25px clamp(26px,5.7vw,94px) 0;display:flex;gap:15px;align-items:center;font:12px var(--font-mono);color:#667566}.filter-crumb strong{color:var(--ink)}.filter-crumb a{margin-left:auto;text-decoration:underline;text-underline-offset:4px}.rss-note{background:var(--paper-2);padding:25px clamp(26px,5.7vw,94px);font-size:13px;color:#738073}.rss-note a{text-decoration:underline;text-underline-offset:4px;font-weight:700}
.article-head{padding:62px clamp(26px,5.7vw,94px) 75px;border-bottom:1px solid var(--line);max-width:1400px}.article-meta{display:flex;gap:16px;align-items:center;font:11px var(--font-mono);letter-spacing:.06em;color:#7a897c;margin-top:77px}.article-meta time{color:#cd6c50}.article-head h1{font-size:clamp(57px,8vw,113px);max-width:1050px;line-height:1.05;letter-spacing:-.084em;margin:27px 0}.article-head h1 span{color:var(--orange)}.article-head>p{font-size:19px;line-height:1.75;color:#697669;max-width:780px;margin:0 0 25px}.article-layout{display:grid;grid-template-columns:245px minmax(0,720px);gap:70px;padding:85px clamp(26px,5.7vw,94px) 105px}.article-aside{font:10px var(--font-mono);letter-spacing:.1em;color:#7e917e;display:flex;flex-direction:column;gap:17px}.article-aside span{color:#b4bcb0}.prose{font-size:17px;line-height:1.95;color:#3e4b41;min-width:0}.prose>*:first-child{margin-top:0}.prose h2{font-size:34px;letter-spacing:-.055em;line-height:1.25;margin:45px 0 17px;color:var(--ink)}.prose h3{font-size:24px;margin:34px 0 12px;color:var(--ink)}.prose p{margin:0 0 25px}.prose ul,.prose ol{margin:13px 0 30px;padding-left:24px}.prose li{margin:9px 0;padding-left:5px}.prose strong{color:var(--ink)}.prose a{text-decoration:underline;color:#51763d;text-underline-offset:3px}.prose blockquote{border-left:3px solid var(--orange);background:#e8eadf;margin:36px 0;padding:22px 26px;color:#5e6d5f}.prose blockquote p:last-child{margin-bottom:0}.prose code{font:14px var(--font-mono);background:#e0e6d7;padding:3px 6px}.prose pre{background:var(--night);padding:23px;overflow:auto;color:#edf5e6}.prose pre code{background:none;color:inherit;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:14px;overflow:auto;display:block}.prose td,.prose th{border:1px solid var(--line);padding:10px;text-align:left}.article-bottom{margin:0 clamp(26px,5.7vw,94px) 100px;padding-top:25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.article-bottom span{font:11px var(--font-mono);color:#89988a}.article-bottom a{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.about-banner h1{font-size:clamp(65px,7.7vw,117px)}.about-content{padding:105px clamp(26px,5.7vw,94px);display:grid;grid-template-columns:230px 1fr;gap:55px}.about-rail{display:flex;flex-direction:column;gap:75px}.about-monogram{font-size:90px;font-weight:800;letter-spacing:-.16em;line-height:1}.about-monogram span{color:var(--orange);font-weight:350}.about-copy h2{font-size:clamp(41px,4.7vw,66px);letter-spacing:-.072em;line-height:1.15;margin:0 0 37px}.about-copy h2 em{font-style:italic}.about-copy>p{max-width:760px;font-size:18px;color:#5f6d61;line-height:1.9}.about-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:70px}.about-columns>div{padding-top:20px;border-top:1px solid var(--line)}.about-columns h3{font-size:23px;letter-spacing:-.06em;margin:14px 0}.about-columns p{font-size:14px;line-height:1.8;color:#69796b;margin:0}.about-bottom{padding:90px clamp(26px,5.7vw,94px);background:var(--night);color:white;display:grid;grid-template-columns:230px 1fr;gap:50px}.about-bottom>span{font:11px var(--font-mono);letter-spacing:.06em;color:var(--acid)}.about-bottom h2{font-size:clamp(45px,6vw,86px);line-height:1.1;letter-spacing:-.075em;margin:0 0 35px}.about-bottom h2 em{font-style:italic;color:var(--acid)}.about-bottom .button-primary{background:var(--acid);color:var(--ink)}.about-bottom .button-primary span{color:var(--ink)}.not-found{padding:115px clamp(26px,5.7vw,94px) 140px;min-height:650px}.not-found h1{font-size:clamp(65px,10vw,135px);letter-spacing:-.085em;line-height:1.07;margin:30px 0}.not-found p{color:#64736a;margin-bottom:35px;font-size:17px}
@media (max-width:1150px){.nav-desktop{gap:22px}.hero{gap:30px;grid-template-columns:1fr 43%;min-height:650px}.hero h1{font-size:clamp(54px,6.5vw,76px)}.hero-visual{min-height:470px}.thought-section{grid-template-columns:130px 1fr}.hero-footnote{margin-top:45px}.project-detail-grid,.about-content,.about-bottom{grid-template-columns:170px 1fr}.article-layout{grid-template-columns:160px minmax(0,720px);gap:38px}}
@media (max-width:850px){.masthead{height:84px}.nav-desktop,.head-github{display:none}.mobile-menu{display:block;position:relative;z-index:10}.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid var(--ink);padding:11px 14px;font:12px var(--font-mono)}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{margin-left:12px}.mobile-menu nav{position:absolute;right:0;top:48px;width:210px;background:var(--paper);border:1px solid var(--ink);box-shadow:8px 8px 0 var(--night);display:flex;flex-direction:column;padding:12px}.mobile-menu nav a{padding:13px;font-weight:650;font-size:14px;border-bottom:1px solid var(--line)}.mobile-menu nav a:last-child{border-bottom:0}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:70px}.hero h1{font-size:clamp(65px,10vw,102px)}.hero-visual{min-height:450px;box-shadow:12px 12px 0 #e0e2d8}.hero-footnote{margin-top:45px}.ticker{overflow:auto;justify-content:flex-start;gap:30px;scrollbar-width:none}.section{padding-top:90px;padding-bottom:95px}.thought-section{grid-template-columns:1fr;gap:24px;padding-top:70px;padding-bottom:80px}.thought-bottom{margin-top:35px}.footer-top{grid-template-columns:1fr 1fr}.project-detail-grid,.about-content,.about-bottom{grid-template-columns:1fr;gap:25px}.project-detail-rail .rail-vertical{display:none}.article-layout{grid-template-columns:1fr;gap:20px;padding-top:45px}.article-aside{flex-direction:row}.about-rail{gap:25px;flex-direction:row;align-items:center;justify-content:space-between}.about-monogram{font-size:50px}.about-columns{margin-top:45px}}
@media (max-width:610px){.masthead{padding:0 20px}.brand-copy strong{font-size:11px}.brand-copy small{font-size:9px}.brand-sign{width:42px;height:42px;font-size:22px}.hero{padding:52px 22px 62px}.hero-eyebrow{font-size:9px;white-space:normal;line-height:1.6}.hero-rule{width:16px}.hero h1{font-size:clamp(53px,11.9vw,75px);margin:27px 0}.hero-lead{font-size:15px;line-height:1.8}.hero-actions{gap:17px;margin-top:29px}.button-primary{padding:17px 16px;gap:14px}.button-underlined{gap:13px}.hero-visual{min-height:360px;margin-right:12px;box-shadow:12px 12px 0 #e0e2d8}.network-art{max-height:320px}.monitor-head{padding:21px 20px 2px;font-size:9px}.monitor-bottom{padding:7px 20px 20px}.monitor-bottom strong{font-size:11px}.visual-corner{display:none}.ticker{padding-left:22px;padding-right:22px}.section{padding:74px 22px 89px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.section-heading h2{font-size:clamp(43px,10vw,58px);margin-top:15px}.section-intro{margin-top:18px}.project-grid{grid-template-columns:1fr}.project-card-featured{grid-column:auto}.project-card-featured .project-art{height:230px}.project-card-top{padding:20px 20px 15px}.project-art{margin:0 20px;height:200px}.project-card-body{padding:22px 20px 25px}.card-title-row{align-items:flex-start;flex-direction:column;gap:12px}.card-title-row h3{font-size:32px}.project-card-body p{font-size:13px}.thought-section{padding:63px 22px 74px}.thought-main h2{font-size:clamp(36px,8vw,50px)}.thought-bottom{flex-direction:column;align-items:flex-start}.thought-bottom p{font-size:14px}.thought-mark{right:-60px;top:50px;font-size:350px}.note-row{grid-template-columns:28px 1fr 22px;gap:10px;padding:25px 0}.note-main strong{font-size:18px}.note-main small{font-size:12px}.note-date{display:none}.footer{padding:65px 22px 20px}.footer-top{grid-template-columns:1fr;gap:0}.footer h2{font-size:65px;margin-bottom:25px}.footer-contact{padding-bottom:50px}.footer-bottom{flex-wrap:wrap;line-height:1.6}.footer-bottom span:nth-child(2){order:3;flex-basis:100%}.page-banner{padding:70px 22px 52px}.page-banner h1{font-size:clamp(57px,12vw,84px);margin:25px 0 37px}.banner-sub{align-items:flex-start;flex-direction:column;gap:24px}.banner-sub p{font-size:15px}.archive-section{padding:0 22px 45px}.archive-item{grid-template-columns:28px 1fr 24px;gap:10px;padding:33px 0}.archive-num{font-size:10px}.archive-main h2{font-size:39px}.archive-main p{font-size:13px}.archive-link{font-size:22px}.archive-outro{padding:0 22px 70px;flex-direction:column;align-items:flex-start}.detail-hero{padding:44px 22px 65px}.detail-topline{flex-direction:column;gap:9px;margin-top:65px}.detail-hero h1{font-size:clamp(70px,16vw,110px);overflow-wrap:anywhere}.detail-description{font-size:18px}.project-detail-grid{padding:65px 22px}.detail-entry{margin-bottom:38px;padding-bottom:40px}.detail-entry h2{font-size:34px}.detail-entry p{font-size:15px}.capability-list{grid-template-columns:1fr;gap:12px}.disclosure{padding:19px}.detail-end{padding:36px 22px}.detail-end a{font-size:20px}.journal-archive{padding:0 22px 70px}.journal-entry{grid-template-columns:1fr;gap:15px;padding:35px 0}.journal-meta{flex-direction:row;gap:17px}.journal-info h2{font-size:32px}.journal-info p{font-size:14px}.filter-crumb{padding:22px;flex-wrap:wrap;line-height:1.7}.filter-crumb a{margin-left:0}.rss-note{padding:22px;line-height:1.7}.article-head{padding:44px 22px 57px}.article-meta{margin-top:65px;font-size:10px}.article-head h1{font-size:clamp(51px,11.4vw,74px)}.article-head>p{font-size:16px}.article-layout{padding:45px 22px 75px}.prose{font-size:16px;line-height:1.9}.prose h2{font-size:29px}.article-bottom{margin:0 22px 75px}.article-bottom span{display:none}.about-content{padding:70px 22px}.about-copy h2{font-size:43px}.about-copy>p{font-size:16px}.about-columns{grid-template-columns:1fr;gap:23px}.about-bottom{padding:70px 22px}.not-found{padding:90px 22px 110px;min-height:560px}.not-found h1{font-size:74px}}
/* Additions: generic project art, tag bar, pager, footer nav */
button:focus-visible,.button-primary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.project-art-terminal{background:#1b2725}.art-terminal{width:min(420px,86%);background:#101a18;border:1px solid #4d655c;box-shadow:13px 13px 0 #0f1816;font:12px var(--font-mono);color:#cfe0d2}.term-head{display:flex;align-items:center;gap:7px;padding:12px 14px;border-bottom:1px solid #2f433d}.term-head i{width:9px;height:9px;border-radius:100%;background:#4a5f57}.term-head i:first-child{background:var(--orange)}.term-head span{margin-left:auto;color:#7f9b90;font-size:10px;letter-spacing:.06em}.term-body{display:flex;flex-direction:column;gap:9px;padding:20px 18px 22px}.term-body b{color:var(--acid);font-weight:400;margin-right:6px}.term-body span:nth-child(2),.term-body span:nth-child(3){color:#8fa79c;padding-left:18px}.term-cursor i{display:inline-block;width:8px;height:14px;background:var(--acid);vertical-align:-2px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.tag-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:26px clamp(26px,5.7vw,94px) 0}.tag-bar-label{font:10px var(--font-mono);letter-spacing:.1em;color:#7a877a;margin-right:8px}.tag-bar a{font:11px var(--font-mono);padding:9px 11px;border:1px solid var(--line);color:#4f6150;transition:background .2s,border-color .2s}.tag-bar a small{color:var(--orange);margin-left:4px}.tag-bar a:hover{border-color:#94a78b}.tag-bar a[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--acid)}.tag-bar a[aria-current="page"] small{color:#fff}.empty-note{padding:40px 0;color:#6a746c}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 clamp(26px,5.7vw,94px) 45px}.pager-item{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);background:#f8f8f0;padding:24px 26px;transition:border-color .2s,transform .2s}.pager-item:hover{border-color:#94a78b;transform:translateY(-2px)}.pager-item small{font:10px var(--font-mono);letter-spacing:.09em;color:var(--orange)}.pager-item strong{font-size:20px;letter-spacing:-.04em;line-height:1.3}.pager-next{text-align:right;grid-column:2}
.detail-next{display:flex;flex-direction:column;gap:10px}.detail-end .detail-next small{font:11px var(--font-mono);letter-spacing:.06em;color:#708272;font-weight:400}
.about-links{margin-top:60px;display:flex;flex-direction:column;max-width:420px}.about-links .overline{margin-bottom:8px}
.footer-nav{display:flex;flex-wrap:wrap;gap:10px 30px;padding:0 0 26px;font-size:13px;font-weight:650}.footer-nav a:hover{color:#577642}
@media (max-width:610px){.tag-bar{padding:22px 22px 0}.pager{grid-template-columns:1fr;margin:0 22px 40px}.pager-next{grid-column:auto;text-align:left}.pager-item strong{font-size:17px}.footer-nav{gap:10px 20px}.about-links{margin-top:45px}}
@media print{.masthead,.footer,.skip-link,.ticker,.hero-visual,.pager,.tag-bar,.mobile-menu{display:none!important}body{background:#fff}.detail-hero,.thought-section,.about-bottom{background:#fff;color:#000}.prose{color:#000}.prose a:after{content:" (" attr(href) ")";font-size:12px}}
/* ===== v2 — visual refresh (CSS only; JS-free, CSP-safe) ===== */
.site-shell{overflow:visible;overflow-x:clip}
.masthead{position:sticky;top:0;z-index:60;height:88px;background:rgba(241,240,232,.84);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px)}
.nav-desktop{gap:4px}.nav-desktop a{padding:10px 15px;transition:background .2s,color .2s}.nav-desktop a:hover{background:#e3e7da;color:var(--ink)}
.nav-desktop a[aria-current="page"]{background:var(--ink);color:var(--acid)}.nav-desktop a[aria-current="page"]:after{display:none}
.mobile-menu nav a[aria-current="page"]{color:#5e8b3f}

/* motion primitives */
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes reveal{from{opacity:0;translate:0 42px}to{opacity:1;translate:0 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes flow12{to{stroke-dashoffset:-24}}
@keyframes flow13{to{stroke-dashoffset:-26}}
@keyframes breathe{50%{transform:scale(1.05)}}
@keyframes ripple{from{transform:scale(1);opacity:.85}to{transform:scale(2.4);opacity:0}}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.45)}}
@keyframes live{50%{opacity:.25}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes wave{50%{transform:scaleY(.4)}}
@keyframes bar{from{transform:scaleX(.78)}}
@keyframes float{50%{transform:translateY(-7px)}}
@keyframes progress{to{transform:scaleX(1)}}
@supports (animation-timeline: view()){.reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% cover 22%}}

/* hero */
.hero-copy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-copy>*:nth-child(2){animation-delay:.07s}.hero-copy>*:nth-child(3){animation-delay:.14s}.hero-copy>*:nth-child(4){animation-delay:.21s}.hero-copy>*:nth-child(5){animation-delay:.28s}
.hero-visual{animation:rise 1.1s .15s cubic-bezier(.2,.7,.2,1) both}
.hero-stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;margin:52px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.hero-stats div{padding-right:32px;margin-right:32px;border-right:1px solid var(--line)}.hero-stats div:last-child{border-right:0;margin-right:0;padding-right:0}
.hero-stats dt{font:10px var(--font-mono);letter-spacing:.1em;color:#7d897f}
.hero-stats dd{margin:7px 0 0;font-size:36px;font-weight:800;letter-spacing:-.06em;line-height:1}
.hero-stats .hero-stats-text{font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:2.4}
.network-art .ring-outer,.network-art .ring-inner,.network-art .core,.network-art .core-halo{transform-box:view-box;transform-origin:250px 229px}
.network-art .ring-outer{animation:spin 90s linear infinite}
.network-art .ring-inner{animation:spin 45s linear infinite reverse}
.network-art .spokes{animation:flow12 1.6s linear infinite}
.network-art .orbit-path{animation:flow13 4s linear infinite}
.network-art .core{animation:breathe 4s ease-in-out infinite}
.network-art .core-halo{animation:ripple 3.2s ease-out infinite}
.network-art .node{transform-box:fill-box;transform-origin:center;animation:blink 3.2s ease-in-out infinite}
.network-art .n2{animation-delay:.8s}.network-art .n3{animation-delay:1.6s}.network-art .n4{animation-delay:2.4s}
.monitor-live{display:inline-flex;align-items:center;gap:8px}.monitor-live i{width:7px;height:7px;border-radius:50%;background:var(--acid);animation:live 1.6s ease-in-out infinite}
.live-square{animation:live 2.4s ease-in-out infinite}

/* ticker → marquee */
.ticker{display:block;overflow:hidden;padding:21px 0;white-space:nowrap;background:var(--ink);border-color:var(--ink);color:#cfdccf}
.ticker-track{display:flex;width:max-content;animation:marquee 48s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-group{display:flex;align-items:center;gap:34px;padding-right:34px}
.ticker-group span{font:11px var(--font-mono);letter-spacing:.09em}
.ticker .ticker-cross{font-size:17px;color:var(--acid)}

/* skills */
.skills-section{padding-bottom:30px}
.skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:48px}
.skill-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#f8f8f0;padding:26px 24px 24px;min-height:310px;transition:transform .25s,border-color .25s,box-shadow .25s}
.skill-card:hover{transform:translateY(-4px);border-color:#94a78b;box-shadow:0 12px 0 #e3e8da}
.skill-top{display:flex;justify-content:space-between;align-items:center}
.skill-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--ink);color:var(--acid);font-size:22px}
.skill-n{font:11px var(--font-mono);color:var(--orange)}
.skill-card h3{font-size:26px;letter-spacing:-.05em;line-height:1.15;margin:38px 0 12px}
.skill-card p{font-size:14px;line-height:1.75;color:#5f6a62;margin:0 0 22px}
.skill-tags{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}.skill-tags span{font:10px var(--font-mono);border:1px solid #d4d9cf;padding:6px 8px;color:#536457}
.skill-card-dark{background:var(--night);border-color:var(--night);color:#eef3ea}.skill-card-dark .skill-icon{background:var(--acid);color:var(--ink)}
.skill-card-dark p{color:#a5b5ac}.skill-card-dark .skill-tags span{border-color:#3d524c;color:#c3d3c4}.skill-card-dark:hover{border-color:var(--night);box-shadow:0 12px 0 #cdd8c6}

/* projects */
.project-card-top{gap:14px}
.project-status{display:inline-flex;align-items:center;gap:7px;margin-left:auto;color:#5d7461}
.project-status i{width:7px;height:7px;border-radius:50%;background:#7fb04a;box-shadow:0 0 0 3px #e2efd2;animation:live 2.4s ease-in-out infinite}
.card-cta{display:inline-flex;align-self:flex-start;gap:14px;margin-top:28px;font-size:13px;font-weight:750;border-bottom:1px solid var(--ink);padding-bottom:8px}
.card-cta span{transition:transform .2s}.project-card:hover .card-cta span{transform:translateX(4px)}
.project-art>div{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-art>div{transform:scale(1.045)}
.art-wave i{animation:wave 1.3s ease-in-out infinite}.art-wave i:nth-child(2n){animation-delay:.18s}.art-wave i:nth-child(3n){animation-delay:.36s}.art-wave i:nth-child(5n){animation-delay:.54s}
.nessus-rows span{transform-origin:left;animation:bar 2.4s ease-in-out infinite alternate}.nessus-rows span:nth-child(2){animation-delay:.3s}.nessus-rows span:nth-child(3){animation-delay:.6s}.nessus-rows span:nth-child(4){animation-delay:.9s}
.gamehub-diamond{animation:float 4s ease-in-out infinite}.art-gamehub:before{animation:spin 40s linear infinite}
@media (min-width:851px){
  .project-card-featured .project-card-link{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto 1fr}
  .project-card-featured .project-card-top{grid-column:1/-1}
  .project-card-featured .project-art{height:auto;min-height:330px;margin:0 0 26px 26px}
  .project-card-featured .project-card-body{display:flex;flex-direction:column;justify-content:center;padding:18px 42px 42px}
  .project-card-featured .card-title-row h3{font-size:clamp(38px,4vw,56px)}
  .project-card-featured .project-card-body p{font-size:15px}
}

/* method */
.method-steps{list-style:none;padding:0;margin:50px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #2f453f;max-width:900px}
.method-steps li{display:flex;flex-direction:column;gap:7px;padding:22px 24px 0 0;margin-right:24px;border-right:1px solid #2f453f}.method-steps li:last-child{border-right:0;margin-right:0}
.method-steps span{font:11px var(--font-mono);color:var(--acid)}.method-steps strong{font-size:26px;letter-spacing:-.05em}.method-steps small{font-size:13px;color:#93a69b;line-height:1.5}

/* post cards (home) */
.post-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:45px}
.post-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#f8f8f0;padding:26px;min-height:310px;transition:transform .25s,border-color .25s,box-shadow .25s}
.post-card:hover{transform:translateY(-4px);border-color:#94a78b;box-shadow:0 12px 0 #e3e8da}
.post-card:first-child{background:var(--acid);border-color:var(--acid)}.post-card:first-child:hover{border-color:var(--acid);box-shadow:0 12px 0 #dce6c4}
.post-card-top{display:flex;justify-content:space-between;gap:12px;font:10px var(--font-mono);letter-spacing:.08em;color:#6f7d72}.post-card-top time{color:var(--orange)}
.post-card:first-child .post-card-top,.post-card:first-child .post-card-top time{color:#3f4f2c}
.post-card h3{font-size:26px;letter-spacing:-.05em;line-height:1.2;margin:42px 0 14px}
.post-card p{font-size:14px;line-height:1.7;color:#5f6a62;margin:0 0 24px}.post-card:first-child p{color:#3b4a35}
.post-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px}
.post-card-tags{display:flex;flex-wrap:wrap;gap:10px;font:11px var(--font-mono);color:#596e54}
.post-card-arrow{font-size:22px;transition:transform .2s}.post-card:hover .post-card-arrow{transform:translate(3px,-3px)}

/* project detail */
.detail-hero{padding-bottom:0}
.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:50px;align-items:center}
.detail-topline{margin-top:50px}
.detail-hero-copy h1{font-size:clamp(64px,8.6vw,146px)}
.detail-hero-copy .detail-description{margin-bottom:0}
.detail-hero-art{animation:rise 1s .1s cubic-bezier(.2,.7,.2,1) both}
.detail-hero-art .project-art{margin:0;height:340px;border:1px solid #2d413b;box-shadow:16px 16px 0 #0f1a18}
.detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:60px 0 0;border-top:1px solid #2c403a}
.detail-facts div{padding:24px 24px 30px 0;margin-right:24px;border-right:1px solid #2c403a}.detail-facts div:last-child{border-right:0;margin-right:0}
.detail-facts dt{font:10px var(--font-mono);letter-spacing:.1em;color:#7f9b90}
.detail-facts dd{margin:10px 0 0;font-size:15px;font-weight:650;color:#eef3ea;display:flex;align-items:center;gap:10px;line-height:1.5}
.status-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 4px #2a4037;animation:live 2s ease-in-out infinite}
.project-detail-rail{position:sticky;top:118px;align-self:start;gap:0}
.project-detail-rail .overline{margin-bottom:14px}
.project-detail-rail a{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:650;transition:color .2s,padding .2s}
.project-detail-rail a span{font:11px var(--font-mono);color:var(--orange);padding-top:2px}
.project-detail-rail a:hover{color:#607a40;padding-left:6px}
.detail-entry,.prose h2,.prose h3{scroll-margin-top:110px}

/* article */
.read-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--orange);transform-origin:0 50%;transform:scaleX(0);z-index:100;pointer-events:none}
@supports (animation-timeline: scroll()){.read-progress{animation:progress linear both;animation-timeline:scroll(root)}}
.article-aside{position:sticky;top:118px;align-self:start}
.toc{display:flex;flex-direction:column;margin-bottom:34px;font:13px/1.45 var(--font-sans);letter-spacing:0;color:#4f5d53}
.toc-title{font:10px var(--font-mono);letter-spacing:.1em;color:var(--orange);margin-bottom:10px}
.toc a{padding:7px 0 7px 13px;border-left:2px solid var(--line);transition:border-color .2s,color .2s}.toc a:hover{border-color:var(--orange);color:var(--ink)}
.toc .toc-l3{padding-left:26px;font-size:12px}
.aside-meta{display:flex;flex-direction:column;gap:17px}.aside-meta span{color:#b4bcb0}
.prose .heading-anchor{margin-left:12px;color:var(--orange);text-decoration:none;opacity:0;font-weight:400;transition:opacity .2s}
.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}
.prose pre{position:relative;padding:48px 24px 22px;border:1px solid #2a3d38;box-shadow:10px 10px 0 #e0e2d8;font-size:14px;line-height:1.7}
.prose pre:before{content:"";position:absolute;top:18px;left:18px;width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:16px 0 0 #4a5f57,32px 0 0 #4a5f57}
.prose pre:after{content:"KOD";position:absolute;top:14px;right:18px;font:10px var(--font-mono);letter-spacing:.1em;color:#6f8a80}
.prose blockquote{position:relative;padding-left:60px}.prose blockquote:before{content:"“";position:absolute;left:20px;top:10px;font:58px/1 var(--font-serif);color:var(--orange)}
.prose li::marker{color:var(--orange);font-weight:700}
.author-card{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;max-width:720px;margin:0 0 42px calc(clamp(26px,5.7vw,94px) + 315px);padding:24px 26px;border:1px solid var(--line);background:#f8f8f0}
.author-sign{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--ink);color:var(--acid);font-size:26px;font-weight:850;letter-spacing:-.13em;padding-right:4px}.author-sign span{color:#faf9ed;font-weight:400;margin:0 2px}
.author-card small{font:10px var(--font-mono);letter-spacing:.1em;color:var(--orange)}.author-card strong{display:block;font-size:21px;letter-spacing:-.04em;margin:4px 0 3px}
.author-card p{margin:0;font-size:13px;color:#66736b}.author-card .text-arrow{border:0;padding:0;gap:16px}

/* journal archive: latest post featured */
.journal-archive.has-featured .journal-entry:first-child{position:relative;background:var(--night);color:#eef3ea;padding:54px clamp(28px,4vw,56px);margin:34px 0 8px;border:0}
.journal-archive.has-featured .journal-entry:first-child:after{content:"SON YAZI";position:absolute;top:22px;right:24px;font:10px var(--font-mono);letter-spacing:.12em;background:var(--acid);color:var(--ink);padding:6px 9px}
.journal-archive.has-featured .journal-entry:first-child .journal-meta{color:#9fb5aa}
.journal-archive.has-featured .journal-entry:first-child .journal-info h2{font-size:clamp(34px,4.6vw,62px)}
.journal-archive.has-featured .journal-entry:first-child .journal-info h2 a:hover{color:var(--acid)}
.journal-archive.has-featured .journal-entry:first-child .journal-info p{color:#b4c4ba}
.journal-archive.has-featured .journal-entry:first-child .journal-tags a{background:#22362f;color:#cfe0c8}
.journal-archive.has-featured .journal-entry:first-child .journal-tags a:hover{background:var(--acid);color:var(--ink)}

@media (max-width:1150px){.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.post-card:first-child{grid-column:1/-1;min-height:0}.detail-hero-grid{grid-template-columns:1fr .85fr;gap:34px}.author-card{margin-left:calc(clamp(26px,5.7vw,94px) + 198px)}}
@media (max-width:850px){.masthead{height:76px}.hero-stats{margin-top:40px}.detail-hero-grid{grid-template-columns:1fr}.detail-hero-art .project-art{height:260px;box-shadow:10px 10px 0 #0f1a18}.detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-facts div{border-right:0;margin-right:0;border-bottom:1px solid #2c403a}.project-detail-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:8px}.project-detail-rail .overline{width:100%;margin:0 0 4px}.project-detail-rail a{border:1px solid var(--line);padding:9px 12px}.article-aside{position:static;flex-direction:column}.aside-meta{display:none}.toc{margin-bottom:10px}.author-card{margin:0 clamp(26px,5.7vw,94px) 40px}.method-steps{grid-template-columns:1fr}.method-steps li{border-right:0;margin-right:0;border-bottom:1px solid #2f453f;padding-bottom:18px}.post-cards{grid-template-columns:1fr}.post-card{min-height:0}.post-card h3{margin-top:28px}}
@media (max-width:610px){.hero-stats{grid-template-columns:repeat(2,auto);row-gap:18px}.hero-stats div:nth-child(2n){border-right:0;margin-right:0;padding-right:0}.hero-stats dd{font-size:30px}.skill-grid{grid-template-columns:1fr}.skill-card{min-height:0}.skill-card h3{margin-top:26px}.detail-facts{grid-template-columns:1fr}.detail-hero-copy h1{font-size:clamp(58px,15vw,96px)}.author-card{grid-template-columns:auto 1fr;margin:0 22px 40px}.author-card .text-arrow{grid-column:1/-1}.journal-archive.has-featured .journal-entry:first-child{padding:38px 22px 34px;margin-left:-22px;margin-right:-22px}.journal-archive.has-featured .journal-entry:first-child:after{top:14px;right:14px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
