:root{color-scheme:light;--ink:#0b1324;--muted:#596477;--paper:#edf4ff;--line:#2557d62b;--blue:#2457d6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory}body{color:var(--ink);background:#0b1324;margin:0}a{color:inherit}.portfolio-deck{width:100%}.slide{aspect-ratio:16/9;background:var(--paper);scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate;width:min(100vw,177.778vh);min-height:min(100vh,56.25vw);margin:0 auto;padding:clamp(2.2rem,4.2vw,5.2rem);display:flex;position:relative;overflow:hidden}.slide:before{z-index:-1;content:"";background-image:linear-gradient(#2557d609 1px,#0000 1px),linear-gradient(90deg,#2557d609 1px,#0000 1px);background-size:3.2rem 3.2rem;position:absolute;inset:0}.deck-controls{z-index:20;color:#fff;backdrop-filter:blur(14px);background:#0b1324e0;border:1px solid #fff3;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem;display:flex;position:fixed;bottom:1.2rem;right:1.2rem;box-shadow:0 1rem 3rem #0003}.deck-controls a,.deck-controls button,.slide-progress{min-height:2.4rem;color:inherit;font:inherit;border:0;border-radius:999px}.control-link{place-items:center;width:2.4rem;text-decoration:none;display:grid}.slide-progress{font-variant-numeric:tabular-nums;letter-spacing:.1em;align-items:center;padding:0 .6rem;font-size:.72rem;display:flex}.deck-controls button{color:var(--ink);cursor:pointer;background:#fff;padding:0 1rem;font-size:.75rem;font-weight:700}.eyebrow,.column-label{color:var(--blue);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:clamp(.65rem,.8vw,.85rem);font-weight:800}.slide-header,.slide-footer{justify-content:space-between;align-items:center;display:flex;position:absolute;left:clamp(2.2rem,4.2vw,5.2rem);right:clamp(2.2rem,4.2vw,5.2rem)}.slide-header{top:clamp(1.4rem,2.4vw,2.8rem)}.slide-header>span,.slide-footer{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.62rem,.72vw,.78rem)}.slide-footer{border-top:1px solid var(--line);padding-top:.8rem;bottom:clamp(1.2rem,2vw,2.4rem)}.cover-slide{background:#e8f0ff;grid-template-columns:1.1fr .9fr;align-items:center;gap:6%;display:grid}.cover-slide:after{z-index:-1;aspect-ratio:1;content:"";background:#2457d6;border-radius:50%;width:55%;position:absolute;top:-25%;right:-12%}.slide-rule{background:#2457d6;width:.65rem;height:26%;position:absolute;top:0;left:7%}.cover-copy h1{letter-spacing:-.075em;white-space:nowrap;margin:.6rem 0 1.2rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.25rem,7vw,8.5rem);font-weight:400;line-height:.85}.cover-copy h1 em,.profile-intro h2 em,.contact-copy h2 em{color:var(--blue);font-weight:400}.cover-role{margin:0;font-size:clamp(1.2rem,2vw,2.4rem);font-weight:750}.cover-summary{max-width:36rem;color:var(--muted);margin:1rem 0 0;font-size:clamp(.9rem,1.2vw,1.35rem);line-height:1.55}.cover-portrait{aspect-ratio:.83;border:.55rem solid #fff;border-radius:50% 50% 1.25rem 1.25rem;align-self:center;width:84%;margin:0 auto;position:relative;overflow:hidden;transform:rotate(2deg);box-shadow:0 2rem 6rem #1c36733d}.cover-portrait img{object-fit:cover;width:100%;height:100%}.cover-contact{color:var(--muted);align-items:center;gap:2rem;font-size:clamp(.6rem,.75vw,.8rem);display:flex;position:absolute;bottom:5%;left:7%;right:7%}.cover-contact a{text-decoration:none}.slide-index{color:#ffffffa6;font-size:.8rem;position:absolute;bottom:4%;right:4%}.profile-slide,.resume-slide,.project-slide{flex-direction:column;justify-content:center}.profile-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:7%;display:grid}.profile-intro h2,.resume-slide>h2,.contact-copy h2{letter-spacing:-.06em;margin:0 0 1.5rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,6.2vw,7rem);font-weight:400;line-height:.94}.profile-intro>p{max-width:34rem;color:var(--muted);margin:0;font-size:clamp(.9rem,1.3vw,1.4rem);line-height:1.55}.expertise-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.expertise-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:clamp(8rem,14vw,15rem);padding:clamp(1rem,2vw,2.2rem)}.expertise-grid article>span{color:var(--blue);font-size:.7rem}.expertise-grid h3{margin:1.5rem 0 .6rem;font-size:clamp(1rem,1.5vw,1.7rem)}.expertise-grid p{color:var(--muted);margin:0;font-size:clamp(.7rem,.9vw,1rem);line-height:1.5}.resume-slide>h2{margin-top:1rem;margin-bottom:clamp(2rem,4vw,4.5rem);font-size:clamp(3rem,5.5vw,6.5rem)}.resume-columns{grid-template-columns:1.2fr .8fr;gap:8%;display:grid}.column-label{border-bottom:2px solid var(--ink);padding-bottom:.8rem}.resume-entry{border-bottom:1px solid var(--line);grid-template-columns:9rem 1fr;gap:1.2rem;padding:clamp(1rem,1.6vw,1.8rem) 0;display:grid}.resume-entry>p,.degree-entry>span{color:var(--blue);margin:0;font-size:clamp(.65rem,.8vw,.85rem);font-weight:700}.resume-entry h3,.degree-entry h3{margin:0 0 .25rem;font-size:clamp(1rem,1.5vw,1.7rem)}.resume-entry strong,.resume-entry div>p,.degree-entry p{font-size:clamp(.68rem,.82vw,.9rem);line-height:1.45}.resume-entry div>p,.degree-entry p{color:var(--muted);margin:.45rem 0 0}.degree-entry{border-bottom:1px solid var(--line);padding:clamp(1rem,1.6vw,1.8rem) 0}.degree-entry h3{margin-top:.65rem;line-height:1.15}.project-slide:after{z-index:-1;background:var(--accent);content:"";width:.75rem;height:100%;position:absolute;top:0;right:0}.project-slide .eyebrow,.project-role,.project-outcome>span{color:var(--accent)}.project-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:6%;width:100%;display:grid}.project-meta{letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:.8rem;margin-bottom:1.1rem;font-size:clamp(.65rem,.8vw,.85rem);font-weight:800;display:flex}.project-period{border-left:1px solid var(--line);color:var(--muted);padding-left:.8rem}.project-copy h2{letter-spacing:-.05em;max-width:56rem;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,4.1vw,5rem);font-weight:400;line-height:.98}.project-summary{max-width:52rem;color:var(--muted);margin:clamp(.8rem,1.5vw,1.5rem) 0;font-size:clamp(.78rem,1.02vw,1.14rem);line-height:1.5}.project-contributions{gap:clamp(.4rem,.75vw,.8rem);margin:0;padding:0;list-style:none;display:grid}.project-contributions li{padding-left:1.25rem;font-size:clamp(.7rem,.87vw,.98rem);line-height:1.45;position:relative}.project-contributions li:before{background:var(--accent);content:"";width:.45rem;height:.12rem;position:absolute;top:.62em;left:0}.project-outcome{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:baseline;gap:1rem;margin-top:clamp(.8rem,1.4vw,1.4rem);padding-top:clamp(.7rem,1.1vw,1.1rem);display:grid}.project-outcome>span{letter-spacing:.13em;text-transform:uppercase;font-size:.65rem;font-weight:850}.project-outcome p{margin:0;font-size:clamp(.68rem,.85vw,.94rem);font-weight:650;line-height:1.4}.project-evidence{flex-direction:column;min-width:0;display:flex}.project-visual{aspect-ratio:16/9;border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 12%, white);place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 1.2rem 3rem #0b13241c}.project-visual.has-image:after{content:"";pointer-events:none;border:1px solid #2557d62e;position:absolute;inset:clamp(.45rem,.7vw,.8rem)}.project-visual.has-image{background:color-mix(in srgb, var(--accent) 7%, var(--paper));padding:clamp(.45rem,.7vw,.8rem)}.project-visual img{object-fit:contain;width:100%;height:100%}.visual-fallback{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, white), white 72%);place-items:end start;width:100%;height:100%;padding:10%;display:grid}.visual-fallback span{max-width:80%;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,3.6rem);line-height:.95}.visual-fallback strong{color:color-mix(in srgb, var(--accent) 55%, transparent);font-size:clamp(3rem,6vw,7rem);position:absolute;top:8%;right:8%}.metric-list{border-right:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.metric-list li{border-bottom:1px solid var(--line);border-left:1px solid var(--line);align-items:center;min-height:clamp(2.8rem,4.6vw,5.2rem);padding:.7rem;font-size:clamp(.58rem,.7vw,.78rem);font-weight:750;line-height:1.3;display:flex}.project-tags{flex-wrap:wrap;gap:.4rem;margin:clamp(.7rem,1vw,1rem) 0;padding:0;list-style:none;display:flex}.project-tags li{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.38rem .62rem;font-size:clamp(.52rem,.62vw,.7rem);font-weight:700}.case-link{align-self:flex-start;font-size:clamp(.62rem,.74vw,.82rem);font-weight:750;text-decoration:none}.case-link span{color:var(--accent)}.contact-slide{color:#fff;background:#0b1324;grid-template-columns:.88fr 1.12fr;align-items:center;gap:8%;display:grid}.contact-slide:before{background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px)}.contact-mark{z-index:-1;color:#2457d647;font-family:Georgia,Times New Roman,serif;font-size:55vw;line-height:1;position:absolute;top:-20%;left:-4%}.contact-copy h2{margin-top:.7rem}.contact-copy>p:last-child{color:#ffffffad;max-width:34rem;font-size:clamp(.82rem,1.1vw,1.2rem);line-height:1.55}.contact-links{border-top:1px solid #fff3}.contact-links a{border-bottom:1px solid #fff3;gap:.5rem;padding:clamp(1rem,2vw,2rem) 0;text-decoration:none;display:grid}.contact-links span{color:#78a0ff;letter-spacing:.14em;text-transform:uppercase;font-size:.67rem;font-weight:800}.contact-links strong{font-size:clamp(.85rem,1.3vw,1.45rem)}.contact-slide .slide-footer{color:#ffffff8c;border-color:#fff3}@media screen and (aspect-ratio<=4/3) and (width<=900px){html{scroll-snap-type:y proximity}.slide{aspect-ratio:auto;width:100%;min-height:100svh;padding:5.5rem 1.4rem 4.5rem}.slide-header,.slide-footer{left:1.4rem;right:1.4rem}.cover-slide,.profile-grid,.resume-columns,.project-layout,.contact-slide{grid-template-columns:1fr}.cover-slide{padding-bottom:7rem}.cover-copy h1{font-size:clamp(3.2rem,12vw,5.25rem)}.cover-portrait{width:min(36vw,12rem);position:absolute;bottom:8rem;right:1.4rem}.cover-contact{flex-direction:column;align-items:flex-start;gap:.25rem}.expertise-grid{margin-top:1.4rem}.resume-columns,.project-layout{gap:1.5rem}.resume-entry{grid-template-columns:7rem 1fr}.project-visual{max-height:32vh}.project-tags,.case-link{display:none}.contact-links{align-self:start}}@page{size:16in 9in;margin:0}@media print{html,body{scroll-snap-type:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;width:16in;margin:0}.deck-controls{display:none}.slide{break-after:page;page-break-after:always;width:16in;height:9in;min-height:9in;margin:0}.slide:last-child{break-after:auto;page-break-after:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
