.skip-link{position:fixed;z-index:100;top:var(--space-4);left:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-round);background:var(--color-ink);color:var(--color-surface);text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{position:absolute;z-index:20;top:0;right:0;left:0;display:flex;width:min(100%,var(--container-width));margin-inline:auto;align-items:center;justify-content:space-between;padding:var(--space-6) var(--page-gutter)}.brand{z-index:2;font-size:1.5rem;font-weight:800;letter-spacing:-.08em;line-height:1;text-decoration:none}.brand span{color:var(--color-accent)}.menu-button{z-index:2;display:inline-flex;border:0;align-items:center;gap:var(--space-3);background:transparent;color:inherit;cursor:pointer}.menu-icon{position:relative;width:1.5rem;height:1px;background:currentColor}.menu-icon:after{position:absolute;top:.35rem;left:0;width:100%;height:1px;background:currentColor;content:""}.primary-navigation{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;padding:7rem var(--page-gutter) var(--space-8);background:var(--color-surface);flex-direction:column;gap:var(--space-3);opacity:0;pointer-events:none;transform:translateY(-1rem);visibility:hidden;transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.primary-navigation[data-open=true]{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.primary-navigation a{padding-block:var(--space-4);border-bottom:1px solid var(--color-line);font-family:var(--font-display);font-size:clamp(1.75rem,8vw,3rem);text-decoration:none}.primary-navigation .nav-cta{margin-top:auto;font-family:var(--font-body);font-size:var(--text-base);font-weight:700}.site-footer{display:flex;width:min(100%,var(--container-width));margin-inline:auto;padding:var(--space-8) var(--page-gutter);align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--color-surface);color:var(--color-ink)}.site-footer p{color:#fff9;font-size:var(--text-xs)}.site-footer div{display:flex;gap:var(--space-4)}.site-footer div a{font-size:var(--text-xs)}@media(min-width:48rem){.menu-button{display:none}.primary-navigation{position:static;display:flex;padding:0;align-items:center;background:transparent;flex-direction:row;gap:var(--space-6);opacity:1;pointer-events:auto;transform:none;visibility:visible}.primary-navigation a,.primary-navigation .nav-cta{padding:0;border:0;font-family:var(--font-body);font-size:var(--text-sm)}.primary-navigation .nav-cta{margin:0 0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-accent-contrast)}}@media(max-width:35rem){.site-footer{align-items:flex-start;flex-direction:column}.site-footer div{width:100%;justify-content:space-between}}.contact-page{min-height:100vh;padding:clamp(8.5rem,14vw,12rem) var(--page-gutter) 5rem}.contact-page+.site-footer{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.contact-intro{max-width:62rem;margin:0 auto clamp(4rem,8vw,7rem)}.contact-intro h1{max-width:13ch;margin:1rem 0 1.5rem;font-size:clamp(2.6rem,4.75vw,4rem);line-height:1.02;letter-spacing:-.05em}.contact-intro h1 em{color:var(--color-accent);font-family:var(--font-display);font-weight:400}.contact-intro>p:last-child{max-width:42rem;color:var(--color-muted);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7}.contact-layout{display:grid;grid-template-columns:minmax(14rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,5vw,5rem);max-width:76rem;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 1.5rem 4rem #00000024}.contact-details{padding-right:clamp(1rem,3vw,3rem);border-right:1px solid var(--color-line)}.contact-details h2{margin:1rem 0;font-size:clamp(1.6rem,2.4vw,2.25rem);letter-spacing:-.04em}.contact-details>p:not(.eyebrow){color:var(--color-muted);line-height:1.7}.contact-social-links{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:2rem}.contact-social-links a{display:inline-flex;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-round);align-items:center;gap:var(--space-2);font-weight:700;text-decoration:none;transition:border-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast)}.contact-social-links a:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.contact-form{position:relative;display:flex;flex-direction:column;gap:var(--space-6)}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.contact-field{display:flex;flex-direction:column;gap:var(--space-2)}.contact-field label{font-size:var(--text-sm);font-weight:800;letter-spacing:.01em}.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid var(--color-line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-canvas) 55%,transparent);color:var(--color-ink);font:inherit;line-height:1.5;padding:1rem 1.1rem;transition:background var(--duration-fast),border-color .16s ease,box-shadow .16s ease}.contact-field textarea{min-height:11rem;resize:vertical}.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-line))}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--color-accent);background:var(--color-canvas);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent);outline:none}.contact-field-hint,.contact-privacy,.contact-status{color:var(--color-muted);font-size:.82rem}.contact-field-hint{align-self:flex-end}.contact-submit{align-self:flex-start;border:0;border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer;font:inherit;font-weight:800;padding:1rem 1.5rem;transition:box-shadow var(--duration-fast),transform var(--duration-fast)}.contact-submit:hover{box-shadow:0 .75rem 2rem #f9ad3d33;transform:translateY(-2px)}.contact-submit:disabled{cursor:wait;opacity:.65}.contact-submit:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.contact-privacy,.contact-status{margin:-.5rem 0 0;line-height:1.5}.contact-status:not(:empty){color:var(--color-ink);font-weight:700}.contact-status[data-state=error]{color:var(--color-error)}@media(max-width:760px){.contact-page{padding-top:7rem}.contact-layout,.contact-field-row{grid-template-columns:1fr}.contact-layout{gap:3.5rem}.contact-details{padding-right:0;padding-bottom:var(--space-8);border-right:0;border-bottom:1px solid var(--color-line)}}.hero,.section,.about-section,.contact-section{width:min(100%,var(--container-width));margin-inline:auto;padding-inline:var(--page-gutter)}.hero{display:grid;min-height:100svh;padding-top:8rem;padding-bottom:var(--space-12);align-content:start}.availability{display:flex;align-items:center;align-self:start;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.availability span{width:.5rem;height:.5rem;border-radius:50%;background:#3f7c59;box-shadow:0 0 0 .25rem #3f7c591f}.hero-layout{display:grid;margin-top:var(--space-12);align-items:center;gap:var(--space-8)}.hero-identity h1{margin:var(--space-4) 0;font-family:var(--font-display);font-size:var(--text-display);font-weight:400;letter-spacing:-.055em;line-height:.95}.hero-accent-rule{display:block;width:3rem;height:.25rem;margin-top:var(--space-6);background:var(--color-accent)}.hero-details h2{max-width:18ch;margin:var(--space-4) 0 var(--space-6);font-family:var(--font-body);font-size:clamp(1.5rem,1.25rem + 1vw,2.15rem);font-weight:650;letter-spacing:-.035em;line-height:1.08}.hero-details h2 em,.manifesto em,.about-copy em,.contact-section em{color:var(--color-accent);font-weight:400}.hero-details>p:not(.eyebrow){max-width:28rem;margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.7}.hero-details>a{display:inline-flex;width:fit-content;margin-top:var(--space-6);padding-bottom:var(--space-1);border-bottom:1px solid currentColor;align-items:center;gap:var(--space-3);color:var(--color-accent);font-weight:800;text-decoration:none}.hero-art{position:relative;width:min(100%,22rem);aspect-ratio:1;margin-inline:auto;overflow:hidden}.hero-portrait-column{display:grid;align-self:start;gap:var(--space-6)}.hero-portrait-intro{width:min(100%,28rem);margin-inline:auto;padding-top:var(--space-4);border-top:1px solid var(--color-line)}.hero-portrait-intro>p:last-child{margin:var(--space-3) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.65}.hero-portrait-backdrop{position:absolute;top:16%;right:6%;bottom:0;left:6%;border-radius:50%;background:var(--color-accent);opacity:.9}.hero-portrait{position:absolute;z-index:1;bottom:-1%;left:50%;width:108%;height:auto;filter:drop-shadow(0 1rem 1.5rem rgb(0 0 0 / 22%));transform:translate(-50%)}.section{padding-top:var(--space-24);padding-bottom:var(--space-24)}.section-heading{display:grid;gap:var(--space-4)}.section-heading h2,.about-copy h2{max-width:12ch;margin:0;font-family:var(--font-display);font-size:var(--text-heading);font-weight:400;letter-spacing:-.05em;line-height:.98}.section-heading>p:last-child{max-width:34rem;margin:0;color:var(--color-muted);font-size:var(--text-lg);line-height:1.5}.work-section{border-top:1px solid var(--color-line)}.work-placeholder{position:relative;display:grid;min-height:24rem;margin-top:var(--space-16);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink);overflow:hidden}.project-list{display:grid;margin-top:var(--space-16);gap:var(--space-16)}.project-card{display:grid;gap:var(--space-8)}.project-card-visual{position:relative;display:grid;min-height:24rem;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink);overflow:hidden}.project-card:nth-child(2) .project-card-visual{background:var(--color-soft);color:var(--color-ink)}.project-card:nth-child(2) .project-card-orbit{border-color:var(--color-accent-secondary);opacity:.65}.project-card:nth-child(3) .project-card-visual{background:var(--color-accent);color:var(--color-accent-contrast)}.project-card-visual>span{font-size:var(--text-xs)}.project-card-visual>strong{z-index:1;max-width:8ch;margin-top:auto;font-family:var(--font-display);font-size:clamp(2.25rem,4vw,3.25rem);font-weight:400;line-height:.95}.project-card-orbit{position:absolute;right:-5rem;bottom:-7rem;width:20rem;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;opacity:.3}.project-card-copy{display:grid;align-content:start;gap:var(--space-4)}.project-meta{display:flex;color:var(--color-muted);font-size:var(--text-xs);justify-content:space-between;letter-spacing:.08em;text-transform:uppercase}.project-card-copy h3{max-width:14ch;margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,1.5rem + 1.2vw,2.75rem);font-weight:400;letter-spacing:-.04em;line-height:1}.project-card-copy>p{max-width:36rem;margin:0;color:var(--color-muted);line-height:1.6}.project-card-copy>strong{max-width:34rem;font-size:var(--text-lg);line-height:1.4}.project-card-copy>a{display:inline-flex;width:fit-content;margin-top:var(--space-4);align-items:center;gap:var(--space-3);font-weight:700}.project-list-compact{gap:var(--space-8)}.project-card-compact{align-content:start;gap:var(--space-4)}.project-card-compact .project-card-visual{min-height:13rem;padding:var(--space-4)}.project-card-compact .project-card-visual>strong{max-width:12ch;font-size:clamp(1.5rem,6vw,1.9rem)}.project-card-compact .project-card-copy h3{max-width:20ch;font-size:clamp(1.4rem,5vw,1.75rem);line-height:1.08}.work-section-link{display:inline-flex;margin-top:var(--space-12);align-items:center;gap:var(--space-3);font-weight:800}.work-placeholder>span{color:#ffffff8c;font-size:var(--text-xs)}.work-placeholder p{z-index:1;max-width:20rem;margin:auto 0 0;font-family:var(--font-display);font-size:var(--text-lg);line-height:1.3}.placeholder-mark{position:absolute;right:-2rem;bottom:-3rem;display:grid;width:15rem;aspect-ratio:1;border:1px solid rgb(255 255 255 / 30%);border-radius:50%;color:var(--color-accent);font-family:var(--font-display);font-size:3rem;font-style:italic;place-items:center;transform:rotate(-12deg)}.manifesto{padding:var(--space-24) var(--page-gutter);background:var(--color-accent);color:var(--color-accent-contrast);text-align:center}.manifesto p{margin:0 0 var(--space-4);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.manifesto h2{max-width:17ch;margin:0 auto;font-family:var(--font-display);font-size:var(--text-heading);font-weight:400;letter-spacing:-.05em;line-height:1}.manifesto em{color:inherit}.capability-list{display:grid;margin-top:var(--space-16);gap:var(--space-4)}.capability{display:grid;min-height:15rem;padding:var(--space-6);background:var(--color-soft);align-content:end;gap:var(--space-3)}.capability:first-child{background:var(--color-accent);color:var(--color-accent-contrast)}.capability:first-child>span,.capability:first-child p{color:inherit}.capability>span{color:var(--color-muted);font-size:var(--text-xs)}.capability h3{margin:0;font-family:var(--font-display);font-size:clamp(1.65rem,1.4rem + .8vw,2.25rem);font-weight:400}.capability p{max-width:32rem;margin:0;color:var(--color-muted);line-height:1.6}.about-section{display:grid;padding-top:var(--space-24);padding-bottom:var(--space-24);gap:var(--space-12)}.portrait-card{position:relative;display:grid;min-height:20rem;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-soft);color:var(--color-ink);overflow:hidden}.portrait-monogram{align-self:center;font-family:var(--font-display);font-size:clamp(4.5rem,13vw,8rem);font-style:italic;letter-spacing:-.12em;line-height:1;text-align:center;transform:translate(-.06em)}.portrait-card p{z-index:1;margin:auto 0 0;font-size:var(--text-xs);letter-spacing:.08em;line-height:1.5;text-transform:uppercase}.about-copy{align-self:center}.about-copy h2{margin:var(--space-6) 0 var(--space-8)}.about-copy>p:not(.eyebrow){max-width:38rem;color:var(--color-muted);font-size:var(--text-lg);line-height:1.6}.contact-section{padding-top:var(--space-24);padding-bottom:var(--space-24);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-surface);color:var(--color-ink);text-align:center}.contact-section h2{max-width:13ch;margin:var(--space-6) auto var(--space-12);font-family:var(--font-display);font-size:var(--text-heading);font-weight:400;letter-spacing:-.05em;line-height:1}.contact-section a{display:inline-flex;padding:var(--space-4) var(--space-6);border-radius:var(--radius-round);align-items:center;gap:var(--space-3);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:700;text-decoration:none}@media(min-width:48rem){.hero{min-height:auto;padding-bottom:var(--space-16)}.hero-layout{grid-template-columns:minmax(10rem,.75fr) minmax(16rem,1.1fr) minmax(15rem,.9fr);margin-top:var(--space-8);gap:clamp(2rem,4vw,5rem)}.hero-art{width:100%;max-width:30rem}.hero-portrait-intro{max-width:30rem}.hero-identity h1{font-size:clamp(3rem,5vw,4.75rem)}.section-heading{grid-template-columns:minmax(8rem,.35fr) minmax(18rem,1fr) minmax(18rem,.65fr);align-items:start}.section-heading-compact{grid-template-columns:minmax(8rem,.35fr) 1fr}.work-placeholder{min-height:34rem;padding:var(--space-8)}.project-card{grid-template-columns:minmax(22rem,1.2fr) minmax(20rem,.8fr);align-items:center;gap:clamp(3rem,8vw,8rem)}.project-card:nth-child(2n) .project-card-visual{order:2}.project-card-visual{min-height:36rem;padding:var(--space-8)}.project-list-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8)}.project-card-compact{grid-template-columns:1fr;gap:var(--space-6)}.project-card-compact:nth-child(2n) .project-card-visual{order:initial}.project-card-compact .project-card-visual{min-height:14rem;padding:var(--space-4)}.work-placeholder p{font-size:2rem}.placeholder-mark{right:8%;bottom:-8rem;width:28rem;font-size:5rem}.capability{min-height:17rem}.capability-list{grid-template-columns:repeat(3,minmax(0,1fr))}.about-section{grid-template-columns:minmax(20rem,.9fr) minmax(22rem,1.1fr);gap:clamp(3rem,8vw,9rem)}}@media(min-width:64rem){.section-heading-compact h2,.contact-section h2{max-width:none;font-size:clamp(2.25rem,3vw,3rem);white-space:nowrap}}.activity-section{width:min(100%,var(--container-width));margin-inline:auto;padding:var(--space-16) var(--page-gutter);border-top:1px solid var(--color-line)}.activity-section--leetcode{padding-top:var(--space-12)}.activity-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-8)}.activity-heading h2{margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:var(--text-heading);font-weight:400;letter-spacing:-.05em;line-height:1}.activity-heading>a,.activity-empty a{flex:0 0 auto;color:var(--color-accent);font-weight:800}.activity-card{margin-top:var(--space-12);padding:clamp(1rem,3vw,2rem);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface)}.activity-summary{margin:0 0 var(--space-6);color:var(--color-muted);font-size:var(--text-sm)}.activity-summary strong{margin-right:var(--space-1);color:var(--color-ink);font-size:var(--text-lg)}.activity-calendar{--activity-cell-size: clamp(.58rem, .75vw, .78rem);display:grid;grid-template-columns:2.5rem 1fr;gap:var(--space-4)}.activity-weekdays{display:grid;padding-top:2.15rem;grid-template-rows:repeat(7,var(--activity-cell-size));gap:.25rem;color:var(--color-muted);font-size:var(--text-xs)}.activity-weekdays span{display:flex;align-items:center}.activity-months{display:grid;width:94%;grid-template-columns:repeat(6,max-content);justify-content:space-between;gap:clamp(.75rem,1.5vw,1.5rem)}.activity-month h3{margin:0 0 var(--space-3);color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.1em;text-align:center;text-transform:uppercase}.activity-month-grid{display:grid;width:max-content;margin-inline:auto;grid-auto-columns:var(--activity-cell-size);grid-auto-flow:column;grid-template-rows:repeat(7,var(--activity-cell-size));gap:.25rem}.activity-month-grid span,.activity-legend i{border-radius:.2rem;background:var(--color-line)}.activity-month-grid .outside-month{background:transparent}.activity-month-grid .level-1,.activity-legend .level-1{background:color-mix(in srgb,var(--color-accent) 30%,var(--color-surface))}.activity-month-grid .level-2,.activity-legend .level-2{background:color-mix(in srgb,var(--color-accent) 52%,var(--color-surface))}.activity-month-grid .level-3,.activity-legend .level-3{background:color-mix(in srgb,var(--color-accent) 76%,var(--color-surface))}.activity-month-grid .level-4,.activity-legend .level-4{background:var(--color-accent)}.activity-legend{display:flex;margin-top:var(--space-4);align-items:center;justify-content:flex-end;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-xs)}.activity-legend i{display:block;width:.72rem;height:.72rem}.activity-empty{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.activity-empty p{margin:0;color:var(--color-muted);line-height:1.6}.activity-stats{display:grid;margin-bottom:var(--space-8);grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4)}.activity-stats p{display:grid;margin:0;color:var(--color-muted);font-size:var(--text-xs);gap:var(--space-1)}.activity-stats strong{color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.5rem,1.25rem + .8vw,2rem);font-weight:400}@media(max-width:35rem){.activity-heading,.activity-empty{align-items:flex-start;flex-direction:column}.activity-calendar{--activity-cell-size: clamp(.44rem, 2vw, .55rem);display:grid;grid-template-columns:1.75rem 1fr;gap:var(--space-2)}.activity-weekdays{width:auto;margin:0;padding-top:1.65rem;grid-template-columns:none;grid-template-rows:repeat(7,var(--activity-cell-size));gap:.25rem}.activity-weekdays span{justify-content:flex-start}.activity-months{width:auto;padding-left:0;grid-template-columns:repeat(3,max-content);justify-content:start;column-gap:clamp(.3rem,1.5vw,.55rem);row-gap:var(--space-6)}.activity-month{display:block}.activity-month h3{margin:0 0 var(--space-2);text-align:center}.activity-month-grid{margin:0;grid-auto-flow:column;grid-auto-rows:auto;grid-template-columns:none;grid-template-rows:repeat(7,var(--activity-cell-size))}.activity-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.learning-page{min-height:100vh;padding:clamp(8rem,13vw,11rem) var(--page-gutter) var(--space-24)}.learning-page+.site-footer{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.learning-intro,.learning-library,.learning-activity-hub{width:min(100%,var(--container-width));margin-inline:auto}.learning-activity-hub{margin-top:clamp(4rem,9vw,8rem);padding-top:clamp(3rem,7vw,6rem);border-top:1px solid var(--color-line)}.learning-activity-intro{max-width:52rem;margin-bottom:var(--space-8)}.learning-activity-intro h2{margin:var(--space-4) 0 var(--space-6);font-family:var(--font-display);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:400;letter-spacing:-.05em;line-height:1}.learning-activity-intro h2 em{color:var(--color-accent);font-weight:400}.learning-activity-intro>p:last-child{max-width:42rem;margin:0;color:var(--color-muted);font-size:var(--text-lg);line-height:1.65}.learning-activity-hub .activity-section{width:100%;padding:var(--space-12) 0}.learning-activity-hub .activity-heading h2{font-size:clamp(1.75rem,3vw,2.5rem)}.learning-activity-hub .activity-card{margin-top:var(--space-8)}.learning-activity-hub .activity-section--learning{padding-bottom:0}.activity-stats--learning{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-loading{color:var(--color-muted)}.activity-loading p{margin:0}.learning-intro{display:grid;padding-bottom:clamp(3rem,7vw,6rem);border-bottom:1px solid var(--color-line);gap:var(--space-8)}.learning-intro h1{max-width:15ch;margin:var(--space-4) 0 0;font-family:var(--font-display);font-size:clamp(2.75rem,5vw,4rem);font-weight:400;letter-spacing:-.05em;line-height:1}.learning-intro h1 em{color:var(--color-accent);font-weight:400}.learning-intro>p{max-width:38rem;margin:0;align-self:end;color:var(--color-muted);font-size:var(--text-lg);line-height:1.65}.learning-library{padding-top:clamp(3rem,7vw,6rem)}.learning-library>header{display:flex;margin-bottom:var(--space-8);align-items:end;justify-content:space-between;gap:var(--space-4)}.learning-library>header h2{margin:var(--space-3) 0 0;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:400;letter-spacing:-.04em}.learning-library>header>p{margin:0;color:var(--color-muted);font-size:var(--text-sm)}.learning-status{display:grid;min-height:18rem;padding:clamp(2rem,5vw,4rem);border:1px solid var(--color-line);border-radius:var(--radius-lg);place-content:center;justify-items:center;background:var(--color-surface);text-align:center}.learning-status>span{display:grid;width:3rem;height:3rem;margin-bottom:var(--space-6);border-radius:50%;place-items:center;background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--text-xs);font-weight:800}.learning-status h3{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400}.learning-status p{max-width:34rem;margin:var(--space-3) 0 0;color:var(--color-muted);line-height:1.65}.learning-status button{margin-top:var(--space-6);padding:var(--space-3) var(--space-6);border:0;border-radius:var(--radius-round);background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer;font-weight:800}.learning-status-error>span{background:var(--color-error)}.learning-loader{border:2px solid var(--color-line);border-top-color:var(--color-accent)!important;background:transparent!important;animation:learning-spin .8s linear infinite}.learning-grid{display:grid;gap:var(--space-4)}.learning-filters{display:flex;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-2)}.learning-filters button,.learning-load-more button{padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-round);background:transparent;color:var(--color-muted);cursor:pointer;font-size:var(--text-sm);font-weight:700;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}.learning-filters button:hover,.learning-filters button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.learning-filter-empty{padding:var(--space-12) var(--space-6);border:1px dashed var(--color-line);border-radius:var(--radius-lg);color:var(--color-muted);text-align:center}.learning-load-more{display:grid;margin-top:var(--space-8);justify-items:center;gap:var(--space-3)}.learning-load-more button{padding-inline:var(--space-6);border-color:var(--color-accent);color:var(--color-accent)}.learning-load-more button:hover:not(:disabled){background:var(--color-accent);color:var(--color-accent-contrast)}.learning-load-more button:disabled{cursor:wait;opacity:.65}.learning-load-more p{margin:0;color:var(--color-error);font-size:var(--text-sm)}.learning-card{display:grid;min-height:19rem;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface)}.learning-card-meta,.learning-card-footer{display:flex;color:var(--color-muted);font-size:var(--text-xs);justify-content:space-between;gap:var(--space-4)}.learning-card-meta span:first-child{color:var(--color-accent);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.learning-card h2{max-width:22ch;margin:var(--space-8) 0 var(--space-4);font-family:var(--font-display);font-size:clamp(1.6rem,2.5vw,2.25rem);font-weight:400;letter-spacing:-.035em;line-height:1.08}.learning-card h2 a{text-decoration-color:transparent;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--duration-fast),text-decoration-color var(--duration-fast)}.learning-card h2 a:hover{color:var(--color-accent);text-decoration-color:currentColor}.learning-card>p{max-width:48rem;margin:0 0 var(--space-8);color:var(--color-muted);line-height:1.65}.learning-card-footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-line);align-items:center}.learning-card-footer ul{display:flex;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);list-style:none}.learning-card-footer li:before{margin-right:var(--space-1);color:var(--color-accent);content:"#"}@keyframes learning-spin{to{transform:rotate(360deg)}}@media(min-width:48rem){.learning-intro{grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);gap:clamp(3rem,8vw,8rem)}.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-card:first-child:nth-last-child(odd){grid-column:1 / -1}}@media(max-width:35rem){.learning-library>header,.learning-card-footer{align-items:flex-start;flex-direction:column}.learning-card-footer ul{justify-content:flex-start}.activity-stats--learning{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-page{min-height:100vh}.project-header,.project-page main{width:min(100%,var(--container-width));margin-inline:auto;padding-inline:var(--page-gutter)}.project-header{display:flex;padding-top:var(--space-6);padding-bottom:var(--space-6);align-items:center;justify-content:space-between}.project-header>a:last-child{font-size:var(--text-sm)}.project-hero{padding-top:var(--space-24);padding-bottom:var(--space-16)}.project-hero h1{max-width:11ch;margin:var(--space-6) 0;font-family:var(--font-display);font-size:var(--text-heading);font-weight:400;letter-spacing:-.055em;line-height:.95}.project-hero>p:last-of-type{max-width:48rem;color:var(--color-muted);font-size:var(--text-lg);line-height:1.6}.project-hero ul{display:flex;margin:var(--space-8) 0 0;padding:0;flex-wrap:wrap;gap:var(--space-2);list-style:none}.project-hero li{padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-round);font-size:var(--text-sm)}.project-outcome{padding:var(--space-12);border-radius:var(--radius-lg);background:var(--color-accent);color:var(--color-accent-contrast)}.project-outcome p{margin:0 0 var(--space-4);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-outcome strong{display:block;max-width:22ch;font-family:var(--font-display);font-size:clamp(1.9rem,1.5rem + 1.5vw,3rem);font-weight:400;letter-spacing:-.04em;line-height:1.05}.project-details{padding-block:var(--space-24)}.project-details section{display:grid;padding:var(--space-8) 0;border-top:1px solid var(--color-line);gap:var(--space-4)}.project-details span{color:var(--color-muted);font-size:var(--text-xs)}.project-details h2{margin:0;font-family:var(--font-display);font-size:clamp(1.65rem,1.4rem + .8vw,2.25rem);font-weight:400}.project-details p,.confidentiality-note>p:last-child{max-width:40rem;margin:0;color:var(--color-muted);line-height:1.7}.confidentiality-note{padding:var(--space-8);border:1px solid var(--color-line);border-radius:var(--radius-md)}.confidentiality-note>p:last-child{margin-top:var(--space-4)}.project-back-link{display:inline-flex;margin-block:var(--space-16);align-items:center;gap:var(--space-3);font-weight:700}.not-found{display:grid;min-height:100vh;padding:var(--page-gutter);place-content:center;text-align:center}.not-found h1{max-width:12ch;margin:var(--space-4) 0 var(--space-8);font-family:var(--font-display);font-size:var(--text-heading);font-weight:400;letter-spacing:-.05em;line-height:1}@media(min-width:48rem){.project-details section{grid-template-columns:minmax(6rem,.25fr) minmax(16rem,.75fr) 1fr}}.work-page{min-height:100vh;padding:clamp(8rem,13vw,11rem) var(--page-gutter) var(--space-24)}.work-page+.site-footer{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.work-page-intro,.work-page-list{width:min(100%,var(--container-width));margin-inline:auto}.work-page-intro{padding-bottom:clamp(3rem,7vw,6rem);border-bottom:1px solid var(--color-line)}.work-page-intro h1{max-width:14ch;margin:var(--space-4) 0 var(--space-6);font-family:var(--font-display);font-size:clamp(2.75rem,5vw,4rem);font-weight:400;letter-spacing:-.05em;line-height:1}.work-page-intro h1 em{color:var(--color-accent);font-weight:400}.work-page-intro>p:last-child{max-width:42rem;margin:0;color:var(--color-muted);font-size:var(--text-lg);line-height:1.65}.work-groups{margin-top:clamp(3rem,7vw,6rem)}.work-company{display:grid;padding:var(--space-12) 0;border-top:1px solid var(--color-line);gap:var(--space-8)}.work-company:first-child{padding-top:0;border-top:0}.work-company-header{display:grid;grid-template-columns:2rem 1fr;align-content:start;gap:var(--space-4)}.work-company-header>span{color:var(--color-accent);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em}.work-company-header h2{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:400;letter-spacing:-.04em;line-height:1}.work-company-header p{margin:var(--space-3) 0 0;color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.work-company-projects{border-top:1px solid var(--color-line)}.work-project{display:grid;padding:var(--space-8) 0;border-bottom:1px solid var(--color-line);gap:var(--space-6)}.work-project-copy ul{display:flex;margin:0 0 var(--space-4);padding:0;flex-wrap:wrap;gap:var(--space-2);list-style:none}.work-project-copy li{color:var(--color-muted);font-size:var(--text-xs)}.work-project-copy li:not(:last-child):after{margin-left:var(--space-2);color:var(--color-accent);content:"·"}.work-project h3{max-width:24ch;margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2.25rem);font-weight:400;letter-spacing:-.035em;line-height:1.08}.work-project h3 a{text-decoration-color:transparent;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--duration-fast),text-decoration-color var(--duration-fast)}.work-project h3 a:hover{color:var(--color-accent);text-decoration-color:currentColor}.work-project-copy>p{max-width:42rem;margin:var(--space-4) 0 0;color:var(--color-muted);line-height:1.65}.work-project-outcome{display:grid;padding-left:var(--space-4);border-left:2px solid var(--color-accent);align-content:start;gap:var(--space-3)}.work-project-outcome span{color:var(--color-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.work-project-outcome strong{max-width:28ch;font-size:var(--text-base);line-height:1.5}@media(min-width:48rem){.work-company{grid-template-columns:minmax(14rem,.55fr) minmax(0,1.45fr);gap:clamp(3rem,7vw,8rem)}.work-project{grid-template-columns:minmax(0,1.35fr) minmax(14rem,.65fr);align-items:start;gap:clamp(2rem,5vw,5rem)}}:root{color-scheme:dark;--color-canvas: #333746;--color-surface: #242832;--color-ink: #fffaf0;--color-muted: #aeb1bb;--color-line: #4a4e5e;--color-soft: #424656;--color-accent: #f9ad3d;--color-accent-secondary: #ffd5cd;--color-accent-contrast: #1a1c20;--color-error: #ff7667;--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: clamp(1.0625rem, 1rem + .2vw, 1.25rem);--text-heading: clamp(2.25rem, 1.7rem + 2.3vw, 4rem);--text-display: clamp(2.75rem, 2rem + 3vw, 4.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 2rem;--radius-round: 999px;--container-width: 90rem;--page-gutter: clamp(1rem, .25rem + 3vw, 4rem);--duration-fast: .16s;--duration-normal: .28s;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);scroll-behavior:smooth;text-rendering:optimizeLegibility}body{min-width:20rem;min-height:100vh;margin:0}.route-loading{min-height:100vh}button,input,textarea,select{font:inherit}a{color:inherit}.eyebrow{margin:0;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.reveal-enabled [data-reveal]{opacity:0;transform:translateY(2rem);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal-enabled [data-reveal][data-visible=true]{opacity:1;transform:translateY(0)}img,picture,svg{display:block;max-width:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
