.theme-toggle{border-radius:var(--sr-radius-pill);border:1px solid var(--sr-color-border);background:var(--sr-color-surface);width:36px;height:36px;color:var(--sr-color-text);cursor:pointer;transition:transform var(--sr-motion-fast) var(--sr-ease-standard), border-color var(--sr-motion-fast) var(--sr-ease-standard), color var(--sr-motion-fast) var(--sr-ease-standard);flex:none;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{border-color:var(--sr-color-brand);color:var(--sr-color-brand);transform:translateY(-2px)}.theme-toggle-icon{justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:relative}.theme-toggle-sun,.theme-toggle-moon{transition:transform var(--sr-motion-standard) var(--sr-ease-standard), opacity var(--sr-motion-standard) var(--sr-ease-standard);position:absolute;inset:0}.theme-toggle-sun{opacity:1;transform:scale(1)rotate(0)}.theme-toggle-moon{opacity:0;transform:scale(.4)rotate(-40deg)}:root[data-theme=dark] .theme-toggle-sun{opacity:0;transform:scale(.4)rotate(40deg)}:root[data-theme=dark] .theme-toggle-moon{opacity:1;transform:scale(1)rotate(0)}@media (prefers-reduced-motion:reduce){.theme-toggle-sun,.theme-toggle-moon{transition:none}}.lang-switch{flex:none;position:relative}.lang-switch-flag{border-radius:2px;flex:none;width:18px;height:13px;box-shadow:0 0 0 1px #1f1f1f1f}.lang-switch-trigger{justify-content:center;align-items:center;gap:var(--sr-space-2);min-width:44px;height:36px;padding:0 var(--sr-space-3);border-radius:var(--sr-radius-pill);border:1px solid var(--sr-color-border);background:var(--sr-color-surface);color:var(--sr-color-text);font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-caption);letter-spacing:.02em;cursor:pointer;transition:transform var(--sr-motion-fast) var(--sr-ease-standard), border-color var(--sr-motion-fast) var(--sr-ease-standard), color var(--sr-motion-fast) var(--sr-ease-standard);display:flex}.lang-switch-trigger:hover{border-color:var(--sr-color-brand);color:var(--sr-color-brand);transform:translateY(-2px)}.lang-switch-options{top:calc(100% + var(--sr-space-2));z-index:10;min-width:88px;padding:var(--sr-space-2);border-radius:var(--sr-radius-control);border:1px solid var(--sr-color-border);background:var(--sr-color-surface);box-shadow:var(--sr-shadow-surface);opacity:0;pointer-events:none;transition:opacity var(--sr-motion-fast) var(--sr-ease-standard), transform var(--sr-motion-fast) var(--sr-ease-standard);flex-direction:column;gap:2px;display:flex;position:absolute;right:0;transform:translateY(-6px)}.lang-switch-options--open{opacity:1;pointer-events:auto;transform:translateY(0)}.lang-switch-option{align-items:center;gap:var(--sr-space-2);width:100%;padding:var(--sr-space-2) var(--sr-space-3);border-radius:var(--sr-radius-control);color:var(--sr-color-text);font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-caption);text-align:left;letter-spacing:.02em;cursor:pointer;transition:background-color var(--sr-motion-fast) var(--sr-ease-standard), color var(--sr-motion-fast) var(--sr-ease-standard);background:0 0;border:none;display:flex}.lang-switch-option:hover{background:var(--sr-color-brand-subtle);color:var(--sr-color-brand)}.lang-switch-option--active{color:var(--sr-color-brand);background:var(--sr-color-brand-subtle)}@media (width<=56rem){.lang-switch-options{left:0;right:auto}}.navbar-header{z-index:1000;transition:background-color var(--sr-motion-standard) var(--sr-ease-standard), border-color var(--sr-motion-standard) var(--sr-ease-standard), box-shadow var(--sr-motion-standard) var(--sr-ease-standard);background:0 0;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.navbar-header--scrolled{-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--sr-color-border);background:#ffffffb8;box-shadow:0 1px 2px #1f1f1f0a}:root[data-theme=dark] .navbar-header--scrolled{background:#131316b8;box-shadow:0 1px 2px #0000004d}.navbar{padding-top:var(--sr-space-4);padding-bottom:var(--sr-space-4);justify-content:space-between;align-items:center;min-height:32px;display:flex}.navbar-logo{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-body-lg);letter-spacing:var(--sr-tracking-display-sm);color:var(--sr-color-text);text-decoration:none}.navbar-links{gap:var(--sr-space-8);margin:0;padding:0;list-style:none;display:flex}.navbar-links a{color:var(--sr-color-text);font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);padding:var(--sr-space-2) 0;transition:color var(--sr-motion-fast) var(--sr-ease-standard);text-decoration:none;display:inline-block;position:relative}.navbar-links a:after{content:"";background:var(--sr-color-brand);border-radius:var(--sr-radius-pill);height:2px;transition:right var(--sr-motion-standard) var(--sr-ease-standard);position:absolute;bottom:-2px;left:0;right:100%}.navbar-links a:hover{color:var(--sr-color-brand)}.navbar-links a:hover:after{right:0}.navbar-controls{align-items:center;gap:var(--sr-space-3);display:flex}.navbar-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:none}.navbar-toggle span{background:var(--sr-color-text);border-radius:var(--sr-radius-pill);width:22px;height:2px;transition:transform var(--sr-motion-fast) var(--sr-ease-standard), opacity var(--sr-motion-fast) var(--sr-ease-standard)}.navbar-toggle--open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-toggle--open span:nth-child(2){opacity:0}.navbar-toggle--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=56rem){.navbar-toggle{display:flex}.navbar-links{justify-content:center;align-items:flex-start;gap:var(--sr-space-6);width:min(80vw,320px);height:100vh;padding:var(--sr-space-20) var(--sr-space-8);background:var(--sr-color-surface);transition:transform var(--sr-motion-expressive) var(--sr-ease-standard);flex-direction:column;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #1f1f1f14}.navbar-links--open{transform:translate(0)}.navbar-links a{font-size:var(--sr-text-body-lg)}}.site-footer{background:var(--sr-color-surface-strong)}.site-footer-inner{padding:var(--sr-space-16) 0 var(--sr-space-10)}.site-footer-grid{gap:var(--sr-space-16);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);display:grid}.site-footer-col{min-width:0}.site-footer-col--divided{padding-left:var(--sr-space-16);border-left:1px solid var(--sr-color-border)}.site-footer-label{margin-bottom:var(--sr-space-5)}.site-footer-nav{align-items:flex-start;gap:var(--sr-space-4);flex-direction:column;display:flex}.site-footer-nav a{color:var(--sr-light-black-light);font-size:var(--sr-text-body);font-weight:var(--sr-font-bold);transition:color var(--sr-motion-fast) var(--sr-ease-standard);text-decoration:none}.site-footer-nav a:hover{color:var(--sr-color-brand)}.site-footer-socials{gap:var(--sr-space-3);flex-direction:column;display:flex}.site-footer-social-link{align-items:center;gap:var(--sr-space-4);padding:var(--sr-space-3) var(--sr-space-5);border-radius:var(--sr-radius-pill);background:var(--sr-color-surface);border:1px solid var(--sr-color-border);transition:transform var(--sr-motion-fast) var(--sr-ease-standard), border-color var(--sr-motion-fast) var(--sr-ease-standard);text-decoration:none;display:inline-flex}.site-footer-social-link:hover{border-color:var(--sr-color-brand);transform:translate(4px)}.site-footer-social-icon{width:20px;height:20px;color:var(--sr-color-text);flex:none}.site-footer-social-label{font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);color:var(--sr-color-text)}.site-footer-bottom{margin-top:var(--sr-space-12);padding-top:var(--sr-space-6);border-top:1px solid var(--sr-color-border)}.site-footer-copyright{color:var(--sr-light-black-light);font-size:var(--sr-text-caption);margin:0}@media (width<=40rem){.site-footer-grid{gap:var(--sr-space-10);grid-template-columns:1fr}.site-footer-col--divided{padding-left:0;padding-top:var(--sr-space-8);border-left:none;border-top:1px solid var(--sr-color-border)}}.hero{background:var(--sr-color-canvas);padding-top:var(--sr-space-20);padding-bottom:var(--sr-space-24);position:relative;overflow:hidden}.hero-top{align-items:center;gap:var(--sr-space-12);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:78vh;display:grid}.hero-copy{padding-left:var(--sr-page-gutter-wide);max-width:640px}.hero-kicker{margin:0 0 var(--sr-space-8);padding-left:var(--sr-space-4);border-left:2px solid var(--sr-color-brand);font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--sr-light-black-light);align-items:center;display:inline-flex}.hero-name{flex-direction:column;margin:0;display:flex}.hero-name-line{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-display-hero);letter-spacing:-.04em;color:var(--sr-color-text);line-height:.9}.hero-role{margin:var(--sr-space-8) 0 0;max-width:36ch;font-size:var(--sr-text-body-lg);line-height:var(--sr-leading-subline);color:var(--sr-light-black-light)}.hero-socials{gap:var(--sr-space-4);margin-top:var(--sr-space-10);display:flex}.hero-social-link{border-radius:var(--sr-radius-pill);background:var(--sr-color-surface);border:1px solid var(--sr-color-border);width:48px;height:48px;transition:transform var(--sr-motion-fast) var(--sr-ease-standard), border-color var(--sr-motion-fast) var(--sr-ease-standard);justify-content:center;align-items:center;display:flex}.hero-social-icon{width:20px;height:20px;color:var(--sr-color-text)}.hero-social-link:hover{border-color:var(--sr-color-brand);transform:translateY(-3px)}.hero-portrait{justify-self:end;width:100%}.hero-portrait img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--sr-radius-feature) 0 0 var(--sr-radius-feature);width:100%;height:auto;display:block}.hero-stats{gap:var(--sr-space-8);margin-top:var(--sr-space-12);padding-top:var(--sr-space-10);border-top:1px solid var(--sr-color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.hero-stat{gap:var(--sr-space-2);flex-direction:column;display:flex}.hero-stat-value{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-display-md);letter-spacing:var(--sr-tracking-display-md);color:var(--sr-color-brand);line-height:1}.hero-stat-label{max-width:16ch;font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);color:var(--sr-light-black-light)}.hero-traits{gap:var(--sr-space-3);margin-top:var(--sr-space-6);flex-wrap:wrap;display:flex}.hero-mark{margin-top:var(--sr-space-24);justify-content:center;display:flex;position:relative}.hero-mark-glow{z-index:0;background:var(--sr-ruby-glow);opacity:.16;filter:blur(90px);pointer-events:none;border-radius:50%;position:absolute;inset:-40% 25%}.hero-mark-logo{z-index:1;width:min(70%,28rem);height:auto;position:relative}.hero-quote{margin-top:var(--sr-space-10);text-align:center}.hero-quote-line{max-width:32ch;margin:0 auto var(--sr-space-4);font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-display-md);line-height:var(--sr-leading-display);letter-spacing:var(--sr-tracking-display-md);color:var(--sr-color-text)}.hero-quote-text{max-width:46ch;font-size:var(--sr-text-body-lg);line-height:var(--sr-leading-subline);color:var(--sr-light-black-light);margin:0 auto}@keyframes hero-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-slide-left{0%{opacity:0;transform:translate(-56px)}to{opacity:1;transform:translate(0)}}@keyframes hero-slide-right{0%{opacity:0;transform:translate(56px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes hero-pop{0%{opacity:0;transform:scale(.7)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes hero-mark-rise{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.hero-anim{animation-fill-mode:both}.hero-anim--kicker{animation:hero-rise .6s var(--sr-ease-standard) both}.hero-anim--name-1{animation:.7s cubic-bezier(.22,1,.36,1) 90ms both hero-slide-left}.hero-anim--name-2{animation:.7s cubic-bezier(.22,1,.36,1) .19s both hero-slide-left}.hero-anim--role{animation:hero-rise .6s var(--sr-ease-standard) both;animation-delay:.34s}.hero-anim--socials{animation:hero-rise .6s var(--sr-ease-standard) both;animation-delay:.42s}.hero-anim--portrait{animation:.8s cubic-bezier(.22,1,.36,1) .16s both hero-slide-right}.hero-anim--stat{animation-name:hero-pop;animation-duration:.55s;animation-timing-function:cubic-bezier(.34,1.56,.64,1);animation-fill-mode:both}.hero-anim--traits{animation:hero-rise .6s var(--sr-ease-standard) both;animation-delay:.88s}.hero-anim--mark{animation:.9s cubic-bezier(.22,1,.36,1) .98s both hero-mark-rise}.hero-anim--quote{animation:hero-rise .7s var(--sr-ease-standard) both;animation-delay:1.15s}@media (width<=64rem){.hero-top{gap:var(--sr-space-10);grid-template-columns:1fr;min-height:0}.hero-copy{text-align:center;max-width:none;padding-left:0}.hero-role{margin-inline:auto}.hero-socials{justify-content:center}.hero-portrait{justify-self:stretch}.hero-portrait img{border-radius:var(--sr-radius-feature)}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-traits{justify-content:center}}.about{padding:var(--sr-space-24) 0}.about-inner{position:relative}.about-heading{margin:0 0 var(--sr-space-16)}.about-showcase{aspect-ratio:5/2;width:100%;margin-bottom:var(--sr-space-20);position:relative}.about-showcase-3d{position:absolute;inset:0;overflow:visible}.about-showcase-frame{z-index:1;border-radius:var(--sr-radius-feature);border:1px solid var(--sr-color-border);box-shadow:0 calc(16px + var(--scroll-tilt,0) * 1.5px) 44px #1f1f1f3d;transition:box-shadow .15s var(--sr-ease-standard);position:absolute;inset:0;overflow:hidden}.about-showcase-scene{transform:perspective(1000px) translateY(calc(var(--parallax-y,0) * 1px)) rotateX(calc(var(--scroll-tilt,0) * 1deg)) scale(1.2);transition:transform .15s var(--sr-ease-standard);will-change:transform;position:absolute;inset:-12%}.about-showcase-image{object-fit:cover;object-position:center;filter:saturate(1.12)contrast(1.06);width:100%;height:100%;display:block;position:absolute;inset:0}.about-showcase-sheen{z-index:1;background:linear-gradient(calc(115deg + (var(--scroll-tilt,0) * 1deg)), #fff0 35%, #fff6 50%, #fff0 65%);mix-blend-mode:overlay;pointer-events:none;position:absolute;inset:0}.about-showcase-vignette{z-index:1;pointer-events:none;background:radial-gradient(60% 55% at 50% 56%,#0000 45%,#00000052 100%);position:absolute;inset:0}.about-showcase-scrim{z-index:2;pointer-events:none;background:linear-gradient(#ffffffd9 0%,#fff0 42%);position:absolute;inset:0}:root[data-theme=dark] .about-showcase-scrim{background:linear-gradient(#131316d9 0%,#13131600 42%)}.about-showcase-badge{top:var(--sr-space-8);right:var(--sr-space-8);z-index:3;align-items:center;gap:var(--sr-space-2);padding:var(--sr-space-2) var(--sr-space-4);border-radius:var(--sr-radius-pill);color:var(--sr-color-text);font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);white-space:nowrap;display:inline-flex;position:absolute}.about-showcase-badge img{width:1rem;height:1rem}.about-showcase-caption{left:var(--sr-space-8);bottom:calc(-1 * var(--sr-space-10));z-index:4;max-width:68%;padding:var(--sr-space-5) var(--sr-space-6);border-radius:var(--sr-radius-card);transform:translateY(calc(var(--scroll-tilt,0) * -1.5px));transition:transform .15s var(--sr-ease-standard);will-change:transform;position:absolute}.about-showcase-headline{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);letter-spacing:-.02em;color:var(--sr-color-text);margin:0;font-size:clamp(2.5rem,5.5vw,4.5rem);font-style:italic;line-height:.92}.about-intro-copy{max-width:44rem;margin-bottom:var(--sr-space-16)}.about-subline{max-width:42ch;font-size:var(--sr-text-body-lg);color:var(--sr-light-black-light);margin:0}.about-grid{gap:var(--sr-space-16);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.about-column--divided{padding-left:var(--sr-space-16);border-left:1px solid var(--sr-color-border)}.about-text{color:var(--sr-light-black-light)}.about-hobbies{gap:var(--sr-space-3);margin:var(--sr-space-6) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}@media (width<=40rem){.about-showcase{margin-bottom:var(--sr-space-16)}.about-showcase-caption{left:var(--sr-space-4);bottom:calc(-1 * var(--sr-space-8));max-width:82%;padding:var(--sr-space-4) var(--sr-space-5)}.about-showcase-headline{font-size:clamp(1.85rem,10vw,2.75rem)}.about-grid{gap:var(--sr-space-10);grid-template-columns:1fr}.about-column--divided{padding-left:0;padding-top:var(--sr-space-8);border-left:none;border-top:1px solid var(--sr-color-border)}}@media (prefers-reduced-motion:reduce){.about-showcase-scene{transition:none;transform:scale(1.2)!important}.about-showcase-caption{transition:none;transform:none!important}.about-showcase-frame{box-shadow:var(--sr-shadow-surface);transition:none}}.infomorgen{padding:var(--sr-space-24) 0}.infomorgen-heading{margin:0 0 var(--sr-space-16)}.infomorgen-grid{align-items:center;gap:var(--sr-space-16);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid}.infomorgen-mark{justify-content:center;display:flex;position:relative}.infomorgen-mark-glow{z-index:0;background:var(--sr-ruby-glow);opacity:.16;filter:blur(90px);pointer-events:none;border-radius:50%;position:absolute;inset:-60% -20%}.infomorgen-logo{z-index:1;width:min(100%,18rem);height:auto;position:relative}.infomorgen-copy p+p{margin-top:var(--sr-space-5)}.infomorgen-text{max-width:46ch;color:var(--sr-light-black-light);margin:0}@media (width<=56rem){.infomorgen-grid{gap:var(--sr-space-10);text-align:center;grid-template-columns:1fr}.infomorgen-mark-glow{inset:-40% 25%}.infomorgen-text{max-width:none;margin-inline:auto}}.skills{padding:var(--sr-space-24) 0}.skills-heading{margin:0 0 var(--sr-space-16);max-width:20ch;font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-display-lg);line-height:var(--sr-leading-display);letter-spacing:var(--sr-tracking-display-lg);color:var(--sr-color-text)}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(8rem,auto);grid-auto-flow:dense;gap:var(--sr-space-4);display:grid}.skills-tile{padding:var(--sr-space-5);border-radius:var(--sr-radius-card);background:var(--sr-color-surface);border:1px solid var(--sr-color-border);opacity:0;transition:opacity .55s cubic-bezier(.34, 1.56, .64, 1), transform .55s cubic-bezier(.34, 1.56, .64, 1), border-color var(--sr-motion-fast) var(--sr-ease-standard);flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden;transform:scale(.75)}.skills-tile--visible{opacity:1;transform:scale(1)}.skills-tile--visible:hover{border-color:var(--sr-color-brand);transform:translateY(-4px)scale(1.02)}.skills-tile--primary,.skills-tile--secondary{border-color:var(--sr-sunrise-red-soft)}.skills-tile--primary{padding:var(--sr-space-8);grid-area:span 2/span 2}.skills-tile--secondary{padding:var(--sr-space-6);grid-column:span 2}.skills-tile-glow{z-index:0;background:var(--sr-ruby-glow);opacity:.14;filter:blur(60px);pointer-events:none;border-radius:50%;position:absolute;inset:-30%}.skills-tile-icon{z-index:1;width:2rem;height:2rem;margin-bottom:var(--sr-space-3);color:var(--sr-color-text);display:block;position:relative}.skills-tile--primary .skills-tile-icon{width:3.5rem;height:3.5rem}.skills-tile--secondary .skills-tile-icon{width:2.5rem;height:2.5rem}.skills-tile-name{z-index:1;font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-body);color:var(--sr-color-text);position:relative}.skills-tile--primary .skills-tile-name{font-size:var(--sr-text-h2);letter-spacing:var(--sr-tracking-display-sm)}.skills-tile--secondary .skills-tile-name{font-size:var(--sr-text-h3)}.skills-tile-category{z-index:1;margin-top:var(--sr-space-1);font-size:var(--sr-text-caption);font-weight:var(--sr-font-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--sr-light-black-light);position:relative}.skills-tile--cta{justify-content:center;align-items:flex-start;gap:var(--sr-space-2);background:var(--sr-color-brand);border-color:var(--sr-color-brand);grid-column:span 2;text-decoration:none}.skills-tile--cta:hover{background:var(--sr-sunrise-red)}.skills-tile--cta.skills-tile--visible:hover{border-color:var(--sr-color-text)}.skills-cta-text{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-h3);color:var(--sr-color-text-on-brand)}.skills-cta-arrow{font-size:var(--sr-text-h2);color:var(--sr-color-text-on-brand);transition:transform var(--sr-motion-fast) var(--sr-ease-standard)}.skills-tile--cta:hover .skills-cta-arrow{transform:translate(6px)}@media (width<=48rem){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(7rem,auto)}}@media (prefers-reduced-motion:reduce){.skills-tile{opacity:1;transition:none;transform:none}}.grades{padding:var(--sr-space-24) 0}.grades-heading{margin:0 0 var(--sr-space-16)}.grades-list{border-top:1px solid var(--sr-color-border)}.grades-row{justify-content:space-between;align-items:center;gap:var(--sr-space-6);padding:var(--sr-space-5) 0;border-bottom:1px solid var(--sr-color-border);transition:background var(--sr-motion-fast) var(--sr-ease-standard);display:flex}.grades-row:hover{background:var(--sr-color-brand-subtle)}.grades-row-info{align-items:baseline;gap:var(--sr-space-4);display:flex}.grades-row--average{border-bottom:none}.grades-row--average:hover{background:0 0}.grades-row--average .grades-title{font-weight:var(--sr-font-bold)}.grades-row--average .grades-value{color:var(--sr-color-brand)}.grades-code{font-weight:var(--sr-font-bold);color:var(--sr-color-brand);font-size:var(--sr-text-small);min-width:4.5rem}.grades-title{color:var(--sr-color-text)}.grades-value{font-weight:var(--sr-font-bold);font-size:var(--sr-text-h3);font-variant-numeric:tabular-nums}.grades-cta{margin-top:var(--sr-space-10)}@media (width<=32rem){.grades-row-info{gap:var(--sr-space-1);flex-direction:column}}.project-grid-section{padding:var(--sr-space-24) 0}.project-grid-heading{margin:0 0 var(--sr-space-16)}.project-list{border-top:1px solid var(--sr-color-border);flex-direction:column;display:flex}.project-feature-wrap{border-bottom:1px solid var(--sr-color-border)}.project-feature{align-items:center;gap:var(--sr-space-16);padding:var(--sr-space-16) 0;color:inherit;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);text-decoration:none;display:grid}.project-feature--reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.project-feature--reverse .project-feature-image{order:2}.project-feature-image{aspect-ratio:16/10;border-radius:var(--sr-radius-feature);border:1px solid var(--sr-color-border);background:var(--sr-ruby-glow);transition:transform var(--sr-motion-standard) var(--sr-ease-standard);justify-content:center;align-items:center;display:flex;overflow:hidden}.project-feature:hover .project-feature-image{transform:translateY(calc(-1 * var(--sr-space-1)))}.project-feature-image img{object-fit:cover;width:100%;height:100%;display:block}.project-feature-glyph{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);color:#ffffff80;font-size:4rem}.project-feature-index{margin-bottom:var(--sr-space-4);font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);color:var(--sr-light-black-light);display:block}.project-feature-title{margin:0 0 var(--sr-space-3);font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-display-md);line-height:var(--sr-leading-display);letter-spacing:var(--sr-tracking-display-md);color:var(--sr-color-text)}.project-feature-tagline{margin:0 0 var(--sr-space-5);max-width:34ch;font-size:var(--sr-text-body-lg);color:var(--sr-light-black-light)}.project-feature-badges{gap:var(--sr-space-2);margin-bottom:var(--sr-space-6);flex-wrap:wrap;display:flex}.project-feature-link{font-weight:var(--sr-font-bold);font-size:var(--sr-text-small);color:var(--sr-color-brand);display:inline-flex}@media (width<=56rem){.project-feature,.project-feature--reverse{gap:var(--sr-space-8);grid-template-columns:1fr}.project-feature--reverse .project-feature-image{order:0}}.chatsection{padding:var(--sr-space-24) 0}.chatsection-heading{margin-bottom:var(--sr-space-16)}.chatsection-sub{color:var(--sr-light-black-light);margin:0}.chatsection-panel{align-items:center;gap:var(--sr-space-16);grid-template-columns:1.3fr 1fr;width:100%;display:grid;position:relative}.chatsection-backdrop{aspect-ratio:1;order:2;justify-self:center;width:100%;max-width:24rem;position:relative}.chatsection-backdrop-glow{z-index:0;background:var(--sr-ruby-glow);opacity:.4;filter:blur(70px);pointer-events:none;border-radius:50%;position:absolute;inset:-18%}.chatsection-backdrop-photo{z-index:1;object-fit:cover;opacity:.92;border-radius:50%;width:100%;height:100%;display:block;position:relative}.chatsection-content{gap:var(--sr-space-5);flex-direction:column;order:1;min-width:0;display:flex}.chatsection-identity{flex-direction:column;display:flex}.chatsection-name{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-h3);color:var(--sr-color-text)}.chatsection-role{font-size:var(--sr-text-caption);color:var(--sr-light-black-light)}.chatsection-form{align-items:center;gap:var(--sr-space-3);width:100%;display:flex}.chatsection-input{padding:var(--sr-space-4) var(--sr-space-5);border-radius:var(--sr-radius-pill);border:1px solid var(--sr-color-border);background:var(--sr-color-canvas);font-family:var(--sr-font-family);font-size:var(--sr-text-small);color:var(--sr-color-text);flex:1}.chatsection-input:focus{border-color:var(--sr-color-brand);outline:none}.chatsection-send{border-radius:var(--sr-radius-pill);background:var(--sr-color-brand);width:44px;height:44px;color:var(--sr-color-text-on-brand);cursor:pointer;transition:transform var(--sr-motion-fast) var(--sr-ease-standard), opacity var(--sr-motion-fast) var(--sr-ease-standard);border:none;flex:none;justify-content:center;align-items:center;display:flex}.chatsection-send:hover{transform:translateY(-2px)}.chatsection-send:disabled{opacity:.6;cursor:default;transform:none}.chatsection-answer{box-sizing:border-box;width:100%;min-height:5rem;padding:var(--sr-space-5);border-radius:var(--sr-radius-card);border:1px solid var(--sr-color-border);background:var(--sr-color-surface);text-align:left;animation:chatsection-fade .32s var(--sr-ease-standard) both}@keyframes chatsection-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chatsection-question{margin:0 0 var(--sr-space-2);font-size:var(--sr-text-caption);font-weight:var(--sr-font-bold);letter-spacing:.02em;color:var(--sr-light-black-light)}.chatsection-response{font-size:var(--sr-text-body);line-height:var(--sr-leading-body-brand);color:var(--sr-color-text);margin:0}.chatsection-response--placeholder{color:var(--sr-light-black-light)}.chatsection-typing{padding:var(--sr-space-2) 0;justify-content:center;align-items:center;gap:4px;display:flex}.chatsection-typing span{background:var(--sr-light-black-light);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite chatsection-typing-bounce}.chatsection-typing span:nth-child(2){animation-delay:.15s}.chatsection-typing span:nth-child(3){animation-delay:.3s}@keyframes chatsection-typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@media (width<=56rem){.chatsection-panel{grid-template-columns:1fr}.chatsection-backdrop{order:1;max-width:14rem}.chatsection-content{order:2}}@media (width<=30rem){.chatsection-form{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.chatsection-answer,.chatsection-typing span{animation:none}}.project-detail-hero{background:var(--sr-ruby-glow);justify-content:center;align-items:center;height:min(70vh,640px);display:flex;position:relative;overflow:hidden}.project-detail-hero-glyph{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);color:#ffffff59;font-size:clamp(6rem,16vw,12rem)}.project-detail-hero-video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.project-detail-hero-scrim{pointer-events:none;background:linear-gradient(#1f1f1f26 0%,#1f1f1f00 35% 65%,#1f1f1f8c 100%);position:absolute;inset:0}.project-detail-hero-caption{left:var(--sr-page-gutter-desktop);bottom:var(--sr-space-8);align-items:center;gap:var(--sr-space-2);padding:var(--sr-space-2) var(--sr-space-4);border-radius:var(--sr-radius-pill);-webkit-backdrop-filter:blur(12px);color:var(--sr-ice-white);font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);letter-spacing:.02em;background:#1f1f1f59;display:inline-flex;position:absolute}.project-detail-hero-caption:before{content:"";background:var(--sr-coral-bloom);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f97f634d}@media (width<=40rem){.project-detail-hero-caption{left:var(--sr-page-gutter-mobile)}}.project-detail-content{padding:var(--sr-space-10) 0 var(--sr-space-24)}.project-detail-back{align-items:center;gap:var(--sr-space-2);color:var(--sr-light-black-light);font-weight:var(--sr-font-bold);font-size:var(--sr-text-small);transition:color var(--sr-motion-fast) var(--sr-ease-standard);text-decoration:none;display:inline-flex}.project-detail-back:hover{color:var(--sr-color-brand)}.project-detail-header{margin:var(--sr-space-10) 0 var(--sr-space-12)}.project-detail-header h1{margin:var(--sr-space-2) 0 var(--sr-space-6)}.project-detail-badges{gap:var(--sr-space-2);flex-wrap:wrap;display:flex}.project-detail-body{gap:var(--sr-space-16);padding-bottom:var(--sr-space-16);border-bottom:1px solid var(--sr-color-border);grid-template-columns:2fr 1fr;display:grid}.project-detail-description p{color:var(--sr-light-black-light);margin:0 0 var(--sr-space-6);max-width:60ch}.project-detail-tech h2{margin:0 0 var(--sr-space-8)}.project-detail-tech ul{gap:var(--sr-space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.project-detail-team{padding-top:var(--sr-space-16)}.project-detail-team-title{margin:0 0 var(--sr-space-8)}.project-detail-team-card{align-items:center;gap:var(--sr-space-5);padding:var(--sr-space-6);background:var(--sr-color-surface);border:1px solid var(--sr-color-border);border-radius:var(--sr-radius-card);max-width:26rem;transition:transform var(--sr-motion-standard) var(--sr-ease-standard);flex-wrap:wrap;display:flex}.project-detail-team-card:hover{transform:translateY(calc(-1 * var(--sr-space-1)))}.project-detail-team-avatar{background:var(--sr-color-brand-subtle);width:96px;height:96px;color:var(--sr-color-brand);font-weight:var(--sr-font-bold);font-size:var(--sr-text-h2);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.project-detail-team-avatar img{object-fit:cover;width:100%;height:100%}.project-detail-team-name{font-weight:var(--sr-font-bold);margin:0}.project-detail-team-role{margin:var(--sr-space-1) 0 var(--sr-space-2);color:var(--sr-light-black-light);font-size:var(--sr-text-small)}.project-detail-team-email{color:var(--sr-color-brand);font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);text-decoration:none}@media (width<=48rem){.project-detail-body{grid-template-columns:1fr}}:root{--sr-sunrise-red:#da291c;--sr-sunrise-red-light:#ec948d;--sr-sunrise-red-soft:#f6c9c6;--sr-sunrise-red-air:#fae4e3;--sr-light-black:#1f1f1f;--sr-light-black-light:#989899;--sr-light-black-soft:#d5d5d6;--sr-light-black-air:#f3f3f5;--sr-ice-white:#fff;--sr-ruby-glow-orange:#f39200;--sr-ruby-glow:linear-gradient(180deg, var(--sr-sunrise-red) 0%, var(--sr-ruby-glow-orange) 100%);--sr-coral-bloom:#f97f63;--sr-coral-bloom-light:#fcbfb1;--sr-coral-bloom-soft:#fedfd8;--sr-coral-bloom-air:#feefec;--sr-pink-rush:#df587c;--sr-pink-rush-light:#efacbe;--sr-pink-rush-soft:#f7d5de;--sr-pink-rush-air:#fbeaef;--sr-green-spark:#26a96c;--sr-green-spark-light:#93d4b6;--sr-green-spark-soft:#c9eada;--sr-green-spark-air:#e4f4ed;--sr-blue-lagoon:#59c6d8;--sr-blue-lagoon-light:#ace3ec;--sr-blue-lagoon-soft:#d6f1f5;--sr-blue-lagoon-air:#eaf8fa;--sr-font-family:"Figtree", Tahoma, sans-serif;--sr-font-regular:400;--sr-font-bold:700;--sr-tracking-display-xl:-.03em;--sr-tracking-display-lg:-.02em;--sr-tracking-display-md:-.02em;--sr-tracking-display-sm:-.01em;--sr-leading-display:.9;--sr-leading-display-descender:1;--sr-leading-subline:1.15;--sr-leading-body-brand:1.2;--sr-text-display-xl:clamp(3.5rem, 8vw, 7.5rem);--sr-text-display-lg:clamp(2.75rem, 6vw, 5.5rem);--sr-text-display-md:clamp(2.25rem, 4.5vw, 4rem);--sr-text-h1:clamp(2rem, 4vw, 3.5rem);--sr-text-h2:clamp(1.75rem, 3vw, 2.75rem);--sr-text-h3:clamp(1.35rem, 2vw, 1.75rem);--sr-text-body-lg:1.125rem;--sr-text-body:1rem;--sr-text-small:.875rem;--sr-text-caption:.75rem;--sr-color-canvas:var(--sr-light-black-air);--sr-color-surface:var(--sr-ice-white);--sr-color-surface-strong:var(--sr-light-black);--sr-color-text:var(--sr-light-black);--sr-color-text-on-brand:var(--sr-ice-white);--sr-color-text-disabled:var(--sr-light-black-light);--sr-color-border:var(--sr-light-black-soft);--sr-color-border-strong:var(--sr-light-black-light);--sr-color-brand:var(--sr-sunrise-red);--sr-color-brand-subtle:var(--sr-sunrise-red-air);--sr-color-brand-soft:var(--sr-sunrise-red-soft);--sr-color-success:var(--sr-green-spark);--sr-color-success-subtle:var(--sr-green-spark-air);--sr-color-info:var(--sr-blue-lagoon);--sr-color-info-subtle:var(--sr-blue-lagoon-air);--sr-color-warning:var(--sr-coral-bloom);--sr-color-warning-subtle:var(--sr-coral-bloom-air);--sr-color-attention:var(--sr-pink-rush);--sr-color-attention-subtle:var(--sr-pink-rush-air);--sr-space-1:.25rem;--sr-space-2:.5rem;--sr-space-3:.75rem;--sr-space-4:1rem;--sr-space-5:1.25rem;--sr-space-6:1.5rem;--sr-space-8:2rem;--sr-space-10:2.5rem;--sr-space-12:3rem;--sr-space-16:4rem;--sr-space-20:5rem;--sr-space-24:6rem;--sr-container-max:90rem;--sr-reading-max:48rem;--sr-page-gutter-mobile:1.5rem;--sr-page-gutter-tablet:2rem;--sr-page-gutter-desktop:3rem;--sr-radius-control:.75rem;--sr-radius-card:1rem;--sr-radius-feature:1.5rem;--sr-radius-pill:9999px;--sr-shadow-surface:0 1px 2px #1f1f1f0d, 0 8px 24px #1f1f1f0f;--sr-focus-ring:0 0 0 3px #da291c3d;--sr-motion-fast:.15s;--sr-motion-standard:.22s;--sr-motion-expressive:.45s;--sr-ease-standard:cubic-bezier(.2, 0, 0, 1)}:root[data-theme=dark]{--sr-color-canvas:#131316;--sr-color-surface:#1c1c20;--sr-color-surface-strong:#232328;--sr-color-text:#f4f4f5;--sr-color-text-on-brand:#fff;--sr-color-text-disabled:#8f8f96;--sr-color-border:#ffffff1f;--sr-color-border-strong:#ffffff3d;--sr-color-brand-subtle:#da291c2e;--sr-color-brand-soft:#da291c52;--sr-color-success-subtle:#26a96c2e;--sr-color-info-subtle:#59c6d82e;--sr-color-warning-subtle:#f97f632e;--sr-color-attention-subtle:#df587c2e;--sr-shadow-surface:0 1px 2px #0000004d, 0 8px 24px #0006;--sr-focus-ring:0 0 0 3px #da291c66;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{font-family:var(--sr-font-family);color:var(--sr-color-text);background:var(--sr-color-canvas);transition:background-color var(--sr-motion-standard) var(--sr-ease-standard), color var(--sr-motion-standard) var(--sr-ease-standard)}body{font-family:var(--sr-font-family);font-weight:var(--sr-font-regular);color:var(--sr-color-text);background:var(--sr-color-canvas);margin:0}:focus-visible{outline:2px solid var(--sr-sunrise-red);outline-offset:2px}.sr-display-xl,.sr-display-lg,.sr-display-md,.sr-heading{font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);line-height:var(--sr-leading-display);margin:0;padding-bottom:.15em}.sr-heading{font-size:var(--sr-text-h2);letter-spacing:var(--sr-tracking-display-sm)}.sr-display-xl{font-size:var(--sr-text-display-xl);letter-spacing:var(--sr-tracking-display-xl)}.sr-display-lg{font-size:var(--sr-text-display-lg);letter-spacing:var(--sr-tracking-display-lg)}.sr-display-md{font-size:var(--sr-text-display-md);letter-spacing:var(--sr-tracking-display-md)}.sr-subline{line-height:var(--sr-leading-subline)}.sr-body{line-height:var(--sr-leading-body-brand)}.sr-ruby-glow{background:var(--sr-ruby-glow);color:var(--sr-ice-white)}.sr-page-container{width:min(100% - (2 * var(--sr-page-gutter-mobile)), var(--sr-container-max-wide,var(--sr-container-max)));margin-inline:auto}@media (width>=48rem){.sr-page-container{width:min(100% - (2 * var(--sr-page-gutter-tablet)), var(--sr-container-max-wide,var(--sr-container-max)))}}@media (width>=80rem){.sr-page-container{width:min(100% - (2 * var(--sr-page-gutter-desktop)), var(--sr-container-max-wide,var(--sr-container-max)))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{scroll-behavior:smooth}.sr-section{scroll-margin-top:5.5rem}.sr-eyebrow{align-items:baseline;gap:var(--sr-space-3);margin:0 0 var(--sr-space-4);font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);letter-spacing:.04em;text-transform:uppercase;color:var(--sr-color-brand);display:inline-flex}.sr-eyebrow-index{color:var(--sr-light-black-light);font-weight:var(--sr-font-bold)}.sr-badge{padding:var(--sr-space-2) var(--sr-space-4);border-radius:var(--sr-radius-pill);background:var(--sr-color-brand-subtle);color:var(--sr-color-brand);font-size:var(--sr-text-small);font-weight:var(--sr-font-bold);white-space:nowrap;align-items:center;display:inline-flex}.sr-btn{align-items:center;gap:var(--sr-space-2);padding:var(--sr-space-4) var(--sr-space-8);border-radius:var(--sr-radius-pill);font-family:var(--sr-font-family);font-weight:var(--sr-font-bold);font-size:var(--sr-text-body);cursor:pointer;transition:transform var(--sr-motion-fast) var(--sr-ease-standard), box-shadow var(--sr-motion-fast) var(--sr-ease-standard);border:1px solid #0000;text-decoration:none;display:inline-flex}.sr-btn-primary{background:var(--sr-color-brand);color:var(--sr-color-text-on-brand);box-shadow:0 8px 24px #da291c3d}.sr-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #da291c52}.sr-btn-ghost{background:var(--sr-color-surface);color:var(--sr-color-text);border-color:var(--sr-color-border)}.sr-btn-ghost:hover{box-shadow:var(--sr-shadow-surface);transform:translateY(-2px)}.sr-reveal{opacity:0;transition:opacity var(--sr-motion-expressive) var(--sr-ease-standard), transform var(--sr-motion-expressive) var(--sr-ease-standard);transform:translateY(24px)}.sr-reveal-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.sr-reveal{opacity:1;transition:none;transform:none}}.sr-divider{width:min(100% - (2 * var(--sr-page-gutter-mobile)), 30rem);background:linear-gradient(90deg, transparent, var(--sr-color-border-strong), transparent);opacity:.5;height:1px;margin:0 auto}:root{--sr-text-display-hero:clamp(3.5rem, 10vw, 8rem);--sr-container-max-wide:120rem;--sr-page-gutter-wide:clamp(1.5rem, 4vw, 6rem)}.sr-page-container{width:min(100% - (2 * var(--sr-page-gutter-wide)), var(--sr-container-max-wide))}.sr-glass{-webkit-backdrop-filter:blur(20px)saturate(160%);background:#fff9;border:1px solid #1f1f1f14}:root[data-theme=dark] .sr-glass{background:#1c1c20a6;border:1px solid #ffffff1a}.sr-text-glow{color:var(--sr-color-brand)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.sr-text-glow{background:var(--sr-ruby-glow);color:#0000;-webkit-background-clip:text;background-clip:text}}
