:root{--bg:#0a1420;--panel:#0f1f2b;--panel-raised:#132a3a;--cyan:#00d4ff;--cyan-soft:#3baed4;--red:#ff1e3a;--red-dark:#b3122a;--text:#e6eef5;--muted:#94a3b8;--line:#223a4c;--line-bright:#3a5a70;--green:#22c58b;--warn:#f2b531;--orange:var(--red);--amber:var(--cyan-soft);--hero:"Anton", Impact, sans-serif;--display:"Rajdhani", "Segoe UI", sans-serif;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--body:var(--font-sans);--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--gutter:clamp(var(--space-4), 4vw, 72px);--header-height:88px;--glow-red:0 0 24px color-mix(in srgb, var(--red) 35%, transparent);--clip:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%)}body{background-color:var(--bg);background-image:radial-gradient(circle at 70% -10%, color-mix(in srgb, var(--cyan) 9%, transparent), transparent 42%), linear-gradient(180deg, var(--bg), var(--panel) 55%, var(--bg));font-family:var(--font-sans);background-size:auto;font-size:16px;line-height:1.5}p{color:var(--muted)}::selection{background:var(--red);color:#fff}html{scroll-padding-top:var(--header-height)}.portfolio-shell{max-width:1800px;margin:auto;overflow:clip}.portfolio-shell a,.portfolio-shell button{transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s}.portfolio-shell a:focus-visible,.portfolio-shell button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.micro-label,.portfolio-section-title h2,.detail-label{align-items:center;gap:var(--space-3);color:var(--cyan-soft);font:500 12px/1.5 var(--mono);letter-spacing:.22em;text-transform:uppercase;margin:0;display:inline-flex}.micro-label i,.portfolio-section-title h2:before,.detail-label i{background:var(--red);width:24px;height:3px;box-shadow:0 0 5px color-mix(in srgb, var(--red) 40%, transparent);border-radius:0;flex:none;display:inline-block}.portfolio-section-title h2:before{content:""}.micro-separator{color:var(--red)}.portfolio-header{height:var(--header-height);padding:0 var(--gutter);align-items:center;gap:var(--space-5);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);z-index:20;display:flex;position:sticky;top:0}.portfolio-header:before{content:"";left:var(--gutter);background:var(--red);width:48px;height:3px;box-shadow:var(--glow-red);position:absolute;bottom:-2px}.portfolio-brand{align-items:center;gap:var(--space-3);display:flex}.portfolio-brand img{object-fit:cover;border:1px solid var(--red-dark);border-radius:6px;width:64px;height:64px}.portfolio-brand span{gap:var(--space-1);flex-direction:column;display:flex}.portfolio-brand strong{font:500 20px/1.1 var(--font-sans);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}.portfolio-brand small{color:var(--cyan-soft);font:400 11px/1.2 var(--mono);letter-spacing:.26em;text-transform:uppercase;white-space:nowrap}.portfolio-nav{align-items:center;gap:clamp(var(--space-3), 2.2vw, var(--space-6));margin-left:auto;display:flex}.portfolio-nav a{padding:var(--space-2) 0;color:var(--text);letter-spacing:.02em;align-items:center;font-size:15px;display:flex;position:relative}.portfolio-nav a:hover,.portfolio-nav a[aria-current=page]{color:#fff}.portfolio-nav a[aria-current=page]{font-weight:600}.portfolio-nav a:after{content:"";background:var(--red);height:2px;box-shadow:var(--glow-red);transition:right .2s;position:absolute;bottom:0;left:0;right:100%}.portfolio-nav a:hover:after,.portfolio-nav a[aria-current=page]:after{right:0}.social-links,.portfolio-header-end,.footer-links{align-items:center;gap:var(--space-4);display:flex}.portfolio-header-end{padding-left:var(--space-5);border-left:1px solid var(--line)}.social-links a,.portfolio-header-end a,.footer-links a{min-width:24px;min-height:24px;color:var(--text);justify-content:center;align-items:center;display:inline-flex}.social-links a:hover,.portfolio-header-end a:hover,.footer-links a:hover{color:var(--cyan);transform:translateY(-2px)}.portfolio-menu-button,.portfolio-mobile-nav,.portfolio-menu-backdrop{display:none}.portfolio-footer{border-top:1px solid var(--line);padding:var(--space-5) var(--gutter);justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--bg);display:flex}.footer-copy{align-items:center;gap:var(--space-3);color:var(--cyan-soft);font:400 12px/1.5 var(--mono);letter-spacing:.18em;text-transform:uppercase;flex-wrap:wrap;margin:0;display:flex}.footer-copy span{color:var(--line-bright)}.footer-end{align-items:center;gap:var(--space-4);display:flex}.footer-rule{background:var(--line-bright);width:64px;height:1px}.footer-cv{min-height:44px;padding:0 var(--space-2);color:var(--text);font:500 12px/1.5 var(--mono);letter-spacing:.18em;text-transform:uppercase;align-items:center;display:inline-flex}.footer-cv:hover{color:var(--cyan)}.about-cv-button{margin-top:var(--space-3);align-self:flex-start}.footer-tagline{color:var(--muted);font:400 12px/1.5 var(--mono);letter-spacing:.18em;text-transform:uppercase}.portfolio-hero{min-height:min(640px, calc(100svh - var(--header-height)));border-bottom:1px solid var(--line);isolation:isolate;align-items:flex-start;display:flex;position:relative}.portfolio-hero-image,.page-intro-image{object-fit:cover;object-position:center;z-index:-2}.portfolio-hero-overlay{z-index:-1;background:linear-gradient(90deg, color-mix(in srgb, var(--bg) 96%, transparent) 0%, color-mix(in srgb, var(--bg) 88%, transparent) 30%, color-mix(in srgb, var(--bg) 55%, transparent) 55%, color-mix(in srgb, var(--bg) 15%, transparent) 100%), linear-gradient(0deg, var(--bg), transparent 28%);position:absolute;inset:0}.hero-content{width:min(880px,72%);padding:var(--space-5) 0 var(--space-6) clamp(var(--space-4), 5vw, 96px);animation:.7s both rise-in}.impact-heading{font-family:var(--hero);letter-spacing:-.01em;text-transform:uppercase;margin:var(--space-4) 0 var(--space-3);font-size:clamp(64px,min(11.5vw,19svh),176px);font-weight:400;line-height:.92}.impact-heading>span{color:#cdf3fb;background-blend-mode:multiply;-webkit-text-fill-color:transparent;background-image:repeating-linear-gradient(117deg,#e3fbff 0 2px,#9fd9e8 2px 4px,#bdeef8 4px 10px),linear-gradient(#fff5,#0006);-webkit-background-clip:text;background-clip:text;width:max-content;max-width:100%;display:block}.impact-heading>.impact-word{background-image:linear-gradient(90deg, transparent 0 38%, var(--red) 62%, var(--red-dark) 100%), repeating-linear-gradient(120deg, #e3fbff 0 2px, #9fd9e8 2px 4px, #bdeef8 4px 10px), linear-gradient(#fff5, #0006);background-blend-mode:normal, normal, multiply}.hero-role{margin:0 0 var(--space-4);color:var(--text);font:400 clamp(14px, 1.6vw, 24px) / 1.3 var(--font-sans);letter-spacing:.4em;text-transform:uppercase}.hero-description{max-width:600px;color:var(--text);font-size:clamp(16px,1.4vw,20px);line-height:1.55}.hero-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.hero-side-notes{right:var(--gutter);top:var(--space-5);align-items:flex-end;gap:var(--space-6);text-align:right;flex-direction:column;display:flex;position:absolute}.hero-side-notes p{color:var(--text);font:400 12px/1.8 var(--mono);letter-spacing:.3em;text-transform:uppercase;margin:0}.hero-side-notes p:after{content:"";width:24px;height:3px;margin:var(--space-3) 0 0 auto;background:var(--red);display:block}.portfolio-button{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:208px;min-height:56px;padding:0 var(--space-4);border:1px solid var(--line-bright);color:#fff;background:color-mix(in srgb, var(--bg) 70%, transparent);font:700 16px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;clip-path:var(--clip);display:inline-flex}.portfolio-button.primary{border-color:var(--red);background:linear-gradient(90deg, color-mix(in srgb, var(--red-dark) 70%, transparent), color-mix(in srgb, var(--red-dark) 18%, var(--bg)) 85%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--red) 40%, transparent), var(--glow-red)}.portfolio-button:hover{border-color:var(--cyan-soft);transform:translateY(-2px)}.portfolio-button.primary:hover{border-color:var(--red);background:linear-gradient(90deg, var(--red-dark), color-mix(in srgb, var(--red-dark) 45%, var(--bg)) 85%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--red) 70%, transparent), 0 0 32px color-mix(in srgb, var(--red) 50%, transparent)}.portfolio-button svg{color:var(--red);flex:none}.portfolio-button.secondary svg{color:var(--text)}.portfolio-button[disabled],.portfolio-button[aria-disabled=true]{border-color:var(--line);background:var(--panel);color:var(--muted);box-shadow:none;pointer-events:none}.portfolio-main-sections{max-width:1600px;padding:0 var(--gutter) var(--space-7);margin:auto}.portfolio-section{margin-top:var(--space-6)}.portfolio-main-sections>:first-child{margin-top:var(--space-5)}.home-intro-section{align-items:center;gap:var(--space-6);padding:var(--space-6) 0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1.2fr auto;display:grid}.home-intro-label{gap:var(--space-3);flex-direction:column;display:flex}.home-intro-label strong{font:700 clamp(28px, 3vw, 40px) / 1.1 var(--display)}.home-intro-section p{max-width:680px;font-size:17px;line-height:1.6}.home-intro-links{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.inline-link{align-items:center;gap:var(--space-2);white-space:nowrap;color:var(--text);font:500 12px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;display:inline-flex}.inline-link:hover{color:var(--cyan);gap:var(--space-3)}.portfolio-section-title{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.portfolio-section-title h2{white-space:nowrap}.section-line{background:var(--line);flex:1;height:1px}.portfolio-section-title>a{align-items:center;gap:var(--space-2);color:var(--text);font:500 12px/1.5 var(--mono);white-space:nowrap;text-transform:uppercase;letter-spacing:.16em;display:inline-flex}.portfolio-section-title>a:hover{color:var(--cyan);gap:var(--space-3)}.featured-project-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));display:grid}.portfolio-project-card{border:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.portfolio-project-card:hover,.portfolio-project-card:focus-within{border-color:var(--cyan-soft);box-shadow:0 0 0 1px color-mix(in srgb, var(--cyan) 18%, transparent);transform:translateY(-2px)}.project-card-image{background:var(--panel-raised);height:208px;display:block;position:relative;overflow:hidden}.project-card-image:after{content:"";background:linear-gradient(0deg, color-mix(in srgb, var(--panel) 85%, transparent), transparent 45%);pointer-events:none;position:absolute;inset:0}.project-card-image img{object-fit:cover;transition:transform .35s,filter .35s}.portfolio-project-card.is-illustration .project-card-image img{filter:saturate(.85)hue-rotate(165deg)}.portfolio-project-card:hover .project-card-image img{transform:scale(1.04)}.portfolio-project-card.is-illustration:hover .project-card-image img{filter:saturate()hue-rotate(165deg)}.project-rapidapps .project-card-image img,.project-club-manager .project-card-image img,.portfolio-project-card.project-rapidapps:hover .project-card-image img,.portfolio-project-card.project-club-manager:hover .project-card-image img{filter:none}.project-image-fallback{width:100%;height:100%;color:var(--cyan-soft);background:repeating-linear-gradient(135deg, var(--bg), var(--bg) 14px, var(--panel-raised) 15px);justify-content:center;align-items:center;display:flex}.image-corner{z-index:2;border-top:3px solid var(--red);border-left:3px solid var(--red);width:24px;height:24px;position:absolute;top:0;left:0}.project-card-content{padding:var(--space-4);flex-direction:column;flex:1;display:flex}.project-card-top{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--cyan-soft);font:400 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em;display:flex}.project-card-content h3{font:700 28px/1.15 var(--display);margin:var(--space-3) 0 var(--space-2)}.project-card-content h3 a:hover{color:var(--cyan)}.project-card-content p{font-size:15px;line-height:1.55}.project-card-bottom{justify-content:space-between;align-items:flex-end;gap:var(--space-3);padding-top:var(--space-4);margin-top:auto;display:flex}.project-card-bottom>a{color:var(--text)}.project-card-bottom>a:hover{color:var(--red);transform:translate(2px,-2px)}.tag-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag-list span{color:var(--text);border:1px solid var(--line-bright);padding:var(--space-1) 12px;font:400 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em}.status-pill{align-items:center;gap:var(--space-2);padding:var(--space-1) 12px;border:1px solid var(--line-bright);color:var(--text);font:400 11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:999px;display:inline-flex}.status-pill i{background:var(--cyan);border-radius:50%;width:8px;height:8px}.status-pill.status-live i{background:var(--green)}.status-pill.status-development i{background:var(--warn)}.capabilities-home-layout{gap:var(--space-6);grid-template-columns:.8fr 1.6fr;align-items:start;display:grid}.capability-statement{padding-right:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.capability-statement h3{font:700 clamp(36px, 4vw, 56px) / 1.05 var(--display);margin:0 0 var(--space-3)}.capability-statement em,.portfolio-contact-cta em{color:var(--cyan);font-style:normal}.capability-statement p{max-width:360px;font-size:16px;line-height:1.6}.capability-statement .inline-link{margin-top:var(--space-4)}.capability-list{border-top:1px solid var(--line)}.capability-card{gap:var(--space-4);border-bottom:1px solid var(--line);padding:var(--space-3) 0;align-items:center;min-width:0;display:flex}.capability-icon{border:1px solid var(--line-bright);width:48px;height:48px;color:var(--text);border-radius:2px;flex:none;justify-content:center;align-items:center;display:flex}.capability-card>div{flex:1;min-width:0}.capability-card h3{font:600 22px/1.2 var(--display);margin:0 0 var(--space-1)}.capability-card p{font-size:14px;line-height:1.45}.capability-card:hover .capability-icon{color:var(--cyan);border-color:var(--cyan);box-shadow:0 0 12px color-mix(in srgb, var(--cyan) 22%, transparent)}.writing-list{border-top:1px solid var(--line)}.writing-row{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--line);display:flex}.writing-row:hover{background:color-mix(in srgb, var(--panel) 70%, transparent)}.writing-row:hover strong{color:var(--cyan)}.writing-row-main{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.writing-row-main small{color:var(--cyan-soft);font:400 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase}.writing-row-main strong{font:600 24px/1.2 var(--display);color:var(--text)}.writing-row-main>span{color:var(--muted);font-size:15px}.writing-row time{color:var(--muted);font:400 12px/1.5 var(--mono);white-space:nowrap;text-transform:uppercase;letter-spacing:.14em}.portfolio-contact-cta{margin-top:var(--space-6);border:1px solid var(--cyan-soft);background:var(--panel);min-height:168px;color:var(--text);grid-template-columns:clamp(160px,28%,320px) minmax(0,1fr) auto;align-items:stretch;transition:border-color .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden}.portfolio-contact-cta:hover{border-color:var(--cyan);box-shadow:0 0 32px color-mix(in srgb, var(--cyan) 14%, transparent)}.portfolio-contact-cta:before{content:"";z-index:2;background:var(--red);width:96px;height:3px;box-shadow:var(--glow-red);position:absolute;top:0;left:0}.cta-art{min-height:100%;position:relative}.cta-art img{object-fit:cover;object-position:30% 40%;transition:transform .5s}.portfolio-contact-cta:hover .cta-art img{transform:scale(1.04)}.cta-art:after{content:"";background:linear-gradient(90deg, transparent 35%, color-mix(in srgb, var(--panel) 92%, transparent));position:absolute;inset:0}.cta-copy{padding:var(--space-4) var(--space-4) var(--space-4) var(--space-3);align-self:center}.cta-copy h2{font:700 clamp(30px, 3.4vw, 44px) / 1.1 var(--display);margin:var(--space-2) 0}.cta-copy p{max-width:520px;margin:0;font-size:15px;line-height:1.55}.cta-arrow{margin-right:var(--space-5);color:var(--red);align-self:center;transition:transform .2s}.portfolio-contact-cta:hover .cta-arrow{transform:translate(6px)}.portfolio-page-intro{isolation:isolate;border-bottom:1px solid var(--line);align-items:flex-start;min-height:280px;display:flex;position:relative}.portfolio-page-intro .page-intro-image{object-position:center 40%}.page-intro-shade{z-index:-1;background:linear-gradient(90deg, color-mix(in srgb, var(--bg) 96%, transparent), color-mix(in srgb, var(--bg) 86%, transparent) 45%, color-mix(in srgb, var(--bg) 40%, transparent) 85%), linear-gradient(0deg, color-mix(in srgb, var(--bg) 80%, transparent), transparent);position:absolute;inset:0}.page-intro-content{padding:var(--space-5) var(--gutter);max-width:920px}.portfolio-page-intro h1{color:var(--text);font:700 clamp(32px, 4.4vw, 56px) / 1.06 var(--display);letter-spacing:-.02em;margin:var(--space-3) 0}.portfolio-page-intro p{max-width:680px;color:var(--text);font-size:16px;line-height:1.55}.all-project-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.all-project-grid .portfolio-project-card{grid-template-columns:40% 60%;min-height:256px;display:grid}.all-project-grid .project-card-image{height:100%;min-height:256px}.about-profile{gap:clamp(var(--space-5), 5vw, 80px);margin-top:var(--space-5);grid-template-columns:.88fr 1.12fr;align-items:center;display:grid}@media (min-width:761px){.portfolio-interior:has(.about-profile) .page-intro-content{max-width:calc(100vw - clamp(var(--space-5), 5vw, 80px) - clamp(240px, 28vw, 380px))}.about-profile{grid-template-columns:1fr clamp(240px,28vw,380px)}.about-portrait{z-index:2;order:2;align-self:start;margin-top:-160px;box-shadow:0 24px 60px #0000008c}}.about-portrait{aspect-ratio:1/1.12;background:radial-gradient(circle at 50% 25%, color-mix(in srgb, var(--cyan-soft) 35%, var(--panel)), var(--panel) 70%);position:relative;overflow:hidden}.about-portrait:before{content:"";background:var(--red);z-index:2;width:96px;height:4px;position:absolute;top:0;left:0}.about-portrait img{object-fit:contain;object-position:center;padding:0 0 52px}.about-portrait>span{padding:var(--space-3) var(--space-4);background:color-mix(in srgb, var(--bg) 88%, transparent);border-top:1px solid var(--line-bright);color:var(--text);font:400 12px/1.5 var(--mono);letter-spacing:.18em;position:absolute;bottom:0;left:0;right:0}.about-portrait b{color:var(--red)}.about-profile-copy h2,.contact-main h2{font:700 clamp(30px, 3.4vw, 44px) / 1.1 var(--display);letter-spacing:-.02em;margin:var(--space-3) 0}.about-profile-copy p{max-width:680px;margin-bottom:var(--space-3);font-size:16px;line-height:1.7}.about-profile-copy .lead{color:var(--text);font-size:20px;line-height:1.4}.about-location{align-items:center;gap:var(--space-2);color:var(--cyan-soft);margin:var(--space-4) 0;font:400 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em;display:flex}.approach-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.approach-grid article,.skill-group-grid article{border:1px solid var(--line);background:var(--panel);padding:var(--space-5)}.approach-grid article>span{color:var(--red);font:700 32px/1 var(--display)}.approach-grid h3{font:700 26px/1.2 var(--display);margin:var(--space-3) 0 var(--space-2)}.approach-grid p{font-size:15px;line-height:1.6}.career-list{border-top:1px solid var(--line)}.career-list article{gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--line);grid-template-columns:240px 1fr;display:grid}.career-list article>div:first-child{gap:var(--space-1);color:var(--cyan-soft);font:400 12px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;display:flex}.career-list small{color:var(--muted);font-size:12px}.career-list h3{font:700 24px/1.2 var(--display);margin-bottom:var(--space-2)}.career-list p{font-size:15px}.about-personal{margin-top:var(--space-6);border-left:3px solid var(--red);padding:var(--space-1) 0 var(--space-1) var(--space-5);max-width:850px}.about-personal h2{font:700 36px/1.15 var(--display);margin:var(--space-3) 0}.about-personal p{font-size:16px;line-height:1.7}.capability-grid{column-gap:var(--space-5);border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.skill-group-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.skill-group-grid article>span{color:var(--cyan-soft);font:400 12px/1.5 var(--mono);letter-spacing:.18em;text-transform:uppercase}.skill-group-grid h3{font:700 28px/1.2 var(--display);margin:var(--space-3) 0 var(--space-2)}.skill-group-grid p{margin-bottom:var(--space-4);font-size:14px;line-height:1.6}.editorial-note{max-width:640px;margin:0 0 var(--space-4);font-size:14px}.writing-page-list .writing-row{padding:var(--space-5) 0}.contact-layout{gap:var(--space-6);padding:0 0 var(--space-4);grid-template-columns:1.4fr .8fr;display:grid}.contact-main>.micro-label{display:flex}.contact-main>p{max-width:580px;font-size:18px;line-height:1.6}.contact-email-link{align-items:center;gap:var(--space-3);max-width:650px;margin:var(--space-6) 0 var(--space-5);padding:var(--space-4) 0;border-top:1px solid var(--line-bright);border-bottom:1px solid var(--line-bright);font:700 clamp(20px, 3vw, 36px) / 1.2 var(--display);overflow-wrap:anywhere;display:flex}.contact-email-link span{flex:1}.contact-email-link svg:last-child{color:var(--red)}.contact-email-link:hover{color:var(--cyan)}.contact-aside{border-left:1px solid var(--line);padding-left:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.contact-aside>div{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.contact-aside>div>a{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) 0;border-bottom:1px solid var(--line);font:700 22px/1.2 var(--display);display:flex}.contact-aside>div>a svg:last-child{color:var(--red);margin-left:auto}.contact-aside>div>a:hover{color:var(--cyan)}.contact-aside p{line-height:1.8}.contact-aside p svg{vertical-align:-4px;margin-right:var(--space-2);color:var(--cyan-soft);display:inline-block}.contact-cv-link{color:var(--text);font:500 12px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;gap:var(--space-2);align-items:center;display:inline-flex}.contact-cv-link:hover{color:var(--cyan)}.reading-layout{max-width:960px;padding-top:var(--space-5)}.back-link{margin-bottom:var(--space-4)}.article-meta{gap:var(--space-4);padding:var(--space-3) 0;margin-bottom:var(--space-3);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font:400 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;display:flex}.reading-prose{max-width:760px;margin-top:var(--space-5);color:color-mix(in srgb, var(--text) 88%, var(--bg));font:400 17px/1.75 var(--font-sans)}.reading-prose>:first-child{margin-top:0}.reading-prose h2{font:700 32px/1.2 var(--display);color:var(--text);margin:var(--space-6) 0 var(--space-3)}.reading-prose h3{font:700 24px/1.2 var(--display);color:var(--text);margin:var(--space-5) 0 var(--space-2)}.reading-prose p{color:inherit;margin:var(--space-3) 0}.reading-prose ul,.reading-prose ol{padding-left:var(--space-4);margin:var(--space-3) 0}.reading-prose li{margin:var(--space-2) 0;padding-left:var(--space-1)}.reading-prose li::marker{color:var(--red)}.reading-prose a{color:var(--cyan);text-underline-offset:4px;text-decoration:underline}.reading-prose a:hover{color:#fff}.reading-prose blockquote{margin:var(--space-5) 0;padding:var(--space-1) var(--space-4);border-left:2px solid var(--red);background:var(--panel)}.reading-prose blockquote p{color:var(--text);font-style:italic}.reading-prose img{border:1px solid var(--line);max-width:100%;height:auto}.reading-prose code{font-family:var(--mono);font-size:.88em}.reading-prose :not(pre)>code{border:1px solid var(--line);background:var(--panel);color:var(--cyan);padding:2px 6px}.reading-prose pre{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--line);border-top:2px solid var(--cyan-soft);background:var(--panel);font-size:14px;line-height:1.7;overflow-x:auto}.reading-prose table{width:100%;margin:var(--space-4) 0;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}.reading-prose th,.reading-prose td{padding:12px var(--space-3);border:1px solid var(--line);text-align:left}.reading-prose th{background:var(--panel);color:var(--cyan-soft);font:500 12px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase}.reading-end{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line)}.project-detail .portfolio-main-sections{padding-top:var(--space-5)}.detail-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.detail-layout{gap:var(--space-6);grid-template-columns:300px minmax(0,1fr);align-items:start;display:grid}.detail-facts{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line);background:var(--panel);flex-direction:column;display:flex}.detail-facts dl{border-top:1px solid var(--line);margin:0}.detail-facts dl>div{gap:var(--space-1);padding:var(--space-3) 0;border-bottom:1px solid var(--line);flex-direction:column;display:flex}.detail-facts dt{color:var(--cyan-soft);font:400 12px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase}.detail-facts dd{color:var(--text);margin:0}.detail-body .reading-prose{margin-top:0}.detail-screens{margin-top:var(--space-6)}.detail-screens figure{margin:var(--space-4) 0 0}.detail-screens img{border:1px solid var(--line);max-width:100%;height:auto;display:block}.detail-screens figcaption{margin-top:var(--space-2);color:var(--muted);font-size:14px}.detail-next{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-7);padding-top:var(--space-4);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.detail-next a{align-items:center;gap:var(--space-3);color:var(--text);font:700 22px/1.2 var(--display);display:inline-flex}.detail-next a:hover{color:var(--cyan)}.detail-next small{color:var(--cyan-soft);font:400 12px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;display:block}.detail-next svg{color:var(--red)}.status-page{align-items:flex-start;gap:var(--space-3);max-width:720px;min-height:60vh;padding:var(--space-7) var(--gutter);flex-direction:column;justify-content:center;margin:auto;display:flex}.status-page h1{font:700 clamp(48px, 8vw, 88px) / 1 var(--display);letter-spacing:-.02em}.status-page p{max-width:520px;margin-bottom:var(--space-3)}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (pointer:coarse){.cv-contact>a,.cv-project-link,.cv-project-grid h3 a,.inline-link,.portfolio-section-title a{align-items:center;min-height:44px;display:inline-flex}.project-card-bottom>a{justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:-11px;display:inline-flex}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-content{animation:none}.portfolio-shell a,.portfolio-shell button,.project-card-image img{transition:none!important}.portfolio-project-card:hover,.portfolio-project-card:hover .project-card-image img,.portfolio-button:hover,.social-links a:hover,.footer-links a:hover{transform:none}}@media (max-width:1280px){.portfolio-header{gap:var(--space-4)}.portfolio-brand strong{font-size:15px}.portfolio-brand small{font-size:10px}.portfolio-header-end{gap:var(--space-3);padding-left:var(--space-4)}.hero-side-notes,.footer-tagline,.footer-rule{display:none}}@media (max-width:1050px){:root{--header-height:72px}.portfolio-brand img{width:56px;height:56px}.portfolio-nav,.portfolio-header-end{display:none}.portfolio-menu-button{align-items:center;gap:var(--space-3);min-width:48px;min-height:48px;padding:0 var(--space-2);margin-left:auto;margin-right:calc(var(--space-2) * -1);color:var(--text);justify-content:flex-end;display:inline-flex}.portfolio-menu-button span{padding-bottom:var(--space-1);border-bottom:2px solid var(--red);font:500 12px/1.2 var(--mono);letter-spacing:.2em;text-transform:uppercase}.portfolio-menu-backdrop{cursor:default;background:#0009;border:0;height:100svh;padding:0;display:block;position:absolute;top:100%;left:0;right:0}.portfolio-mobile-nav{max-height:calc(100svh - var(--header-height));z-index:1;padding:var(--space-2) var(--gutter) var(--space-4);background:var(--panel);border-bottom:1px solid var(--red-dark);flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 24px 32px #0000008c}.portfolio-mobile-nav a{align-items:center;gap:var(--space-3);min-height:56px;padding:0 var(--space-3);border-bottom:1px solid var(--line);color:var(--text);font-size:17px;display:flex}.portfolio-mobile-nav a svg{color:var(--cyan-soft)}.portfolio-mobile-nav a[aria-current=page]{background:var(--panel-raised);box-shadow:inset 3px 0 0 var(--red);color:#fff}.portfolio-hero{min-height:640px}.hero-content{width:85%}.impact-heading{font-size:clamp(72px,14vw,128px)}.home-intro-section{gap:var(--space-4);grid-template-columns:1fr 1.4fr}.home-intro-section .home-intro-links{grid-column:2}.featured-project-grid{grid-template-columns:repeat(2,1fr)}.featured-project-grid .portfolio-project-card:nth-child(n+3){display:none}.all-project-grid .portfolio-project-card{grid-template-columns:1fr}.all-project-grid .project-card-image{height:200px;min-height:0}.detail-layout{grid-template-columns:1fr}}@media (max-width:760px){.portfolio-hero{align-items:flex-start;min-height:560px}.portfolio-hero-image{object-position:62% center}.portfolio-hero-overlay{background:linear-gradient(90deg, color-mix(in srgb, var(--bg) 92%, transparent), color-mix(in srgb, var(--bg) 68%, transparent) 58%, color-mix(in srgb, var(--bg) 25%, transparent)), linear-gradient(0deg, var(--bg), transparent 40%)}.hero-content{width:100%;padding:var(--space-6) var(--gutter) var(--space-7)}.home-intro-section{gap:var(--space-3);padding:var(--space-6) 0;grid-template-columns:1fr}.home-intro-section .home-intro-links{grid-column:auto}.portfolio-section{margin-top:var(--space-6)}.featured-project-grid{grid-template-columns:1fr}.featured-project-grid .portfolio-project-card:nth-child(n+3){display:flex}.project-card-image{height:224px}.capabilities-home-layout{gap:var(--space-4);grid-template-columns:1fr}.portfolio-contact-cta{margin-top:var(--space-6);grid-template-columns:minmax(0,1fr) auto}.cta-art{grid-column:1/-1;height:132px;min-height:0}.cta-art:after{background:linear-gradient(180deg, transparent 40%, color-mix(in srgb, var(--panel) 92%, transparent))}.cta-copy{padding:var(--space-3) var(--space-3) var(--space-4) var(--space-4)}.cta-arrow{margin-right:var(--space-4);margin-bottom:var(--space-4);align-self:end}.portfolio-page-intro{min-height:280px}.about-profile{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:1fr}.about-portrait{width:min(100%,340px);min-height:0}.approach-grid,.capability-grid,.skill-group-grid,.all-project-grid{grid-template-columns:1fr}.career-list article{grid-template-columns:160px 1fr}.contact-layout{gap:var(--space-6);padding-top:var(--space-6);grid-template-columns:1fr}.contact-aside{border-left:0;border-top:1px solid var(--line);padding:var(--space-5) 0 0}.portfolio-footer{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.portfolio-header{gap:var(--space-3)}.portfolio-brand{gap:12px}.portfolio-brand img{width:48px;height:48px}.portfolio-brand strong{letter-spacing:.16em;font-size:13px}.portfolio-brand small{letter-spacing:.18em;font-size:9px}.impact-heading{margin:var(--space-3) 0;font-size:clamp(64px,20vw,88px)}.hero-role{letter-spacing:.3em;font-size:12px}.hero-actions{gap:var(--space-2);flex-wrap:nowrap}.portfolio-button{gap:var(--space-2);min-width:0;min-height:52px;padding:0 var(--space-3);letter-spacing:.1em;flex:1 1 0;font-size:14px}.portfolio-section-title{gap:var(--space-3)}.portfolio-section-title h2{white-space:normal}.project-card-image{height:192px}.project-card-content{padding:var(--space-3)}.capability-card{gap:var(--space-3)}.writing-row{gap:var(--space-2);flex-direction:column}.writing-row-main strong{font-size:22px}.portfolio-page-intro p{font-size:16px}.about-portrait{min-height:0}.about-profile-copy .lead{font-size:20px}.career-list article{gap:var(--space-2);grid-template-columns:1fr}.contact-email-link{font-size:22px}.reading-prose{font-size:16px}}@media print{:is(body:has(.cv-page) .portfolio-header,body:has(.cv-page) .portfolio-footer){display:none!important}body:has(.cv-page){background:#fff!important}body:has(.cv-page) .portfolio-shell{max-width:none}}
