@font-face{font-family:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_Fallback_dd5b2f;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_dd5b2f{font-family:__Space_Grotesk_dd5b2f,__Space_Grotesk_Fallback_dd5b2f;font-style:normal}.__variable_dd5b2f{--font-heading:"__Space_Grotesk_dd5b2f","__Space_Grotesk_Fallback_dd5b2f"}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_Fallback_646807;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:__Plus_Jakarta_Sans_646807,__Plus_Jakarta_Sans_Fallback_646807;font-style:normal}.__variable_646807{--font-body:"__Plus_Jakarta_Sans_646807","__Plus_Jakarta_Sans_Fallback_646807"}:root{--bg:#f8fafc;--bg-2:#edf4ff;--panel:#fff;--panel-2:#eff6ff;--ink:#111;--paper-ink:#111;--muted:#5b6170;--line:rgba(216,222,235,.95);--paper-line:rgba(59,78,120,.2);--copper:#ef476f;--acid:#14b8a6;--cyan:#3b82f6;--rose:#ec4899;--moss:#22c55e;--sun:#f59e0b;--radius:10px;--radius-sm:6px;--shadow-hard:10px 10px 0 rgba(59,130,246,.24);--shadow-soft:0 24px 60px rgba(16,24,40,.14)}html[data-theme=dark]{--bg:#0f172a;--bg-2:#111f3b;--panel:#111827;--panel-2:#172033;--ink:#e5e7eb;--paper-ink:#e5e7eb;--muted:#a8b0c4;--line:rgba(229,231,235,.16);--paper-line:rgba(229,231,235,.22);--copper:#fb7185;--acid:#2dd4bf;--cyan:#60a5fa;--rose:#f472b6;--moss:#4ade80;--sun:#fbbf24;--shadow-hard:10px 10px 0 rgba(45,212,191,.18);--shadow-soft:0 24px 60px rgba(0,0,0,.42)}*{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--bg);background:radial-gradient(circle at 88% 10%,rgba(59,130,246,.14),transparent 26rem),radial-gradient(circle at 78% 88%,rgba(20,184,166,.12),transparent 24rem),linear-gradient(145deg,var(--bg),var(--bg-2)),var(--bg);background-attachment:fixed}body,html{overflow-x:clip}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-body),"Helvetica Neue","Segoe UI",sans-serif;color:var(--ink);background:transparent;line-height:1.58;position:relative;isolation:isolate}body:after{content:"DC";position:fixed;right:-.08em;bottom:-.28em;z-index:0;color:rgba(59,130,246,.07);font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:clamp(14rem,31vw,34rem);font-weight:900;line-height:.8;pointer-events:none}a{color:inherit}img{display:block;max-width:100%}.portfolio-shell{width:min(1180px,calc(100% - 2.5rem));margin:0 auto;padding-bottom:2.5rem;position:relative;z-index:1}html[data-theme=dark] body:after{color:rgba(96,165,250,.08)}.story-main{position:relative}.section-interlude{position:relative;margin-top:2.8rem;padding:.95rem 1.1rem;border:2px solid #111;border-radius:var(--radius-sm);color:#111;font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:1.08rem;line-height:1.18;box-shadow:var(--shadow-hard);transform:rotate(-.6deg);overflow:hidden}.section-interlude:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.62}.section-interlude p{margin:0;max-width:56rem}.interlude-origin{background:#fff}.interlude-origin:before{background:repeating-linear-gradient(-45deg,rgba(59,130,246,.17),rgba(59,130,246,.17) 12px,rgba(20,184,166,.11) 0,rgba(20,184,166,.11) 24px)}.interlude-cases{background:#fef3c7;transform:rotate(.9deg)}.interlude-cases:before{background:radial-gradient(circle at 10% 30%,rgba(239,71,111,.2),transparent 22%),radial-gradient(circle at 70% 70%,rgba(59,130,246,.2),transparent 18%)}.interlude-personal{background:#ecfeff;transform:rotate(-.5deg)}.interlude-personal:before{background:linear-gradient(90deg,rgba(20,184,166,.12),transparent 55%)}html[data-theme=dark] .section-interlude{border-color:#94a3b8;color:#e2e8f0}html[data-theme=dark] .interlude-origin{background:#111f3b}html[data-theme=dark] .interlude-cases{background:#292524}html[data-theme=dark] .interlude-personal{background:#0f2f2f}.top-nav{position:-webkit-sticky;position:sticky;top:1rem;z-index:20;margin-top:1rem;padding:.5rem;background:color-mix(in srgb,var(--panel) 90%,transparent);border:1px solid var(--paper-line);border-radius:var(--radius);box-shadow:0 16px 36px rgba(17,24,39,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;justify-content:space-between;gap:1rem}.brand-link,.top-nav{color:var(--paper-ink);align-items:center}.brand-link{display:inline-flex;gap:.6rem;min-height:2.5rem;text-decoration:none;font-family:var(--font-heading),"Avenir Next",sans-serif;font-weight:900;font-size:.95rem}.brand-dot{width:.72rem;height:.72rem;border-radius:999px;background:var(--cyan);border:2px solid var(--paper-ink);box-shadow:3px 3px 0 var(--acid)}.nav-list{margin:0;padding:0;list-style:none;display:flex;gap:.18rem;flex-wrap:wrap}.nav-list a{display:inline-flex;align-items:center;min-height:2.5rem;padding:.42rem .72rem;border:1px solid transparent;border-radius:var(--radius-sm);color:color-mix(in srgb,var(--paper-ink) 72%,transparent);text-decoration:none;font-size:.84rem;font-weight:900;transition:transform .2s ease,background-color .2s ease,color .2s ease}.nav-list a.is-active,.nav-list a:focus-visible,.nav-list a:hover{background:var(--paper-ink);color:var(--panel);outline:none}.nav-toggle{display:none;width:2.55rem;height:2.55rem;border:1px solid var(--paper-line);border-radius:var(--radius);background:transparent;color:var(--paper-ink);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:.25rem;flex:0 0 auto}.nav-toggle span{width:1.05rem;height:2px;border-radius:999px;background:currentColor}.theme-pull{--pull-offset:0px;position:fixed;right:1.25rem;top:0;width:2.5rem;height:7.5rem;z-index:50;border:0;background:transparent;padding:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:-webkit-grab;cursor:grab;touch-action:none}.theme-pull *,.theme-pull :after,.theme-pull :before{pointer-events:none}.theme-pull:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:var(--radius)}.bulb-cord{width:3px;height:calc(3.55rem + var(--pull-offset));transition:height .24s ease}.bulb-cord,.bulb-knob{background:color-mix(in srgb,var(--ink) 62%,transparent)}.bulb-knob{width:.36rem;height:.36rem;border-radius:999px;margin-top:-1px}.bulb-wrap{width:2.45rem;height:2.45rem;position:relative;margin-top:.02rem;transform-origin:top center;animation:bulb-sway 3s ease-in-out infinite;transition:transform .24s ease}.bulb-glow{position:absolute;inset:-1.05rem;border-radius:999px;background:radial-gradient(circle,rgba(245,158,11,.45),transparent 68%);opacity:0;transform:scale(.72);transition:opacity .3s ease,transform .3s ease}.bulb-icon{width:100%;height:100%;transform:rotate(180deg);filter:saturate(.3) brightness(.9);transition:filter .3s ease,transform .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.theme-pull.is-on .bulb-icon{filter:saturate(1.2) brightness(1.1);transform:rotate(185deg)}.theme-pull.is-on .bulb-glow{opacity:1;transform:scale(1)}.theme-pull.is-dragging .bulb-cord,.theme-pull.is-dragging .bulb-wrap{transition:none}.theme-pull.is-dragging{cursor:-webkit-grabbing;cursor:grabbing}.theme-pull.is-dragging .bulb-wrap,.theme-pull.is-releasing .bulb-wrap{animation:none}.theme-pull.is-releasing .bulb-cord,.theme-pull.is-releasing .bulb-wrap{transition:transform .26s cubic-bezier(.2,.9,.25,1),height .26s cubic-bezier(.2,.9,.25,1)}@keyframes bulb-sway{0%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}to{transform:rotate(-3deg)}}.field-hero{position:relative;min-height:calc(100svh - 5rem);padding:2.2rem 0 5rem;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(22rem,.78fr);grid-gap:2.2rem;gap:2.2rem;align-content:center;align-items:center;isolation:isolate}.field-hero:before{content:"";position:absolute;top:-5rem;bottom:-5rem;left:50%;z-index:-1;width:100vw;background:radial-gradient(ellipse at 34% 48%,rgba(168,85,247,.18),transparent 32rem),radial-gradient(ellipse at 64% 34%,rgba(96,165,250,.15),transparent 34rem);transform:translateX(-50%);pointer-events:none}.field-hero:after{content:"";position:absolute;left:-2rem;right:-2rem;bottom:1rem;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.eyebrow{margin:0 0 .8rem;color:var(--cyan);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:0}.hero-copy{max-width:42rem}.hero-kicker{display:inline-flex;margin:0 0 .9rem;padding:.25rem .52rem;border:1px solid #111;border-radius:999px;background:#fff;color:color-mix(in srgb,var(--ink) 74%,transparent);font-size:.72rem;font-weight:900;text-transform:uppercase}html[data-theme=dark] .hero-kicker{background:#111827;border-color:#94a3b8;color:#cbd5e1}.hero h1,.section-heading h2{font-family:var(--font-heading),"Avenir Next",sans-serif;letter-spacing:0}.hero h1{margin:0;max-width:11ch;color:var(--ink);font-size:4.65rem;line-height:.9;text-shadow:5px 5px 0 rgba(59,130,246,.2)}.hero-intro{margin:1.1rem 0 0;max-width:26rem;color:var(--copper);font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:1.5rem;line-height:1.12}.hero-role{margin:1rem 0 .3rem;color:var(--ink);font-weight:900}.hero-subtitle{margin:0;max-width:39rem;color:var(--muted);font-size:1.02rem}.hero-actions,.project-links,.social-list{display:flex;gap:.72rem;flex-wrap:wrap}.hero-actions{margin-top:1.25rem}.btn{min-height:2.9rem;border:1px solid transparent;border-radius:var(--radius-sm);padding:.68rem 1rem;font-family:var(--font-body),"Helvetica Neue","Segoe UI",sans-serif;font-weight:900;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;font-size:.92rem}.btn:focus-visible,.btn:hover{transform:translate(-2px,-2px) rotate(-1deg);outline:none}.btn-primary{background:var(--cyan);border-color:var(--cyan);color:#fff;box-shadow:6px 6px 0 var(--acid)}html[data-theme=dark] .btn-primary{background:#f8fafc;border-color:#f8fafc;color:#0f172a;box-shadow:6px 6px 0 var(--acid)}.btn-secondary{box-shadow:6px 6px 0 rgba(239,71,111,.2)}.btn-secondary,.btn-tertiary{background:transparent;border-color:var(--line);color:var(--ink)}.btn-tertiary{box-shadow:6px 6px 0 rgba(45,212,191,.22)}.social-list{margin:1rem 0 0;padding:0;list-style:none}.social-list a{display:inline-flex;align-items:center;min-height:2.2rem;color:var(--muted);text-decoration:none;border-bottom:2px solid rgba(59,130,246,.4);font-size:.86rem;font-weight:900;transition:color .2s ease,border-color .2s ease}.social-list a:focus-visible,.social-list a:hover{color:var(--ink);border-color:var(--acid);outline:none}.field-visual{position:relative;display:grid;grid-gap:.9rem;gap:.9rem;max-width:36rem;justify-self:end;margin-top:2.45rem}.visual-tag{position:absolute;z-index:4;padding:.42rem .62rem;border:1px solid #111827;background:var(--acid);color:#111827;border-radius:var(--radius-sm);box-shadow:5px 5px 0 rgba(59,130,246,.3);font-size:.78rem;font-weight:900;text-transform:uppercase}.visual-tag-primary{top:1rem;left:1rem;transform:rotate(-5deg)}.hero-photo{position:relative;margin:0;background:var(--panel);border:2px solid #111827;border-radius:2px;box-shadow:var(--shadow-hard);overflow:hidden;transform:rotate(1.2deg)}.hero-photo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,hsla(0,0%,100%,.16),transparent 38%),linear-gradient(180deg,transparent 74%,rgba(17,24,39,.08));pointer-events:none}.hero-photo img{width:100%;aspect-ratio:4/3.3;max-height:min(54vh,32rem);object-fit:cover;object-position:center 66%;filter:saturate(1.06) contrast(1.02)}.hero-photo figcaption{position:relative;z-index:2;padding:1rem;border-top:2px solid #111827;background:linear-gradient(135deg,#f8fafc,#e0f2fe);color:var(--paper-ink)}html[data-theme=dark] .hero-photo figcaption{background:linear-gradient(135deg,#172033,#102f3a)}.hero-photo figcaption span{display:block;font-weight:900}.hero-photo figcaption p{margin:.35rem 0 0;color:color-mix(in srgb,var(--paper-ink) 72%,transparent);font-size:.92rem}.chapter-lesson span,.signal-tile span,.story-slot span{display:block;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:0}.content-section{scroll-margin-top:8rem;margin-top:5.2rem}.section-heading{max-width:64rem}.section-heading h2{margin:0;font-size:3.5rem;line-height:1;text-wrap:balance}.section-lede{margin:1rem 0 0;max-width:66rem;color:var(--muted);font-size:1.05rem}.origin-section{position:relative}.origin-section:before{content:"";position:absolute;inset:-2rem auto auto -8rem;z-index:-1;width:min(38rem,60vw);height:min(38rem,60vw);background:radial-gradient(circle,rgba(239,71,111,.2),transparent 68%);pointer-events:none}.origin-layout{margin-top:2.2rem;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(19rem,.92fr);grid-gap:1.4rem;gap:1.4rem;align-items:start}.origin-letter{padding:1.1rem 0 1.1rem 1.35rem;border-left:6px solid var(--copper);color:var(--ink);font-size:1.17rem}.origin-letter p{margin:0}.origin-letter p+p{margin-top:1.05rem}.principle-stack{display:grid;grid-gap:.85rem;gap:.85rem}.case-file,.contact-grid,.education-card,.personal-card,.principle-card,.publication-card,.skills-card{background:var(--panel);border:2px solid #111827;border-radius:var(--radius-sm);color:var(--paper-ink)}.principle-card{padding:1rem;box-shadow:7px 7px 0 rgba(59,130,246,.2);background:color-mix(in srgb,var(--panel) 84%,var(--cyan) 16%);border-color:color-mix(in srgb,var(--cyan) 60%,#111827 40%)}html[data-theme=dark] .principle-card{background:linear-gradient(135deg,rgba(17,24,39,.96),rgba(20,37,66,.96)),radial-gradient(circle at 100% 0,rgba(96,165,250,.18),transparent 18rem);border-color:rgba(96,165,250,.38);box-shadow:9px 9px 0 rgba(59,130,246,.24)}.principle-card:nth-child(2){transform:translateX(-.5rem) rotate(1deg)}.principle-card:nth-child(3){transform:rotate(-1deg)}.personal-card h3,.principle-card h3,.skills-card h3{margin:0;font-size:1rem}.personal-card p,.principle-card p{margin:.35rem 0 0;color:color-mix(in srgb,var(--paper-ink) 72%,transparent)}.origin-ribbon{width:-moz-fit-content;width:fit-content;margin:1.3rem 0 0;padding:.42rem .66rem;border:2px solid #111;background:#dbeafe;color:#1e3a8a;font-size:.81rem;font-weight:900;text-transform:uppercase;transform:rotate(-1.2deg)}html[data-theme=dark] .origin-ribbon{background:#1e3a8a;color:#dbeafe;border-color:#93c5fd}.chapter-list{margin:2.2rem 0 0;padding:0;list-style:none;display:grid;grid-gap:1.05rem;gap:1.05rem}.chapter-list:before,.chapter-mobile-route{display:none}.chapter-card,.chapter-item{position:relative}.chapter-card{display:grid;grid-template-columns:3.8rem 1.3rem minmax(13rem,.72fr) minmax(0,1.36fr) minmax(13rem,.72fr);grid-gap:1rem;gap:1rem;align-items:start;padding:1rem;border:1px solid rgba(59,130,246,.28);border-radius:var(--radius);background:color-mix(in srgb,var(--panel) 92%,var(--cyan) 8%);box-shadow:var(--shadow-soft)}.chapter-card:nth-child(2n){transform:translateX(1.4rem)}html[data-theme=dark] .chapter-card{border-color:rgba(96,165,250,.32);background:linear-gradient(135deg,rgba(17,24,39,.96),rgba(17,32,53,.96)),radial-gradient(circle at 100% 0,rgba(45,212,191,.16),transparent 22rem);box-shadow:12px 12px 0 rgba(96,165,250,.14)}.chapter-index{color:var(--acid);font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:2.4rem;font-weight:900;line-height:1}.chapter-route{position:relative;min-height:100%;align-self:stretch}.chapter-route:before{content:"";position:absolute;left:50%;top:-1rem;bottom:-1rem;width:2px;background:linear-gradient(var(--cyan),var(--copper));transform:translateX(-50%)}.chapter-route span{position:-webkit-sticky;position:sticky;top:8rem;display:block;width:1rem;aspect-ratio:1;margin:.35rem auto 0;border:2px solid var(--bg);background:var(--acid);transform:rotate(45deg)}.chapter-company{display:grid;grid-template-columns:2.6rem minmax(0,1fr);grid-gap:.75rem;gap:.75rem;align-items:center}.chapter-logo,.chapter-logo-fallback{width:2.55rem;height:2.55rem;border:2px solid #111827;border-radius:var(--radius-sm);background:#fff}.chapter-logo{object-fit:contain;object-position:center;padding:.32rem}.chapter-logo-fallback{display:inline-flex;align-items:center;justify-content:center;color:#111827;font-weight:900}.chapter-company-name,.chapter-dates,.chapter-focus,.chapter-lesson p,.chapter-meta,.chapter-story{margin:0}.chapter-company-name{color:var(--ink);font-weight:900}.chapter-dates,.chapter-focus,.chapter-meta{color:var(--muted);font-size:.88rem;font-weight:800}.chapter-location{margin-top:.12rem}.chapter-body h3{margin:0;color:var(--ink);font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:1.38rem;line-height:1.14}.chapter-focus{margin-top:.5rem}.chapter-story{margin-top:.75rem;color:color-mix(in srgb,var(--ink) 92%,transparent)}.chapter-lesson{padding:.85rem;border-left:5px solid var(--acid);border-radius:var(--radius-sm);background:rgba(20,184,166,.12)}.chapter-lesson span{color:color-mix(in srgb,var(--paper-ink) 62%,transparent)}.chapter-lesson p{margin-top:.35rem;color:var(--ink);font-weight:900;line-height:1.42}.case-grid{margin-top:2.2rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:1.1rem;gap:1.1rem}.case-file{position:relative;min-height:22rem;padding:1.1rem;display:flex;flex-direction:column;box-shadow:var(--shadow-hard);border-top:8px solid var(--cyan)}.case-grid>.case-file:nth-child(4n+1){border-top-color:var(--cyan)}.case-grid>.case-file:nth-child(4n+2){border-top-color:var(--acid)}.case-grid>.case-file:nth-child(4n+3){border-top-color:var(--copper)}.case-grid>.case-file:nth-child(4n+4){border-top-color:var(--sun)}.case-file:first-child{grid-column:span 7}.case-file:nth-child(2),.case-file:nth-child(3){grid-column:span 5}.case-file:nth-child(4){grid-column:span 7}.case-file-extended{grid-column:span 6}.case-grid>.case-file-extended:nth-child(5){grid-column:span 8}.case-grid>.case-file-extended:nth-child(6){grid-column:span 4}.case-grid>.case-file-extended:nth-child(7){grid-column:span 5}.case-grid>.case-file-extended:nth-child(8){grid-column:span 7}.case-number{color:color-mix(in srgb,var(--card-accent,var(--cyan)) 72%,var(--paper-ink));font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:4.1rem;font-weight:900;line-height:.78;opacity:.42;text-shadow:4px 4px 0 rgba(59,130,246,.16)}.case-header{margin-top:.8rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.case-header h3{margin:0;font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:1.32rem;line-height:1.16}.project-status{flex:0 0 auto;color:color-mix(in srgb,var(--paper-ink) 58%,transparent);font-size:.82rem;font-weight:900;white-space:nowrap}.case-file p{margin:.75rem 0 0;color:color-mix(in srgb,var(--paper-ink) 72%,transparent)}.project-angle{color:var(--copper)!important;font-weight:900}.case-question{font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:1.12rem;line-height:1.25}.case-question,.project-lesson{color:var(--paper-ink)!important}.project-lesson{margin-top:.9rem!important;padding-top:.8rem;border-top:1px solid var(--paper-line);font-weight:900}.publication-tags,.stack-list{margin:auto 0 0;padding:1rem 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.publication-tags li,.skills-card li,.stack-list li{border:1px solid #111827;border-radius:var(--radius-sm);background:#eff6ff;color:#1e40af;font-size:.74rem;font-weight:900;padding:.2rem .46rem}.project-links{margin-top:.85rem}.project-links a,.publication-link{color:#2563eb;font-size:.9rem;font-weight:900;text-decoration:none}.project-links a:focus-visible,.project-links a:hover,.publication-link:focus-visible,.publication-link:hover{text-decoration:underline;text-underline-offset:.22em;outline:none}.case-more-wrap{margin-top:1.5rem;padding-top:.7rem}.case-more-button{border:0;padding:0;background:transparent;color:var(--cyan);font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:1rem;font-weight:900;text-decoration:underline;text-underline-offset:.24em;cursor:pointer}.workbench-section{position:relative}.workbench-section:before{content:"";position:absolute;inset:-2rem auto auto -8rem;z-index:-1;width:min(38rem,60vw);height:min(38rem,60vw);background:radial-gradient(circle,rgba(45,212,191,.2),transparent 68%);pointer-events:none}.workbench-layout{margin-top:2.2rem;display:grid;grid-template-columns:minmax(0,.88fr) minmax(24rem,1.12fr);grid-gap:1.4rem;gap:1.4rem;align-items:start}.workbench-letter,html[data-theme=dark] .workbench-letter{border-left-color:var(--acid)}.personal-note,.story-slot{margin:0;padding:1rem;border:2px solid #111827;border-top:9px solid var(--acid);border-radius:var(--radius-sm);background:var(--panel);color:var(--paper-ink);box-shadow:8px 8px 0 rgba(59,130,246,.2);font-size:1.06rem}.personal-note p{margin:0}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem;align-content:start}.skills-card{padding:1rem;border-top:8px solid var(--acid);box-shadow:8px 8px 0 rgba(59,130,246,.2);background:color-mix(in srgb,var(--panel) 92%,var(--acid) 8%)}.skills-card:nth-child(2n){border-top-color:var(--cyan)}.skills-card:nth-child(3n){border-top-color:var(--moss)}html[data-theme=dark] .skills-card{background:linear-gradient(135deg,rgba(17,24,39,.98),rgba(13,35,47,.95)),radial-gradient(circle at 100% 0,rgba(45,212,191,.14),transparent 20rem);border-color:rgba(96,165,250,.28)}.workbench-ribbon{width:-moz-fit-content;width:fit-content;max-width:100%;margin:1.3rem 0 0;padding:.42rem .66rem;border:2px solid #111827;background:#ccfbf1;color:#0f766e;font-size:.81rem;font-weight:900;line-height:1.2;text-transform:uppercase;transform:rotate(-1deg)}html[data-theme=dark] .workbench-ribbon{border-color:#2dd4bf;background:#0f3a38;color:#99f6e4}.skills-card ul{margin:.8rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.research-wall{margin-top:1.6rem;display:grid;grid-gap:.9rem;gap:.9rem}.publication-card{--card-accent:var(--cyan);padding:1.05rem;border-left:8px solid var(--card-accent);box-shadow:9px 9px 0 color-mix(in srgb,var(--card-accent) 22%,transparent)}.publication-card:nth-child(odd){transform:rotate(-.6deg)}.publication-card:nth-child(2n){transform:rotate(.7deg)}.publication-card:nth-child(4n+1){--card-accent:var(--cyan)}.publication-card:nth-child(4n+2){--card-accent:var(--acid)}.publication-card:nth-child(4n+3){--card-accent:var(--copper)}.publication-card:nth-child(4n+4){--card-accent:var(--sun)}.publication-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.publication-header h3,.publication-header p,.publication-header span,.publication-meta,.publication-summary{margin:0}.publication-header h3{font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:1.08rem;line-height:1.25}.publication-header p,.publication-header span,.publication-meta,.publication-summary{color:color-mix(in srgb,var(--paper-ink) 70%,transparent)}.publication-header strong{color:var(--paper-ink);font-weight:900}.publication-header span{flex:0 0 auto;font-size:.86rem;font-weight:900;white-space:nowrap}.publication-meta{margin-top:.7rem;font-size:.9rem;font-weight:850}.publication-meta span{display:block;margin-top:.1rem;font-weight:650}.publication-summary{margin-top:.7rem}.publication-footer{margin-top:.95rem;display:flex;justify-content:space-between;gap:.8rem;align-items:flex-end}.education-strip{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.education-card{--card-accent:var(--copper);padding:1rem;border-top:8px solid var(--card-accent);box-shadow:7px 7px 0 color-mix(in srgb,var(--card-accent) 20%,transparent)}.education-card:nth-child(4n+1){--card-accent:var(--cyan)}.education-card:nth-child(4n+2){--card-accent:var(--acid)}.education-card:nth-child(4n+3){--card-accent:var(--copper)}.education-card:nth-child(4n+4){--card-accent:var(--sun)}.education-card span{color:color-mix(in srgb,var(--paper-ink) 60%,transparent);font-size:.86rem;font-weight:900}.education-card h3,.education-card p{margin:.3rem 0 0}.education-card h3{font-size:1rem}.education-card p{color:color-mix(in srgb,var(--paper-ink) 72%,transparent)}.education-grade{margin-top:.5rem!important;color:color-mix(in srgb,var(--paper-ink) 62%,transparent)!important;font-size:.86rem;font-weight:850}.offscreen-layout{margin-top:1.5rem;display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);grid-template-rows:auto auto;grid-gap:1rem;gap:1rem;align-items:start}.personal-note{grid-column:1;grid-row:1}.personal-list{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.personal-card{min-height:10rem;padding:1rem;box-shadow:8px 8px 0 rgba(59,130,246,.2)}.personal-card:first-child{transform:rotate(-1deg)}.personal-card:nth-child(2){transform:rotate(1.2deg)}.story-slot{grid-column:1/-1;grid-row:2;border-top-color:var(--copper)}.story-slot p{margin:.35rem 0 0;color:color-mix(in srgb,var(--paper-ink) 72%,transparent)}.photo-page{min-height:100vh;padding:1.5rem 0 3rem}.photo-shell{width:min(1220px,calc(100% - 2.5rem));margin:0 auto}.photo-header{margin-bottom:1.7rem}.photo-header h1{margin:.22rem 0 0;font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:3rem;line-height:1}.photo-intro{margin:.95rem 0 0;max-width:56rem;color:var(--muted)}.photo-back-link{display:inline-flex;align-items:center;margin-bottom:.7rem;color:var(--ink);font-weight:900;text-decoration:underline;text-underline-offset:.2em}.park-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.park-card{border:2px solid #111827;border-radius:var(--radius-sm);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-hard)}.park-card-link{display:block;text-decoration:none}.park-cover{border-bottom:2px solid #111827}.park-cover img{width:100%;height:16rem;object-fit:cover}.park-meta{padding:.9rem}.park-count,.park-meta h2,.park-meta p{margin:0}.park-meta h2{font-family:var(--font-heading),"Avenir Next",sans-serif;font-size:1.2rem;line-height:1.2}.park-location{margin-top:.3rem!important;color:var(--copper);font-weight:900}.park-meta p{margin-top:.55rem;color:color-mix(in srgb,var(--paper-ink) 74%,transparent)}.park-count{display:inline-flex;margin-top:.7rem;border:1px solid #111827;border-radius:var(--radius-sm);padding:.2rem .48rem;font-size:.78rem;font-weight:900}.park-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:.95rem;gap:.95rem}.park-shot{grid-column:span 4;margin:0;border:2px solid #111827;border-radius:var(--radius-sm);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-hard)}.park-shot:first-child{grid-column:span 8}.park-shot:nth-child(2){grid-column:span 4}.park-shot img{width:100%;height:18rem;object-fit:cover}.park-shot figcaption{padding:.72rem .8rem;border-top:2px solid #111827;color:color-mix(in srgb,var(--paper-ink) 76%,transparent);font-size:.9rem}.contact-grid{margin-top:1.6rem;padding:1.1rem;display:grid;grid-template-columns:.8fr 1.2fr;grid-gap:1rem;gap:1rem;box-shadow:var(--shadow-hard)}.contact-copy p{margin:0;color:color-mix(in srgb,var(--paper-ink) 78%,transparent)}.contact-copy p+p{margin-top:.72rem}.contact-form{display:grid;grid-gap:.65rem;gap:.65rem}.contact-form label{display:block;margin-bottom:.25rem;color:color-mix(in srgb,var(--paper-ink) 68%,transparent);font-size:.84rem;font-weight:900}.contact-form input,.contact-form textarea{width:100%;font:inherit;border:2px solid #111827;border-radius:var(--radius-sm);padding:.68rem .72rem;background:#fff;color:#111827}.contact-form textarea{min-height:9rem;resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--cyan);border-color:#111827}.form-note{margin:.1rem 0 0;color:color-mix(in srgb,var(--paper-ink) 70%,transparent);font-size:.78rem}.site-footer{margin-top:4rem;color:var(--muted);text-align:center;font-size:.85rem}[data-reveal]{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}html.reveal-enabled [data-reveal]{opacity:0;transform:translateY(18px)}[data-reveal].is-visible,html.reveal-enabled [data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (max-width:1080px){.contact-grid,.field-hero,.offscreen-layout,.origin-layout,.workbench-layout{grid-template-columns:1fr}.field-hero{min-height:auto;gap:2.2rem}.field-visual{margin-top:0;max-width:100%;justify-self:auto}.hero h1{max-width:12ch;font-size:4rem}.hero-photo img{aspect-ratio:4/3.1;max-height:none;object-position:center 42%}.chapter-card{grid-template-columns:3.8rem 1.3rem minmax(0,1fr)}.chapter-index{grid-column:1;grid-row:1}.chapter-route{grid-column:2;grid-row:1/span 4}.chapter-route:before{top:-1rem;bottom:-1rem}.chapter-route span{position:-webkit-sticky;position:sticky;top:8rem}.chapter-company{grid-column:3;grid-row:1}.chapter-body,.chapter-lesson{grid-column:3}.chapter-card:nth-child(2n){transform:none}.case-file-extended,.case-file:first-child,.case-file:nth-child(2),.case-file:nth-child(3),.case-file:nth-child(4),.case-grid>.case-file-extended:nth-child(5),.case-grid>.case-file-extended:nth-child(6),.case-grid>.case-file-extended:nth-child(7),.case-grid>.case-file-extended:nth-child(8){grid-column:span 12}.education-strip,.personal-list,.skills-grid{grid-template-columns:1fr}.skills-grid{grid-row:auto}.personal-list,.personal-note,.story-slot{grid-column:1;grid-row:auto}.park-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.park-shot,.park-shot:first-child,.park-shot:nth-child(2){grid-column:span 6}}@media (max-width:980px){.portfolio-shell{width:min(1120px,calc(100% - 1.5rem))}.top-nav{flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.6rem .8rem}.nav-toggle{display:inline-flex;order:1}.brand-link{order:2;flex:1 1 auto;min-width:0}.top-nav nav{display:none;flex:1 0 100%;width:100%;order:3}.top-nav nav.is-open{display:block}.nav-list{width:100%;padding-top:.65rem;flex-direction:column;gap:0}.nav-list li+li{border-top:1px solid var(--paper-line)}.nav-list a{width:100%;border-radius:0;padding:.82rem .15rem;background:transparent}.nav-list a.is-active,.nav-list a:focus-visible,.nav-list a:hover{background:transparent;color:var(--copper);transform:none}}@media (max-width:620px){.portfolio-shell{width:100%;padding-inline:1rem;overflow-x:clip}.theme-pull{right:.55rem;height:6.65rem;opacity:.82}.bulb-cord{height:calc(2.85rem + var(--pull-offset))}.field-hero{padding:2.8rem 0 4rem}.field-hero:before{top:-2.25rem;bottom:-2rem;left:50%;width:100vw;height:auto;background:radial-gradient(ellipse at 28% 20%,rgba(168,85,247,.11),transparent 22rem),radial-gradient(ellipse at 78% 28%,rgba(96,165,250,.12),transparent 24rem)}.field-hero:after{display:none}.hero h1{font-size:3.1rem}.hero-intro{font-size:1.25rem}.hero-actions{width:100%}.hero-actions .btn{flex:1 1 9rem;text-align:center}.visual-tag{position:absolute;width:-moz-fit-content;width:fit-content;margin-bottom:0}.visual-tag-primary{top:.75rem;left:.75rem;max-width:calc(100% - 1.5rem);transform:rotate(-4deg)}.hero-photo{transform:none}.hero-photo img{aspect-ratio:4/3.05;object-position:center 35%}.content-section{margin-top:4.4rem;scroll-margin-top:7.5rem}.section-heading h2{font-size:2.35rem}.section-interlude{margin-top:2.3rem;font-size:.95rem;transform:none}.origin-letter{padding-left:1rem;font-size:1.02rem}.case-file:first-child,.case-file:nth-child(2),.case-file:nth-child(3),.case-file:nth-child(4),.personal-card:first-child,.personal-card:nth-child(2),.principle-card:nth-child(2),.principle-card:nth-child(3),.publication-card:nth-child(2n),.publication-card:nth-child(odd),.skills-card:nth-child(2),.skills-card:nth-child(3){transform:none}.chapter-card{grid-template-columns:5.25rem minmax(0,1fr);padding:.95rem}.chapter-list{--mobile-chapter-route-height:4rem;--mobile-chapter-diamond-size:1.16rem;position:relative;padding-left:0;gap:0;margin-inline:-.35rem}.chapter-list:before,.chapter-route{display:none}.chapter-mobile-route{display:block;position:relative;height:calc(var(--mobile-chapter-route-height) + 1.45rem);margin-top:-1.45rem;z-index:4}.chapter-mobile-route:before{content:"";position:absolute;left:50%;top:-.105rem;bottom:0;width:2px;background:linear-gradient(var(--cyan),var(--copper));transform:translateX(-50%);pointer-events:none;z-index:2}.chapter-mobile-route span{position:-webkit-sticky;position:sticky;top:8rem;z-index:3;display:block;width:var(--mobile-chapter-diamond-size);aspect-ratio:1;margin:calc((var(--mobile-chapter-route-height) - var(--mobile-chapter-diamond-size)) / 2 + .28rem) auto 0;border:2px solid var(--bg);background:var(--acid);transform:rotate(45deg);pointer-events:none}.chapter-body,.chapter-company,.chapter-lesson{grid-column:1/-1}.chapter-index{grid-column:1;grid-row:1;font-size:2.2rem}.chapter-company{display:contents}.chapter-logo,.chapter-logo-fallback{grid-column:1;grid-row:2;align-self:start;margin-top:-.2rem}.chapter-company-info{grid-column:2;grid-row:1/span 2;align-self:center}.case-header,.chapter-company-top,.publication-footer,.publication-header{flex-direction:column;align-items:flex-start;gap:.2rem}.project-status,.publication-header span{white-space:normal}.case-file{min-height:0}.case-more-wrap{margin-top:1.1rem;padding-top:.4rem}.park-grid{grid-template-columns:1fr}.park-shot,.park-shot:first-child,.park-shot:nth-child(2){grid-column:span 12}.park-shot img{height:14rem}.photo-shell{width:min(1220px,calc(100% - 1rem))}.photo-header h1{font-size:2.2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none}.btn,.nav-list a,.social-list a,[data-reveal]{transition:none}}