:root {
  --bg:#e9eae7; --panel:#f6f6f2; --soft:#e0e3df; --ink:#24292c;
  --muted:#596367; --accent:#aa4024; --rule:#c3cac7; --green:#3e6350;
  --shadow:0 2px 2px #26332a08,0 16px 36px #26332a07;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
  --sans:'Helvetica Neue',Arial,sans-serif;
}
:root[data-theme=dark] {
  --bg:#181b1e; --panel:#21262a; --soft:#2a3034; --ink:#eff0e9;
  --muted:#aab4b6; --accent:#f2ab82; --rule:#424d50; --green:#b3d2b7;
  --shadow:0 2px 2px #0002,0 16px 36px #0002;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 var(--sans);background-image:radial-gradient(#7a858114 .7px,transparent .7px);background-size:5px 5px}
body::before{content:'';display:block;height:5px;background:linear-gradient(100deg,#b8d7cd,#d1c1e3 25%,#e4cab6 45%,#aabdc5 65%,#d8e7d7 85%,#d8c8e5)}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:var(--accent)}
button{font:inherit;cursor:pointer}
button:disabled{cursor:default}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:#d7bda8;color:#20282b}
p,h1,h2,h3,h4{margin:0}p+p{margin-top:15px}
.wrap{max-width:1200px;margin:auto;padding:0 40px}
.mono,.eyebrow,.label{font-family:var(--mono)}
.eyebrow,.label{font-size:0.875rem;line-height:1.6;letter-spacing:.07em;text-transform:uppercase}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-80px;background:var(--ink);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:12px}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px 0 23px;border-bottom:1px solid var(--rule)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:0.875rem/1.4 var(--mono);white-space:nowrap}
.brand-mark{font:bold 1.8125rem/1 var(--sans);letter-spacing:-3px;border:1px solid var(--ink);padding:4px 11px 7px 7px;border-radius:2px}
.brand small{display:block;font-size:0.875rem;letter-spacing:1.5px;color:var(--muted);margin-top:3px}
.site-header nav{display:flex;gap:27px;align-items:center;font:0.875rem var(--mono)}
.site-header nav a{text-decoration:none}
.theme{background:var(--panel);border:1px solid var(--rule);box-shadow:0 2px 0 var(--rule);color:var(--ink);padding:9px 12px;border-radius:3px;font:0.875rem var(--mono)}
.theme:hover{border-color:var(--muted)}
.hero{display:grid;grid-template-columns:1.16fr 1fr;gap:clamp(40px,5vw,90px);padding:68px 0 48px;align-items:center}
.hero .eyebrow{margin-bottom:21px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);letter-spacing:.8px}
.status-dot{width:6px;height:6px;background:var(--green);border-radius:50%;display:inline-block;box-shadow:0 0 0 3px #718b7620}
.eyebrow-divider{color:var(--rule)}
h1{font:bold clamp(48px,6.2vw,116px)/1.02 var(--sans);letter-spacing:-.075em;white-space:nowrap}
.name-dot{color:var(--accent)}
.social-links{display:flex;gap:23px;flex-wrap:wrap;margin-top:21px;font:0.875rem var(--mono)}
.social-links a{text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px}
.statement{font-size:clamp(23px,2.1vw,35px);font-weight:500;line-height:1.3;letter-spacing:-.8px;margin:29px 0 21px}
.statement>span{color:var(--muted)}
.intro{font-size:1.125rem;line-height:1.75;max-width:62ch;color:var(--muted)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:13px 17px;border:1px solid var(--rule);box-shadow:0 2px 0 var(--rule);background:var(--panel);color:var(--ink);font:0.875rem var(--mono);text-decoration:none;border-radius:3px;transition:transform .15s}
.button.primary{background:var(--ink);border-color:var(--ink);color:var(--bg);box-shadow:0 2px 0 var(--muted)}
.button:hover{transform:translateY(-2px)}
.availability{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:22px;font-size:0.875rem;color:var(--muted)}
.availability strong{color:var(--green);font-weight:500}
.hero-footnote{font-size:0.875rem;color:var(--muted);margin-top:17px}
.workbench{min-width:0;position:relative;padding:8px 0}
.object-shell{position:relative;border-radius:13px;border:1px solid #b8c1c0;padding:27px 24px 19px;background:linear-gradient(140deg,#fafbf8,#e0e5e2 65%,#edf0ec);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 #c6ceca,0 4px 0 #b6bfbb,var(--shadow);color:#344147}
.object-header{display:flex;justify-content:space-between;align-items:center;font:0.875rem var(--mono);letter-spacing:1.7px;color:#526267;padding:0 7px}
.tiny-cross{font-size:1.25rem;line-height:1;letter-spacing:0}
.screw{position:absolute;display:block;height:7px;width:7px;border-radius:50%;border:1px solid #9aa6a6;background:linear-gradient(135deg,#fff,#bfc8c4);box-shadow:0 1px 1px #788c8922}
.screw::after{content:'';width:4px;height:1px;background:#82938f;position:absolute;left:1px;top:2px;transform:rotate(-35deg)}
.tl{left:12px;top:12px}.tr{right:12px;top:12px}.bl{left:12px;bottom:12px}.br{right:12px;bottom:12px}
.orbital-art{position:relative;margin:8px -9px 2px;isolation:isolate}
.orbit-svg{position:relative;display:block;width:100%;height:auto;overflow:visible}
#signalField{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.6}
.object-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:8px 7px 0;border-top:1px solid #c3cdca}
.object-footer p{font:0.875rem/1.6 var(--mono);color:#56666a}
.motion-switch{border:1px solid #aebbb6;background:#e9eee9;color:#3c4c51;padding:8px 9px;border-radius:3px;font:0.875rem var(--mono);white-space:nowrap;box-shadow:0 1px 0 #aebbb6}
.motion-switch[aria-pressed=true]{background:#d8e0d8}
.motion-switch:disabled{color:#687572;background:transparent;box-shadow:none}
.sound-module{display:flex;align-items:center;gap:15px;margin-top:16px;border:1px solid var(--rule);padding:15px 18px;background:var(--panel);border-radius:5px;box-shadow:inset 0 1px 0 #ffffff22}
.sound-label{display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.sound-label .label{font-size:0.875rem;color:var(--ink);letter-spacing:1.2px}
.sound-label>span:last-child{font-size:0.875rem;color:var(--muted)}
#soundScope{width:100%;min-width:25px;max-width:170px;height:28px;flex:1;margin-left:auto}
.sound-button{display:flex;gap:9px;align-items:center;background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:10px 11px;border-radius:3px;font:0.875rem var(--mono);white-space:nowrap;flex-shrink:0}
.sound-button[aria-pressed=true]{background:var(--soft);color:var(--ink);border-color:var(--rule)}
.play-symbol{font-size:0.875rem}
.bench-caption{display:flex;align-items:center;justify-content:space-between;padding:15px 4px 0;font-size:0.875rem;letter-spacing:1.5px;color:var(--muted)}
.foil-chip{height:14px;width:65px;border-radius:2px;border:1px solid #b8beba;background:linear-gradient(115deg,#b6ded4,#e7daeb,#d9c5f0,#f3d3b9,#a0c6d0,#e0e4bd);transform:rotate(-4deg)}
.belief-strip{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:19px 0;font-size:0.875rem}
.belief-strip p{display:flex;flex-wrap:wrap;gap:8px 25px;font-weight:500}
.belief-strip p span::before{content:'+';color:var(--accent);font:0.875rem var(--mono);margin-right:22px}
.belief-strip>a{font:0.875rem var(--mono);white-space:nowrap;color:var(--muted);text-decoration:none}
.section{padding:77px 0 0}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:28px}
.section-heading .eyebrow{color:var(--accent);margin-bottom:12px}
.section-heading h2{font-size:clamp(27px,2.8vw,45px);font-weight:500;line-height:1.15;letter-spacing:-1.6px}
.section-heading>p{font-size:1rem;color:var(--muted);max-width:320px}
.case{border:1px solid var(--rule);border-radius:4px;margin-bottom:18px;overflow:hidden;background:var(--panel);box-shadow:0 2px 0 #65756a0b}
.case-top{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:44px;padding:34px}
.case-top>div:last-child{max-width:78ch;min-width:0}
.case-id{color:var(--accent);font:0.875rem var(--mono);letter-spacing:1px;margin-bottom:17px}
.case h3{font-size:1.875rem;font-weight:500;line-height:1.1;letter-spacing:-1.2px;margin-bottom:12px}
.role-label{font-size:0.875rem;line-height:1.75;color:var(--muted)}.role-label span{display:block}
.case-links{display:flex;gap:16px;font:0.875rem var(--mono);margin-top:18px}
.case-lead{font-size:1.1875rem;line-height:1.45;letter-spacing:-.4px;margin-bottom:18px;max-width:68ch}
.facts{display:flex;gap:27px;flex-wrap:wrap;margin-top:23px}
.fact strong{display:block;font:1.75rem/1.1 var(--mono);letter-spacing:-1px;color:var(--ink)}
.fact span{display:block;font-size:0.875rem;margin-top:6px;color:var(--muted)}
.case ul{padding-left:17px;margin:0;font-size:1rem;color:var(--muted)}
.case li{padding-left:4px;margin-bottom:11px}.case li:last-child{margin-bottom:0}
.case li::marker{font-size:0.875rem;color:var(--accent)}
.case li strong{font-weight:500;color:var(--ink)}
.flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 34px;background:var(--soft);border-top:1px solid var(--rule);font:0.875rem/1.6 var(--mono);color:var(--muted)}
.flow .arrow{color:var(--accent)}
.case details{border-top:1px solid var(--rule)}
.case summary{padding:16px 34px;cursor:pointer;font:0.875rem/1.6 var(--mono)}
.case summary::marker{color:var(--accent)}
.case details[open] summary{color:var(--accent)}
.detail-content{padding:0 34px 28px;display:grid;grid-template-columns:1fr 1fr;gap:32px;font-size:1rem;color:var(--muted)}
.detail-content h4{font-size:0.875rem;font-weight:500;color:var(--ink);margin-bottom:8px}
.detail-note{font-size:0.875rem}
.background-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:55px}
.history{border-top:1px solid var(--rule)}
.history-row{padding:23px 0;border-bottom:1px solid var(--rule)}
.history-head{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-bottom:7px}
.history h3{font-size:1.125rem;font-weight:500;letter-spacing:-.3px}
.history .date{font:0.875rem var(--mono);color:var(--muted);white-space:normal}
.history .job{font:0.875rem/1.6 var(--mono);color:var(--accent);margin-bottom:11px}
.history p{font-size:1rem;color:var(--muted)}
.practice{align-self:start;background:var(--panel);border:1px solid var(--rule);padding:30px;border-radius:4px;position:relative;box-shadow:var(--shadow)}
.practice::before{content:'';position:absolute;top:-1px;left:30px;width:50px;height:4px;background:var(--accent)}
.practice>.label{font-size:0.875rem;color:var(--accent);margin-bottom:20px}
.practice h3{font-size:1.8125rem;line-height:1.2;letter-spacing:-1px;font-weight:500;margin-bottom:18px}
.practice p{font-size:1rem;color:var(--muted)}
.practice .practice-signoff{font-size:1.1875rem;line-height:1.45;letter-spacing:-.4px;color:var(--ink);border-top:1px solid var(--rule);padding-top:20px;margin-top:22px}
.projects{display:grid;grid-template-columns:repeat(3,1fr);column-gap:28px;row-gap:20px}
.project{border-top:1px solid var(--rule);padding:21px 0 11px}
.project h3{font-size:1.125rem;font-weight:500;letter-spacing:-.4px;margin-bottom:9px}
.project .label{font-size:0.875rem;letter-spacing:.7px;color:var(--accent);margin-bottom:13px}
.project p{font-size:1rem;color:var(--muted);max-width:56ch}
.project>a{display:inline-block;font:0.875rem var(--mono);margin-top:15px}
.education{display:flex;gap:45px;border-top:1px solid var(--rule);padding-top:26px;margin-top:35px}
.education>div{flex:1}
.education h3{font-size:0.875rem;font-weight:500;margin-bottom:7px}
.education p{font-size:1rem;color:var(--muted)}
.personal-section{position:relative;margin-top:30px}
.personal-section::before{content:'';position:absolute;left:0;right:0;top:23px;height:3px;background:linear-gradient(90deg,#b8d7cd,#d1c1e3 25%,#e4cab6 45%,#aabdc5 65%,#d8e7d7 85%,#d8c8e5);opacity:.9}
.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.personal-letter{position:relative;background:var(--panel);border:1px solid var(--rule);box-shadow:var(--shadow);padding:33px 36px 25px;border-radius:3px;transform:rotate(-.55deg)}
.personal-letter::before{content:'';position:absolute;width:89px;height:27px;top:-13px;left:calc(50% - 45px);border:1px solid #acb9b355;background:linear-gradient(105deg,#b6ded4bb,#e7daebbb,#d9c5f0bb,#f3d3b9bb,#a0c6d0bb,#e0e4bdbb);transform:rotate(3deg)}
.letter-top{display:flex;gap:15px;align-items:center;justify-content:space-between;color:var(--muted);margin-bottom:29px}
.letter-top .label{font-size:0.875rem;max-width:250px;letter-spacing:.7px}
.personal-letter h3{font:normal clamp(29px,3vw,43px)/1.2 Georgia,serif;letter-spacing:-1px;margin-bottom:23px}
.personal-letter p{font-size:1rem;line-height:1.8;color:var(--muted);max-width:60ch}
.personal-letter .letter-ending{font-size:1.375rem;line-height:1.5;color:var(--ink);letter-spacing:-.5px;margin:25px 0 18px}
.letter-signature{display:block;text-align:right;font:italic 1.9375rem Georgia,serif;letter-spacing:-1px;margin-top:15px}
.note-heading{display:flex;gap:15px;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.note-heading h3{font-size:1.0625rem;font-weight:500;letter-spacing:-.3px}
.note-heading .label{font-size:0.875rem;color:var(--muted);letter-spacing:1px}
.field-notes dl{margin:0}
.field-notes dl>div{padding:16px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:145px 1fr;gap:19px}
.field-notes dt{font:0.875rem/1.7 var(--mono);color:var(--accent)}
.field-notes dd{margin:0;font-size:1rem;line-height:1.65;color:var(--muted)}
.personal-coda{display:flex;align-items:center;gap:27px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:36px;padding:24px 0}
.asterisk{font:2.5rem/1 var(--sans);color:var(--accent)}
.personal-coda p{max-width:55ch;font-size:1rem;letter-spacing:-.2px}
.personal-coda>.label{margin-left:auto;max-width:180px;font-size:0.875rem;color:var(--muted);text-align:right}
.contact-section{padding:59px 0 49px;display:flex;justify-content:space-between;align-items:center;gap:35px}
.contact-section .eyebrow{font-size:0.875rem;color:var(--accent);margin-bottom:18px}
.contact-section h2{font-size:clamp(32px,3.4vw,52px);font-weight:500;line-height:1.12;letter-spacing:-2px;margin-bottom:20px}
.contact-section p{font-size:1rem;color:var(--muted)}
.contact-section .actions{margin:0;flex-shrink:0}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--rule);padding:22px 0 28px;font:0.875rem var(--mono);color:var(--muted)}
footer a{text-decoration:none}.footer-slash{color:var(--accent);margin:0 7px}
@media screen and (min-width:1024px){.wrap{width:80%;max-width:none;padding-inline:0}}
@media(min-width:1600px){.hero{padding-top:78px;padding-bottom:57px}.object-shell{padding:30px 29px 22px}.case-top{padding:38px}.case-lead{font-size:1.3125rem}.section{padding-top:90px}.personal-grid{gap:70px}}
@media(max-width:1100px){.hero{gap:32px;grid-template-columns:1.05fr 1fr}.object-shell{padding:25px 15px 16px}.object-header{font-size:0.875rem}.sound-module{gap:8px;padding:13px 12px}.sound-label>span:last-child{font-size:0.875rem}.sound-button{padding:9px 8px;font-size:0.875rem}.case-top{grid-template-columns:210px 1fr;gap:26px;padding:28px}.background-grid{gap:30px}.personal-grid{gap:28px}.personal-letter{padding:30px 26px 25px}.field-notes dl>div{grid-template-columns:1fr;gap:6px;padding:13px 0}.belief-strip{align-items:flex-start}.belief-strip p{gap:5px 15px}.belief-strip p span::before{margin-right:12px}.contact-section{align-items:flex-start;flex-direction:column}.site-header nav{gap:19px}}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:36px;padding-top:47px}.hero-copy{max-width:660px}.workbench{width:100%;max-width:600px;justify-self:center}.hero h1{font-size:clamp(49px,10vw,85px)}.statement{font-size:1.8125rem}.intro{max-width:64ch}.belief-strip{flex-direction:column;gap:12px}.projects{grid-template-columns:1fr 1fr}.background-grid{grid-template-columns:1fr}.practice{max-width:none}.personal-grid{grid-template-columns:1fr}.personal-letter{max-width:660px}.field-notes dl>div{grid-template-columns:160px 1fr;gap:20px;padding:16px 0}.personal-coda>.label{display:none}.site-header{flex-wrap:wrap;gap:19px}.site-header nav{gap:23px}.object-footer p{font-size:0.875rem}}
@media(max-width:600px){.wrap{padding:0 22px}.site-header{padding:20px 0 17px}.brand{font-size:0.875rem}.brand-mark{font-size:1.625rem}.brand small{font-size:0.875rem}.site-header nav{width:100%;justify-content:space-between;gap:9px;font-size:0.875rem}.theme{padding:7px 9px;font-size:0.875rem}.hero{padding:35px 0 27px;gap:31px}.hero .eyebrow{font-size:0.875rem;letter-spacing:.25px;gap:6px;margin-bottom:18px}.hero h1{font-size:clamp(43px,11.8vw,69px)}.social-links{margin-top:17px;gap:24px;font-size:0.875rem}.statement{font-size:1.5rem;margin:25px 0 17px;letter-spacing:-.7px}.intro{font-size:1rem}.button{font-size:0.875rem;padding:13px 14px;gap:17px}.actions{gap:10px;margin-top:23px}.availability{flex-direction:column;gap:4px;margin-top:22px;font-size:0.875rem}.hero-footnote{font-size:0.875rem}.workbench{padding:0}.object-shell{padding:25px 15px 16px;border-radius:10px}.object-header{font-size:0.875rem;letter-spacing:.9px}.object-footer{gap:8px;padding-top:11px}.object-footer p{font-size:0.875rem}.motion-switch{font-size:0.875rem;padding:7px}.sound-module{margin-top:14px;gap:8px;padding:12px}.sound-label .label{font-size:0.875rem}.sound-label>span:last-child{font-size:0.875rem}.sound-button{font-size:0.875rem}.bench-caption{font-size:0.875rem;letter-spacing:.8px;padding-top:12px}.foil-chip{width:51px;height:12px}.belief-strip{font-size:0.875rem;padding:16px 0;gap:12px}.belief-strip p{gap:6px 11px}.belief-strip p span::before{margin-right:9px}.belief-strip>a{font-size:0.875rem}.section{padding-top:47px}.section-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:23px}.section-heading .eyebrow{font-size:0.875rem;margin-bottom:10px}.section-heading h2{font-size:1.8125rem;letter-spacing:-1.2px}.section-heading>p{font-size:1rem}.case-top{grid-template-columns:1fr;gap:24px;padding:25px 21px}.case h3{font-size:1.8125rem}.case-id{font-size:0.875rem;margin-bottom:13px}.case-lead{font-size:1.125rem;letter-spacing:-.3px}.case ul{font-size:1rem}.case .facts{gap:24px;margin-top:19px}.fact strong{font-size:1.625rem}.flow{font-size:0.875rem;gap:8px;padding:13px 21px}.case summary{font-size:0.875rem;padding:15px 21px}.detail-content{grid-template-columns:1fr;gap:23px;padding:0 21px 24px;font-size:1rem}.history-head{flex-wrap:wrap;gap:5px}.history h3{font-size:1.0625rem}.history p{font-size:1rem}.history .job{font-size:0.875rem}.practice{padding:27px 23px}.practice h3{font-size:1.6875rem}.practice p{font-size:1rem}.practice .practice-signoff{font-size:1.1875rem}.projects{grid-template-columns:1fr;gap:8px}.project{padding-bottom:22px}.project .label{font-size:0.875rem}.education{flex-direction:column;gap:23px;margin-top:23px}.personal-section{margin-top:22px;padding-top:56px}.personal-section::before{top:18px}.personal-grid{gap:32px}.personal-letter{padding:30px 25px 22px;transform:rotate(-.35deg)}.letter-top{margin-bottom:22px}.letter-top .label{font-size:0.875rem}.personal-letter h3{font-size:1.9375rem}.personal-letter p{font-size:1rem}.personal-letter .letter-ending{font-size:1.3125rem}.note-heading .label{font-size:0.875rem}.note-heading h3{font-size:1rem}.field-notes dl>div{grid-template-columns:1fr;gap:6px;padding:15px 0}.field-notes dt{font-size:0.875rem}.field-notes dd{font-size:1rem}.personal-coda{gap:16px;margin-top:22px;padding:20px 0}.asterisk{font-size:1.9375rem}.personal-coda p{font-size:1rem}.contact-section{padding:36px 0 32px;gap:25px}.contact-section h2{font-size:2.3125rem;letter-spacing:-1.4px}.contact-section p{font-size:1rem}footer{flex-wrap:wrap;gap:13px;font-size:0.875rem;padding:20px 0 25px}footer>span:nth-child(2){display:none}footer>a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.orbital-art{transform:none!important}.button:hover{transform:none}}
@media print{:root{--bg:#fff;--panel:#fff;--soft:#f1f1f1;--ink:#111;--muted:#444;--accent:#333;--rule:#bbb;--green:#333}body{font-size:11pt;background:#fff}body::before,.site-header,.workbench,.actions,.belief-strip,footer,.flow,.skip{display:none}.wrap{width:auto;max-width:none;padding:0}.hero{display:block;padding:0 0 22px}.hero h1{font-size:32pt}.statement{font-size:18pt}.social-links{display:flex}.section{padding-top:24px}.section-heading h2{font-size:22pt}.case{break-inside:avoid;box-shadow:none}.case-top{grid-template-columns:180px 1fr;padding:15px;gap:20px}.case details{display:none}.background-grid,.personal-grid{display:block}.practice,.personal-letter{box-shadow:none;transform:none;margin-top:20px}.projects{grid-template-columns:1fr 1fr}.project{break-inside:avoid}.personal-section::before,.personal-letter::before{display:none}.field-notes{margin-top:25px}.contact-section{padding:25px 0}.contact-section h2{font-size:24pt}@page{margin:16mm}}

/* Readable utility text; controls and captions reflow with the type scale. */
.site-header{position:relative}
.site-header nav a,.social-links a{min-height:36px;display:inline-flex;align-items:center}
.theme,.motion-switch,.sound-button{min-height:44px}
.object-footer{flex-wrap:wrap;gap:14px;padding-top:14px}
.object-footer p{flex:1 1 18rem}
.motion-switch{width:10.5rem;flex-shrink:0;text-align:center}
.sound-module{display:grid;grid-template-columns:minmax(0,1fr) 9.25rem;gap:10px 16px}
.sound-label{white-space:normal;min-width:0}
#soundScope{grid-column:1/-1;grid-row:2;width:100%;max-width:none;height:32px;margin:0}
.sound-button{width:9.25rem;justify-content:center;gap:8px;padding:10px 8px}
.play-symbol{display:inline-block;width:1em;text-align:center;flex-shrink:0}
#soundStatus:not(:empty){grid-column:1/-1;font-size:.875rem;color:var(--accent)}
.bench-caption{gap:16px;letter-spacing:.05em;line-height:1.6}
.foil-chip{flex-shrink:0}
.history-head{flex-wrap:wrap}
.detail-content h4,.education h3{font-size:1rem}
.personal-coda>.label{max-width:260px;letter-spacing:.07em}
footer{flex-wrap:wrap;line-height:1.7}
@media(max-width:1100px){
  .site-header nav{gap:16px}
  .brand small{letter-spacing:.04em}
}
@media(max-width:600px){
  .theme{position:absolute;right:0;top:20px}
  .brand small{letter-spacing:0}
  .site-header nav{gap:12px}
  .hero .eyebrow{line-height:1.6}
  .object-header{letter-spacing:.04em}
  .object-footer p{flex-basis:100%}
  .motion-switch{width:100%}
  .sound-module{column-gap:8px}
  .bench-caption{align-items:flex-start}
  .personal-letter{padding-inline:23px}
  .personal-coda>.label{display:block;text-align:left;margin-left:0;max-width:none}
  .personal-coda{flex-wrap:wrap}
  .personal-coda p{flex:1}
}

/* Career overview first, with room to scan before the technical case studies. */
.capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-block:1px solid var(--rule);padding:28px 0}
.capabilities h2{font-size:1.125rem;font-weight:500;line-height:1.5}
.capabilities p{font:0.875rem/1.7 var(--mono);color:var(--muted);margin-top:8px}
.section{padding-top:clamp(88px,8vw,140px)}
.section-heading{margin-bottom:40px}
.section-heading>p{max-width:40ch}
.history-row{padding:28px 0}
.history-head{margin-bottom:10px}
.history h3{font-size:1.25rem}
.history h3 a{text-decoration:none;border-bottom:1px solid var(--rule)}
.history .job{margin-bottom:14px}
.history p{max-width:70ch}
.practice{padding:36px}
.case{margin-bottom:44px}
.case-top{padding:40px;gap:48px}
.case ul{line-height:1.75}
.case li{margin-bottom:18px}
.case details summary{padding:22px 40px}
.detail-content{padding:8px 40px 36px;gap:40px;line-height:1.75}
.project{padding:28px 0 24px}
.projects{row-gap:28px;column-gap:40px}
.education{padding-top:34px;margin-top:44px}
.architecture{margin:0;padding:28px 40px 34px;background:var(--soft);border-top:1px solid var(--rule)}
.architecture figcaption{margin-bottom:24px}
.architecture figcaption>.label{color:var(--ink)}
.architecture figcaption p{font-size:.875rem;color:var(--muted);max-width:85ch;margin-top:10px}
.capabilities .capability-detail{font:1rem/1.7 var(--sans);max-width:34ch}
.arch-routes{display:grid;gap:28px}
.arch-route{min-width:0}
.arch-route h4{font:500 .875rem/1.6 var(--mono);margin-bottom:14px;color:var(--accent)}
.arch-route ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;margin:0;list-style:none}
.arch-route li{position:relative;border:1px solid var(--rule);background:var(--panel);padding:18px;margin:0;min-width:0;border-radius:3px}
.case .arch-route li{margin:0}
.arch-route li:not(:last-child)::after{content:'→';position:absolute;right:-24px;top:calc(50% - 14px);font:1.25rem/1.4 var(--mono);color:var(--muted)}
.arch-route li strong{display:block;font-size:1rem;font-weight:500;color:var(--ink);margin-bottom:8px;line-height:1.5}
.arch-route li span{display:block;font-size:.875rem;line-height:1.65;color:var(--muted)}
.arch-route li .arch-boundary{font:.875rem/1.6 var(--mono);margin-bottom:14px;color:var(--muted)}
.arch-invariant{border-left:2px solid var(--accent);margin:28px 0 0;padding:4px 0 4px 18px;font-size:.875rem;line-height:1.75;color:var(--muted);max-width:100ch}
.arch-invariant strong{font-weight:500;color:var(--ink)}
.contact-section{padding-block:88px}
@media(max-width:1100px){.case-top{gap:30px;padding:32px}.architecture{padding:28px 32px}.arch-route ol{gap:24px}.arch-route li{padding:15px}.arch-route li:not(:last-child)::after{right:-21px}}
@media(max-width:900px){.capabilities{gap:20px}.arch-route ol{grid-template-columns:1fr;gap:28px}.arch-route li:not(:last-child)::after{content:'↓';top:auto;bottom:-27px;left:calc(50% - 8px);right:auto}.arch-routes{gap:32px}}
@media(max-width:600px){
  .site-header nav{gap:8px}
  .section{padding-top:68px}
  .section-heading{margin-bottom:30px}
  .capabilities{grid-template-columns:1fr;gap:22px;padding:26px 0}
  .capabilities p{margin-top:4px}
  .history-row{padding:25px 0}
  .case{margin-bottom:32px}
  .case-top{padding:28px 22px;gap:28px}
  .case details summary{padding:20px 22px}
  .detail-content{padding:5px 22px 28px;gap:28px}
  .architecture{padding:26px 22px}
  .arch-route li{padding:16px}
  .practice{padding:28px 24px}
  .contact-section{padding-block:56px}
}
@media print{.architecture,.capabilities{display:none}}
