@font-face{font-family:Plex;src:url(assets/regular.ttf)}@font-face{font-family:Plex;src:url(assets/bold.ttf);font-weight:700}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#071c19;color:#f8f7f2;font:16px/1.75 Plex,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#a7e3ca}a:focus-visible,summary:focus-visible{outline:2px solid #c9aa71;outline-offset:5px}.wrap{width:min(1190px,calc(100% - 96px));margin-inline:auto}.top{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b4ddca26}.top img{display:block}.top nav{display:flex;gap:clamp(12px,4vw,45px);font-size:15px}.skip{position:fixed;top:0;right:10px;background:#fff;color:#071c19;z-index:3;transform:translateY(-110%)}.skip:focus{transform:none}.hero{display:grid;grid-template-columns:1fr 1.14fr;align-items:center;gap:42px;min-height:650px;padding-block:32px}.eyebrow{font:600 11px/1.5 Consolas,monospace;letter-spacing:.19em;color:#9cccb8;text-align:right;margin:0 0 20px}h1,h2{line-height:1.04;letter-spacing:-.025em;margin:0;font-weight:700}h1{font-size:clamp(58px,8.7vw,121px)}h1 span{color:#c9aa71}.role{font-weight:700;font-size:clamp(18px,2vw,25px);margin:22px 0 6px}.lead{color:#b6cec3;max-width:40ch;font-size:18px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;gap:20px;align-items:center;padding:10px 17px;background:#f8f7f2;color:#073b31;font-weight:700;border:1px solid #f8f7f2}.btn:hover{background:#bfe5d1;color:#073b31}.plain{border-bottom:1px solid #8fbfa8;padding-block:3px}.stage{height:clamp(430px,49vw,565px);position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 48% 55%,#0c6954,#10372e 49%,#071c19 76%);border:1px solid #89c8a83b}.grid,.halo,#portal{position:absolute;inset:0;width:100%;height:100%}.grid{background:linear-gradient(#a7d4bf13 1px,transparent 1px),linear-gradient(90deg,#a7d4bf13 1px,transparent 1px);background-size:37px 37px;mask-image:radial-gradient(ellipse,#000,transparent 84%)}.halo{border:1px solid #93cbb94a;border-radius:50%;inset:10% 12%;transform:rotate(-32deg)}.gate{position:absolute;inset:13% 15%;width:70%;height:66%;opacity:.63}.stage.rendered .gate{visibility:hidden}.portrait{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:74%;height:83%;object-fit:contain;object-position:bottom;filter:drop-shadow(12px 3px 32px #071c1980)}.stage-label{display:flex;justify-content:space-between;position:absolute;inset:auto 0 0;background:linear-gradient(transparent,#071c19 90%);padding:35px 19px 13px;color:#c7dece;font:11px Consolas,monospace;letter-spacing:.16em}.strip{border-block:1px solid #b4ddca26}.strip div{display:flex;justify-content:space-between;gap:15px;padding-block:18px;color:#b2d5c4;font:11px Consolas,monospace;letter-spacing:.13em}.work,.contact{padding-block:96px}h2{font-size:clamp(42px,6.5vw,81px)}.cases{margin-top:36px;border-top:1px solid #b4ddca40}.cases details{border-bottom:1px solid #b4ddca40}.cases summary{display:grid;grid-template-columns:56px 1fr 22px;align-items:center;gap:15px;cursor:pointer;padding:20px 0;list-style:none}.cases summary::-webkit-details-marker{display:none}.cases summary::after{content:'+';color:#b5dac9;font-size:25px}.cases details[open] summary::after{content:'−'}.cases strong{font-size:clamp(21px,3vw,32px)}.cases small{display:block;color:#9cccb8;font:11px Consolas,monospace;letter-spacing:.12em}.num{color:#d6bb85;font:14px Consolas,monospace}.cases details p{margin:0 71px 21px 20px;color:#bfd7cb}.bio{background:#f8f7f2;color:#102f2c;padding-block:85px}.bio-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.bio .eyebrow{color:#08634f}.bio p:not(.eyebrow){font-size:19px}.chips{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0}.chips li{border:1px solid #8fbfa8;padding:3px 10px;font:13px/2 Arial,sans-serif}.email{text-align:right;color:#b6cec3;overflow-wrap:anywhere}.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #b4ddca26;padding-block:20px;color:#b6cec3;font-size:13px}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.top{height:72px}.top img{width:96px}.top nav{font-size:13px}.hero{grid-template-columns:1fr;gap:32px;padding-block:42px 20px}.stage{height:460px;max-height:112vw}.strip div{font-size:9px;letter-spacing:0}.bio-grid{grid-template-columns:1fr;gap:20px}.work,.contact,.bio{padding-block:58px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:30px 0}.projects a{border:1px solid #b4ddca40;padding:23px;background:#10332b}.projects a:hover{background:#16463a;color:#f8f7f2}.projects h3{text-align:right;margin:8px 0;font-size:22px;overflow-wrap:anywhere}.projects small,.projects span{color:#a7e3ca;font-size:12px}.projects p{color:#c4d7ce}.github{display:inline-block}@media(max-width:760px){.projects{grid-template-columns:1fr}.top nav{gap:10px}}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.14fr)}h1{font-size:clamp(52px,7vw,99px)}.portrait{mask-image:radial-gradient(ellipse 55% 78% at 50% 37%,black 74%,transparent 100%)}@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}h1{font-size:clamp(45px,12vw,77px)}.top img{width:85px}.top nav{gap:8px;font-size:12px}}
.stage{background:radial-gradient(ellipse at 50% 48%,#0e5848,#0c2b25 48%,#071c19 79%)}.stage-label span:first-child{color:#d7bb83}.blueprint{padding-block:80px;border-block:1px solid #b4ddca40;background:#0c2823}.flow{margin-top:30px;background:#091d19;border:1px solid #8fbfa855;padding:clamp(14px,4vw,32px)}.flow fieldset{border:0;padding:0;margin:0;min-width:0}.flow legend{color:#bad7cb;margin-bottom:12px}.flow input{position:absolute;opacity:0}.flow label{display:inline-block;padding:6px 12px;margin:3px;border:1px solid #8fbfa86b;cursor:pointer}.flow input:focus-visible+label{outline:2px solid #d7bb83;outline-offset:2px}.flow input:checked+label{background:#f8f7f2;color:#073b31}.pipeline{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin:26px 0}.pipeline span{padding:18px 4px;border:1px solid #8fbfa855;text-align:center;font:700 clamp(9px,2vw,15px)/1.45 Consolas,monospace;color:#bfd7cb}.pipeline i{color:#b69c6d}.flow-copy article{display:none}.flow-copy h3,.flow-copy p{margin:6px 0}.flow-copy p{color:#bfd7cb}#sense:checked~.flow-copy article:nth-child(1),#triage:checked~.flow-copy article:nth-child(2),#respond:checked~.flow-copy article:nth-child(3){display:block}#sense:checked~.pipeline span:nth-of-type(1),#triage:checked~.pipeline span:nth-of-type(2),#respond:checked~.pipeline span:nth-of-type(3){border-color:#d7bb83;background:#17463a;color:#f8f7f2}.contact .actions{row-gap:12px}
.locale{border:1px solid #8fbfa880;padding:1px 7px;white-space:nowrap}.top nav{align-items:center}html[lang=en] .eyebrow,html[lang=en] .email,html[lang=en] .projects h3,html[lang=en] .cases summary{text-align:left}html[lang=en] h1{font-size:clamp(36px,5.7vw,83px)}html[lang=en] .cases details p{margin-inline:71px 20px}@media(max-width:420px){.top img{width:64px}.top nav{gap:6px;font-size:11px}.locale{padding-inline:5px}}
