@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#151516;--fg:#f5f3f0;--muted:#b7b5b7;--accent:#e94f55;--line:#39373b;--panel:#211f22;--paper:#eeece8;--ink:#1d1b1e;--font:'Space Grotesk',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.65;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:#151516}.wrap{width:min(1440px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;background:var(--accent);color:#151516;padding:12px;z-index:100}.skip:focus{top:12px}.progress{height:2px;position:fixed;top:0;left:0;width:0;background:var(--accent);z-index:100}.site-header{height:86px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:50;background:var(--bg)}.brand{font-family:var(--font);font-weight:700;font-size:26px;letter-spacing:-2px;display:flex;align-items:center;gap:2px;white-space:nowrap;line-height:1}.brand-dot{color:var(--accent)}.brand-small{font:10px var(--mono);letter-spacing:.04em;margin-left:20px;color:var(--muted)}.nav{display:flex;align-items:center;gap:36px}.nav a{font-size:13px;font-weight:600;transition:color .2s}.nav a:hover,.footer a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:16px}.theme-btn,.menu-btn{border:0;background:none;color:var(--fg);cursor:pointer}.theme-btn{font-size:24px;width:38px;height:38px}.menu-btn{display:none;width:32px;padding:6px 0}.menu-btn span{display:block;height:2px;background:var(--fg);margin:6px 0}.hero{min-height:690px;padding-top:50px;display:flex;flex-direction:column}.hero-meta,.hero-foot,.eyebrow,.overline,.feature-kicker,.feature-index,.case-top,.company-top,.company a,.tags,.cert,.contact-aside,.footer-end,.filter,.under-link,.text-link,.btn,.project-note{font-family:var(--mono);font-size:11px;letter-spacing:.055em}.hero-meta{display:flex;align-items:center;gap:13px;color:var(--muted)}.live-dot{height:7px;width:7px;border-radius:100%;background:var(--accent);box-shadow:0 0 14px #e94f5550}.meta-location{margin-left:auto}.slash{color:var(--accent);padding:0 10px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:24px;align-items:center;flex:1;padding:50px 0 70px}.hero h1{font-family:var(--font);font-size:clamp(48px,6.7vw,114px);line-height:.99;letter-spacing:-.075em;margin:0 0 52px;font-weight:700}.period,.accent{color:var(--accent)}.outline-word{-webkit-text-stroke:1.5px var(--fg);color:transparent}.hero-bottom{max-width:650px;display:flex;align-items:flex-end;gap:40px}.hero-bottom p{max-width:395px;font-size:17px;line-height:1.65;margin:0;color:var(--muted)}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 21px;font-weight:500;transition:transform .25s,background .25s}.btn:hover{transform:translateY(-3px)}.btn-accent{background:var(--accent);color:#151516}.text-link{padding-bottom:6px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;transition:border-color .2s}.text-link:hover{border-color:var(--accent)}.hero-art{height:440px;position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 50%,#42252d 0%,#20191c 43%,#151516 75%)}.hero-art:before,.personal-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:36px 36px}.orbit{position:absolute;border:1px solid #e94f5535;border-radius:50%;aspect-ratio:1}.orbit-one{width:260px;animation:spin 24s linear infinite}.orbit-two{width:390px;animation:spin 35s linear infinite reverse;border-style:dashed}.orbit-three{width:550px}.orbit-one:after{content:"";position:absolute;top:0;left:50%;width:7px;height:7px;background:var(--accent);border-radius:50%}.art-core{width:180px;height:180px;border:1px solid #eaa1a488;border-radius:50%;display:grid;place-items:center;background:#291e22;box-shadow:0 0 80px #e94f550a;z-index:1;transform:rotate(-10deg)}.art-core span{font:700 37px/.98 var(--font);letter-spacing:-.07em}.art-number,.art-caption,.art-cross{position:absolute;font:10px var(--mono);color:#aaa0a4}.art-number{top:20px;left:20px}.art-caption{bottom:20px;right:20px}.art-cross{font-size:20px;color:var(--accent)}.cross-one{top:20%;right:15%}.cross-two{bottom:20%;left:12%}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0;color:var(--muted)}.down-arrow{color:var(--accent);padding-left:8px;font-size:15px}.ticker{overflow:hidden;background:var(--accent);color:#151516;padding:15px 0}.ticker-track{display:flex;gap:45px;width:max-content;align-items:center;white-space:nowrap;animation:ticker 35s linear infinite;font:700 14px var(--font);letter-spacing:-.03em}.ticker-track b{font-size:20px;font-weight:400}.section{padding-top:120px;padding-bottom:120px}.eyebrow{display:flex;align-items:center;gap:30px;color:var(--muted);white-space:nowrap;margin-bottom:60px}.eyebrow .line{flex:1;height:1px;background:var(--line)}h2,h3,p{margin-top:0}h2,h3{font-family:var(--font)}h2{font-size:clamp(40px,5.7vw,86px);line-height:1.06;letter-spacing:-.067em;font-weight:600}h2 em{font-style:normal;color:var(--accent)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.intro h2{margin-bottom:0}.intro-copy{max-width:610px}.intro-copy p,.experience-copy p,.personal-copy p,.contact p{color:var(--muted);line-height:1.85}.intro-copy .large-copy{font-size:clamp(20px,2vw,27px);line-height:1.5;color:var(--fg);font-family:var(--font);letter-spacing:-.025em}.under-link{display:inline-flex;gap:45px;border-bottom:1px solid var(--accent);padding:12px 0;margin-top:18px;color:var(--fg);transition:gap .25s}.under-link:hover{gap:58px}.work-section{background:var(--paper);color:var(--ink);--fg:var(--ink);--muted:#686468;--line:#cac5c3;--accent:#a6333d;--panel:#e0ddda}.section-head{display:flex;align-items:end;justify-content:space-between;gap:80px;margin-bottom:52px}.section-head h2{margin:0}.section-head p{max-width:360px;color:var(--muted);margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter{background:transparent;border:1px solid var(--line);color:var(--fg);padding:12px 17px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.filter:hover{border-color:var(--fg)}.filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter span{opacity:.55;margin-left:8px}.project-feature{display:grid;grid-template-columns:1.35fr 1fr;min-height:440px;border:1px solid var(--line);overflow:hidden;background:#1d1b1e;color:#f5f3f0;--fg:#f5f3f0;--muted:#b7adb1;--accent:#e94f55;--line:#4b4146;transition:opacity .2s}.feature-image{min-width:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#282428}.feature-image img{width:100%;height:100%;object-fit:cover;object-position:top left;position:absolute;inset:0;transition:transform .7s}.project-feature:hover .feature-image img{transform:scale(1.025)}.preview-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:35px;background:radial-gradient(circle at 70% 35%,#9d343b40,transparent 50%),linear-gradient(135deg,#30272b,#1d191c);overflow:hidden}.preview-empty:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 39px,#ffffff08 40px)}.preview-empty span{z-index:1;font:11px var(--mono);color:#c6b9bc;letter-spacing:.07em}.preview-empty strong{z-index:1;font:700 clamp(36px,4.5vw,75px)/.99 var(--font);letter-spacing:-.075em}.preview-empty strong span{color:var(--accent);font:inherit}.feature-info{padding:38px;display:flex;flex-direction:column;justify-content:space-between;gap:45px}.feature-index{color:#b7adb1}.feature-kicker{color:var(--accent);margin-bottom:18px}.feature-info h3{font-size:clamp(34px,3.2vw,55px);line-height:1.07;letter-spacing:-.06em;margin-bottom:20px}.feature-info p{color:#c0b7bb;max-width:410px;line-height:1.75}.feature-meta{display:flex;gap:15px;flex-wrap:wrap;font:10px var(--mono);color:#bbb0b5;margin-top:22px}.feature-meta span{border:1px solid #53484d;padding:8px 10px}.feature-link{display:inline-flex;gap:35px;border-bottom:1px solid var(--accent);padding:10px 0;font:11px var(--mono);color:var(--accent);margin-top:25px}.project-list{margin-top:20px;border-top:1px solid var(--line)}.project-row{width:100%;display:grid;grid-template-columns:65px minmax(0,1.15fr) minmax(0,.9fr) 160px 30px;align-items:center;gap:20px;padding:23px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--fg);text-align:left;cursor:pointer;transition:background .2s,padding .2s}.project-row:hover,.project-row.selected{background:#e5d7d6;padding-left:18px;padding-right:18px}.project-row.selected{box-shadow:inset 3px 0 var(--accent)}.row-num,.row-company,.row-status,.row-arrow{font:10px var(--mono);color:var(--muted)}.row-name{font:600 clamp(18px,2vw,27px)/1.2 var(--font);letter-spacing:-.045em}.row-arrow{font-size:22px;text-align:right;color:var(--fg)}.project-note{color:var(--muted);max-width:820px;margin:25px 0 0;line-height:1.8}.experience-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:85px}.experience-head h2{margin:0}.experience-head h2 span{color:var(--accent)}.experience-head p{max-width:360px;color:var(--muted);margin:0}.experience-lead{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:0 0 70px;border-bottom:1px solid var(--line)}.overline{color:var(--accent)}.experience-lead h3{font-size:clamp(35px,3.6vw,55px);line-height:1.08;letter-spacing:-.055em;margin:24px 0 18px}.muted{color:var(--muted)}.cert{display:inline-block;color:var(--accent);border:1px solid var(--line);padding:9px 12px;margin-top:20px}.case-studies{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.case{padding:50px 50px 55px 0}.case+ .case{border-left:1px solid var(--line);padding-left:50px;padding-right:0}.case-top{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:65px}.case-top span+span{color:var(--accent)}.case h3{font-size:clamp(30px,3vw,46px);line-height:1.13;letter-spacing:-.055em}.case p{color:var(--muted);max-width:530px;line-height:1.8}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}.tags span{border:1px solid var(--line);padding:8px 10px;color:var(--muted)}.experience-bottom{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-top:35px}.experience-bottom p{color:var(--muted);max-width:700px;margin:12px 0 0}.experience-bottom .under-link{flex-shrink:0}.companies{background:#1d1b1e}.companies-title{margin-bottom:55px}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.company{min-height:510px;padding:35px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}.company-mdc{background:#e94f55;color:#ffffff}.company-bigyawn{background:#d1c3df;color:#251d2c}.company:before{content:"";position:absolute;width:330px;height:330px;border:1px solid currentColor;opacity:.1;border-radius:50%;right:-90px;top:50px;box-shadow:0 0 0 65px #ffffff0a,0 0 0 130px #ffffff08}.company-top{display:flex;justify-content:space-between;width:100%;position:relative;z-index:1}.company-top span+span{font-size:20px}.company-mark{font:700 36px var(--font);letter-spacing:-.08em;margin:65px 0 25px;position:relative;z-index:1}.company-mark span{opacity:.45}.company h3{font-size:clamp(36px,4vw,60px);line-height:1.05;letter-spacing:-.065em;margin:0 0 23px;position:relative;z-index:1}.company p{max-width:420px;line-height:1.7;position:relative;z-index:1}.company a{margin-top:auto;display:flex;justify-content:space-between;align-items:center;width:100%;border-top:1px solid currentColor;padding-top:20px;position:relative;z-index:1}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.personal-art{min-height:490px;background:radial-gradient(circle at 50% 40%,#433036,#241c20 65%,#191719);position:relative;overflow:hidden;display:grid;place-items:center;border:1px solid var(--line)}.personal-art-inner{z-index:1;transform:rotate(-8deg);padding:30px}.personal-art-inner>span{font:700 clamp(36px,4.5vw,70px)/1.05 var(--font);letter-spacing:-.07em}.personal-art-inner small{display:block;font:10px var(--mono);color:var(--muted);margin-top:30px}.personal-copy h2{font-size:clamp(35px,4.3vw,65px);margin-bottom:35px}.contact{background:var(--accent);color:#20191c;--fg:#20191c;--muted:#5d4549;--line:#d8a2a4;--accent:#20191c}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12%;align-items:end}.contact h2{font-size:clamp(48px,6.5vw,100px);margin-bottom:35px}.contact h2 em{color:#94333b}.contact p{max-width:620px;color:#5d4549}.email-link{font:600 clamp(18px,2.5vw,35px) var(--font);letter-spacing:-.04em;display:inline-flex;gap:25px;align-items:center;margin-top:35px;border-bottom:2px solid currentColor;padding-bottom:13px;overflow-wrap:anywhere}.email-link span{font-size:23px}.contact-aside{line-height:1.8}.contact-aside>span{font-weight:500}.contact-lines{margin-top:65px}.contact-lines>div{display:flex;flex-direction:column;gap:6px;padding:21px 0;border-top:1px solid var(--line)}.contact-lines span{color:#79575b}.contact-lines strong{font-family:var(--body);font-size:14px;font-weight:500;letter-spacing:0}.contact-lines a{font-size:13px}.footer{padding-top:55px;padding-bottom:50px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.footer p{font-size:12px;color:var(--muted);margin-top:22px}.footer-links{display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:13px}.footer-end{text-align:right;color:var(--muted);align-self:end;line-height:1.7}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
body.light{--bg:#f5f3f0;--fg:#211e21;--muted:#6a6468;--line:#d2ccca;--panel:#e9e4e1;--accent:#a6333d;--paper:#eeece8;--ink:#211c20;color-scheme:light}body.light .hero-art,body.light .personal-art{color:#f5f3f0}body.light .hero-art .accent,body.light .personal-art .accent{color:#e94f55}body.light .hero-art{background:radial-gradient(ellipse at 50% 50%,#493037,#20191c 70%)}body.light .ticker{color:#fff}body.light .company-mdc{background:#f0b5b4}body.light .company-bigyawn{background:#d9cbe7}body.light .contact{--accent:#20191c;background:#ead5d4}body.light .btn-accent{color:#fff}body.light .outline-word{-webkit-text-stroke-color:var(--fg)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes ticker{to{transform:translateX(-50%)}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.site-header{padding:0 32px}.hero-grid{grid-template-columns:1.3fr .7fr}.hero h1{font-size:clamp(48px,6.5vw,85px)}.hero-bottom{flex-direction:column;align-items:flex-start;gap:24px}.hero-actions{flex-direction:row;align-items:center}.hero-art{height:380px}.feature-info{padding:28px}.project-row{grid-template-columns:45px 1fr .8fr 120px 25px;gap:12px}.section{padding-top:90px;padding-bottom:90px}.intro-grid,.personal-grid{gap:6%}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{height:68px;padding:0 18px}.brand{font-size:23px}.brand-small{font-size:9px;margin-left:12px}.menu-btn{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;padding:24px 18px 30px;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav a{padding:14px 0;font-size:16px;border-bottom:1px solid var(--line)}.hero{padding-top:24px;min-height:0}.meta-location{display:none}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding:48px 0 35px;gap:45px}.hero h1{font-size:clamp(44px,9vw,72px);letter-spacing:-.075em;margin-bottom:32px}.hero-bottom{gap:24px}.hero-bottom p{font-size:16px}.hero-actions{flex-wrap:wrap;gap:20px}.btn{padding:15px 17px;font-size:10px}.hero-art{height:260px}.art-core{width:130px;height:130px}.art-core span{font-size:27px}.orbit-one{width:190px}.orbit-two{width:290px}.orbit-three{width:400px}.hero-foot{font-size:9px}.ticker{padding:12px 0}.ticker-track{font-size:11px;gap:24px}.section{padding-top:75px;padding-bottom:75px}.eyebrow{gap:12px;margin-bottom:35px;font-size:9px}.eyebrow>span:last-child:not(.line){display:none}.intro-grid,.experience-lead,.personal-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.intro h2{margin-bottom:0}.intro-copy .large-copy{font-size:20px}.section-head,.experience-head{display:block;margin-bottom:35px}.section-head h2,.experience-head h2{margin-bottom:25px}.section-head p,.experience-head p{max-width:600px}.filters{gap:6px}.filter{padding:10px;font-size:9px}.project-feature{grid-template-columns:1fr}.feature-image{height:265px}.feature-info{min-height:285px;gap:25px;padding:25px}.feature-info h3{font-size:36px;margin-bottom:12px}.preview-empty strong{font-size:45px}.project-row{grid-template-columns:28px 1fr 25px;gap:10px;padding:19px 4px}.row-name{font-size:21px}.row-company,.row-status{display:none}.project-row:hover,.project-row.selected{padding-left:10px;padding-right:10px}.project-note{font-size:10px}.experience-head{margin-bottom:45px}.experience-lead{padding-bottom:45px}.experience-lead h3{font-size:40px}.case-studies{grid-template-columns:1fr}.case,.case+.case{padding:35px 0;border-left:0}.case+.case{border-top:1px solid var(--line)}.case-top{margin-bottom:35px}.case h3{font-size:35px}.experience-bottom{align-items:flex-start;flex-direction:column}.company-grid{grid-template-columns:1fr}.company{min-height:450px;padding:27px}.company-mark{margin:45px 0 20px}.company h3{font-size:47px}.personal-art{min-height:330px}.personal-art-inner>span{font-size:50px}.personal-copy h2{font-size:45px}.contact h2{font-size:55px}.contact-aside{margin-top:25px}.contact-lines{margin-top:25px}.email-link{font-size:22px}.footer{grid-template-columns:1fr 1fr;padding-top:45px}.footer-end{grid-column:1/-1;text-align:left}.reveal{transform:translateY(15px)}}
@media(max-width:380px){.hero h1{font-size:43px}.brand-small{display:none}.hero-actions{align-items:flex-start;flex-direction:column}.feature-image{height:210px}.email-link{font-size:19px}.company h3{font-size:41px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* v0.2 — author gallery and restrained red identity */
.books-section{background:#211e22;color:#f5f3f0;--fg:#f5f3f0;--muted:#b7adb1;--line:#474046;--accent:#e94f55}
.books-head{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:end;margin-bottom:65px}
.books-head h2{margin:0}.books-head p{color:var(--muted);margin:0;max-width:460px}
.book-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.book-entry{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);background:#211e22;min-height:390px}
.book-visual{background:#2d292e;padding:38px;display:grid;place-items:center;position:relative;overflow:hidden}
.book-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#e94f5510,transparent 65%);pointer-events:none}
.book-visual img{display:block;width:auto;max-width:100%;height:auto;max-height:300px;object-fit:contain;box-shadow:15px 22px 35px #0005;position:relative;transform:rotate(-3deg);transition:transform .4s}
.book-entry:nth-child(even) .book-visual img{transform:rotate(3deg)}
.book-entry:hover .book-visual img{transform:rotate(0deg) translateY(-5px)}
.book-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:42px 50px}
.book-meta{font:10px var(--mono);letter-spacing:.055em;color:var(--accent);margin-bottom:22px}
.book-info h3{font-size:clamp(30px,3vw,46px);line-height:1.1;letter-spacing:-.055em;margin:0 0 13px}
.book-subtitle{font-family:var(--font);font-size:17px;line-height:1.5;color:#d2cbd0;margin-bottom:26px}
.book-info .book-description{color:var(--muted);max-width:570px;line-height:1.8;margin-bottom:20px}
.book-formats{font:10px var(--mono);color:#9f959b;margin-bottom:12px}
.book-info .under-link{margin-top:12px}
.books-note{color:var(--muted);font-size:12px;margin:25px 0 0}
@media(max-width:760px){.books-head{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.book-entry{grid-template-columns:1fr}.book-visual{padding:30px;min-height:250px}.book-visual img{max-height:230px}.book-info{padding:28px}.book-info h3{font-size:31px}.book-subtitle{font-size:15px}}

/* v0.3: coherent themes, in-place project details and accessible contact */
.hero-art{--art-bg:#151516;--art-mid:#42252d;--art-edge:#20191c;--art-ring:#e94f5535;--art-core:#291e22;--art-core-border:#eaa1a488;--art-text:#f5f3f0;--art-muted:#aaa0a4;--art-dot:#e94f55;background:radial-gradient(ellipse at 50% 50%,var(--art-mid),var(--art-edge) 47%,var(--art-bg) 82%);color:var(--art-text)}
.hero-art .orbit{border-color:var(--art-ring)}.hero-art .orbit-one:after{background:var(--art-dot)}
.hero-art .art-core{background:var(--art-core);border-color:var(--art-core-border)}
.hero-art .art-core span{color:var(--art-text)}.hero-art .art-number,.hero-art .art-caption{color:var(--art-muted)}.hero-art .art-cross{color:var(--art-dot)}
body.light .hero-art{--art-bg:#ebe6e4;--art-mid:#f3dadd;--art-edge:#eee8e6;--art-ring:#a6333d32;--art-core:#fffaf8;--art-core-border:#b97c84;--art-text:#2a2228;--art-muted:#665b61;--art-dot:#a6333d;background:radial-gradient(ellipse at 50% 50%,var(--art-mid),var(--art-edge) 47%,var(--art-bg) 82%);color:var(--art-text)}
body.light .hero-art .accent{color:var(--art-dot)}
.project-list{margin-top:0}.project-entry{border-bottom:1px solid var(--line)}
.project-entry .project-row{border-bottom:0;scroll-margin-top:20px}
.project-detail{padding:0 0 24px;animation:detail-enter .24s ease-out}
.project-detail .project-feature{border-color:#c4c0bd}
.project-detail-end{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:15px 2px 0;font:10px var(--mono);color:var(--muted)}
.detail-close{border:0;background:none;color:var(--fg);font:10px var(--mono);cursor:pointer;text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.project-hint{font-size:12px;color:var(--muted);margin:24px 0 0}
.feature-image img{object-fit:contain;object-position:center;background:#e9e7e3}
.project-detail .feature-info{min-width:0}
.project-detail .feature-info h3{overflow-wrap:anywhere}
.project-detail .feature-link{max-width:100%;overflow-wrap:anywhere}
.project-detail .feature-meta{line-height:1.6}
@keyframes detail-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.contact{background:#e5e0dc;color:#211e21;--fg:#211e21;--muted:#514a50;--line:#b5aaae;--accent:#a6333d}
.contact .eyebrow,.contact .eyebrow span{color:#514a50}
.contact h2{color:#211e21}.contact h2 em{color:#a6333d}
.contact p{color:#514a50}
.contact .email-link{color:#211e21;border-color:#a6333d}
.contact-aside{color:#211e21}
.contact-aside>span{color:#211e21;font-weight:500}
.contact-lines>div{border-color:#b5aaae}
.contact-lines span{color:#6b5058}
.contact-lines strong,.contact-lines a{color:#211e21}
.contact-lines a{text-decoration:underline;text-decoration-color:#b5aaae;text-underline-offset:4px}
.contact-lines a:hover{color:#a6333d;text-decoration-color:#a6333d}
body.light .contact{background:#e5e0dc;color:#211e21;--fg:#211e21;--muted:#514a50;--line:#b5aaae;--accent:#a6333d}
body.light .contact h2 em{color:#a6333d}
@media(max-width:760px){.project-detail{padding-bottom:18px}.project-detail .feature-image{height:245px}.project-detail-end{gap:8px}.project-entry .project-row{scroll-margin-top:12px}}
@media(prefers-reduced-motion:reduce){.project-detail{animation:none}}

body.light .hero-art .art-core span{color:var(--art-text)}
body.light .hero-art .art-number,body.light .hero-art .art-caption{color:var(--art-muted)}
body.light .hero-art .art-cross{color:var(--art-dot)}

/* v0.4: the earlier career story */
.background-section{border-top:1px solid var(--line)}
.background-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.background-grid h2{margin-bottom:28px}
.background-lead{font-family:var(--font);font-size:clamp(20px,2.1vw,29px);letter-spacing:-.025em;line-height:1.5;max-width:560px;color:var(--fg)}
.background-copy p{color:var(--muted);line-height:1.85}
.background-copy p:first-child{color:var(--fg)}
@media(max-width:760px){.background-grid{grid-template-columns:1fr;gap:25px}.background-lead{font-size:20px}}

/* v0.5: professional positioning and capabilities */
.availability{display:flex;align-items:center;gap:11px;margin:16px 0 0!important;font:11px var(--mono);letter-spacing:.025em;color:var(--fg)!important}
.availability-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}
.capabilities-section{border-top:1px solid var(--line)}
.capabilities-head{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:end;margin-bottom:48px}
.capabilities-head h2{margin:0}.capabilities-head p{max-width:500px;color:var(--muted);margin:0}
.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.capability{padding:35px;min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.capability-num{font:11px var(--mono);color:var(--accent)}
.capability h3{font:600 clamp(24px,2.4vw,35px)/1.18 var(--font);letter-spacing:-.035em;margin:30px 0 14px;max-width:440px}
.capability p{color:var(--muted);max-width:480px;margin-bottom:26px}
.capability .tags{display:flex;flex-wrap:wrap;gap:8px}
.capabilities-cta{display:inline-flex;margin-top:35px}
.contact-action{display:inline-flex;align-items:center;gap:18px;background:#a6333d;color:#fff;padding:15px 20px;font:600 12px var(--font);letter-spacing:.02em;margin:10px 0 20px}
.contact-action:hover{background:#7e2630}.contact-action:focus-visible{outline:3px solid #211e21}
.contact .email-link{display:table}
@media(max-width:760px){.capabilities-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.capability-grid{grid-template-columns:1fr}.capability{padding:25px}.capability h3{margin-top:20px}.availability{font-size:10px;line-height:1.5}}

/* Hero availability layout fix (October 2026): keep the status with the introduction. */
.hero-bottom{max-width:780px;align-items:flex-end;gap:clamp(24px,3vw,46px)}
.hero-intro{flex:1 1 340px;min-width:0;max-width:420px}
.hero-intro>p:first-child{max-width:395px}
.hero-bottom .availability{display:flex;align-items:center;gap:11px;max-width:none;font:500 11px/1.6 var(--mono);letter-spacing:.025em;margin:18px 0 0!important;color:var(--fg)!important}
.hero-actions{flex:0 0 auto}
@media(max-width:1150px){.hero-bottom{align-items:flex-start;gap:24px}.hero-intro{flex:auto;max-width:480px}}
@media(max-width:760px){.hero-bottom{gap:24px}.hero-intro{max-width:100%}.hero-bottom .availability{font-size:10px}}
