/*
Theme Name: Federico Venditozzi — Obsidian
Author: Federico Venditozzi
Description: Tema editoriale personalizzato con opera generativa interattiva, portfolio e blog. Revisione 09 con Inter, Syntax e illustrazioni originali.
Version: 1.7.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fv-obsidian
*/
:root{--paper:#f5f4ef;--ink:#272822;--muted:#64655e;--line:#d4d4cb;--gutter:6vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.8 'Avenir Next','Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #575b46;outline-offset:7px}main:focus{outline:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:400;line-height:1.15}h1{font-size:clamp(60px,8vw,120px);letter-spacing:-.04em}h2{font-size:clamp(40px,4.8vw,72px);letter-spacing:-.035em}h3{font-size:27px;letter-spacing:-.02em}button,a,input{-webkit-tap-highlight-color:transparent}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:26px var(--gutter);background:#f5f4eff2;backdrop-filter:blur(12px);min-height:95px}.brand{display:flex;align-items:center;gap:13px;font-size:15px;line-height:1.25;font-weight:500;letter-spacing:0}.brand img{width:30px;height:38px;object-fit:contain}.brand br{display:none}.brand br:after{content:' '}.brand-dot{display:none}nav{display:flex;gap:27px;align-items:center}nav a{font-size:12px;line-height:1.5;min-height:44px;display:flex;align-items:center;position:relative}nav a:after{content:'';height:1px;position:absolute;bottom:7px;left:0;right:100%;background:var(--ink);transition:right .3s}nav a:hover:after,nav a[aria-current=page]:after{right:0}.menu-toggle{display:none}.container{width:min(1400px,88%);margin:auto}.eyebrow{font:10px/1.6 'Courier New',monospace;letter-spacing:.13em;text-transform:uppercase}.hero{position:relative;overflow:hidden;padding:155px var(--gutter) 40px;min-height:880px}.hero-top{display:flex;justify-content:space-between;gap:25px;color:var(--muted);position:relative;z-index:2}.hero-top span:last-child{font-family:inherit;font-size:12px;letter-spacing:0;text-transform:none}.hero-grid{position:relative;z-index:1;padding:75px 0 60px}.hero-grid>div:first-child{position:relative;z-index:2;pointer-events:none}.hero-grid>div:first-child a{pointer-events:auto}.hero h1{font-size:clamp(65px,8.3vw,126px);line-height:1.08;font-weight:400;letter-spacing:-.045em;margin:0 0 45px}.hero h1 .quiet{display:block;font-size:.35em;font-weight:400;line-height:1.5;letter-spacing:-.02em;margin:0 0 52px 1px;max-width:550px}.hero h1 .quiet br{display:none}.hero h1 em{font-family:'Baskerville','Iowan Old Style','Palatino Linotype',Georgia,serif;font-weight:400;font-size:1.13em;letter-spacing:-.035em}.hero .role{font-size:16px;letter-spacing:.015em;margin:0 0 26px;color:var(--muted)}.actions{display:flex;gap:45px;align-items:center;flex-wrap:wrap}.button,.text-link{display:inline-flex;align-items:center;gap:35px;font-size:13px;font-weight:400;min-height:44px;padding:6px 0;border:0;border-bottom:1px solid #8c8d80;background:transparent;border-radius:0;transition:gap .3s}.button:hover,.text-link:hover{gap:46px}.hero-art{position:absolute;right:-4vw;top:15px;width:48%;z-index:0;pointer-events:none;opacity:.42}.hero-art img{width:100%;height:560px;object-fit:contain}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;font:10px/1.6 monospace;letter-spacing:.05em;color:var(--muted);position:relative;z-index:2}.hero-bottom a{font-size:23px;color:var(--ink);padding:10px}.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:65px}.section-head h2{margin:20px 0 0}.section-head>p{max-width:430px;color:var(--muted);font-size:16px;line-height:1.85;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.service-number{font:10px/1.6 monospace;letter-spacing:.08em;margin-bottom:35px;color:var(--muted)}.service-number span:last-child{display:none}.service h3{font-size:29px;line-height:1.25;margin-bottom:26px;min-height:75px;max-width:260px}.service p{font-size:16px;line-height:1.9;color:var(--muted);margin:0}.work-section{padding-top:75px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px 5vw;align-items:start}.project-card{min-width:0}.project-card.featured{grid-column:1/-1;margin-bottom:10px}.project-card:nth-child(2n):not(.featured){margin-top:100px}.project-card.featured+.project-card{margin-top:0}.project-image{display:block;position:relative;overflow:hidden;background:#e8e7e0}.project-image img{width:100%;aspect-ratio:1.55;object-fit:cover;filter:saturate(.65);transition:filter .7s,transform 1s}.project-image:hover img{filter:saturate(1);transform:scale(1.025)}.project-card.featured .project-image img{aspect-ratio:2.1}.project-arrow{display:none}.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:23px 0 14px}.project-meta h2,.project-meta h3{font-size:25px;letter-spacing:-.02em;margin:0}.project-type{font:9px/1.6 monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}.project-description{font-size:15px;line-height:1.9;max-width:740px;color:var(--muted);margin:0}.pill-link{margin-top:55px}.about-strip{display:grid;grid-template-columns:.8fr 1.2fr;gap:12vw;align-items:center}.portrait-frame{display:block;max-width:430px}.portrait-frame img{width:100%;aspect-ratio:.8;object-fit:cover;filter:grayscale(1)}.about-strip h2{margin:25px 0 35px}.about-strip p{font-size:17px;color:var(--muted);line-height:1.9;margin-bottom:25px}.article-list{border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:80px 1fr 35px;gap:35px;align-items:center;padding:35px 0;border-bottom:1px solid var(--line)}.article-row img{width:80px;height:65px;object-fit:cover;filter:grayscale(1);transition:filter .4s}.article-row:hover img{filter:grayscale(0)}.article-row .eyebrow{font-size:9px;color:var(--muted)}.article-row h3{font-size:27px;margin:10px 0 0;line-height:1.3}.article-row .arrow{font-size:24px;font-weight:300;transition:transform .3s}.article-row:hover .arrow{transform:translate(4px,-4px)}.site-footer{padding:80px var(--gutter) 25px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:75px}.footer-top p{font-size:clamp(45px,6.8vw,100px);line-height:1.12;letter-spacing:-.04em;font-weight:400;margin:0}.footer-top p span{font-family:Baskerville,Georgia,serif;font-style:italic;font-size:1.07em}.round-link{font-size:65px;font-weight:300;padding:10px 20px;transition:transform .3s}.round-link:hover{transform:translate(8px,-8px)}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}.note-button{font-size:10px;padding:12px 0;border:0;background:none;color:var(--muted)}.page-heading{padding:180px 0 65px;margin-bottom:45px}.page-heading .eyebrow{color:var(--muted)}.page-heading h1{margin:30px 0 40px;font-weight:400;line-height:1.13;max-width:1200px}.page-heading .lead{font-size:21px;line-height:1.8;color:var(--muted);max-width:850px;margin:0 0 15px 15vw}.page-content{padding-bottom:120px}.about-page{display:grid;grid-template-columns:.85fr 1.15fr;gap:11vw;align-items:start}.about-page .portrait-frame{position:sticky;top:130px}.article-flow{font-size:18px;line-height:1.95;max-width:800px}.article-flow p{margin-bottom:30px}.article-flow>p:first-child{font-size:22px;line-height:1.8}.article-flow h2{font-size:38px;margin:70px 0 30px;letter-spacing:-.025em;line-height:1.25}.article-flow h3{font-size:27px;margin:45px 0 24px;line-height:1.3}.article-flow h4{font-size:22px;margin:35px 0 22px}.article-flow ul,.article-flow ol{padding-left:23px}.article-flow li{margin-bottom:14px}.article-flow strong{font-weight:600}.article-flow a{border-bottom:1px solid #8c8d80}.article-flow figure{margin:45px 0}.article-flow img{margin:30px auto;max-height:850px;object-fit:contain}.article-flow figcaption{font-size:12px;color:var(--muted)}.article-flow blockquote{margin:45px 0 45px 35px;padding-left:25px;border-left:1px solid #8c8d80;font-family:Baskerville,Georgia,serif;font-size:24px;line-height:1.6}.article-flow table{border-collapse:collapse;display:block;overflow-x:auto;font-size:15px;line-height:1.7}.article-flow td,.article-flow th{padding:18px;border-bottom:1px solid var(--line);min-width:150px;vertical-align:top;text-align:left}.article-flow h5,.article-flow h6{font-size:16px;font-weight:400;color:var(--muted)}.cv-layout{display:grid;grid-template-columns:220px 1fr;gap:8vw;align-items:start}.cv-nav{position:sticky;top:130px;display:grid;gap:15px;font-size:12px}.cv-nav a{min-height:44px;display:flex;align-items:center}.cv-section{padding:0 0 65px}.cv-section h2{font-size:38px;margin:0 0 55px}.cv-section h3{font-size:25px;margin:28px 0 15px}.cv-section .cv-org{font-size:16px;color:var(--muted);margin-bottom:18px}.cv-section p{font-size:16px;line-height:1.9}.cv-section ul{padding-left:20px;font-size:16px;line-height:1.9;margin-bottom:45px}.cv-section li{margin-bottom:12px}.cv-section figure{margin:0 0 30px}.cv-section figure:not(:first-of-type){margin-top:65px}.cv-section figure img{height:35px;width:auto;max-width:110px;object-fit:contain;object-position:left;filter:grayscale(1);opacity:.7}.filter-bar{display:flex;gap:35px;flex-wrap:wrap;margin:0 0 20px}.filter-bar button{background:none;border:0;border-bottom:1px solid transparent;padding:10px 0;min-height:44px;font-size:13px;color:var(--muted)}.filter-bar button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.search-status{font:10px/1.7 monospace;color:var(--muted);margin-bottom:40px}.search-wrap{max-width:550px;margin:0 0 50px}.search-label{display:block;font-size:12px;margin-bottom:12px;color:var(--muted)}.search{width:100%;background:none;border:0;border-bottom:1px solid #8c8d80;border-radius:0;min-height:50px;padding:10px 0;font-size:18px}.search-wrap .search-status{margin-top:15px}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 9vw}.resource{padding:15px 0;display:flex;flex-direction:column;align-items:start}.resource>span{font:10px monospace;color:var(--muted);margin-bottom:30px}.resource h2{font-size:33px;margin-bottom:25px}.resource p{font-size:17px;color:var(--muted);line-height:1.9}.resource a{margin-top:auto}.resource-unavailable{font-size:12px;color:var(--muted);max-width:360px;line-height:1.8}.resource-intro{max-width:800px;margin:0 0 85px 15vw;font-size:21px;line-height:1.9;color:var(--muted)}.source-line{margin:55px 0 0;font-size:11px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}.source-line a{border-bottom:1px solid #b1b3a8;padding:5px 0}.case-layout{max-width:1100px;margin:auto}.case-layout .article-flow{max-width:850px;margin:auto}.case-layout .article-flow img{width:100%;max-height:none}.case-cover{width:100%;margin-bottom:85px}.notice{margin:45px 0;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px;line-height:1.9}.notice p:last-child{margin:0}.blog-cover{width:100%;max-height:550px;object-fit:cover;filter:saturate(.55);margin-bottom:65px}.post-layout{max-width:850px;margin:auto}.post-layout .article-flow{max-width:100%}.breadcrumbs{display:flex;gap:15px;font-size:11px;color:var(--muted);margin-bottom:40px}.breadcrumbs a{border-bottom:1px solid var(--line)}.empty-result{padding:45px 0;font-size:19px}dialog{border:0;background:var(--paper);color:var(--ink);padding:45px;max-width:650px;width:calc(100% - 40px);max-height:85dvh;overflow:auto}dialog::backdrop{background:#27282299;backdrop-filter:blur(4px)}dialog h2{font-size:38px}dialog p{font-size:16px;line-height:1.9}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:1000px}.hero-grid{padding-top:100px}.hero h1{font-size:132px}.hero-art{width:50%;top:0}.hero-art img{height:670px}}
@media(max-width:1100px){nav{gap:20px}.site-header{padding:22px var(--gutter)}.hero{min-height:830px}.hero-grid{padding-top:70px}.hero h1{font-size:clamp(65px,8.3vw,95px)}.hero-art{width:49%;top:30px;right:-5vw}.hero-art img{height:500px}.services{gap:35px}.service h3{font-size:26px}.project-meta{display:block}.project-type{display:block;margin-top:8px}.section{padding:85px 0}.about-strip{gap:8vw}.cv-layout{grid-template-columns:180px 1fr;gap:50px}.page-heading .lead{margin-left:10vw}}
@media(max-width:850px){.site-header{min-height:85px;padding:18px 6vw}.brand{font-size:14px}.menu-toggle{display:flex;align-items:center;gap:20px;border:0;background:none;padding:10px 0;font-size:13px;min-height:44px}.menu-toggle span{font-size:23px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 6vw 35px;background:var(--paper);max-height:calc(100dvh - 90px);overflow:auto}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}nav a{font-size:17px;padding:10px 0;min-height:50px}nav a:after{bottom:3px}.hero{padding-top:130px}.hero-grid{padding-top:65px}.hero h1{font-size:clamp(60px,8.5vw,82px)}.hero-art{right:-10%;width:58%;top:55px;opacity:.3}.services{gap:25px}.service h3{font-size:24px}.service p{font-size:16px}.section-head{gap:30px}.section-head>p{max-width:330px}.about-strip{gap:6vw}.article-row h3{font-size:24px}.cv-layout{grid-template-columns:1fr}.cv-nav{position:static;display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:35px}.page-heading{padding-top:145px}.about-page{gap:6vw}.footer-bottom{flex-wrap:wrap}}
@media(max-width:650px){.hero{padding:130px 6vw 30px;min-height:0}.hero-top span:last-child{display:none}.hero-grid{padding:65px 0 220px}.hero h1{font-size:clamp(46px,10.4vw,72px);line-height:1.15;margin-bottom:35px;letter-spacing:-.035em}.hero h1 .quiet{font-size:20px;line-height:1.6;margin-bottom:45px;max-width:270px}.hero h1 .quiet br{display:block}.hero h1 em{font-size:1.1em;letter-spacing:-.035em}.hero .role{font-size:15px;max-width:300px}.hero-art{width:92%;right:-24%;top:170px;opacity:.25}.hero-art img{height:420px}.actions{gap:30px;position:relative}.hero-bottom{font-size:9px;gap:15px}.eyebrow{font-size:9px}.section{padding:70px 0}.section-head{display:block;margin-bottom:45px}.section-head h2{font-size:41px;margin:20px 0 30px}.section-head>p{font-size:17px;max-width:none}.services{grid-template-columns:1fr;gap:55px}.service-number{margin-bottom:22px}.service h3{font-size:29px;min-height:0;max-width:none;margin-bottom:25px}.service p{font-size:17px;line-height:1.9}.project-grid{grid-template-columns:1fr;gap:60px}.project-card.featured{grid-column:auto;margin-bottom:0}.project-card:nth-child(2n):not(.featured){margin-top:0}.project-image img,.project-card.featured .project-image img{aspect-ratio:1.4}.project-meta h2,.project-meta h3{font-size:25px}.project-description{font-size:16px}.project-meta{margin-top:24px}.project-type{font-size:9px}.about-strip{grid-template-columns:1fr;gap:50px}.portrait-frame{max-width:100%;width:80%}.portrait-frame img{aspect-ratio:.85}.about-strip h2{font-size:42px}.about-strip p{font-size:17px}.article-row{grid-template-columns:1fr 25px;gap:20px;padding:28px 0}.article-row img,.article-row>span:first-child:not(.arrow){display:none}.article-row h3{font-size:24px;margin-top:12px}.article-row .eyebrow{font-size:9px}.site-footer{padding:60px 6vw 20px}.footer-top{padding-bottom:45px}.footer-top p{font-size:45px}.round-link{font-size:40px;padding:5px}.footer-bottom{display:block}.footer-bottom>div{gap:25px;margin:15px 0}.page-heading{padding:145px 0 35px;margin-bottom:40px}.page-heading h1{font-size:clamp(43px,10.5vw,67px);letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere;margin:25px 0 35px}.page-heading .lead{margin:0;font-size:19px;line-height:1.9}.page-content{padding-bottom:80px}.about-page{grid-template-columns:1fr;gap:45px}.about-page .portrait-frame{position:static;width:80%}.article-flow{font-size:18px;line-height:1.95}.article-flow>p:first-child{font-size:21px}.article-flow h2{font-size:32px;margin:55px 0 26px}.article-flow h3{font-size:25px}.article-flow blockquote{margin:35px 0 35px 10px;padding-left:20px;font-size:23px}.article-flow table{max-width:88vw}.cv-nav{gap:8px 25px;font-size:12px}.cv-section h2{font-size:32px;margin-bottom:40px}.cv-section h3{font-size:25px}.resource-grid{grid-template-columns:1fr;gap:50px}.resource-intro{margin:0 0 50px;font-size:19px;line-height:1.9}.resource h2{font-size:31px}.resource>span{margin-bottom:25px}.filter-bar{gap:25px;font-size:12px}.filter-bar button{font-size:12px}.case-cover{margin-bottom:45px}.blog-cover{margin-bottom:45px}.breadcrumbs{font-size:11px;gap:12px;flex-wrap:wrap;margin-bottom:30px}dialog{padding:30px}.source-line{font-size:11px}.pill-link{margin-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.project-image:hover img,.round-link:hover,.article-row:hover .arrow{transform:none}}
@media(max-width:650px){.hero-art{top:300px;opacity:.28}}
/* Proposta 07 — Obsidian / interfaccia come opera generativa */
:root{--paper:#111310;--ink:#eee9dc;--muted:#b0b1a5;--line:#41443b}body{background:#111310;color:var(--ink)}.site-header{background:#111310d9;padding-top:24px;padding-bottom:24px}.brand{font-size:15px;letter-spacing:.015em}.brand img{filter:invert(1);mix-blend-mode:screen}.brand-dot{display:inline;color:#c4b69a}nav{gap:30px}nav a{font-size:11px;letter-spacing:.03em}.hero{min-height:950px;padding-top:150px;background:radial-gradient(ellipse at 80% 40%,#3b40301c,transparent 60%);isolation:isolate}.hero-top{color:#bfc0b1}.hero-top span:last-child{font-family:monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.hero-grid{padding:90px 0 65px;min-height:660px}.hero h1{font-size:clamp(75px,9.4vw,150px);font-weight:400;line-height:.98;letter-spacing:-.055em;max-width:1300px;text-shadow:0 2px 40px #11131055}.hero h1 .quiet{font-size:20px;letter-spacing:0;line-height:1.6;color:#c5c5b8;margin-bottom:60px}.hero h1 em{font-family:Baskerville,'Iowan Old Style',Georgia,serif;letter-spacing:-.055em;font-size:1.12em;font-weight:400;color:#e4ddcb}.hero .role{font-size:14px;color:#bfc0b1;margin:50px 0 25px}.hero-art{position:absolute;right:-12vw;top:-80px;width:78%;height:700px;opacity:1;z-index:-1;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 22%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%)}.hero-art canvas{display:block;width:100%;height:100%}.hero-art img{display:none}.instrument-controls{display:flex;gap:22px;justify-content:flex-end;align-items:center;position:absolute;right:0;bottom:25px;color:#c4c5b8;font:9px/1.5 monospace;letter-spacing:.07em}.instrument-controls button{border:0;background:none;padding:10px 0;border-bottom:1px solid #7a7e6c;color:#d5d4c5;font:10px/1.5 monospace;letter-spacing:.03em;min-height:44px}.instrument-controls button:hover{color:white}.instrument-controls .art-state{max-width:120px}.hero-bottom{border-top:1px solid var(--line);padding-top:25px;font-size:9px}.button,.text-link{font-size:12px;border-color:#727765;letter-spacing:.02em}.hero .button{color:#eee9dc}.actions{gap:40px}.section{padding:130px 0}.section-head{margin-bottom:80px}.section-head h2{font-size:clamp(45px,5.6vw,85px);font-family:Baskerville,Georgia,serif;letter-spacing:-.035em}.services{gap:7vw}.service-number{color:#bebdaa}.service h3{font-size:27px}.service p{font-size:15px;line-height:1.95}.work-section{background:#e9e5d9;color:#22251f;padding:120px 0}.work-section .eyebrow,.work-section .project-description,.work-section .section-head>p{color:#55594e}.work-section .project-type{color:#55594e}.work-section .button{color:#22251f;border-color:#777b6b}.project-grid{gap:100px 6vw}.project-card.featured .project-image img{aspect-ratio:1.95}.project-card:nth-child(2n):not(.featured){margin-top:170px}.project-image{background:#25291f;isolation:isolate}.project-image img{filter:saturate(.4);transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .8s}.project-image:hover img{transform:scale(1.045);filter:saturate(1)}.project-image:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#f8f3d025,transparent 50%);opacity:0;transition:opacity .6s;pointer-events:none}.project-image:hover:after{opacity:1}.project-meta h2,.project-meta h3{font-size:28px}.project-description{font-size:15px;line-height:1.95}.portrait-frame img{filter:grayscale(1) contrast(1.07)}.about-strip{gap:12vw}.about-strip h2{font-family:Baskerville,Georgia,serif;font-size:clamp(44px,5vw,72px);font-style:italic}.about-strip p{font-size:16px}.article-row img{filter:grayscale(1);opacity:.8}.article-row h3{font-size:28px}.article-row .arrow{font-size:30px}.site-footer{background:#0b0e0a;padding-top:100px;border-color:#383e30}.footer-top{padding-bottom:100px}.footer-top p{font-size:clamp(60px,10vw,155px)}.footer-top p span{color:#c5bda7}.footer-bottom{border-color:#353c2e}.page-heading{background:radial-gradient(ellipse at 80% 0%,#343b2530,transparent 60%);padding-top:180px}.page-heading h1{font-family:Baskerville,Georgia,serif;font-size:clamp(60px,9vw,132px);line-height:1.1}.page-heading .lead{font-size:20px;line-height:1.9}.filter-bar button{color:#b0b1a5}.filter-bar button[aria-pressed=true]{color:#eee9dc;border-color:#c4bba5}.search{border-color:#737863;color:#eee9dc}.search::placeholder{color:#969e87}.article-flow strong{color:#f5efdf}.article-flow a,.source-line a{border-color:#757e66}.article-flow blockquote{border-color:#8c9579;color:#ded5bf}.cv-section .cv-org{color:#b0b1a5}.cv-section figure img{filter:grayscale(1);opacity:1;background:#e8e5db;max-height:45px;padding:4px}.resource h2{font-family:Baskerville,Georgia,serif;font-size:39px}.resource>span{color:#b0b1a5}.resource p{font-size:16px}.notice{border-color:var(--line)}dialog{box-shadow:0 30px 120px #0008}.skip{background:var(--paper);color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#d8cfb8}::selection{background:#e9e1c9;color:#161b11}
@supports(view-transition-name:none){::view-transition-old(root){animation:fade-out .22s ease both}::view-transition-new(root){animation:fade-in .45s ease both}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
@media(min-width:1600px){.hero{min-height:1100px}.hero-grid{min-height:790px;padding-top:110px}.hero h1{font-size:155px}.hero-art{height:850px;top:-80px}.instrument-controls{bottom:30px}}
@media(max-width:1100px){.hero{min-height:900px}.hero-grid{min-height:650px;padding-top:90px}.hero h1{font-size:clamp(72px,9.4vw,110px)}.hero-art{width:90%;right:-20vw;height:650px}.services{gap:40px}.hero .role{margin-top:40px}.instrument-controls{bottom:0}.section{padding:95px 0}.work-section{padding:95px 0}.page-heading h1{font-size:clamp(65px,9vw,110px)}}
@media(max-width:850px){.site-header{padding:18px 6vw}nav{gap:20px}.hero{padding-top:130px;min-height:850px}.hero-grid{padding-top:80px;min-height:620px}.hero h1{font-size:clamp(64px,9.5vw,90px)}.hero h1 .quiet{font-size:19px;margin-bottom:50px}.hero-art{right:-30vw;width:115%;height:600px;top:-20px}.instrument-controls .art-state{display:none}.instrument-controls{gap:20px}.project-card:nth-child(2n):not(.featured){margin-top:110px}.page-heading{padding-top:145px}}
@media(max-width:650px){.hero{padding:130px 6vw 30px;min-height:0}.hero-grid{padding:65px 0 115px;min-height:680px}.hero h1{font-size:clamp(47px,11.4vw,76px);line-height:1.07;letter-spacing:-.045em}.hero h1 .quiet{font-size:19px;line-height:1.6;letter-spacing:0;margin-bottom:55px}.hero h1 em{letter-spacing:-.04em;font-size:1.08em}.hero .role{font-size:15px;margin-top:40px}.hero-art{top:150px;right:-40vw;width:150%;height:480px;opacity:.7;mask-image:linear-gradient(90deg,transparent,#000 25%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%)}.instrument-controls{right:0;left:0;justify-content:space-between;bottom:15px;gap:25px}.instrument-controls button{font-size:10px}.hero-bottom{font-size:9px}.section{padding:80px 0}.section-head h2{font-size:46px}.section-head{margin-bottom:50px}.services{gap:50px}.service h3{font-size:28px}.service p{font-size:17px;line-height:1.9}.work-section{padding:80px 0}.project-grid{gap:65px}.project-card:nth-child(2n):not(.featured){margin-top:0}.project-card.featured .project-image img,.project-image img{aspect-ratio:1.4}.project-meta h2,.project-meta h3{font-size:27px}.project-description{font-size:16px}.about-strip h2{font-size:46px}.about-strip p{font-size:17px}.article-row h3{font-size:25px}.footer-top{padding-bottom:60px}.footer-top p{font-size:55px}.site-footer{padding-top:70px}.page-heading h1{font-size:clamp(49px,11vw,72px);letter-spacing:-.035em}.page-heading .lead{font-size:19px}.resource h2{font-size:36px}.resource p{font-size:17px}.article-flow{font-size:18px}.article-flow h2{font-family:Baskerville,Georgia,serif;font-size:36px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.hero-art{opacity:.7}.project-image:hover img{transform:none}}
.instrument-controls button:disabled{cursor:default;opacity:.8;border-color:transparent}
/* WordPress integration: native navigation, forms, admin bar and content. */
nav ul{display:flex;gap:30px;margin:0;padding:0;list-style:none}nav li{margin:0;padding:0}nav .current-menu-item>a:after,nav .current-menu-ancestor>a:after{right:0}.admin-bar .site-header{top:32px}.footer-copyright{font-size:10px;color:var(--muted)}.search-row{display:flex;gap:25px;align-items:end}.search-row .search{min-width:0}.search-row button{flex-shrink:0}.pagination{display:flex;gap:24px;flex-wrap:wrap;margin-top:55px;font-size:14px}.pagination .current{border-bottom:1px solid}.pagination a{min-height:44px;display:inline-flex;align-items:center}.post-password-form label{display:block}.post-password-form input[type=password],.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{background:transparent;color:var(--ink);border:0;border-bottom:1px solid #737863;padding:12px 0;max-width:100%;font:inherit}.post-password-form input[type=submit],.comment-form input[type=submit]{background:none;color:var(--ink);border:0;border-bottom:1px solid #737863;padding:14px 0;min-height:44px;font:inherit;cursor:pointer}.comment-form textarea{display:block;width:100%}.comment-list{padding:0;list-style:none}.comment-list li{margin:35px 0}.comment-list .avatar{width:44px;height:44px}.article-flow iframe,.article-flow video{max-width:100%}.home-blog{padding-top:0}.article-flow figure:empty{display:none}body:not(.js-ready) .instrument-controls{display:none}@media(max-width:850px){nav ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}nav.open:has(ul){display:block}}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:600px){.admin-bar .site-header{top:0}.search-row{gap:15px}}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
.work-section a:focus-visible{outline-color:#22251f}.hero-art noscript img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:invert(1);opacity:.6}@media(max-width:850px){.fv-no-js .site-header{position:relative;flex-wrap:wrap}.fv-no-js #navigation{display:block;position:static;width:100%;padding:15px 0}.fv-no-js .menu-toggle{display:none}.fv-no-js .hero{padding-top:50px}.fv-no-js .page-heading{padding-top:50px}}

/* Inter, SIL OFL 1.1. Four levels: supporting 16, reading 18, heading 32–40, display 48–104. */
@font-face{font-family:'Inter Variable';src:url('assets/fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-ui:'Inter Variable',Arial,sans-serif;--type-small:16px;--type-body:18px;--type-heading:clamp(30px,3vw,40px);--type-display:clamp(48px,7.2vw,104px)}
body,button,input,textarea,select{font-family:var(--font-ui);font-size:var(--type-body);font-optical-sizing:auto;font-weight:400;line-height:1.7}
.brand{font-family:var(--font-ui);font-size:var(--type-body);font-weight:500;letter-spacing:-.015em}.brand img{width:32px;height:40px}nav{gap:22px}nav a,.menu-toggle{font-family:var(--font-ui);font-size:var(--type-small);letter-spacing:0;line-height:1.5}.site-header{padding-top:22px;padding-bottom:22px;min-height:94px}
.eyebrow,.hero-top span:last-child,.hero-bottom,.service-number,.project-type,.article-row .eyebrow,.footer-bottom,.footer-copyright,.note-button,.search-label,.search-status,.resource>span,.resource-unavailable,.source-line,.breadcrumbs,.filter-bar,.filter-bar button,.cv-nav,.pagination,.instrument-controls,.instrument-controls button,.instrument-controls .art-state{font-family:var(--font-ui);font-size:var(--type-small);font-weight:400;letter-spacing:0;line-height:1.6;text-transform:none}
.hero-top{align-items:center}.hero-top .eyebrow{color:#c0c2b5}.hero-top span:last-child{color:#c0c2b5}.hero{min-height:950px}.hero-grid{padding-top:80px;min-height:655px}.hero h1,.page-heading h1{font-family:var(--font-ui);font-size:var(--type-display);font-weight:400;letter-spacing:-.045em;line-height:1.13}.hero h1 .quiet{font-family:var(--font-ui);font-size:var(--type-body);line-height:1.7;letter-spacing:0;margin-bottom:45px}.hero h1 em{font-family:var(--font-ui);font-style:normal;font-weight:500;font-size:1em;letter-spacing:inherit;color:#f0eadc}.hero .role{font-family:var(--font-ui);font-size:var(--type-body);letter-spacing:0;line-height:1.7;color:#c8c9bd;margin-top:40px}.hero-art{right:-13vw;top:-65px;width:80%;height:690px;opacity:.9;mask-image:linear-gradient(90deg,transparent,#000 28%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%)}.instrument-controls{gap:24px;bottom:0}.instrument-controls .art-state{max-width:none;color:#b9bcae}.instrument-controls button{font-size:var(--type-small);min-height:48px}.hero-bottom{gap:25px}.hero-bottom>span{font-size:var(--type-small)}
.button,.text-link,.hero .button{font-family:var(--font-ui);font-size:var(--type-small);font-weight:400;line-height:1.6;letter-spacing:0;min-height:48px}.actions{gap:35px}
h2,h3,h4,h5,h6,.section-head h2,.service h3,.project-meta h2,.project-meta h3,.about-strip h2,.article-row h3,.resource h2,.cv-section h2,.cv-section h3,.article-flow h2,.article-flow h3,.article-flow h4,dialog h2{font-family:var(--font-ui);font-size:var(--type-heading);font-style:normal;font-weight:400;letter-spacing:-.025em;line-height:1.25}
.service h3{min-height:100px;max-width:none}.section-head>p,.service p,.project-description,.about-strip p,.page-heading .lead,.article-flow,.article-flow p,.article-flow>p:first-child,.cv-section p,.cv-section ul,.cv-section .cv-org,.resource p,.resource-intro,.notice,.notice p,dialog p,.empty-result,.article-flow td,.article-flow th{font-family:var(--font-ui);font-size:var(--type-body);font-weight:400;line-height:1.8;letter-spacing:0}.article-flow strong{font-weight:600}.article-flow h5,.article-flow h6{font-family:var(--font-ui);font-size:var(--type-body);line-height:1.7}.article-flow blockquote{font-family:var(--font-ui);font-size:var(--type-body);font-style:normal;line-height:1.8}.article-flow table{font-size:var(--type-body)}.resource-unavailable{font-size:var(--type-small)}.project-type{font-size:var(--type-small);white-space:normal}.project-meta{display:block}.project-type{display:block;margin-top:12px}.article-row .eyebrow{font-size:var(--type-small)}.article-row h3{margin-top:12px}.search{font-family:var(--font-ui);font-size:var(--type-body)}.footer-top p,.footer-top p span{font-family:var(--font-ui);font-size:var(--type-display);font-weight:400;font-style:normal;letter-spacing:-.045em;line-height:1.13}.footer-bottom{font-size:var(--type-small);flex-wrap:wrap;gap:20px}.footer-bottom>div{gap:24px}.cv-section figure img{max-height:45px}.source-line{font-size:var(--type-small)}.resource>span{font-size:var(--type-small)}.article-row{grid-template-columns:90px 1fr 35px}.article-row img{width:90px;height:80px}.filter-bar{gap:30px}.filter-bar button{font-size:var(--type-small)}
@media(max-width:1100px){nav{gap:18px}.brand{font-size:var(--type-small)}.services{gap:35px}.service h3{min-height:115px}.hero-art{right:-20vw;width:95%}.instrument-controls{gap:24px;flex-wrap:wrap}.instrument-controls .art-state{display:none}.hero-bottom{font-size:var(--type-small)}.section-head{align-items:start}}
@media(max-width:850px){nav a{font-size:var(--type-body)}.menu-toggle{font-size:var(--type-small)}.brand{font-size:var(--type-small)}.hero-top{gap:25px}.hero-top span:last-child{display:none}.hero h1{font-size:var(--type-display)}.hero-art{width:115%;right:-30vw}.hero h1 .quiet{font-size:var(--type-body)}.cv-nav{font-size:var(--type-small)}.section-head{display:block}.section-head>p{max-width:700px;margin-top:25px}.footer-bottom{font-size:var(--type-small)}}
@media(max-width:650px){:root{--type-heading:30px;--type-display:clamp(44px,10.5vw,64px)}.hero{min-height:0}.hero-grid{padding-top:55px;padding-bottom:145px;min-height:740px}.hero h1{font-size:var(--type-display);line-height:1.18}.hero h1 .quiet{font-size:var(--type-body);margin-bottom:40px}.hero .role{font-size:var(--type-body);margin-top:30px}.hero-art{top:235px;right:-42vw;width:160%;height:450px;opacity:.62;mask-image:linear-gradient(90deg,transparent,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%)}.instrument-controls{gap:12px 20px;bottom:10px;justify-content:space-between}.instrument-controls button{font-size:var(--type-small)}.hero-bottom{font-size:var(--type-small);align-items:start}.hero-bottom>span{font-size:var(--type-small);max-width:270px}.services{gap:45px}.service h3{min-height:0}.service p,.project-description,.about-strip p,.resource p{font-size:var(--type-body)}.article-row{grid-template-columns:1fr 30px}.article-row img,.article-row>span:first-child:not(.arrow){display:none}.article-row .eyebrow{font-size:var(--type-small)}.article-row h3{font-size:var(--type-heading)}.section-head h2,.about-strip h2,.project-meta h2,.project-meta h3,.resource h2,.cv-section h2,.cv-section h3,.article-flow h2,.article-flow h3{font-size:var(--type-heading)}.page-heading h1{font-size:var(--type-display)}.page-heading .lead,.resource-intro,.article-flow>p:first-child{font-size:var(--type-body)}.footer-top p,.footer-top p span{font-size:var(--type-display)}.footer-bottom>div{gap:24px;flex-wrap:wrap}.breadcrumbs{font-size:var(--type-small)}.source-line{font-size:var(--type-small)}.filter-bar{gap:16px 24px}.filter-bar button{font-size:var(--type-small)}.brand{gap:10px;font-size:var(--type-small)}.site-header{gap:12px;padding-left:6vw;padding-right:6vw}.menu-toggle{gap:12px}.brand img{width:28px;height:36px}.hero-top .eyebrow{font-size:var(--type-small)}}

/* A quiet occult/DIY margin language; visual only, never a substitute for labels. */
:root{--accent-ink:#c2b19b;--accent-queer:#c6b9d7}
.hero-top{position:relative}.hero-top:after{content:'';position:absolute;right:0;top:55px;width:105px;height:105px;background:url('assets/editorial-seal.svg') center/contain no-repeat;opacity:.32;pointer-events:none;transform:rotate(-9deg)}
.hero h1 em{position:relative;color:var(--ink)}.hero h1 em:after{content:'';position:absolute;left:2%;right:0;bottom:-9px;height:7px;border-top:1px solid #c6b9d766;transform:rotate(-1.4deg);border-radius:50%;pointer-events:none}
.section-head .eyebrow,.page-heading .eyebrow{position:relative;padding-left:24px}.section-head .eyebrow:before,.page-heading .eyebrow:before{content:'';position:absolute;left:0;top:50%;width:10px;height:10px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-60%) rotate(-37deg);opacity:.7}
.section-head .eyebrow:after,.page-heading .eyebrow:after{content:'';position:absolute;left:2px;top:50%;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-40%) rotate(-37deg);opacity:.7}
.about-strip{position:relative}.about-strip:after{content:'';position:absolute;left:36%;bottom:-35px;width:100px;height:70px;border-top:1px solid #c6b9d777;border-radius:50%;transform:rotate(-23deg);pointer-events:none}
.article-row .arrow{transition:transform .45s cubic-bezier(.2,.8,.2,1),color .45s}.article-row:hover .arrow{transform:translate(5px,-4px) rotate(-8deg);color:var(--accent-queer)}.button span,.text-link span{display:inline-block;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.button:hover span,.text-link:hover span{transform:rotate(-10deg) translate(3px,-2px)}
.motion-ready .motion-reveal{opacity:0;transform:translate3d(0,20px,0);transition:opacity .85s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms),transform 1s cubic-bezier(.15,.75,.2,1) var(--reveal-delay,0ms)}
.motion-ready .motion-reveal.is-visible,.motion-ready .motion-reveal:focus-within{opacity:1;transform:none}
.project-image img,.portrait-frame img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.065);transition:filter .7s,transform 1.1s cubic-bezier(.2,.7,.2,1);will-change:auto}.project-image:hover img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.09)}
@media(max-width:1100px){nav ul{gap:18px}}
@media(max-width:650px){.hero-top:after{width:80px;height:80px;top:35px;right:0;opacity:.3}.hero h1 em:after{bottom:-5px}.about-strip:after{left:auto;right:0;bottom:0;width:70px}.project-image img,.portrait-frame img{transform:none}.project-image:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.motion-ready .motion-reveal{opacity:1;transform:none;transition:none}.project-image img,.portrait-frame img,.project-image:hover img,.article-row:hover .arrow,.button:hover span,.text-link:hover span{transform:none;transition:none}.hero h1 em:after{transform:none}}

@media(max-width:650px){.hero-art{mask-image:linear-gradient(180deg,transparent 0%,#000 52%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 52%)}}

@media(min-width:651px){.hero-art{top:35px;height:clamp(600px,48vw,760px)}}

.hero .hero-manifesto{font-size:clamp(52px,8.1vw,116px);line-height:1.1;letter-spacing:-.035em;font-weight:400}.hero-manifesto>span{display:block;font:inherit;color:inherit}.hero-manifesto>span+span{margin-top:.03em}@media(max-width:650px){.hero .hero-manifesto{font-size:clamp(42px,10.5vw,64px);line-height:1.16;letter-spacing:-.035em}}

/* 09 / Syntax: print, code, human decisions. */
:root{--paper:#f3f1e9;--ink:#22231f;--muted:#595b52;--line:#c9c9be;--accent-ink:#4b35ed;--accent-queer:#4b35ed}body{background:var(--paper);color:var(--ink)}.site-header{background:#f3f1e9f2;border-bottom:1px solid #22231f18}.brand img{filter:none;mix-blend-mode:multiply}.brand-dot{color:#4b35ed}nav a[aria-current=page]{color:#4b35ed}nav a:after{background:#4b35ed}.hero{background:transparent;min-height:850px;padding-top:150px;overflow:hidden}.hero-top .eyebrow,.hero-top span:last-child{color:#595b52}.hero-top:after{display:none}.hero-grid{padding:70px 0 80px;min-height:600px}.hero .hero-manifesto{font-size:clamp(62px,8.5vw,130px);font-weight:450;line-height:1.01;letter-spacing:-.055em;max-width:1100px}.hero h1{text-shadow:none}.hero h1 em:after{display:none}.hero .role{color:#595b52;font-size:18px;margin-top:35px}.hero .button{color:var(--ink)}.hero-art{z-index:-1;top:-30px!important;right:-8vw;width:61%;height:650px!important;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 15%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%)}.hero-bottom{color:#595b52;border-color:#bfc0b3}.hero-bottom a{color:#4b35ed}.hero .text-link,.hero .button{border-color:#22231f;gap:35px}.button:hover,.text-link:hover{color:#4b35ed}.section-head h2{font-family:var(--font-ui);font-weight:450}.section-head .eyebrow:before,.section-head .eyebrow:after,.page-heading .eyebrow:before,.page-heading .eyebrow:after{display:none}.section-head .eyebrow,.page-heading .eyebrow{padding:0}.services{gap:48px}.service{position:relative;padding-top:25px;border-top:1px solid #22231f}.service-number{margin-bottom:0;color:#4b35ed}.service-art{width:100%;height:210px;margin:0 0 28px;color:#22231f}.service-art svg{height:100%;width:100%;overflow:visible}.service h3{font-size:32px;min-height:85px;line-height:1.1;letter-spacing:-.035em;margin-bottom:25px}.service p{color:#595b52}.work-section{background:#22231f;color:#f3f1e9}.work-section .section-head>p,.work-section .eyebrow,.work-section .project-description,.work-section .project-type{color:#c4c6b9}.work-section .button{color:#f3f1e9;border-color:#aaa}.project-image{background:#d3d3c8}.project-image img{filter:saturate(.8)}.project-meta h2,.project-meta h3{font-size:32px}.work-section .project-meta h3{color:#f3f1e9}.portrait-frame{width:100%;max-width:480px;position:relative;isolation:isolate;overflow:visible}.portrait-study>.portrait-original{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;transform:none!important;opacity:0}.portrait-pieces{height:510px;display:flex;gap:10px;transform:rotate(-3deg);perspective:900px}.portrait-piece{position:relative;display:block;flex:1;min-width:0;height:100%;overflow:hidden;transition:transform .8s cubic-bezier(.2,.8,.2,1);background:#c5c6bc}.portrait-piece img{position:absolute;height:100%!important;width:calc(300% + 20px)!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.12)!important;transform:none!important}.portrait-piece.piece-0{transform:translateY(24px)}.portrait-piece.piece-1{transform:translateY(-12px)}.portrait-piece.piece-2{transform:translateY(40px)}.portrait-piece.piece-0 img{left:0}.portrait-piece.piece-1 img{left:calc(-100% - 10px)}.portrait-piece.piece-2 img{left:calc(-200% - 20px)}.portrait-study:hover .piece-0,.portrait-study:focus-within .piece-0{transform:translateY(8px) rotateY(-6deg)}.portrait-study:hover .piece-1,.portrait-study:focus-within .piece-1{transform:translateY(8px)}.portrait-study:hover .piece-2,.portrait-study:focus-within .piece-2{transform:translateY(8px) rotateY(6deg)}.portrait-registration{position:absolute;right:-24px;top:-45px;color:#4b35ed;font:300 80px/1 var(--font-ui);pointer-events:none}.portrait-study:after{content:'';position:absolute;inset:-20px 30px 20px -18px;border:1px solid #4b35ed;z-index:-1;transform:rotate(3deg)}.about-strip{gap:12vw}.about-strip:after,.about-strip h2:after{display:none}.about-strip h2{font-family:var(--font-ui);font-style:normal}.about-strip p{color:#595b52}.about-page .portrait-frame{position:sticky;top:170px;margin:20px 0 60px}.page-heading{background:transparent;padding:170px 0 45px;margin-bottom:45px}.page-heading h1{font-family:var(--font-ui);font-weight:450;letter-spacing:-.05em}.page-heading .lead{color:#595b52}.article-flow strong{color:#22231f}.article-flow p{color:#393c32}.article-flow blockquote{color:#33392d;border-color:#4b35ed}.article-flow a{border-color:#777e6a}.article-row .eyebrow{color:#595b52}.article-row:hover .arrow{color:#4b35ed}.article-row h3{font-size:30px}.resource-grid{gap:60px 7vw}.resource{padding-top:0;border-top:1px solid #22231f}.resource-art{width:100%;height:240px;object-fit:contain;object-position:left center;margin:20px 0 28px}.resource>span{order:0;margin-top:20px;margin-bottom:0;color:#4b35ed}.resource h2{font-size:36px;font-family:var(--font-ui);font-weight:450;line-height:1.15;margin-bottom:22px}.resource p,.resource-unavailable{color:#595b52}.resource-intro{color:#44483b}.search{color:#22231f;border-color:#555b49}.search::placeholder{color:#696d5e}.filter-bar button{color:#595b52}.filter-bar button[aria-pressed=true]{color:#4b35ed;border-color:#4b35ed}.cv-layout{grid-template-columns:220px minmax(0,1fr);gap:70px}.cv-nav{font-size:16px;gap:4px}.cv-nav a{border-bottom:1px solid #cecec3;padding:12px 0;color:#595b52}.cv-nav a:hover{color:#4b35ed}.cv-section{padding-bottom:70px}.cv-section>h2{font-size:40px;font-weight:500;letter-spacing:-.04em;border-top:2px solid #22231f;padding-top:25px;margin:0 0 35px}.cv-entries{display:block}.cv-entry{position:relative;padding:30px 0 45px;border-bottom:1px solid #cecec3}.cv-entry:first-child{padding-top:5px}.cv-entry>h3{font-size:28px;font-weight:500;line-height:1.2;letter-spacing:-.025em;margin:0 0 14px}.cv-entry .cv-org{font-size:18px;font-weight:500;color:#4b35ed;margin:0 0 12px}.cv-entry .cv-org strong{font-weight:500}.cv-entry .cv-date{font-size:16px;font-variant-numeric:tabular-nums;color:#595b52;margin:0 0 28px}.cv-entry>figure{position:absolute;right:0;top:0;max-width:75px;margin:0!important}.cv-entry>figure img{max-height:34px;max-width:60px;filter:grayscale(1);opacity:.5;background:none;padding:0}.cv-entry>h3{padding-right:85px}.cv-entry>p:not(.cv-date):not(.cv-org),.cv-entry>ul{font-size:18px;line-height:1.8;color:#393c32}.cv-entry ul{margin-bottom:0}.cv-entry>p:last-child{margin-bottom:0}.notice{border-color:#aaa;color:#22231f}.source-line{color:#595b52}.site-footer{background:#22231f;color:#f3f1e9;border:0}.site-footer .footer-top p,.site-footer .footer-top p span{color:#f3f1e9;font-family:var(--font-ui);font-style:normal}.site-footer .footer-bottom{color:#c4c6b9;border-color:#555b49}.site-footer .footer-copyright,.site-footer .note-button{color:#c4c6b9}.site-footer a:hover{color:#b1a8ff}dialog{background:#f3f1e9;color:#22231f}.brand{color:#22231f}a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#4b35ed}.work-section a:focus-visible,.site-footer a:focus-visible,.site-footer button:focus-visible{outline-color:#b5aaff}::selection{background:#4b35ed;color:#fff}
.service.is-visible .ux-path{stroke-dasharray:650;animation:trace-path 3.4s ease both}.service.is-visible .ux-node-b{animation:node-pulse 1.2s .8s 2}.service.is-visible .ux-node-c{animation:node-pulse 1.2s 1.4s 2}.service.is-visible .ui-plane-back{animation:plane-rear 3.8s ease both}.service.is-visible .ui-plane-front{animation:plane-front 3.8s ease both}.service.is-visible .ui-cursor{animation:cursor-select 3.8s ease both}.service.is-visible .writing-before{animation:writing-remove 4s ease both}.service.is-visible .writing-after{animation:writing-reveal 4s ease both}.service.is-visible .writing-caret{animation:caret-pulse .65s 6}
@keyframes trace-path{from{stroke-dashoffset:650}to{stroke-dashoffset:0}}@keyframes node-pulse{50%{opacity:.25}}@keyframes plane-rear{from{transform:translate(20px,-15px);opacity:0}to{transform:none;opacity:1}}@keyframes plane-front{from{transform:translate(-20px,20px);opacity:0}to{transform:none;opacity:1}}@keyframes cursor-select{0%,25%{transform:translate(30px,28px)}60%,100%{transform:none}}@keyframes writing-remove{0%,25%{opacity:.8}100%{opacity:.25}}@keyframes writing-reveal{0%,30%{opacity:0;transform:translateX(-15px)}100%{opacity:1;transform:none}}@keyframes caret-pulse{50%{opacity:.1}}
@media(min-width:1600px){.hero-art{height:750px!important;top:-40px!important}.hero{min-height:1000px}.hero-grid{min-height:720px}}
@media(max-width:1100px){.service-art{height:180px}.service h3{font-size:30px;min-height:100px}.hero .hero-manifesto{font-size:clamp(58px,8.3vw,100px)}.hero-art{width:68%;right:-14vw}.portrait-pieces{height:440px}.cv-layout{grid-template-columns:190px minmax(0,1fr);gap:45px}}
@media(max-width:850px){.hero{padding-top:135px;min-height:0}.hero-grid{min-height:700px}.hero-art{width:90%;right:-26vw;top:110px!important;height:570px!important;mask-image:linear-gradient(90deg,transparent,#000 38%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%)}.hero .hero-manifesto{font-size:clamp(52px,9vw,78px)}.cv-layout{grid-template-columns:1fr;gap:30px}.cv-nav{position:static;display:flex;flex-wrap:wrap;gap:5px 24px}.portrait-pieces{height:400px}.resource-art{height:210px}nav{background:#f3f1e9}.services{gap:26px}.service h3{font-size:28px;min-height:110px}}
@media(max-width:650px){.hero-grid{padding:50px 0 340px;min-height:750px}.hero .hero-manifesto{font-size:clamp(42px,10.5vw,64px);line-height:1.08}.hero-art{top:260px!important;right:-20vw;width:130%;height:440px!important;mask-image:linear-gradient(180deg,transparent,#000 25%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 25%)}.hero .role{font-size:18px;margin-top:30px}.hero-bottom{border-top:0}.hero-top span:last-child{display:none}.services{gap:60px}.service-art{height:210px;margin-bottom:25px}.service h3{font-size:30px;min-height:0}.service-number{font-size:16px}.portrait-frame{width:90%}.portrait-pieces{height:420px;gap:7px}.portrait-piece img{width:calc(300% + 14px)!important}.portrait-piece.piece-1 img{left:calc(-100% - 7px)}.portrait-piece.piece-2 img{left:calc(-200% - 14px)}.portrait-registration{font-size:64px;right:-20px}.about-page .portrait-frame{position:relative;top:auto;width:90%;margin:20px 0 55px}.about-strip{gap:75px}.page-heading{padding-top:140px}.cv-section>h2{font-size:34px}.cv-entry>h3{font-size:27px;padding-right:65px}.cv-entry>figure{max-width:48px}.cv-entry>figure img{max-width:45px}.cv-entry .cv-org{font-size:18px}.resource-art{height:220px}.resource h2{font-size:32px}.resource-grid{gap:45px}.cv-nav a{padding:8px 0}.hero-top .eyebrow{font-size:16px}}
@media(prefers-reduced-motion:reduce){.service svg *{animation:none!important}.portrait-piece,.portrait-study:hover .piece-0,.portrait-study:hover .piece-1,.portrait-study:hover .piece-2{transform:none;transition:none}.project-image img{transform:none}}

.hero .hero-manifesto{font-size:clamp(58px,7.6vw,120px)}.service h2{font-family:var(--font-ui);font-size:32px;font-weight:400;line-height:1.1;letter-spacing:-.035em;min-height:85px;margin:0 0 25px}@media(max-width:1100px){.service h2{font-size:30px;min-height:100px}}@media(max-width:850px){.hero .hero-manifesto{font-size:clamp(52px,9vw,78px)}.service h2{font-size:28px;min-height:110px}}@media(max-width:650px){.hero .hero-manifesto{font-size:clamp(42px,10.5vw,64px)}.service h2{font-size:30px;min-height:0}}

/* Revision 10 — electric editorial. Open Inter, bold display / quiet reading. */
:root{--paper:#0c0d11;--ink:#f3f2ed;--muted:#b9bac4;--line:#35353e;--accent-ink:#c4ff57;--accent-queer:#c1a5ff}body{background:var(--paper);color:var(--ink)}.site-header{background:#0c0d11ed;border-color:#ffffff18}.brand{color:var(--ink)}.brand img{filter:invert(1);mix-blend-mode:screen}nav a[aria-current=page],.brand-dot{color:#c4ff57}nav a:after{background:#c4ff57}.hero-top .eyebrow,.hero-top span:last-child,.hero .role,.hero-bottom{color:var(--muted)}.hero .hero-manifesto{font-weight:750;font-size:clamp(54px,6.6vw,106px);letter-spacing:-.065em;line-height:1.04;max-width:1000px}.hero-manifesto>span:last-child{color:#c4ff57}.hero-grid>div:first-child{max-width:82%}.hero-art{right:-15vw;width:68%;opacity:.85;top:20px!important;mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}.hero .button,.hero .text-link{color:var(--ink);border-color:#82838e}.hero-bottom a{color:#ff816c}.hero{background:radial-gradient(ellipse at 95% 70%,#c1a5ff0e,transparent 65%)}h1,h2,h3,.page-heading h1,.section-head h2,.resource h2,.service h2{font-weight:650;letter-spacing:-.045em}.service{border-color:var(--line)}.service-number{color:#c4ff57}.service:nth-child(2) .service-number{color:#ff816c}.service:nth-child(3) .service-number{color:#c1a5ff}.service-art{color:#f3f2ed}.service-art svg [stroke="#4b35ed"]{stroke:#c4ff57}.service-art svg [fill="#4b35ed"]{fill:#c4ff57}.service:nth-child(2) .service-art{filter:hue-rotate(245deg)}.service:nth-child(3) .service-art{filter:hue-rotate(145deg)}.service-art svg [fill="#f3f1e9"]{fill:#0c0d11}.service p,.section-head>p,.about-strip p,.page-heading .lead,.resource p,.resource-unavailable,.resource-intro,.article-flow p,.article-flow blockquote{color:var(--muted)}.work-section{background:#111217}.work-section .eyebrow{color:#c1a5ff}.project-image{position:relative;overflow:hidden;isolation:isolate;background:#1c1d24}.project-image img{filter:none;transition:scale 1s cubic-bezier(.2,.8,.2,1),filter .7s;will-change:transform}.project-image:after{content:'';position:absolute;inset:-50%;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#ffffff24 50%,transparent 60%);transform:translateX(-75%);transition:transform 1.2s}.project-image:hover:after,.project-image:focus-visible:after{transform:translateX(75%)}.project-image:hover img,.project-image:focus-visible img{scale:1.045;filter:saturate(1.15)}.project-meta h2,.project-meta h3{font-weight:650}.portrait-halo{position:relative;isolation:isolate;overflow:visible;perspective:1000px;max-width:480px}.portrait-halo>img{display:block!important;position:relative!important;width:100%!important;height:510px!important;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.05)!important;transform:rotate(-2deg)!important;transition:transform 1s,filter 1s;border-radius:2px;z-index:1;clip-path:none!important;opacity:1!important}.portrait-halo:before{content:'';position:absolute;inset:6% -5%;background:linear-gradient(135deg,#c4ff57,#c1a5ff 55%,#ff816c);filter:blur(32px);opacity:.24;z-index:-1;transition:opacity 1s,transform 1s}.portrait-halo:after{content:'';position:absolute;inset:-16px 16px 16px -16px;border:1px solid #c1a5ff;transform:rotate(3deg);z-index:2;pointer-events:none;transition:transform 1s}.portrait-halo:hover>img,.portrait-halo:focus-visible>img{transform:rotate(0deg) scale(1.015)!important}.portrait-halo:hover:before{opacity:.45;transform:rotate(12deg)}.portrait-halo:hover:after{transform:rotate(-2deg)}.article-row .eyebrow{color:var(--muted)}.article-carousel{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c1a5ff #22232c;padding-bottom:24px;position:relative}.article-carousel .article-row{display:flex;flex:0 0 min(65%,650px);flex-direction:column;align-items:flex-start;gap:20px;scroll-snap-align:start;border:0;padding:0 0 20px;min-width:0}.article-carousel .article-row img{width:100%;height:240px;object-fit:cover;filter:grayscale(1);transition:filter .6s}.article-carousel .article-row:hover img{filter:none}.article-carousel .article-row h3{font-size:clamp(28px,3vw,40px);line-height:1.15}.article-carousel .arrow{align-self:flex-end;color:#c4ff57}.carousel-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.carousel-controls button{border:1px solid #60616b;background:transparent;border-radius:50%;width:52px;height:52px;font-size:26px}.carousel-controls button:hover{background:#c4ff57;color:#0c0d11}.cv-section>h2{color:#c4ff57;border-color:#c4ff57;font-weight:700}.cv-section:nth-child(2)>h2{color:#c1a5ff;border-color:#c1a5ff}.cv-section:nth-child(3)>h2{color:#ff816c;border-color:#ff816c}.cv-entry{border-color:var(--line)}.cv-entry>h3{color:var(--ink);font-weight:650;font-size:30px}.cv-entry .cv-org,.cv-entry .cv-org strong{color:#c1a5ff;font-weight:550}.cv-entry .cv-date{color:#ffad9e}.cv-entry>p:not(.cv-date):not(.cv-org),.cv-entry>ul{color:var(--muted)}.cv-nav a{color:var(--muted);border-color:var(--line)}.cv-nav a:hover{color:#c4ff57}.article-flow strong{color:var(--ink)}.resource{border-color:var(--line)}.resource>span{color:#c4ff57}.resource-art{filter:invert(1) hue-rotate(155deg)}.filter-bar button{color:var(--muted)}.filter-bar button[aria-pressed=true]{color:#c4ff57;border-color:#c4ff57}.search{color:var(--ink);border-color:#82838e}.search::placeholder{color:var(--muted)}.source-line,.notice{color:var(--muted)}.site-footer{background:#14121c}.site-footer .footer-top p span{color:#c1a5ff}.button:hover,.text-link:hover,a:focus-visible{color:#c4ff57}a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#c4ff57}::selection{background:#c1a5ff;color:#0c0d11}
@media(max-width:850px){nav{background:#0c0d11}.hero-grid>div:first-child{max-width:100%}.hero-art{top:120px!important;width:100%;right:-35vw}.hero .hero-manifesto{font-size:clamp(50px,8.3vw,76px)}.portrait-halo>img{height:440px!important}.article-carousel .article-row{flex-basis:80%}}
@media(max-width:650px){.hero .hero-manifesto{font-size:clamp(42px,10vw,64px)}.hero-art{top:300px!important;width:135%;right:-27vw;height:420px!important}.hero-grid{padding-bottom:360px}.portrait-halo>img{height:420px!important}.article-carousel .article-row{flex-basis:90%}.article-carousel .article-row img{height:200px}.cv-entry>h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.project-image img,.project-image:after,.portrait-halo>img,.portrait-halo:after,.portrait-halo:before{transition:none!important}.project-image:hover img,.portrait-halo:hover>img{scale:1;transform:none!important}.article-carousel{scroll-behavior:auto}}

/* Revision 11 — drawings in motion, cinematic project entrances, CV hierarchy. */
.resource-art svg{display:block;width:100%;height:100%;overflow:visible}.resource-art svg *{transform-box:fill-box;transform-origin:center}.resource-art{filter:none;color:#e8e8f0}.resource-art [stroke="#22231f"]{stroke:currentColor}.resource-art [stroke="#4b35ed"]{stroke:#c1a5ff}.resource-art [fill="#4b35ed"]{fill:#c1a5ff}.resource-art [fill="#f3f1e9"]{fill:#0c0d11}.resource:nth-child(3n+1) .resource-art [stroke="#4b35ed"]{stroke:#c4ff57}.resource:nth-child(3n+1) .resource-art [fill="#4b35ed"]{fill:#c4ff57}.resource:nth-child(3n+2) .resource-art [stroke="#4b35ed"]{stroke:#ffad9e}.resource:nth-child(3n+2) .resource-art [fill="#4b35ed"]{fill:#ffad9e}
.work-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 0 25%,#c1a5ff10,transparent 50%),#111217}.work-section .section-head h2{font-size:clamp(46px,6.5vw,96px);line-height:1.02;max-width:800px}.work-section .project-grid{gap:100px 6vw}.work-section .project-card.featured{position:relative}.work-section .project-card.featured .project-image{aspect-ratio:16/8}.project-image{perspective:1000px}.project-image img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.065);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s}.project-image:hover img,.project-image:focus-visible img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.09)}.project-image:before{content:'↗';position:absolute;z-index:3;right:20px;bottom:20px;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#c4ff57;color:#101216;font-size:30px;opacity:0;translate:0 12px;transition:opacity .4s,translate .4s}.project-image:hover:before,.project-image:focus-visible:before{opacity:1;translate:0 0}
.cv-section>h2{font-size:clamp(38px,4.6vw,64px);font-weight:750;line-height:1.06;letter-spacing:-.055em;padding-top:26px;margin-bottom:50px}.cv-entry{padding:36px 0 50px}.cv-entry>h3{font-size:clamp(26px,2.7vw,36px);font-weight:600;letter-spacing:-.035em;line-height:1.18;margin-bottom:16px}.cv-entry .cv-org,.cv-entry .cv-org strong{font-size:20px;font-weight:600;line-height:1.45;letter-spacing:-.015em;color:#c1a5ff}.cv-entry .cv-date{display:inline-block;font:450 16px/1.5 var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:.025em;color:#ffad9e;border-left:2px solid #ffad9e;padding-left:12px;margin:3px 0 28px}.cv-entry>p:not(.cv-date):not(.cv-org),.cv-entry>ul{font-size:18px;font-weight:400;line-height:1.8;max-width:70ch;color:#b9bac4}.cv-entry strong{font-weight:550;color:#e4e4eb}.cv-entry>figure{top:35px;opacity:.7}.cv-entry:first-child>figure{top:5px}
@media(min-width:851px){.work-section .project-card:not(.featured):last-child{margin-top:120px}.motion-ready .project-card.motion-reveal{transform:translateY(65px) rotate(1.5deg);transition:opacity 1s,transform 1.3s cubic-bezier(.16,1,.3,1)}.motion-ready .project-card.motion-reveal.is-visible{transform:translateY(0) rotate(0)}}
@media(max-width:650px){.cv-section>h2{font-size:38px;margin-bottom:34px}.cv-entry>h3{font-size:27px}.cv-entry .cv-org,.cv-entry .cv-org strong{font-size:20px}.work-section .project-grid{gap:70px}.work-section .project-card.featured .project-image{aspect-ratio:4/3}.project-image:before{width:44px;height:44px;right:12px;bottom:12px;opacity:1;translate:0 0}.resource-art{height:230px}}
@media(prefers-reduced-motion:reduce){.project-image img,.project-image:hover img{transform:none!important;scale:1!important}.project-image:before{transition:none}.motion-ready .project-card.motion-reveal{transform:none!important}}

/* Revision 12 — editorial / warm monochrome. */
:root{--paper:#f1f0ea;--ink:#262722;--muted:#60615a;--line:#cfcec5;--accent-ink:#97472f;--accent-queer:#97472f;--gutter:6vw}body{background:var(--paper);color:var(--ink)}.site-header{background:#f1f0eaed;border-bottom:1px solid var(--line);padding-top:20px;padding-bottom:20px;min-height:86px}.brand{color:var(--ink);font-weight:450}.brand img{filter:none;mix-blend-mode:multiply}.brand-dot,nav a[aria-current=page]{color:var(--accent-ink)}nav a:after{background:var(--accent-ink)}nav a{font-weight:400}.hero{background:transparent;padding-top:150px;min-height:860px}.hero-top .eyebrow,.hero-top span:last-child,.hero .role,.hero-bottom{color:var(--muted)}.hero-top{border-bottom:1px solid var(--line);padding-bottom:22px}.hero-grid{padding:60px 0 65px;min-height:580px}.hero-grid>div:first-child{max-width:100%}.hero .hero-manifesto{font-weight:400;font-size:clamp(60px,7.9vw,126px);line-height:1.035;letter-spacing:-.065em;max-width:1100px}.hero-manifesto>span:last-child{color:var(--ink)}.hero .role{font-size:18px;margin-top:32px}.hero-art{width:54%;height:510px!important;top:110px!important;right:-10vw;opacity:.5;mask-image:linear-gradient(90deg,transparent,#000 25%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%)}.hero .button,.hero .text-link{color:var(--ink);border-color:#8a8b81}.hero-bottom{border-top:1px solid var(--line);padding-top:22px}.hero-bottom a{color:var(--accent-ink)}.button:hover,.text-link:hover{color:var(--accent-ink)}
h1,h2,h3,.page-heading h1,.section-head h2,.service h2,.resource h2{font-weight:450;letter-spacing:-.045em}.section{padding:120px 0}.section-head{margin-bottom:65px}.section-head .eyebrow,.page-heading .eyebrow{color:var(--muted)}.section-head h2,.about-strip h2{font-size:clamp(38px,4.2vw,64px);line-height:1.12;font-weight:450}.section-head>p,.service p,.about-strip p,.page-heading .lead,.resource p,.resource-unavailable,.resource-intro,.article-flow p,.article-flow blockquote{color:var(--muted)}.service{border-top:1px solid var(--line)}.service-number,.service:nth-child(2) .service-number,.service:nth-child(3) .service-number{color:var(--muted)}.service h2{font-weight:450;font-size:30px;line-height:1.2}.service-art,.service:nth-child(2) .service-art,.service:nth-child(3) .service-art{color:var(--ink);filter:none}.service-art svg [stroke="#4b35ed"]{stroke:var(--accent-ink)}.service-art svg [fill="#4b35ed"]{fill:var(--accent-ink)}.service-art svg [fill="#f3f1e9"]{fill:var(--paper)}
.work-section{background:#e6e5dd;color:var(--ink)}.work-section .section-head h2{font-size:clamp(44px,5.5vw,82px);font-weight:400}.work-section .eyebrow,.work-section .section-head>p,.work-section .project-description,.work-section .project-type{color:var(--muted)}.work-section .project-meta h3,.work-section .button{color:var(--ink)}.work-section .project-grid{gap:85px 6vw}.project-meta h2,.project-meta h3{font-weight:450;font-size:30px}.project-image{background:#d2d1c9}.project-image:before{background:var(--paper);color:var(--ink);border-radius:0;width:48px;height:48px;font-size:25px}.project-image img{filter:saturate(.65)}.project-image:hover img{filter:saturate(1)}.project-description{max-width:60ch}.project-type{font-weight:400}.about-strip{gap:10vw}.about-strip h2{font-style:normal}.portrait-halo{overflow:visible;isolation:isolate;perspective:1200px;--portrait-rx:0deg;--portrait-ry:0deg}.portrait-halo>img{height:540px!important;object-position:center;filter:grayscale(1) contrast(1.07)!important;border-radius:0;transform:rotateX(var(--portrait-rx)) rotateY(var(--portrait-ry))!important;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter 1s;box-shadow:0 20px 45px #26272212}.portrait-halo:hover>img,.portrait-halo:focus-visible>img{transform:rotateX(var(--portrait-rx)) rotateY(var(--portrait-ry))!important;filter:grayscale(1) contrast(1.14)!important}.portrait-halo:before{inset:18px -18px -18px 18px;background:none;border:1px solid #929489;filter:none;opacity:.6;transform:none;transition:transform .8s;z-index:-1}.portrait-halo:after{inset:0;border:0;background:linear-gradient(115deg,transparent 30%,#ffffff35 48%,transparent 66%);mix-blend-mode:screen;transform:translateX(-85%);opacity:0;transition:transform 1.5s,opacity .4s;z-index:2;clip-path:inset(0)}.portrait-halo:hover:before{opacity:.6;transform:translate(-6px,-6px)}.portrait-halo:hover:after,.portrait-halo:focus-visible:after{transform:translateX(20%);opacity:1}.about-page .portrait-frame{top:145px}.page-heading{padding-top:160px;margin-bottom:30px}.page-heading h1{font-size:clamp(60px,8vw,120px);font-weight:400}.article-row h3{font-weight:450}.article-row .eyebrow{color:var(--muted)}.article-row:hover .arrow,.article-carousel .arrow{color:var(--accent-ink)}.article-carousel{scrollbar-color:#929489 #e4e3db}.carousel-controls button{border-color:#929489}.carousel-controls button:hover{background:var(--ink);color:var(--paper)}.resource{border-color:var(--line)}.resource h2{font-weight:450}.resource>span{color:var(--muted)}.resource-art{color:var(--ink);filter:none}.resource-art [stroke="#4b35ed"],.resource:nth-child(3n+1) .resource-art [stroke="#4b35ed"],.resource:nth-child(3n+2) .resource-art [stroke="#4b35ed"]{stroke:var(--accent-ink)}.resource-art [fill="#4b35ed"],.resource:nth-child(3n+1) .resource-art [fill="#4b35ed"],.resource:nth-child(3n+2) .resource-art [fill="#4b35ed"]{fill:var(--accent-ink)}.resource-art [fill="#f3f1e9"]{fill:var(--paper)}.filter-bar button{color:var(--muted)}.filter-bar button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}.cv-section>h2,.cv-section:nth-child(2)>h2,.cv-section:nth-child(3)>h2{color:var(--ink);border-color:#8a8b81;font-size:clamp(36px,4vw,56px);font-weight:450;letter-spacing:-.045em;border-width:1px}.cv-entry{border-color:var(--line)}.cv-entry>h3{font-weight:550;color:var(--ink);font-size:clamp(26px,2.5vw,34px)}.cv-entry .cv-org,.cv-entry .cv-org strong{color:var(--accent-ink);font-weight:500;font-size:20px}.cv-entry .cv-date{color:var(--muted);border-color:#a0a195;font-size:16px}.cv-entry>p:not(.cv-date):not(.cv-org),.cv-entry>ul{color:var(--muted)}.cv-entry strong{color:var(--ink);font-weight:550}.cv-nav a{color:var(--muted);border-color:var(--line)}.cv-nav a:hover{color:var(--ink)}.article-flow strong{color:var(--ink)}.article-flow blockquote{border-color:var(--accent-ink)}.search{color:var(--ink);border-color:#8a8b81}.search::placeholder{color:var(--muted)}.source-line,.notice{color:var(--muted)}.site-footer{background:#262722;color:#f1f0ea}.site-footer .footer-top p,.site-footer .footer-top p span{color:#f1f0ea;font-weight:400;font-size:clamp(42px,6vw,86px);letter-spacing:-.05em}.site-footer a:hover{color:#fff}.site-footer .footer-bottom,.site-footer .footer-copyright,.site-footer .note-button{color:#c5c6bc}dialog{background:var(--paper);color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible{outline-color:var(--accent-ink)}::selection{background:#d8bcac;color:#262722}
@media(min-width:851px){.work-section .project-card:not(.featured):last-child{margin-top:80px}}
@media(max-width:850px){nav{background:var(--paper)}.hero .hero-manifesto{font-size:clamp(50px,8.5vw,80px)}.hero-art{width:90%;right:-28vw;top:180px!important}.hero-grid{min-height:700px}.portrait-halo>img{height:460px!important}.section{padding:90px 0}}
@media(max-width:650px){.site-header{min-height:84px}.hero{padding-top:125px;min-height:0}.hero-grid{padding:45px 0 350px;min-height:730px}.hero .hero-manifesto{font-size:clamp(43px,11vw,68px);line-height:1.08}.hero-art{top:310px!important;right:-22vw;width:120%;height:390px!important;opacity:.65}.hero .role{font-size:18px;margin-top:28px}.hero-bottom{font-size:14px}.service h2{font-size:30px}.portrait-halo>img{height:420px!important}.portrait-halo:before{inset:12px -12px -12px 12px}.page-heading{padding-top:135px}.page-heading h1{font-size:60px}.section-head h2,.about-strip h2{font-size:38px}.cv-section>h2{font-size:36px}.cv-entry>h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.portrait-halo>img,.portrait-halo:hover>img{transform:none!important}.portrait-halo:after{display:none}.portrait-halo:before{transition:none;transform:none!important}}

/* Revision 13 — DARK MATTER / spatial type, restrained light. */
@font-face{font-family:'Space Grotesk';src:url('assets/fonts/SpaceGrotesk.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
:root{--paper:#0d0d10;--ink:#eeeef0;--muted:#b2b2bc;--line:#33333c;--accent-ink:#c7c3ff;--accent-queer:#c7c3ff;--font-display:'Space Grotesk','Inter Variable',sans-serif}body{background:var(--paper);color:var(--ink)}.site-header{background:#0d0d10eb;border-color:#ffffff16}.brand{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:-.04em;color:var(--ink);gap:0}.brand img,.brand-dot{display:none}.brand>span{white-space:nowrap}nav{color:var(--ink)}nav a[aria-current=page]{color:var(--accent-ink)}nav a:after{background:var(--accent-ink)}.hero{background:radial-gradient(ellipse at 88% 56%,#c7c3ff08,transparent 62%);padding-top:145px;min-height:850px}.hero-top{border-color:var(--line)}.hero-top .eyebrow,.hero-top span:last-child,.hero .role,.hero-bottom{color:var(--muted)}.hero .hero-manifesto{font-family:var(--font-display);font-weight:600;font-size:clamp(58px,7.7vw,118px);line-height:1.015;letter-spacing:-.065em;max-width:1100px}.hero-manifesto>span:last-child{color:var(--ink)}.hero-art{width:59%;height:600px!important;right:-8vw;top:60px!important;opacity:.95;mask-image:linear-gradient(90deg,transparent,#000 25%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%)}.hero .button,.hero .text-link{color:var(--ink);border-color:#757580}.hero-bottom{border-color:var(--line)}.hero-bottom a{color:var(--accent-ink)}h1,h2,h3,.page-heading h1,.section-head h2,.about-strip h2,.service h2,.resource h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.045em}.section-head h2,.about-strip h2{line-height:1.08}.page-heading h1{font-weight:500}.section-head .eyebrow,.page-heading .eyebrow,.section-head>p,.service p,.about-strip p,.page-heading .lead,.resource p,.resource-unavailable,.resource-intro,.article-flow p,.article-flow blockquote{color:var(--muted)}.service{border-color:var(--line)}.service-number{display:none}.service-art{margin:15px 0 30px}.service-art,.service:nth-child(2) .service-art,.service:nth-child(3) .service-art{color:var(--ink);filter:none}.service h2{font-family:var(--font-display);font-weight:500}.service-art svg [stroke="#4b35ed"]{stroke:var(--accent-ink)}.service-art svg [fill="#4b35ed"]{fill:var(--accent-ink)}.service-art svg [fill="#f3f1e9"]{fill:var(--paper)}.work-section{background:#141419;color:var(--ink);border-top:1px solid #ffffff0c;border-bottom:1px solid #ffffff0c}.work-section .section-head h2{font-family:var(--font-display);font-weight:500}.work-section .eyebrow,.work-section .section-head>p,.work-section .project-description,.work-section .project-type{color:var(--muted)}.work-section .project-meta h3,.work-section .button{color:var(--ink)}.project-meta h2,.project-meta h3{font-family:var(--font-display);font-weight:500}.project-image{background:#222228}.project-image:before{background:var(--ink);color:#141419}.project-image img{filter:saturate(.8)}.portrait-halo{--lens-x:55%;--lens-y:40%;isolation:isolate}.portrait-halo>img{box-shadow:none;filter:grayscale(1) contrast(1.08)!important}.portrait-halo:before{border-color:#888897;opacity:.5}.portrait-halo:after{background:linear-gradient(115deg,transparent 38%,#c7c3ff30 50%,transparent 62%)}.portrait-lens{position:absolute;inset:0;display:block;z-index:2;pointer-events:none;opacity:0;mask-image:radial-gradient(circle 105px at var(--lens-x) var(--lens-y),#000 70%,transparent 100%);-webkit-mask-image:radial-gradient(circle 105px at var(--lens-x) var(--lens-y),#000 70%,transparent 100%);transition:opacity .5s;transform:rotateX(var(--portrait-rx)) rotateY(var(--portrait-ry))}.portrait-lens img{width:100%!important;height:100%!important;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.4) brightness(1.3)!important;transform:none!important}.portrait-halo:hover .portrait-lens{opacity:.8}.portrait-halo:focus-visible .portrait-lens{opacity:.8}.article-row .eyebrow{color:var(--muted)}.article-row:hover .arrow,.article-carousel .arrow{color:var(--accent-ink)}.article-carousel{scrollbar-color:#737180 #222228}.carousel-controls button{border-color:#737180}.carousel-controls button:hover{background:var(--ink);color:var(--paper)}.resource{border-color:var(--line)}.resource>span{color:var(--muted)}.resource-art{color:var(--ink)}.resource-art [stroke="#4b35ed"],.resource:nth-child(3n+1) .resource-art [stroke="#4b35ed"],.resource:nth-child(3n+2) .resource-art [stroke="#4b35ed"]{stroke:var(--accent-ink)}.resource-art [fill="#4b35ed"],.resource:nth-child(3n+1) .resource-art [fill="#4b35ed"],.resource:nth-child(3n+2) .resource-art [fill="#4b35ed"]{fill:var(--accent-ink)}.resource-art [fill="#f3f1e9"]{fill:var(--paper)}.filter-bar button{color:var(--muted)}.filter-bar button[aria-pressed=true]{color:var(--ink);border-color:var(--accent-ink)}.cv-section>h2,.cv-section:nth-child(2)>h2,.cv-section:nth-child(3)>h2{font-family:var(--font-display);color:var(--ink);border-color:var(--line);font-weight:500}.cv-entry{border-color:var(--line);padding-left:76px}.cv-entry>h3{color:var(--ink);padding-right:0;font-family:var(--font-display);font-weight:500}.cv-entry>figure,.cv-entry:first-child>figure{left:0;right:auto;top:38px;width:46px;max-width:46px}.cv-entry:first-child>figure{top:6px}.cv-entry>figure img{width:44px;max-width:44px;max-height:44px;object-fit:contain;opacity:1;filter:grayscale(1);background:#ffffffde;padding:5px}.cv-entry .cv-org,.cv-entry .cv-org strong{color:var(--accent-ink);font-size:20px;font-weight:500}.cv-entry .cv-date{color:var(--muted);border-color:#777784}.cv-entry>p:not(.cv-date):not(.cv-org),.cv-entry>ul{color:var(--muted)}.cv-entry strong{color:var(--ink)}.cv-nav a{color:var(--muted);border-color:var(--line)}.cv-nav a:hover{color:var(--ink)}#cv-2,#cv-3{padding-bottom:40px}#cv-2>h2,#cv-3>h2{font-size:32px;margin-bottom:18px}#cv-2 .cv-entry{padding:18px 0}#cv-2 .cv-entry>h3{font-size:22px;margin-bottom:8px}#cv-2 .cv-entry .cv-org{font-size:18px;margin-bottom:5px}#cv-2 .cv-entry .cv-date{margin:0;border:0;padding:0;font-size:16px}#cv-3 .cv-entries{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}#cv-3 .cv-entry{padding:18px 0}#cv-3 .cv-entry>h3{font-size:22px;margin-bottom:8px}#cv-3 .cv-entry .cv-org{font-size:18px;margin-bottom:0}.article-flow strong{color:var(--ink)}.article-flow blockquote{border-color:var(--accent-ink)}.search{color:var(--ink);border-color:#757580}.search::placeholder{color:var(--muted)}.source-line,.notice{color:var(--muted)}.site-footer{padding:30px var(--gutter);background:var(--paper);border-top:1px solid var(--line);color:var(--muted)}.footer-top{display:none}.site-footer .footer-bottom{padding:0;margin:0;border:0;color:var(--muted);font-size:16px}.site-footer .footer-copyright,.site-footer .note-button{color:var(--muted)}dialog{background:#18181f;color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible{outline-color:var(--accent-ink)}::selection{background:#c7c3ff;color:#0d0d10}
@media(min-width:851px){.hero~.section>.container>.section-head,.hero~.section>.container.about-strip>div,.hero~.section .services .service-art{translate:0 var(--section-drift,0px)}}
@media(max-width:850px){nav{background:var(--paper)}.brand{font-size:20px}.hero .hero-manifesto{font-size:clamp(50px,8.3vw,80px)}.hero-art{width:100%;right:-28vw;top:170px!important;height:550px!important}.cv-entry{padding-left:65px}.cv-entry>figure{width:40px;max-width:40px}.cv-entry>figure img{width:38px;max-width:38px}}
@media(max-width:650px){.brand{font-size:19px}.hero .hero-manifesto{font-size:clamp(42px,10.7vw,65px)}.hero-art{top:290px!important;right:-26vw;width:135%;height:470px!important}.hero-grid{padding-bottom:390px;min-height:780px}.hero-top{padding-bottom:18px}.cv-entry{padding-left:54px}.cv-entry>figure,.cv-entry:first-child>figure{top:38px;max-width:34px}.cv-entry:first-child>figure{top:7px}.cv-entry>figure img{width:32px;max-width:32px;max-height:32px;padding:3px}#cv-2>h2,#cv-3>h2{font-size:30px}#cv-3 .cv-entries{grid-template-columns:1fr;gap:0}#cv-3 .cv-entry{display:flex;justify-content:space-between;gap:18px;align-items:baseline}#cv-3 .cv-entry>h3{font-size:22px}.site-footer .footer-bottom{gap:20px}.portrait-lens{display:none}}
@media(prefers-reduced-motion:reduce){.hero~.section>.container>.section-head,.hero~.section>.container.about-strip>div,.hero~.section .services .service-art{translate:none!important}.portrait-lens{display:none}}

/* Revision 14 — brighter violet, conceptual project plates, single-column portfolio. */
:root{--accent-ink:#ad86ff;--accent-queer:#ad86ff}.cv-entry{padding-left:0}.cv-entry>figure{display:none}.cv-entry>h3{padding-right:0}.project-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:100px;max-width:1120px;margin-inline:auto}.project-stack>.project-card{margin:0!important;grid-column:auto!important}.project-stack .project-image{aspect-ratio:1200/680;width:100%;max-height:none}.project-stack .project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-top:28px}.project-stack .project-meta h2{font-size:clamp(30px,3.5vw,48px);margin:0}.project-stack .project-type{margin-top:0;flex-shrink:0}.project-stack .project-description{max-width:75ch;margin-top:22px}.project-image img{filter:none!important}.resource-art{margin-top:25px}.work-section a:focus-visible,.site-footer a:focus-visible,.site-footer button:focus-visible{outline-color:var(--accent-ink)}::selection{background:#ad86ff;color:#0d0d10}
@media(max-width:850px){.cv-entry{padding-left:0}.project-stack{gap:75px}.project-stack .project-meta{display:block}.project-stack .project-type{margin-top:12px}.project-stack .project-meta h2{font-size:34px}}
@media(max-width:650px){.cv-entry{padding-left:0}.project-stack{gap:60px}.project-stack .project-meta h2{font-size:30px}.project-stack .project-image{aspect-ratio:1200/760}.project-stack .project-image img{object-fit:contain!important;transform:none!important;scale:1!important}}
