:root{color:#122b3b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f3efe5;--paper-light:#faf7ef;--ink:#122b3b;--muted:#58666c;--line:#c9c3b6;--orange:#df572c;--orange-dark:#a93618;--navy:#102a3b;background:#f3efe5;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:linear-gradient(#ffffff21, #ffffff21), var(--paper);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}a{color:inherit}img{max-width:100%;display:block}::selection{color:#fff;background:var(--orange)}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.page-shell{width:min(1160px,100% - 48px);margin-inline:auto}.skip-link{z-index:20;color:#fff;background:var(--navy);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;border-bottom:1px solid var(--line);background:#f3efe5f2;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:28px;min-height:72px;display:flex}.wordmark{align-items:baseline;gap:12px;text-decoration:none;display:flex}.wordmark span{font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:700}.wordmark small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}nav{gap:28px;display:flex}nav a{padding-block:8px;font-size:13px;font-weight:700;text-decoration:none}nav a:hover,.text-link:hover,.project-links a:hover,.contact-links a:hover{color:var(--orange-dark)}.hero{grid-template-columns:minmax(0,1.55fr) minmax(270px,.65fr);align-items:center;gap:clamp(48px,8vw,110px);min-height:calc(100svh - 72px);padding-block:72px;display:grid}.hero-copy{position:relative}.section-label{color:var(--orange-dark);letter-spacing:.11em;text-transform:uppercase;margin:0 0 30px;font-family:Consolas,Courier New,monospace;font-size:12px;font-weight:700}.role{color:var(--muted);letter-spacing:.025em;margin:0 0 24px;font-size:15px;font-weight:700}h1,h2,h3,h4,p{overflow-wrap:break-word}h1,h2{letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{max-width:760px;margin:0;font-size:clamp(52px,7.2vw,88px);line-height:.98}.intro{color:#344b57;max-width:670px;margin:32px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.4vw,26px);line-height:1.45}.hero-actions,.project-links,.contact-links{flex-wrap:wrap;gap:16px 30px;display:flex}.hero-actions{margin-top:36px}.text-link,.project-links a,.contact-links a{border-bottom:1px solid;align-items:center;gap:8px;padding:6px 0;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.text-link.strong{color:var(--orange-dark)}.quick-facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:58px 0 0;display:grid}.quick-facts div{padding:17px 18px 0 0}.quick-facts dt,.quick-facts dd{margin:0}.quick-facts dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:Consolas,Courier New,monospace;font-size:10px}.quick-facts dd{margin-top:6px;font-size:13px;font-weight:700}.portrait{align-self:center;margin:0}.portrait-frame{aspect-ratio:4/5;border:1px solid var(--ink);background:#d9d1c0;position:relative;overflow:hidden}.portrait-frame:before{content:"";z-index:1;pointer-events:none;border:1px solid #ffffff9e;position:absolute;inset:12px}.portrait img{object-fit:cover;filter:saturate(.78)contrast(1.03);width:100%;height:100%}.portrait figcaption{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding-top:10px;font-family:Consolas,Courier New,monospace;font-size:10px;display:flex}.ruled-section{border-block:1px solid var(--line);background:var(--paper-light)}.work-section{padding-block:110px 36px}.section-heading{grid-template-columns:1fr 2fr 1fr;align-items:end;gap:42px;margin-bottom:76px;display:grid}.section-heading .section-label{align-self:start;margin-bottom:0}.section-heading h2{margin:0;font-size:clamp(42px,5vw,64px);line-height:1.02}.section-heading>p:last-child{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.case-study{border-top:1px solid var(--line);grid-template-columns:190px minmax(0,1fr);gap:48px;padding-block:64px 76px;display:grid}.case-index{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;flex-direction:column;align-items:flex-start;gap:7px;font-family:Consolas,Courier New,monospace;font-size:11px;display:flex}.case-index strong{color:var(--orange);margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:54px;font-weight:400;line-height:1}.case-main h3{letter-spacing:-.025em;max-width:820px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4vw,52px);font-weight:400;line-height:1.08}.case-lead{color:#344b57;max-width:800px;margin:24px 0 40px;font-size:18px;line-height:1.65}.case-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.case-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:178px;padding:24px 26px 28px}.case-grid h4{color:var(--orange-dark);letter-spacing:.09em;text-transform:uppercase;margin:0 0 12px;font-family:Consolas,Courier New,monospace;font-size:11px}.case-grid p{color:#384d57;margin:0;font-size:14px;line-height:1.65}.evidence{border:1px solid var(--ink);background:#eee8dc;margin-top:28px}.evidence-topline{border-bottom:1px solid var(--ink);color:var(--muted);letter-spacing:.05em;justify-content:space-between;gap:18px;padding:9px 14px;font-family:Consolas,Courier New,monospace;font-size:10px;display:flex}.scan-row{grid-template-columns:1.25fr repeat(4,1fr);align-items:center;gap:20px;padding:22px 18px;display:grid}.scan-row>div{flex-direction:column;gap:4px;display:flex}.scan-row small{color:var(--muted);text-transform:uppercase;font-size:10px}.scan-row strong{font-family:Consolas,Courier New,monospace;font-size:14px}.barcode{background:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 4px, var(--ink) 4px 5px, transparent 5px 9px);width:100%;height:38px}.terminal-evidence{color:#eaf0eb;background:var(--navy);padding:22px 24px;font-family:Consolas,Courier New,monospace;font-size:13px;line-height:1.8;overflow-x:auto}.terminal-evidence code span{color:#f3a27f;width:170px;display:inline-block}.project-links{margin-top:26px}.experience-section{padding-block:112px}.section-heading.compact{grid-template-columns:.7fr 1.5fr 1fr}.timeline{border-top:2px solid var(--ink)}.timeline article{border-bottom:1px solid var(--line);grid-template-columns:170px 280px 1fr;align-items:start;gap:30px;padding-block:27px;display:grid}.timeline time{color:var(--orange-dark);letter-spacing:.06em;text-transform:uppercase;font-family:Consolas,Courier New,monospace;font-size:11px}.timeline h3,.background-grid h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:21px}.timeline div p,.timeline>article>p{color:var(--muted);margin:5px 0 0;font-size:14px;line-height:1.6}.timeline>article>p{margin-top:0}.background-grid{border:1px solid var(--line);grid-template-columns:1.1fr 1.3fr .8fr;gap:0;margin-top:72px;display:grid}.background-grid>div{border-right:1px solid var(--line);min-height:205px;padding:28px}.background-grid>div:last-child{border-right:0}.background-grid .section-label{margin-bottom:22px}.background-grid p:last-child{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.65}.contact-section{color:#f5f0e6;background:var(--navy);padding-block:104px 112px}.contact-inner{grid-template-columns:1fr 2fr 1fr;align-items:start;gap:42px;display:grid}.contact-inner .section-label{color:#f3a27f}.contact-inner h2{max-width:700px;margin:0;font-size:clamp(42px,5vw,64px);line-height:1.03}.contact-inner>p:not(.section-label){color:#c5d0d4;margin:0;font-size:15px;line-height:1.7}.contact-links{grid-column:2/-1;margin-top:18px}.contact-links a{color:#f5f0e6}footer{color:#c5d0d4;background:var(--navy)}.footer-inner{letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #ffffff2e;justify-content:space-between;gap:18px;padding-block:22px;font-family:Consolas,Courier New,monospace;font-size:10px;display:flex}@media (width<=900px){.hero{grid-template-columns:1fr .55fr;gap:42px}.quick-facts{grid-template-columns:1fr}.quick-facts div{grid-template-columns:120px 1fr;display:grid}.section-heading,.section-heading.compact,.contact-inner{grid-template-columns:1fr 2fr}.section-heading>p:last-child,.contact-inner>p:not(.section-label){grid-column:2}.case-study{grid-template-columns:130px minmax(0,1fr);gap:28px}.timeline article{grid-template-columns:140px 210px 1fr;gap:22px}.background-grid{grid-template-columns:1fr 1fr}.background-grid>div:nth-child(2){border-right:0}.background-grid>div:last-child{border-top:1px solid var(--line);grid-column:1/-1}.contact-links{grid-column:2}}@media (width<=680px){.page-shell{width:min(100% - 32px,1160px)}.header-inner{min-height:62px}.wordmark small,nav a:not(:last-child){display:none}nav{gap:0}.hero{grid-template-columns:1fr;min-height:auto;padding-block:58px 72px}.hero-copy{display:contents}.hero .section-label,.hero .role,.hero h1,.hero .intro,.hero .hero-actions{grid-column:1}.portrait{grid-row:5;width:min(100%,310px);margin-top:6px}.quick-facts{grid-row:7;margin-top:24px}.work-section,.experience-section,.contact-section{padding-block:76px}.section-heading,.section-heading.compact,.contact-inner{grid-template-columns:1fr;gap:20px;margin-bottom:52px}.section-heading .section-label,.contact-inner .section-label{margin-bottom:10px}.section-heading>p:last-child,.contact-inner>p:not(.section-label),.contact-links{grid-column:1}.case-study{grid-template-columns:1fr;gap:24px;padding-block:48px 60px}.case-index{grid-template-columns:auto 1fr;align-items:end;display:grid}.case-index strong{grid-row:1/3;margin:0 18px 0 0}.case-grid{grid-template-columns:1fr}.case-grid>div{min-height:0}.scan-row{grid-template-columns:1fr 1fr}.barcode{grid-column:1/-1}.terminal-evidence code span{width:150px}.timeline article{grid-template-columns:1fr;gap:8px}.timeline>article>p{margin-top:7px}.background-grid{grid-template-columns:1fr}.background-grid>div,.background-grid>div:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.background-grid>div:last-child{border-top:0;border-bottom:0;grid-column:auto}.footer-inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
