@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url(../media/material-icons.0oxfo_l1u_72m.woff2)format("woff2"),url(../media/material-icons.1muc0_-a2-6q2.woff)format("woff")}.material-icons{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"liga";direction:ltr;font-family:Material Icons;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}
@font-face{font-family:Space Grotesk;src:url(/assets/Fonts/Space_Grotesk/static/SpaceGrotesk-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/Fonts/Space_Grotesk/static/SpaceGrotesk-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/Fonts/Space_Grotesk/static/SpaceGrotesk-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/Fonts/Space_Grotesk/static/SpaceGrotesk-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(/assets/Fonts/Fraunces/static/Fraunces_72pt-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(/assets/Fonts/Fraunces/static/Fraunces_72pt-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(/assets/Fonts/Fraunces/static/Fraunces_72pt-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:W95FA;src:url(/assets/Fonts/W95FA/w95fa.woff2)format("woff2"),url(/assets/Fonts/W95FA/w95fa.woff)format("woff"),url(/assets/Fonts/W95FA/W95FA.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}

*{box-sizing:border-box}
body{color:var(--color-deep);background:var(--bg-gradient);min-height:100vh;font-family:Space Grotesk,Segoe UI,sans-serif;position:relative}html:before,body:before,body:after{content:"";z-index:-1;opacity:.8;border-radius:50%;position:fixed}html:before{background:var(--glow-tertiary);width:260px;height:260px;top:30%;left:42%}body:before{background:var(--glow-primary);width:420px;height:420px;top:-180px;right:-140px}body:after{background:var(--glow-secondary);width:520px;height:520px;bottom:-200px;left:-180px}@keyframes breathePrimary{0%,to{opacity:.8;transform:translate(0)scale(1)}50%{opacity:.5;transform:translate(-20px,15px)scale(1.18)}}@keyframes breatheSecondary{0%,to{opacity:.8;transform:translate(0)scale(1)}50%{opacity:.45;transform:translate(15px,-20px)scale(1.22)}}@keyframes breatheTertiary{0%,to{opacity:.7;transform:translate(0)scale(1)}33%{opacity:.4;transform:translate(12px,-12px)scale(1.1)}66%{opacity:.6;transform:translate(-10px,10px)scale(.95)}}:root:not([data-preset=win95]) html:before{animation:14s ease-in-out -7s infinite breatheTertiary}:root:not([data-preset=win95]) body:before{animation:9s ease-in-out infinite breathePrimary}:root:not([data-preset=win95]) body:after{animation:13s ease-in-out -4s infinite breatheSecondary}:root[data-scheme=dark] body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){html:before,body:before,body:after{animation:none!important}}
h1,h2,h3,h4{font-family:Fraunces,Times New Roman,serif}a{color:inherit;text-underline-offset:4px;text-decoration-color:#0000;text-decoration-thickness:2px;transition:color .2s ease-out,text-decoration-color .2s ease-out}a:hover{color:var(--color-primary);text-decoration-color:currentColor}:root[data-scheme=dark] .text-muted{color:var(--color-muted)!important}
.btn-primary{--bs-btn-color:var(--color-on-primary);--bs-btn-hover-color:var(--color-on-primary);--bs-btn-hover-bg:var(--color-primary-hover);--bs-btn-hover-border-color:var(--color-primary-active);--bs-btn-active-color:var(--color-on-primary);--bs-btn-active-bg:var(--color-primary-active);background-color:var(--color-primary);border-color:var(--color-primary)}.btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary)}.btn-outline-primary:hover{background-color:var(--color-primary);color:var(--color-on-primary)}.btn{transition:transform .12s ease-out,box-shadow .18s ease-out;position:relative;overflow:hidden}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 18px #0f1f2a1f}.btn:active{transform:scale(.97)}:root:not([data-preset=win95]) .btn-primary:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff38 50%,#0000 100%);transition:transform .55s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-100%)}:root:not([data-preset=win95]) .btn-primary:hover:after{transform:translate(100%)}@media (prefers-reduced-motion:reduce){.btn{transition:none}}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--color-primary);font-size:.7rem;font-weight:600}.hero-title{margin-bottom:.3rem;font-size:clamp(2.6rem,4vw,4.4rem)}.hero-role{color:var(--color-primary);letter-spacing:.04em;font-weight:600}.hero-summary{color:var(--color-muted)}.hero-meta{margin-bottom:1.5rem;font-weight:600}.cta-group{flex-wrap:wrap;gap:.8rem;display:flex}.hero-portrait{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.5rem;position:relative;transform:rotate(-1deg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (min-width:992px){:root:not([data-preset=win95]) .hero-portrait-stack{animation:6s ease-in-out infinite float}}.hero-portrait-stack{position:relative}.hero-portrait-image{border-radius:var(--radius-md);object-fit:cover;width:100%;height:auto;display:block}.hero-portrait-full{opacity:0;transition:opacity .3s ease-out;position:absolute;inset:0}.hero-portrait-full.is-visible{opacity:1}.hero-terminal{display:none}:root[data-scheme=dark] .hero-portrait{background:var(--surface);box-shadow:var(--shadow-card)}@media (prefers-reduced-motion:reduce){.hero-portrait-stack{animation:none!important}}@media (max-width:991.98px){.hero-portrait{transform:none}}
.section-header{max-width:680px;margin-bottom:2rem}.section-title{font-size:clamp(2rem,3vw,2.6rem)}.section-subtitle{color:var(--color-muted);font-size:1.05rem}.featured-section,.stats-section,.projects-list,.resume-section{padding:1.5rem 0}.page-hero{padding:1rem 0 0}.page-hero p{color:var(--color-muted);max-width:720px}
.featured-card{background:linear-gradient(150deg, var(--surface), var(--surface-elevated));border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);flex-direction:column;height:100%;transition:transform .22s ease-out,box-shadow .22s ease-out,border-color .22s ease-out;display:flex;position:relative;overflow:hidden}.featured-card:before{display:none}.featured-card:hover{box-shadow:var(--shadow-hover-lg);border-color:color-mix(in srgb, var(--color-primary) 22%, transparent);transform:translateY(-12px)}.featured-thumb img{object-fit:cover;width:100%;height:260px;transition:transform .25s ease-out;display:block}.featured-thumb{position:relative;overflow:hidden}.featured-body{flex-direction:column;flex:1;gap:.75rem;padding:2rem;display:flex}.featured-body h3{margin-bottom:.6rem;font-size:1.5rem}.featured-body p{flex:1;margin-bottom:0}.featured-card:hover .featured-thumb img{transform:scale(1.05)}.featured-card-clickable{cursor:pointer}.featured-card-clickable:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 40%, transparent);outline-offset:4px}:root[data-scheme=dark] .featured-card{background:linear-gradient(150deg, var(--surface), var(--surface-elevated));border-color:var(--border-subtle)}:root[data-scheme=dark] .featured-card:hover{box-shadow:var(--shadow-hover-lg);border-color:color-mix(in srgb, var(--color-primary) 28%, transparent)}:root[data-scheme=dark] .featured-card-clickable:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 40%, transparent)}@media (prefers-reduced-motion:reduce){.featured-card,.featured-thumb img{transition:none}}
.stat-card{background:linear-gradient(155deg, var(--surface), var(--surface-elevated));border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);height:100%;padding:1.5rem;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(105deg, var(--surface-tint), transparent 60%);opacity:.75;pointer-events:none;height:44%;transition:opacity .24s,transform .24s;position:absolute;inset:-18% -12% auto;transform:translateY(-10px)}.stat-card:hover{box-shadow:var(--shadow-hover);border-color:color-mix(in srgb, var(--color-primary) 16%, transparent);transform:translateY(-6px)}.stat-card:hover:before{opacity:1;transform:translateY(0)}.stat-value{color:var(--color-primary);font-size:2rem;font-weight:700}.stat-label{font-weight:600}.stat-detail{color:var(--color-muted);font-size:.9rem}:root[data-scheme=dark] .stat-card{background:var(--surface);box-shadow:var(--shadow-card);background:linear-gradient(155deg, var(--surface), var(--surface-elevated));border-color:var(--border-subtle)}:root[data-scheme=dark] .stat-card:hover{box-shadow:var(--shadow-hover);border-color:color-mix(in srgb, var(--color-primary) 20%, transparent)}:root[data-scheme=dark] .stat-card:before{background:linear-gradient(105deg, var(--surface-tint), transparent 60%)}
.project-card{background:var(--surface);color:var(--color-deep);border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-rest);transition:transform .22s ease-out,box-shadow .22s ease-out,border-color .22s ease-out;position:relative;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-hover);border-color:color-mix(in srgb, var(--color-primary) 22%, transparent);transform:translateY(-8px)}.project-card-clickable{cursor:pointer}.project-card-clickable:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 40%, transparent);outline-offset:4px}.project-card .card-body{padding:1.5rem}.project-media img{object-fit:cover;border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);width:100%;height:220px}.project-media.is-clickable{cursor:pointer}.project-title{font-size:1.55rem}.project-description{color:var(--color-muted)}.card-meta{letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);opacity:.8;margin-bottom:.5rem;font-size:.7rem;font-weight:700}.card-footer-bar{border-top:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:1.5rem;margin-top:1rem;padding-top:1rem;display:flex}.card-details-link{color:var(--color-deep);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:700;text-decoration:none;transition:color .18s}.card-details-link:hover{color:var(--color-primary)}.project-media{overflow:hidden}:root:not([data-preset=win95]) .project-card .project-media img{transition:transform .5s cubic-bezier(.25,1,.5,1)}:root:not([data-preset=win95]) .project-card:hover .project-media img{transform:scale(1.06)}:root:not([data-preset=win95]) .project-card:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(108deg,#0000 35%,#ffffff17 50%,#0000 65%);position:absolute;inset:0;transform:translate(-110%)}:root:not([data-preset=win95]) .project-card:hover:after{transition:transform .65s ease-out;transform:translate(110%)}@keyframes arrow-snap{0%{transform:translate(0)}55%{transform:translate(8px)}78%{transform:translate(2px)}to{transform:translate(5px)}}:root:not([data-preset=win95]) .card-details-link{transition:color .18s,transform .28s cubic-bezier(.25,1,.5,1);display:inline-block;position:relative}:root:not([data-preset=win95]) .card-details-link:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .28s cubic-bezier(.25,1,.5,1);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}:root:not([data-preset=win95]) .card-details-link:hover{animation:.38s cubic-bezier(.25,1,.5,1) forwards arrow-snap}:root:not([data-preset=win95]) .card-details-link:hover:after{transform:scaleX(1)}:root:not([data-preset=win95]) .project-card:hover .chip{box-shadow:0 6px 14px color-mix(in srgb, var(--color-primary) 22%, transparent);background:color-mix(in srgb, var(--color-primary) 14%, transparent);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent);transform:translateY(-7px)scale(1.07)}:root:not([data-preset=win95]) .project-card:hover .chip:first-child{transition-delay:0s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(2){transition-delay:30ms}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(3){transition-delay:60ms}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(4){transition-delay:90ms}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(5){transition-delay:.12s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(6){transition-delay:.15s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(7){transition-delay:.18s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(8){transition-delay:.21s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(9){transition-delay:.24s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(10){transition-delay:.27s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(11){transition-delay:.3s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(12){transition-delay:.33s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(13){transition-delay:.36s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(14){transition-delay:.39s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(15){transition-delay:.42s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(16){transition-delay:.45s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(17){transition-delay:.48s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(18){transition-delay:.51s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(19){transition-delay:.54s}:root:not([data-preset=win95]) .project-card:hover .chip:nth-child(20){transition-delay:.57s}:root[data-scheme=dark] .project-card{background:var(--surface);border-color:var(--border-subtle);box-shadow:var(--shadow-rest)}:root[data-scheme=dark] .project-card:hover{box-shadow:var(--shadow-hover);border-color:color-mix(in srgb, var(--color-primary) 28%, transparent)}:root[data-scheme=dark] .project-card-clickable:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 40%, transparent)}@media (prefers-reduced-motion:reduce){.project-card,.project-card .project-media img,.card-details-link,:root:not([data-preset=win95]) .project-card .project-media img,:root:not([data-preset=win95]) .card-details-link,:root:not([data-preset=win95]) .card-details-link:after{transition:none}:root:not([data-preset=win95]) .card-details-link:hover{animation:none;transform:translate(5px)}.project-card:after{display:none}.project-card:hover .chip{transition-delay:0s;transform:none}}
.link-button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.link-button:hover{color:var(--color-primary)}.project-section{margin-top:1.2rem}.project-section-title{margin-bottom:.5rem;font-weight:600}.project-list{color:var(--color-muted);margin-bottom:0;padding-left:1.1rem}
.chip{background:color-mix(in srgb, var(--color-primary) 9%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 18%, transparent);letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);border-radius:100px;align-items:center;padding:.3rem .75rem;font-size:.6875rem;font-weight:600;transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out,transform .18s ease-out,box-shadow .18s ease-out;display:inline-flex}:root:not([data-preset=win95]) .chip:hover{background:color-mix(in srgb, var(--color-primary) 12%, transparent);border-color:color-mix(in srgb, var(--color-primary) 22%, transparent);color:var(--color-primary);box-shadow:0 4px 10px color-mix(in srgb, var(--color-primary) 10%, transparent);transform:translateY(-2px)}:root[data-scheme=dark] .chip{background:color-mix(in srgb, var(--color-primary) 10%, transparent);border-color:color-mix(in srgb, var(--color-primary) 20%, transparent);color:var(--color-primary)}:root[data-scheme=dark] .chip:hover{background:color-mix(in srgb, var(--color-primary) 15%, transparent);border-color:color-mix(in srgb, var(--color-primary) 28%, transparent);color:var(--color-primary);box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 8%, transparent);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.chip{transition:none}}
.resume-skills h4{margin-bottom:.75rem}.resume-summary,.resume-block{background:linear-gradient(155deg, var(--surface), var(--surface-elevated));border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--border-subtle);margin-bottom:1.5rem;padding:1.5rem;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;position:relative;overflow:hidden}.resume-summary:before,.resume-block:before{content:"";background:linear-gradient(110deg, var(--surface-tint), transparent 62%);opacity:.75;pointer-events:none;height:48%;transition:opacity .24s,transform .24s;position:absolute;inset:-20% -12% auto -16%;transform:translateY(-10px)}.resume-summary:hover,.resume-block:hover{box-shadow:var(--shadow-soft);border-color:color-mix(in srgb, var(--color-primary) 16%, transparent);transform:translateY(-6px)}.resume-summary:hover:before,.resume-block:hover:before{opacity:1;transform:translateY(0)}.resume-summary p{color:var(--color-muted)}.resume-entry{border-bottom:1px solid var(--border-subtle);margin-bottom:1.2rem;padding-bottom:1.2rem}.resume-entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.resume-entry-header{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.resume-entry-title{font-weight:600}.resume-entry-org{color:var(--color-muted)}.resume-entry-period{color:var(--color-primary);font-weight:600}.resume-entry-summary{color:var(--color-muted);margin-top:.5rem}.resume-list{color:var(--color-muted);margin-bottom:0;padding-left:1.1rem}:root[data-scheme=dark] .resume-summary,:root[data-scheme=dark] .resume-block{background:var(--surface);box-shadow:var(--shadow-card);background:linear-gradient(155deg, var(--surface), var(--surface-elevated));border-color:var(--border-subtle)}:root[data-scheme=dark] .resume-summary:hover,:root[data-scheme=dark] .resume-block:hover{border-color:color-mix(in srgb, var(--color-primary) 20%, transparent)}:root[data-scheme=dark] .resume-summary:before,:root[data-scheme=dark] .resume-block:before{background:linear-gradient(110deg, var(--surface-tint), transparent 62%)}:root[data-scheme=dark] .resume-entry{border-color:var(--border-subtle)}
.modal-overlay,.lightbox-layer{z-index:1050;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-backdrop,.lightbox-backdrop{background:#0f1f2ab3;position:absolute;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(6px);animation:.35s ease-out forwards backdropBlurIn}@keyframes backdropBlurIn{0%{-webkit-backdrop-filter:blur();background:#0f1f2a00}to{-webkit-backdrop-filter:blur(6px);background:#0f1f2ab3}}.modal-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);z-index:1051;grid-template-rows:auto 1fr;width:100%;max-width:min(92vw,1140px);max-height:85vh;padding:0;display:grid;position:relative;overflow:hidden}.modal-scroll-body{flex-direction:row;min-height:0;display:flex;overflow:hidden}.modal-carousel-panel{background:var(--color-deep);flex:0 0 50%;display:none;position:relative;overflow:hidden}.modal-scroll-body.has-images .modal-carousel-panel{display:block}.modal-carousel-panel .image-carousel,.modal-carousel-panel .carousel-frame,.modal-carousel-panel .carousel-image-strip,.modal-carousel-panel .carousel-image{height:100%}.modal-carousel-panel .carousel-frame img,.modal-carousel-panel .carousel-image{object-fit:cover;object-position:center;flex-shrink:0;width:100%;height:100%;display:block}.modal-content-panel{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--color-primary) 20%, transparent) transparent;flex:1;min-width:0;overflow-y:auto}.modal-content-panel::-webkit-scrollbar{width:4px}.modal-content-panel::-webkit-scrollbar-track{background:0 0}.modal-content-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-primary) 18%, transparent);border-radius:2px}.modal-card-body{padding:2rem 2.5rem 2.5rem}.modal-header{padding:1.75rem 2.5rem 1.25rem}.modal-content-panel .modal-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;padding:1.5rem 3rem 1.25rem 1.5rem;display:flex}.modal-content-panel .modal-header .wrapper{flex-flow:wrap;justify-content:start;align-items:center;gap:.75rem;width:100%;margin-bottom:.5rem;display:flex}.modal-content-panel .modal-header h2{margin:0;font-size:1.375rem;line-height:1.2}.modal-content-panel .modal-header .modal-eyebrow{margin:0}.modal-content-panel .modal-header .text-muted{width:100%;color:var(--color-muted);margin:0;font-size:.875rem;font-style:italic;line-height:1.55;display:block}.modal-content-panel .modal-card-body{padding:1rem 1.5rem 2rem}.modal-close-btn{z-index:10;background:var(--overlay-btn);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb, var(--color-primary) 10%, transparent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:background .15s,transform .22s ease-out,box-shadow .15s;display:flex;position:absolute;top:.875rem;right:.875rem;box-shadow:0 2px 8px #0f1f2a1f}.modal-close-btn:hover{background:#fff;transform:scale(1.08)rotate(90deg);box-shadow:0 4px 12px #0f1f2a2e}.modal-close-btn:before,.modal-close-btn:after{content:"";background:var(--color-deep);border-radius:1px;width:11px;height:1.5px;position:absolute}.modal-close-btn:before{transform:rotate(45deg)}.modal-close-btn:after{transform:rotate(-45deg)}.modal-eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--color-primary);font-size:.7rem;font-weight:600}.modal-card-body p{color:var(--color-muted)}.modal-section{border-top:1px solid var(--divider);margin-top:1.75rem;padding-top:1.5rem}.modal-section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--section-label);margin-bottom:.75rem;font-size:.625rem;font-weight:700}.modal-links{flex-wrap:wrap;gap:1rem;display:flex}.modal-link{color:var(--color-primary);letter-spacing:.02em;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:700;text-decoration:none;transition:opacity .18s;display:inline-flex}.modal-link:before{content:"→";flex-shrink:0;transition:transform .22s cubic-bezier(.25,1,.5,1);display:inline-block}.modal-link:hover{opacity:.85}.modal-link:hover:before{transform:translate(4px)}.modal-file{color:var(--color-primary);align-items:center;gap:.375rem;font-size:.8125rem;font-weight:700;text-decoration:none;transition:opacity .18s;display:inline-flex}.modal-file:before{content:"↓";flex-shrink:0;transition:transform .22s cubic-bezier(.25,1,.5,1);display:inline-block}.modal-file:hover{opacity:.85}.modal-file:hover:before{transform:translateY(3px)}.modal-file-size{color:var(--color-muted);opacity:.8;font-size:.7rem;font-weight:400}.modal-learnings{color:var(--color-muted);margin:0;padding-left:1.25rem;list-style:decimal}.modal-learnings li{padding-left:.25rem;font-size:.875rem;line-height:1.7}.animate-modal{animation:.25s ease-out modalFade}@keyframes modalFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes staggerReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-modal .modal-header{animation:.28s ease-out 60ms both staggerReveal}.animate-modal .modal-section{animation:.25s ease-out both staggerReveal;animation-delay:calc(.14s + var(--stagger-i,0) * 70ms)}.animate-modal .modal-learnings li{animation:.22s ease-out both staggerReveal;animation-delay:calc(.22s + var(--li-i,0) * 55ms)}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modalSlideDown{0%{transform:translateY(0)}to{transform:translateY(110%)}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}:root[data-scheme=dark] .modal-card{background:var(--surface);box-shadow:var(--shadow-card)}:root[data-scheme=dark] .modal-section{border-top-color:var(--divider)}:root[data-scheme=dark] .modal-section-label{color:var(--section-label)}:root[data-scheme=dark] .modal-close-btn{background:var(--overlay-btn);border-color:#ffffff1a}:root[data-scheme=dark] .modal-close-btn:hover{background:#233c50}:root[data-scheme=dark] .modal-close-btn:before,:root[data-scheme=dark] .modal-close-btn:after{background:#fffc}:root[data-scheme=dark] .modal-content-panel{scrollbar-color:color-mix(in srgb, var(--color-primary) 20%, transparent) transparent}:root[data-scheme=dark] .modal-content-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-primary) 18%, transparent)}@media (prefers-reduced-motion:reduce){.animate-modal{animation:none}.animate-modal .modal-header,.animate-modal .modal-section,.animate-modal .modal-learnings li{opacity:1;animation:none;transform:none}.modal-backdrop{-webkit-backdrop-filter:none;animation:none}.modal-link:before{transition:none}}@media (min-width:768px) and (max-width:1023.98px){.modal-overlay{padding:1rem}.modal-carousel-panel{flex:0 0 50%}.modal-content-panel .modal-header{padding:1.1rem 3rem .875rem 1.25rem}.modal-content-panel .modal-card-body{padding:.875rem 1.25rem 2rem}}@media (max-width:767.98px){.modal-scroll-body{flex-direction:column}.modal-scroll-body.has-images .modal-carousel-panel{flex:none}.modal-carousel-panel .carousel-frame img,.modal-carousel-panel .carousel-image{height:220px;min-height:unset}.modal-content-panel .modal-header,.modal-content-panel .modal-card-body{padding-left:1.25rem;padding-right:1.25rem}.modal-content-panel .modal-header{padding-top:1.25rem;padding-right:3.5rem}.modal-overlay{align-items:flex-end;padding:0}.modal-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:100%;max-height:92vh;padding:0}.modal-card-body{padding:1.25rem 1.25rem 2rem}.modal-header{padding:1.25rem 1.25rem 1rem}.animate-modal{animation:.38s cubic-bezier(.32,.72,0,1) modalSlideUp}.modal-overlay.modal-closing .modal-card{animation:.32s cubic-bezier(.4,0,1,1) forwards modalSlideDown}.modal-overlay.modal-closing .modal-backdrop{animation:.32s forwards backdropFadeOut}.modal-drag-handle{cursor:grab;touch-action:none;background:#80808066;border-radius:2px;width:2.5rem;height:4px;margin:0 auto 1rem}.modal-close-btn{width:2.25rem;height:2.25rem;top:.75rem;right:.75rem}}.modal-card:focus{outline:none}
.image-carousel{margin-bottom:0}.carousel-frame{border-radius:var(--radius-md);cursor:zoom-in;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.modal-card .carousel-frame{box-shadow:none;border-radius:0}.carousel-image-strip{width:100%;transition:transform .35s ease-out;display:flex}.carousel-image{flex:0 0 100%}.carousel-frame img,.carousel-image{object-fit:cover;width:100%;height:320px;display:block}.carousel-frame:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 0%,#0f1f2ad1 100%);position:absolute;inset:40% 0 0}.carousel-caption{width:max-content;max-width:calc(100% - 6rem);color:var(--color-deep);background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:var(--radius-md);text-align:center;z-index:2;white-space:nowrap;text-overflow:ellipsis;padding:.2rem .65rem;font-size:.75rem;font-weight:500;position:absolute;bottom:2.1rem;left:50%;right:auto;overflow:hidden;transform:translate(-50%)}.carousel-nav{background:var(--overlay-btn);-webkit-backdrop-filter:blur(4px);width:36px;height:36px;color:var(--color-deep);z-index:2;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1.4rem;line-height:1;transition:background .15s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0f1f2a2e}.carousel-nav:hover:not(:disabled){background:#fff;transform:translateY(-50%)scale(1.08)}.carousel-nav.prev{left:1rem}.carousel-nav.next{right:1rem}.carousel-nav:disabled{opacity:.4;cursor:not-allowed}.carousel-dots{z-index:3;background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:var(--radius-md);gap:.4rem;padding:.4rem .55rem;display:flex;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.carousel-dot{background:var(--color-muted);cursor:pointer;border:none;border-radius:999px;width:6px;height:6px;padding:0;transition:background .2s,transform .2s}.carousel-dot.active{background:var(--color-primary);transform:scale(1.4)}.carousel-frame.has-video{cursor:default;background:var(--color-deep)}.carousel-frame.has-video:after{display:none}.carousel-frame.has-video .carousel-caption{pointer-events:none}.carousel-frame .carousel-video,.modal-carousel-panel .carousel-frame .carousel-video{object-fit:cover;cursor:default}.carousel-frame.has-video-controls .carousel-caption{bottom:5.1rem}.carousel-frame.has-video-controls .carousel-dots{bottom:3.65rem}.carousel-frame .carousel-caption:empty{display:none}.carousel-frame video[role=button]{cursor:pointer}.carousel-frame video:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}:root[data-scheme=dark] .carousel-nav{color:var(--color-deep);box-shadow:var(--shadow-card);background:#0f1f2acc}:root[data-scheme=dark] .carousel-dot{background:var(--color-muted)}:root[data-scheme=dark] .carousel-dot.active{background:var(--color-primary)}
.lightbox-layer{height:100dvh;padding:1rem}.lightbox-card{background:var(--surface);width:100%;min-width:0;max-width:none;height:100%;min-height:0;color:var(--color-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);z-index:1;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.lightbox-card.animate-modal{animation:.2s ease-out modalFade}.lightbox-header,.lightbox-footer{flex-shrink:0;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.lightbox-header{border-bottom:1px solid var(--border-subtle);color:var(--color-muted);justify-content:space-between;font-size:.8125rem}.lightbox-footer{border-top:1px solid var(--border-subtle)}.lightbox-card button{touch-action:manipulation;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);width:44px;height:44px;color:var(--color-deep);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.lightbox-card button:hover:not(:disabled){background:var(--surface-tint)}.lightbox-card button:active:not(:disabled){background:color-mix(in srgb, var(--color-primary) 12%, var(--surface))}.lightbox-card button:disabled{opacity:.4;cursor:not-allowed}.lightbox-card .material-icons{font-size:1.25rem}.lightbox-caption{min-width:0;max-height:4.5rem;color:var(--color-muted);text-align:center;overflow-wrap:anywhere;flex:1;margin:0;font-size:.8125rem;line-height:1.5;overflow-y:auto}.lightbox-nav{box-shadow:none;position:static;transform:none}.lightbox-nav:hover{transform:none}.lightbox-image-viewer{flex-direction:column;flex:1;min-height:0;display:flex}.lightbox-image-viewport{background:var(--surface-tint);touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;position:relative;overflow:hidden}.lightbox-image-viewport[data-zoomed=true]{cursor:grab}.lightbox-image-viewport[data-zoomed=true][data-dragging=true]{cursor:grabbing}.lightbox-image-transform{transform-origin:50%;position:absolute}.lightbox-image-transform img{object-fit:contain;pointer-events:none;width:100%;max-width:none;height:100%;max-height:none;display:block}.lightbox-zoom-controls{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.lightbox-zoom-controls output{text-align:center;min-width:4rem;color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.lightbox-video-stage{background:var(--surface-tint);flex:1;min-height:0;display:flex}.lightbox-video-stage video{object-fit:contain;width:100%;height:100%;min-height:0}.lightbox-card:focus{outline:none}.lightbox-card :is(button,[role=region]):focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}@media (max-width:767.98px){.lightbox-layer{padding:max(.35rem, env(safe-area-inset-top)) max(.35rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left))}.lightbox-header,.lightbox-footer{gap:.5rem;padding:.35rem .5rem}}@media (prefers-reduced-motion:reduce){.lightbox-card.animate-modal,:root[data-preset=win95] .lightbox-card.animate-modal{animation:none}.lightbox-card,.lightbox-card button{transition:none}}:root[data-preset=win95] .lightbox-card button{border-radius:0}
.modal-card.project-dialog-modern{max-width:min(94vw,1120px);max-height:90dvh;color:var(--color-deep);flex-direction:column;display:flex}.project-dialog-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent;min-height:0;overflow-y:auto}.project-dialog-heading{padding:2.25rem 4.5rem 1.75rem 2.5rem}.project-dialog-heading h2{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:clamp(1.75rem,3vw,2.75rem);font-weight:700;line-height:1.15}.project-dialog-heading p{max-width:65ch;color:var(--color-muted);margin:1rem 0 0;line-height:1.65}.project-dialog-eyebrow{color:var(--color-primary);margin-bottom:.75rem;font-size:.75rem;font-weight:600}.project-dialog-modern h3{margin:0 0 1rem;font-family:inherit;font-size:1.125rem;font-weight:650;line-height:1.4}.project-dialog-overview{padding:0 2.5rem 2rem}.project-dialog-overview-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:2rem;display:grid}.project-dialog-overview-grid.without-media{grid-template-columns:1fr}.project-dialog-section+.project-dialog-section{margin-top:2rem}.project-dialog-skills{flex-wrap:wrap;gap:.5rem;display:flex}.project-dialog-skills .chip{overflow-wrap:anywhere;white-space:normal;max-width:100%}.project-dialog-learnings{color:var(--color-muted);margin:0;padding-left:1.25rem}.project-dialog-learnings li{margin-bottom:.75rem;padding-left:.25rem;line-height:1.7}.project-dialog-description{border-block:1px solid var(--border-subtle);margin-top:1.75rem}.project-dialog-description summary{color:var(--color-primary);cursor:pointer;padding:1rem 0;font-weight:600}.project-dialog-description .project-dialog-prose{padding:.5rem 0 1.5rem}.project-dialog-prose{overflow-wrap:anywhere;min-width:0;max-width:75ch;line-height:1.75}.project-dialog-prose>div+div{margin-top:.85rem}.project-dialog-prose p{color:var(--color-muted)}.project-dialog-prose h1,.project-dialog-prose h2,.project-dialog-prose h3,.project-dialog-prose h4{margin:1.75rem 0 .75rem;font-family:inherit;font-size:1.25rem;line-height:1.4}.project-dialog-prose .project-dialog-section-title{margin-top:0}.project-dialog-prose img,.project-dialog-prose video{max-width:100%;height:auto}.project-dialog-prose pre{max-width:100%;overflow-x:auto}.project-dialog-study-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:3rem;padding:2rem 2.5rem;display:grid}.project-dialog-study-grid.without-aside{grid-template-columns:1fr}.project-dialog-study-grid aside{border-left:1px solid var(--border-subtle);padding-left:2rem}.project-dialog-resources{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:1.5rem 2.5rem;padding:1.5rem 2.5rem;display:flex}.project-dialog-resources h3{color:var(--color-muted);margin-bottom:.65rem;font-size:.75rem}.project-dialog-actions{flex-wrap:wrap;gap:.6rem;display:flex}.project-dialog-link{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--color-primary);overflow-wrap:anywhere;justify-content:center;align-items:center;gap:.5rem;max-width:100%;padding:.65rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.project-dialog-link .material-icons{flex-shrink:0;font-size:1rem}.project-dialog-link.is-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.project-dialog-link:hover{background:var(--surface-tint);color:var(--color-primary)}.project-dialog-link.is-primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.project-dialog-gallery{min-width:0}.project-dialog-modern .carousel-frame,.project-dialog-modern .carousel-frame.has-video{background:var(--surface-tint);border-radius:var(--radius-md);box-shadow:none;padding-bottom:0}.project-dialog-modern .carousel-frame:after{display:none}.project-dialog-modern .carousel-image-strip{height:clamp(220px,28vw,350px);transition-duration:.25s}.project-dialog-modern .carousel-image{object-fit:cover;min-width:0;height:100%}.project-dialog-modern .carousel-caption{color:var(--color-deep);pointer-events:none;bottom:2rem}.project-dialog-modern .carousel-nav{top:50%}.project-dialog-modern .carousel-dot.active{background:var(--color-primary)}.project-dialog-modern[data-dialog-layout=caseStudy] .project-dialog-gallery{background:var(--surface-tint);padding:1.25rem 2.5rem}.project-dialog-modern[data-dialog-layout=caseStudy] .carousel-image-strip{height:clamp(200px,28vw,340px)}.project-dialog-chapters{border-top:1px solid var(--border-subtle);grid-template-columns:180px minmax(0,1fr);display:grid}.project-dialog-tabs{background:var(--surface-tint);border-right:1px solid var(--border-subtle);flex-direction:column;gap:.4rem;padding:1.5rem 1rem;display:flex}.project-dialog-tabs button{border-radius:var(--radius-md);color:var(--color-muted);text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;padding:.75rem .65rem;font-size:.8125rem;font-weight:500;display:flex}.project-dialog-tabs .material-icons{font-size:1.125rem}.project-dialog-tabs button[aria-selected=true]{background:var(--surface);color:var(--color-primary);font-weight:650}.project-dialog-panels{min-width:0;min-height:360px;padding:1.75rem 2rem}.project-dialog-panels [hidden]{display:none}.project-dialog-modern .modal-close-btn{background:var(--surface)}.project-dialog-modern .modal-close-btn:hover{background:var(--surface-tint);transform:none}.project-dialog-modern .modal-close-btn:before,.project-dialog-modern .modal-close-btn:after{background:var(--color-deep)}.project-dialog-modern :is(button,summary,a,[role=tabpanel]):focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media (max-width:767.98px){.modal-card.project-dialog-modern{max-width:100%;max-height:94dvh}.project-dialog-modern .modal-drag-handle{flex-shrink:0;margin:.4rem auto 0}.project-dialog-heading{padding:1.5rem 3.75rem 1.5rem 1.25rem}.project-dialog-overview{padding:0 1.25rem 1.5rem}.project-dialog-overview-grid,.project-dialog-study-grid{grid-template-columns:1fr;gap:1.5rem}.project-dialog-study-grid{padding:1.5rem 1.25rem}.project-dialog-study-grid aside{border-left:0;border-top:1px solid var(--border-subtle);padding:1.5rem 0 0}.project-dialog-modern[data-dialog-layout=caseStudy] .project-dialog-gallery{padding:1rem 1.25rem}.project-dialog-resources{padding:1.25rem}.project-dialog-chapters{grid-template-columns:1fr}.project-dialog-tabs{border-right:0;border-bottom:1px solid var(--border-subtle);flex-flow:wrap;padding:.75rem 1rem}.project-dialog-tabs button{padding:.65rem}.project-dialog-tabs .material-icons{display:none}.project-dialog-panels{min-height:280px;padding:1.25rem}}@media (prefers-reduced-motion:reduce){.project-dialog-modern .carousel-image-strip,.project-dialog-modern .carousel-nav,.project-dialog-modern .carousel-dot,.project-dialog-modern .modal-close-btn,.project-dialog-modern a{transition:none}.project-dialog-modern.animate-modal{animation:none}}:root[data-preset=win95] .project-dialog-link,:root[data-preset=win95] .project-dialog-tabs button,:root[data-preset=win95] .project-dialog-modern .carousel-frame{border-radius:0}:root[data-preset=win95] .project-dialog-tabs button[aria-selected=true]{outline:1px solid var(--border-subtle)}
.site-footer{background:var(--footer-bg);color:var(--footer-text)}.footer-title{text-transform:uppercase;letter-spacing:.08em;font-weight:700}.footer-link{color:var(--footer-link);align-items:center;gap:.5rem;font-weight:600;transition:color .2s ease-out;display:inline-flex}.footer-link:hover{color:var(--color-secondary)}.footer-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.footer-icon svg{width:100%;height:100%}.footer-icon-img{background:currentColor;width:18px;height:18px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.footer-label{display:inline}.site-footer .text-muted{color:var(--footer-muted)!important}:root[data-scheme=dark] .site-footer{background:var(--footer-bg);color:var(--footer-text)}:root[data-scheme=dark] .site-footer .text-muted{color:var(--footer-muted)!important}@media (max-width:575.98px){.footer-label{display:none}.footer-link{justify-content:center;gap:.35rem}}
.fade-up{opacity:0;animation:.65s cubic-bezier(.16,1,.3,1) forwards fadeUp;transform:translateY(24px)}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.animate-on-scroll{opacity:1;transform:none}.js .animate-on-scroll{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0s);transform:translateY(20px)}.js .animate-on-scroll.in-view{opacity:1;transform:translateY(0)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.fade-up{opacity:1;animation:none;transform:none}.js .animate-on-scroll,.js .animate-on-scroll.in-view{opacity:1;transition:none;transform:none}}
.scroll-progress-bar{background:var(--color-primary);z-index:9999;transform-origin:0;pointer-events:none;width:0%;height:3px;position:fixed;top:0;left:0}@supports (animation-timeline:scroll()){@keyframes scrollTrack{to{width:100%}}:root:not([data-preset=win95]) .scroll-progress-bar{animation:linear scrollTrack;animation-timeline:scroll(root)}}@media (prefers-reduced-motion:reduce){.scroll-progress-bar{animation:none!important}}
#blazor-error-ui{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;box-sizing:border-box;z-index:1000;background:#fff2c2;width:100%;padding:.6rem 1.25rem .7rem;display:none;position:fixed;bottom:0;left:0;box-shadow:0 -1px 2px #0003}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;top:.5rem;right:.75rem}.loading-progress{width:8rem;height:8rem;margin:0;display:block;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-progress circle{fill:none;stroke:#e0e0e0;stroke-width:.6rem;transform-origin:50%;transform:rotate(-90deg)}.loading-progress circle:last-child{stroke:var(--color-primary);stroke-dasharray:calc(3.141 * var(--blazor-load-percentage,0%) * .8), 500%;transition:stroke-dasharray 50ms ease-in-out}.loading-progress-text{text-align:center;top:calc(50% + 4.5rem);left:50%;font-weight:700;position:fixed;inset:auto;transform:translate(-50%)}.loading-progress-text:after{content:var(--blazor-load-percentage-text,"Laden")}.loader{color:var(--color-primary);aspect-ratio:1;width:60px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.loader:before,.loader:after{content:"";background:linear-gradient(currentColor 0 0) 0 calc(var(--s,0)*-100%)/100% calc(100%/3), repeating-linear-gradient(90deg,currentColor 0 25%,#0000 0 50%) calc(var(--s,0)*100%) 50%/calc(4*100%/3) calc(100%/3);background-repeat:no-repeat;animation:2s infinite l26;position:absolute;inset:0}.loader:after{--s:-1}@keyframes l26{0%,10%{transform:translateY(calc(var(--s,1)*0));background-position:0 calc(var(--s,0)*-100%),calc(var(--s,0)*100%) 50%}33%{transform:translateY(calc(var(--s,1)*-20%));background-position:0 calc(var(--s,0)*-100%),calc(var(--s,0)*100%) 50%}66%{transform:translateY(calc(var(--s,1)*-20%));background-position:0 calc(var(--s,0)*-100%),calc(var(--s,0)*100% + 100%) 50%}90%,to{transform:translateY(calc(var(--s,1)*0));background-position:0 calc(var(--s,0)*-100%),calc(var(--s,0)*100% + 100%) 50%}}
.media-text-section,.columns-section,.cta-banner-section,.gallery-section,.video-embed-section,.logo-wall-section,.testimonials-section,.faq-section,.timeline-section,.skill-cloud-section,.code-snippet-section,.contact-card-section,.link-list-section,.service-cards-section{padding:1.5rem 0}.block-ctas{flex-wrap:wrap;gap:.75rem;display:flex}.block-card{background:linear-gradient(155deg, var(--surface), var(--surface-elevated));border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-rest);transition:transform .2s ease-out;position:relative;overflow:hidden}.block-card:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 28%, transparent);opacity:0;pointer-events:none;transition:opacity .2s ease-out;position:absolute;inset:0}.block-card:hover{transform:translateY(-4px)}.block-card:hover:after{opacity:1}.gallery-thumb:focus-visible,.video-embed-play:focus-visible,.faq-question:focus-visible,.code-snippet-copy:focus-visible,.code-snippet-body:focus-visible,.link-list-item:focus-visible,.contact-card-item:focus-visible,.logo-wall-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){.block-card,.block-card:after{transition:none}.block-card:hover{transform:none}}:root[data-preset=win95] .block-card{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;transition:none}:root[data-preset=win95] .block-card:after{display:none}:root[data-preset=win95] .block-card:hover{box-shadow:none;border-color:#fff #404040 #404040 #fff;transform:none}:root[data-preset=win95] .gallery-thumb:focus-visible,:root[data-preset=win95] .video-embed-play:focus-visible,:root[data-preset=win95] .faq-question:focus-visible,:root[data-preset=win95] .code-snippet-copy:focus-visible,:root[data-preset=win95] .code-snippet-body:focus-visible,:root[data-preset=win95] .link-list-item:focus-visible,:root[data-preset=win95] .contact-card-item:focus-visible,:root[data-preset=win95] .logo-wall-link:focus-visible{outline-offset:2px;outline:1px dotted #000}
.media-text-figure{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);background:var(--surface);position:relative;overflow:hidden}.media-text-figure img{width:100%;height:auto;transition:transform .3s ease-out;display:block}.media-text-figure:hover img{transform:scale(1.03)}.media-text-body .section-title{margin-bottom:1rem}.media-text-body p{color:var(--color-muted)}@media (prefers-reduced-motion:reduce){.media-text-figure img{transition:none}.media-text-figure:hover img{transform:none}}:root[data-preset=win95] .media-text-figure{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;padding:4px}:root[data-preset=win95] .media-text-figure:hover img{transform:none}
.columns-card{width:100%;padding:1.5rem}.columns-card>:first-child{margin-top:0!important}.columns-card h2,.columns-card h3,.columns-card h4{font-size:1.3rem}.columns-card p,.columns-card li{color:var(--color-muted)}
.cta-banner{--cta-bg:linear-gradient(135deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 72%, var(--color-deep)) 100%);--cta-fg:var(--color-on-primary);--cta-fg-muted:color-mix(in srgb, var(--color-on-primary) 82%, transparent);--cta-btn-bg:var(--color-on-primary);--cta-btn-fg:var(--color-primary);--cta-btn2-border:color-mix(in srgb, var(--color-on-primary) 70%, transparent);--cta-btn2-fg:var(--color-on-primary);--cta-glow:color-mix(in srgb, var(--color-on-primary) 14%, transparent);isolation:isolate;border-radius:var(--radius-lg);background:var(--cta-bg);color:var(--cta-fg);box-shadow:var(--shadow-card);flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;display:flex;position:relative;overflow:hidden}.cta-banner:before,.cta-banner:after{content:"";z-index:-1;background:radial-gradient(circle, var(--cta-glow), transparent 70%);pointer-events:none;border-radius:50%;position:absolute}.cta-banner:before{width:360px;height:360px;top:-180px;right:-100px}.cta-banner:after{width:260px;height:260px;bottom:-150px;left:10%}.cta-banner-title{color:inherit;margin-bottom:.5rem;font-size:clamp(1.6rem,3vw,2.2rem)}.cta-banner-lead{color:var(--cta-fg-muted);white-space:pre-line;max-width:640px;margin-bottom:0;font-size:1.05rem}.cta-banner-actions{flex-shrink:0}.cta-banner .btn.cta-inverse{padding:.6rem 1.4rem;font-weight:600}.cta-banner .btn.cta-inverse.is-primary{background:var(--cta-btn-bg);border-color:var(--cta-btn-bg);color:var(--cta-btn-fg)}.cta-banner .btn.cta-inverse.is-secondary{border-color:var(--cta-btn2-border);color:var(--cta-btn2-fg);background:0 0}.cta-banner .btn.cta-inverse:focus-visible{outline:2px solid var(--cta-fg);outline-offset:3px;box-shadow:none}@media (min-width:768px){.cta-banner{padding:2.5rem 3rem}}@media (min-width:992px){.cta-banner{flex-direction:row;justify-content:space-between;align-items:center}.cta-banner-actions{justify-content:flex-end}}:root[data-scheme=dark] .cta-banner{--cta-bg:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 22%, var(--surface)) 0%, var(--surface-elevated) 100%);--cta-fg:var(--color-deep);--cta-fg-muted:var(--color-muted);--cta-btn-bg:var(--color-primary);--cta-btn-fg:var(--surface);--cta-btn2-border:color-mix(in srgb, var(--color-primary) 70%, transparent);--cta-btn2-fg:var(--color-primary);--cta-glow:color-mix(in srgb, var(--color-primary) 18%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 24%, transparent)}:root[data-preset=win95] .cta-banner{color:#000;box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;padding-top:3rem}:root[data-preset=win95] .cta-banner:before{background:linear-gradient(90deg, var(--color-primary), #1084d0);z-index:0;border-radius:0;width:auto;height:1.6rem;inset:3px 3px auto}:root[data-preset=win95] .cta-banner:after{display:none}:root[data-preset=win95] .cta-banner-lead{color:#000}:root[data-preset=win95] .cta-banner .btn.cta-inverse.is-primary,:root[data-preset=win95] .cta-banner .btn.cta-inverse.is-secondary{color:#000;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff}:root[data-preset=win95] .cta-banner .btn.cta-inverse.is-primary{outline:1px solid #000}:root[data-preset=win95] .cta-banner .btn.cta-inverse:active{border-color:#404040 #fff #fff #404040}
.spacer-block{--spacer:2rem;padding-block:calc(var(--spacer) / 2)}.spacer-sm{--spacer:1rem}.spacer-md{--spacer:2rem}.spacer-lg{--spacer:3rem}.spacer-xl{--spacer:4.5rem}@media (min-width:768px){.spacer-sm{--spacer:1.5rem}.spacer-md{--spacer:3rem}.spacer-lg{--spacer:5rem}.spacer-xl{--spacer:7rem}}.spacer-divider{opacity:1;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-primary) 35%, transparent) 20%, color-mix(in srgb, var(--color-primary) 35%, transparent) 80%, transparent);border:0;height:1px;margin:0}:root[data-preset=win95] .spacer-divider{background:0 0;border-top:1px solid gray;border-bottom:1px solid #fff;height:2px}
.gallery-section .container{container-type:inline-size}.gallery-grid-custom{--gallery-columns:2;grid-auto-flow:dense;grid-template-columns:repeat(var(--gallery-columns), minmax(0, 1fr));grid-auto-rows:calc((100cqw - (var(--gallery-columns) - 1) * 1rem) / var(--gallery-columns) * .75);gap:1rem;display:grid}.gallery-grid-custom[data-columns="2"]{--gallery-columns:1}.gallery-grid-custom>li{grid-column:span min(var(--gallery-column-span,1), var(--gallery-columns));grid-row:span var(--gallery-row-span,1);min-width:0;min-height:0}.gallery-grid-custom .gallery-item{flex-direction:column;height:100%;display:flex}.gallery-grid-custom .gallery-stage{flex:1;min-height:0}.gallery-grid-custom .gallery-thumb{aspect-ratio:auto;height:100%}.gallery-grid-custom .gallery-thumb img{position:absolute;inset:0}.gallery-grid-custom .gallery-caption{flex-shrink:0}@media (min-width:576px){.gallery-grid-custom[data-columns="2"]{--gallery-columns:2}}@media (min-width:768px){.gallery-grid-custom[data-columns="3"],.gallery-grid-custom[data-columns="4"]{--gallery-columns:3}}@media (min-width:992px){.gallery-grid-custom[data-columns="4"]{--gallery-columns:4}}.gallery-item{margin:0}.gallery-stage{position:relative}.gallery-thumb video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.gallery-grid-custom .gallery-thumb video{position:absolute;inset:0}.gallery-thumb-video .gallery-zoom{opacity:1;background:0 0}.gallery-slider-nav{width:44px;height:44px;color:var(--gallery-controls-color,var(--color-deep));text-shadow:0 1px 3px color-mix(in srgb, var(--color-deep) 45%, transparent);cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;transition:opacity .18s ease-out;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gallery-slider-nav.previous{left:.4rem}.gallery-slider-nav.next{right:.4rem}.gallery-slider-nav:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.gallery-slider-count{color:var(--gallery-controls-color,var(--color-deep));text-shadow:0 1px 3px color-mix(in srgb, var(--color-deep) 45%, transparent);pointer-events:none;padding:.1rem .5rem;font-size:.75rem;transition:opacity .18s ease-out;position:absolute;bottom:.4rem;left:50%;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.gallery-slider-nav,.gallery-slider-count{opacity:0}.gallery-slider-nav{pointer-events:none}.gallery-stage:hover .gallery-slider-nav,.gallery-stage:hover .gallery-slider-count,.gallery-stage:focus-within .gallery-slider-nav,.gallery-stage:focus-within .gallery-slider-count{opacity:1}.gallery-stage:hover .gallery-slider-nav,.gallery-stage:focus-within .gallery-slider-nav{pointer-events:auto}}.gallery-thumb{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);width:100%;box-shadow:var(--shadow-rest);cursor:zoom-in;aspect-ratio:4/3;padding:0;display:block;position:relative;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s ease-out;display:block}.gallery-zoom{background:color-mix(in srgb, var(--color-deep) 28%, transparent);color:var(--surface);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .2s ease-out;display:flex;position:absolute;inset:0}.gallery-zoom .material-icons{background:color-mix(in srgb, var(--color-deep) 45%, transparent);border-radius:50%;padding:.5rem;font-size:2.25rem}.gallery-thumb:hover img,.gallery-thumb:focus-visible img{transform:scale(1.05)}.gallery-thumb:hover .gallery-zoom,.gallery-thumb:focus-visible .gallery-zoom{opacity:1}.gallery-caption{color:var(--color-muted);margin-top:.5rem;font-size:.875rem}@media (prefers-reduced-motion:reduce){.gallery-slider-nav,.gallery-slider-count,.gallery-thumb img,.gallery-zoom{transition:none}.gallery-thumb:hover img,.gallery-thumb:focus-visible img{transform:none}}:root[data-preset=win95] .gallery-thumb{box-shadow:none;background:gray;border:2px solid #fff;border-color:#404040 #fff #fff #404040;border-radius:0}:root[data-preset=win95] .gallery-thumb:hover img,:root[data-preset=win95] .gallery-thumb:focus-visible img{transform:none}:root[data-preset=win95] .gallery-zoom{color:#fff;background:#00008040}:root[data-preset=win95] .gallery-zoom .material-icons{background:navy;border-radius:0}:root[data-preset=win95] .gallery-caption{color:#000}
.video-embed{max-width:960px;margin:0 auto}.video-embed-frame{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);background:var(--surface);position:relative;overflow:hidden}.video-embed-frame iframe{border:0}.video-embed-placeholder{aspect-ratio:16/9;display:grid;position:relative}.video-embed-poster,.video-embed-backdrop{width:100%;height:100%;position:absolute;inset:0}.video-embed-poster{object-fit:cover}.video-embed-backdrop{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--color-secondary) 45%, transparent), transparent 55%), radial-gradient(circle at 85% 80%, color-mix(in srgb, var(--color-primary) 40%, transparent), transparent 60%), linear-gradient(135deg, var(--surface-elevated), var(--surface))}.video-embed-overlay{text-align:center;background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 15%, transparent), color-mix(in srgb, var(--surface) 78%, transparent));flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem 1rem;display:flex;position:relative}.video-embed-play{border:1px solid var(--border-subtle);background:var(--surface);max-width:100%;color:var(--color-deep);box-shadow:var(--shadow-card);text-align:left;cursor:pointer;border-radius:999px;align-items:center;gap:.9rem;padding:.6rem 1.2rem .6rem .6rem;transition:transform .2s ease-out;display:inline-flex}.video-embed-play:hover{transform:translateY(-2px)scale(1.02)}.video-embed-play-icon{background:var(--color-primary);width:3rem;height:3rem;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.video-embed-play-icon .material-icons{font-size:2rem}.video-embed-play-label{flex-direction:column;min-width:0;display:flex}.video-embed-title{overflow-wrap:anywhere;font-weight:700}.video-embed-action{color:var(--color-muted);font-size:.85rem}.video-embed-notice{border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 88%, transparent);max-width:34rem;color:var(--color-deep);margin:0;padding:.4rem .75rem;font-size:.8rem}.video-embed-notice a{color:var(--color-primary);text-decoration-color:currentColor}.video-embed-caption{text-align:center;color:var(--color-muted);margin-top:.75rem;font-size:.9rem}@media (prefers-reduced-motion:reduce){.video-embed-play{transition:none}.video-embed-play:hover{transform:none}}:root[data-preset=win95] .video-embed-frame{box-shadow:none;background:gray;border:2px solid #fff;border-color:#404040 #fff #fff #404040;border-radius:0}:root[data-preset=win95] .video-embed-backdrop{background:teal}:root[data-preset=win95] .video-embed-overlay{background:0 0}:root[data-preset=win95] .video-embed-play{color:#000;box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .video-embed-play:hover{transform:none}:root[data-preset=win95] .video-embed-play:active{border-color:#404040 #fff #fff #404040}:root[data-preset=win95] .video-embed-play-icon{color:#fff;background:navy;border-radius:0}:root[data-preset=win95] .video-embed-action{color:#404040}:root[data-preset=win95] .video-embed-notice{color:#000;background:#ffffe1;border:1px solid #000;border-radius:0}:root[data-preset=win95] .video-embed-notice a{color:#00e}:root[data-preset=win95] .video-embed-caption{color:#000}
.logo-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (min-width:576px){.logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:992px){.logo-wall{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.logo-wall-link{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);height:100%;min-height:5.5rem;box-shadow:var(--shadow-rest);justify-content:center;align-items:center;padding:1rem 1.25rem;display:flex}.logo-wall-img{object-fit:contain;opacity:.72;width:auto;max-width:100%;height:2.75rem;transition:opacity .2s ease-out,transform .2s ease-out;display:block}.logo-wall-link:hover .logo-wall-img,.logo-wall-link:focus-visible .logo-wall-img{opacity:1;transform:scale(1.05)}:root[data-scheme=dark] .logo-wall-link{background:color-mix(in srgb, var(--color-deep) 90%, var(--surface))}:root[data-scheme=dark] .logo-wall-img{opacity:.9}@media (prefers-reduced-motion:reduce){.logo-wall-img{transition:none}.logo-wall-link:hover .logo-wall-img,.logo-wall-link:focus-visible .logo-wall-img{transform:none}}:root[data-preset=win95] .logo-wall-link{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .logo-wall-img{opacity:1}:root[data-preset=win95] .logo-wall-link:hover .logo-wall-img{transform:none}.logo-wall-section.logo-wall-no-tiles .logo-wall-link{box-shadow:none;background:0 0;border-color:#0000}.logo-carousel-duplicate,.logo-carousel-toggle{display:none}@media (prefers-reduced-motion:no-preference){.logo-carousel-viewport{overflow:hidden;container-type:inline-size}.logo-carousel-track{width:max-content;animation:logo-carousel-scroll var(--logo-carousel-duration,24s) linear infinite;display:flex}.logo-carousel .logo-wall{flex-shrink:0;justify-content:space-around;width:max-content;min-width:100cqw;padding-right:1rem;display:flex}.logo-carousel .logo-wall-item{flex:0 0 clamp(9rem,16cqw,12rem)}.logo-carousel-viewport:hover .logo-carousel-track,.logo-carousel[data-paused=true] .logo-carousel-track{animation-play-state:paused}.logo-carousel-viewport:focus-within{overflow-x:auto}.logo-carousel-viewport:focus-within .logo-carousel-track{animation:none}.logo-carousel-toggle{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);min-height:44px;color:var(--color-deep);cursor:pointer;align-items:center;gap:.35rem;margin:.75rem 0 0 auto;padding:.4rem .65rem;font-size:.8125rem;display:flex}.logo-carousel-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.logo-carousel-toggle .material-icons{font-size:1.1rem}}@keyframes logo-carousel-scroll{to{transform:translate(-50%)}}:root[data-preset=win95] .logo-carousel-toggle{border-radius:0}
.testimonial-card{flex-direction:column;gap:1.25rem;width:100%;margin:0;padding:1.75rem 1.5rem 1.5rem;display:flex}.testimonial-mark{color:var(--color-primary);opacity:.35;font-size:2.5rem;line-height:1}.testimonial-quote{flex:1;margin:0}.testimonial-quote p{white-space:pre-line;margin:0;font-family:Fraunces,Times New Roman,serif;font-size:1.1rem;line-height:1.55}.testimonial-author{border-top:1px solid var(--border-subtle);align-items:center;gap:.85rem;padding-top:1rem;display:flex}.testimonial-avatar{object-fit:cover;border:2px solid color-mix(in srgb, var(--color-primary) 25%, transparent);border-radius:50%;flex-shrink:0;width:3rem;height:3rem}.testimonial-meta{flex-direction:column;min-width:0;display:flex}.testimonial-name{font-weight:700}.testimonial-role{color:var(--color-muted);font-size:.875rem}:root[data-preset=win95] .testimonial-quote p{font-family:var(--font-win95)}:root[data-preset=win95] .testimonial-mark{color:navy;opacity:1}:root[data-preset=win95] .testimonial-author{border-top:1px solid gray}:root[data-preset=win95] .testimonial-avatar{border:2px solid #fff;border-color:#404040 #fff #fff #404040;border-radius:0}:root[data-preset=win95] .testimonial-role{color:#404040}
.faq-list{flex-direction:column;gap:.75rem;max-width:860px;display:flex}.faq-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(155deg, var(--surface), var(--surface-elevated));box-shadow:var(--shadow-rest)}.faq-question{cursor:pointer;border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:1.05rem;font-weight:600;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question::marker{content:""}.faq-icon{color:var(--color-primary);flex-shrink:0;transition:transform .2s ease-out}.faq-item[open] .faq-icon{transform:rotate(180deg)}.faq-item[open]{border-color:color-mix(in srgb, var(--color-primary) 22%, transparent)}.faq-answer{color:var(--color-muted);padding:0 1.25rem 1.25rem}.faq-item[open] .faq-answer{animation:.22s ease-out faqReveal}@keyframes faqReveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.faq-icon{transition:none}.faq-item[open] .faq-answer{animation:none}}:root[data-preset=win95] .faq-item{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .faq-question{border-radius:0}:root[data-preset=win95] .faq-item[open] .faq-question{color:#fff;background:navy}:root[data-preset=win95] .faq-item[open] .faq-icon{color:#fff}:root[data-preset=win95] .faq-icon{color:#000}:root[data-preset=win95] .faq-answer{color:#000;padding-top:.75rem}
.timeline{--timeline-line:2px;--timeline-x:.6rem;flex-direction:column;gap:1.25rem;display:flex;position:relative}.timeline:before{content:"";top:.5rem;bottom:.5rem;left:calc(var(--timeline-x) - var(--timeline-line) / 2);width:var(--timeline-line);background:linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 45%, transparent), color-mix(in srgb, var(--color-secondary) 45%, transparent));border-radius:2px;position:absolute}.timeline-item{padding-left:calc(var(--timeline-x) + 1.4rem);position:relative}.timeline-marker{left:calc(var(--timeline-x) - .45rem);background:var(--surface);border:3px solid var(--color-primary);width:.9rem;height:.9rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 14%, transparent);border-radius:50%;position:absolute;top:1.5rem}.timeline-card{padding:1.25rem 1.4rem}.timeline-period{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:.4rem;font-size:.75rem;font-weight:700;display:inline-block}.timeline-title{margin-bottom:.2rem;font-size:1.25rem}.timeline-subtitle{color:var(--color-muted);margin-bottom:0;font-weight:600}.timeline-text{color:var(--color-muted);white-space:pre-line;margin:.6rem 0 0}@media (min-width:992px){.timeline{--timeline-x:50%;gap:0}.timeline-item{width:50%;padding-bottom:1.5rem;padding-left:0}.timeline-item:nth-child(odd){padding-right:2.25rem}.timeline-item:nth-child(2n){margin-left:50%;padding-left:2.25rem}.timeline-item:nth-child(odd) .timeline-marker{left:auto;right:-.45rem}.timeline-item:nth-child(2n) .timeline-marker{left:-.45rem}.timeline-item:nth-child(odd) .timeline-card{text-align:right}}:root[data-preset=win95] .timeline:before{background:gray;border-radius:0}:root[data-preset=win95] .timeline-marker{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .timeline-period{color:navy}:root[data-preset=win95] .timeline-subtitle,:root[data-preset=win95] .timeline-text{color:#000}
.skill-cloud-group{width:100%;padding:1.5rem}.skill-cloud-group.is-bare{padding:0}.skill-cloud-title{margin-bottom:1rem;font-size:1.2rem}.skill-cloud-list{flex-wrap:wrap;gap:.5rem;display:flex}.skill-chip{padding:.4rem .9rem;font-size:.75rem}.skill-cloud-group.is-bare .skill-chip{font-size:.8125rem}
.code-snippet{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-elevated);box-shadow:var(--shadow-rest);margin:0;overflow:hidden}.code-snippet-header{border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--color-primary) 6%, var(--surface));justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem .5rem 1rem;font-size:.85rem;display:flex}.code-snippet-title{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.code-snippet-title .material-icons{color:var(--color-primary);font-size:1.1rem}.code-snippet-filename{font-family:var(--bs-font-monospace);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.code-snippet-lang{background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.05rem .5rem;font-size:.7rem;font-weight:700}.code-snippet-copy{border:1px solid var(--border-subtle);background:var(--surface);color:var(--color-deep);opacity:.8;border-radius:999px;flex-shrink:0;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.8rem;transition:opacity .15s ease-out,transform .15s ease-out;display:inline-flex}.code-snippet-copy .material-icons{font-size:1rem}.code-snippet-copy:hover{opacity:1}.code-snippet-copy:active{transform:scale(.96)}.code-snippet-copy[data-status=copied]{opacity:1;color:var(--color-primary)}.code-snippet-body{overflow-x:auto}.code-snippet .shiki{tab-size:4;color:var(--shiki-light,var(--color-deep));background:0 0;margin:0;padding:1rem 1.25rem;font-size:.875rem;line-height:1.65}.code-snippet .shiki span{color:var(--shiki-light)}:root[data-scheme=dark] .code-snippet .shiki{color:var(--shiki-dark,var(--color-deep))}:root[data-scheme=dark] .code-snippet .shiki span{color:var(--shiki-dark)}.code-snippet .shiki code{counter-reset:line}.code-snippet .shiki .line:before{counter-increment:line;content:counter(line);text-align:right;width:2.5ch;color:var(--color-muted);opacity:.55;-webkit-user-select:none;user-select:none;margin-right:1.25rem;display:inline-block}.code-snippet-caption{border-top:1px solid var(--border-subtle);color:var(--color-muted);padding:.6rem 1rem;font-size:.875rem}@media (prefers-reduced-motion:reduce){.code-snippet-copy{transition:none}.code-snippet-copy:active{transform:none}}:root[data-preset=win95] .code-snippet{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;padding:3px}:root[data-preset=win95] .code-snippet-header{color:#fff;background:navy;border-bottom:0;padding:.2rem .25rem .2rem .5rem}:root[data-preset=win95] .code-snippet-title .material-icons,:root[data-preset=win95] .code-snippet-lang{color:#fff;background:0 0}:root[data-preset=win95] .code-snippet-copy{color:#000;opacity:1;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .code-snippet-copy:active{border-color:#404040 #fff #fff #404040;transform:none}:root[data-preset=win95] .code-snippet-body{background:#fff;border:2px solid #fff;border-color:#404040 #fff #fff #404040;margin-top:3px}:root[data-preset=win95] .code-snippet .shiki .line:before{color:gray;opacity:1}:root[data-preset=win95] .code-snippet-caption{color:#000;border-top:0;padding:.4rem .25rem .1rem}
.contact-card{padding:2rem 1.5rem}.contact-card.is-static:hover{transform:none}.contact-card.is-static:hover:after{opacity:0}.contact-card:before{content:"";background:radial-gradient(closest-side, var(--surface-tint), transparent);pointer-events:none;width:70%;height:80%;position:absolute;inset:-30% auto auto -20%}.contact-card>.row{position:relative}.contact-card-text{color:var(--color-muted);white-space:pre-line;max-width:560px;font-size:1.05rem}.contact-card-list{flex-direction:column;gap:.6rem;display:flex}.contact-card-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);color:var(--color-deep);align-items:center;gap:.9rem;padding:.75rem 1rem;text-decoration:none;display:flex}a.contact-card-item{transition:transform .2s ease-out}a.contact-card-item:hover{color:var(--color-deep);transform:translate(4px)}.contact-card-icon{background:color-mix(in srgb, var(--color-primary) 12%, transparent);width:2.4rem;height:2.4rem;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.contact-card-icon .material-icons{font-size:1.25rem}.contact-card-label{flex-direction:column;min-width:0;display:flex}.contact-card-kind{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:.72rem;font-weight:700}.contact-card-value{overflow-wrap:anywhere;font-weight:600}@media (min-width:768px){.contact-card{padding:2.5rem}}@media (prefers-reduced-motion:reduce){a.contact-card-item{transition:none}a.contact-card-item:hover{transform:none}}:root[data-preset=win95] .contact-card:before{display:none}:root[data-preset=win95] .contact-card-item{color:#000;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;text-decoration:none}:root[data-preset=win95] a.contact-card-item:hover{color:#000;background:#dcdcdc;transform:none}:root[data-preset=win95] .contact-card-icon{color:navy;background:0 0;border-radius:0}:root[data-preset=win95] .contact-card-kind,:root[data-preset=win95] .contact-card-text{color:#404040}
.link-list{flex-direction:column;gap:.6rem;max-width:860px;display:flex}.link-list-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(155deg, var(--surface), var(--surface-elevated));box-shadow:var(--shadow-rest);color:var(--color-deep);align-items:center;gap:1rem;padding:.9rem 1.1rem;text-decoration:none;display:flex}.link-list-item:hover{color:var(--color-deep)}.link-list-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-primary) 10%, transparent);width:2.5rem;height:2.5rem;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.link-list-text{flex-direction:column;flex:1;min-width:0;display:flex}.link-list-label{overflow-wrap:anywhere;font-weight:600}.link-list-description{color:var(--color-muted);font-size:.875rem}.link-list-meta{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.15rem .6rem;font-size:.75rem;font-weight:600}.link-list-arrow{color:var(--color-primary);flex-shrink:0;transition:transform .2s ease-out}.link-list-item:hover .link-list-arrow,.link-list-item:focus-visible .link-list-arrow{transform:translate(4px)}@media (max-width:575.98px){.link-list-item{flex-wrap:wrap;row-gap:.4rem}.link-list-text{flex-basis:calc(100% - 6rem)}.link-list-meta{order:3;margin-left:3.5rem}}@media (prefers-reduced-motion:reduce){.link-list-arrow{transition:none}.link-list-item:hover .link-list-arrow,.link-list-item:focus-visible .link-list-arrow{transform:none}}:root[data-preset=win95] .link-list-item{box-shadow:none;color:#000;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;text-decoration:none}:root[data-preset=win95] .link-list-item:hover{color:#000;background:#dcdcdc}:root[data-preset=win95] .link-list-item:active{border-color:#404040 #fff #fff #404040}:root[data-preset=win95] .link-list-icon{color:navy;background:0 0;border-radius:0}:root[data-preset=win95] .link-list-label{color:#00e;text-decoration:underline}:root[data-preset=win95] .link-list-meta{color:#000;background:#fff;border:1px solid gray;border-radius:0}:root[data-preset=win95] .link-list-description{color:#404040}:root[data-preset=win95] .link-list-arrow{color:#000}:root[data-preset=win95] .link-list-item:hover .link-list-arrow{transform:none}
.service-card{flex-direction:column;width:100%;padding:1.75rem 1.5rem 1.5rem;display:flex}.service-card-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 16%, transparent), color-mix(in srgb, var(--color-secondary) 30%, transparent));width:3.25rem;height:3.25rem;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:1.25rem;transition:transform .2s ease-out;display:inline-flex}.service-card-icon .material-icons{font-size:1.75rem}.service-card:hover .service-card-icon{transform:scale(1.06)rotate(-4deg)}.service-card-title{margin-bottom:.6rem;font-size:1.35rem}.service-card-text{color:var(--color-muted);white-space:pre-line}.service-card-footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.service-card-price{color:var(--color-primary);margin:0;font-size:1.1rem;font-weight:700}@media (prefers-reduced-motion:reduce){.service-card-icon{transition:none}.service-card:hover .service-card-icon{transform:none}}:root[data-preset=win95] .service-card-icon{color:#fff;background:navy;border-radius:0}:root[data-preset=win95] .service-card:hover .service-card-icon{transform:none}:root[data-preset=win95] .service-card-footer{border-top:1px solid gray}:root[data-preset=win95] .service-card-price{color:navy}:root[data-preset=win95] .service-card-text,:root[data-preset=win95] .service-cards-section .section-subtitle{color:#000}
.site-nav[data-nav]{background:var(--nav-bg);border-bottom:1px solid var(--nav-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;position:sticky;top:0}.site-nav .navbar-brand[data-nav]{letter-spacing:.04em;text-transform:uppercase;color:var(--color-deep);font-weight:700}.brand-mark[data-nav]{background:var(--color-primary);width:12px;height:12px;box-shadow:0 0 0 6px color-mix(in srgb, var(--color-primary) 12%, transparent);border-radius:999px;transition:box-shadow .2s ease-out}@keyframes brandPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-primary) 35%, transparent)}70%{box-shadow:0 0 0 8px color-mix(in srgb, var(--color-primary) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-primary) 0%, transparent)}}:root:not([data-preset=win95]) .navbar-brand:hover .brand-mark[data-nav]{animation:.6s ease-out brandPulse}@keyframes spinOnce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-icon.is-spinning[data-nav]{animation:.35s cubic-bezier(.16,1,.3,1) spinOnce}.site-nav[data-nav] .nav-link{color:var(--color-deep);font-weight:500;position:relative}.site-nav[data-nav] .nav-link:after{content:"";background:var(--color-primary);transform-origin:0;width:100%;height:2px;transition:transform .35s ease-out;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.site-nav[data-nav] .nav-link.active{color:var(--color-primary)}.site-nav[data-nav] .nav-link:hover:after,.site-nav[data-nav] .nav-link:focus-visible:after{transform:scaleX(1)}.site-nav .navbar-toggler[data-nav]{border-color:var(--nav-toggler-border)}.nav-actions[data-nav]{align-items:center}.theme-toggle[data-nav]{border:1px solid var(--theme-toggle-border);background:var(--theme-toggle-bg);width:40px;height:40px;color:var(--color-deep);border-radius:12px;justify-content:center;align-items:center;padding:.35rem;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.theme-toggle .theme-icon[data-nav]{width:18px;height:18px;display:inline-flex}.theme-toggle svg[data-nav]{width:100%;height:100%}.theme-toggle:active[data-nav]{transform:translateY(0)}.theme-toggle:hover[data-nav]{background:var(--theme-toggle-hover);border-color:color-mix(in srgb, var(--color-primary) 25%, transparent)}.theme-toggle:focus[data-nav],.theme-toggle:active[data-nav]{background:var(--theme-toggle-bg);border-color:color-mix(in srgb, var(--color-primary) 35%, transparent);box-shadow:none}:root[data-scheme=dark] .site-nav[data-nav]{background:var(--nav-bg);border-bottom:1px solid var(--nav-border)}:root[data-scheme=dark] .site-nav .navbar-toggler[data-nav]{border-color:var(--nav-toggler-border)}:root[data-scheme=dark] .navbar-light .navbar-toggler-icon[data-nav]{filter:invert()}:root[data-scheme=dark] .brand-mark[data-nav]{box-shadow:0 0 0 6px color-mix(in srgb, var(--color-primary) 12%, transparent)}:root[data-scheme=dark] .theme-toggle[data-nav]{border-color:var(--theme-toggle-border);background:var(--theme-toggle-bg)}:root[data-scheme=dark] .theme-toggle:hover[data-nav]{background:var(--theme-toggle-hover);border-color:color-mix(in srgb, var(--color-primary) 25%, transparent)}:root[data-scheme=dark] .theme-toggle:focus[data-nav],:root[data-scheme=dark] .theme-toggle:active[data-nav]{background:var(--theme-toggle-bg);border-color:color-mix(in srgb, var(--color-primary) 35%, transparent);box-shadow:none}.theme-icon>[data-theme-icon]{display:none}.theme-icon>.material-icons{font-size:18px;line-height:1}@media (prefers-reduced-motion:reduce){.theme-icon,.brand-mark{animation:none!important}}
.page-content{padding-top:2.5rem;padding-bottom:3.5rem;position:relative}
:root[data-build-effect=claude] main .fade-up,:root[data-build-effect=claude] main .animate-on-scroll{opacity:1;transition:none;transform:none;animation:none!important}:root[data-build-effect=claude][data-claude-intro=pending] .page-content,:root[data-build-effect=claude][data-claude-intro=chat] .page-content{opacity:0;pointer-events:none}:root[data-build-effect=claude][data-claude-intro=active] [data-claude-state=waiting]{pointer-events:none;opacity:0!important}:root[data-claude-intro]{overflow-anchor:none}:root[data-build-effect=claude][data-claude-intro=pending] body:after{content:"";z-index:1040;background:var(--claude-logo-color,var(--color-primary));pointer-events:none;width:48px;height:48px;position:fixed;top:min(33.333vh,240px);left:calc(50% - 24px);-webkit-mask:url(/assets/icons/claude.svg) 50%/contain no-repeat;mask:url(/assets/icons/claude.svg) 50%/contain no-repeat}:root[data-build-chat-prompt][data-claude-intro=pending] body:after{display:none}.claude-build-overlay[data-phase=preparing] .claude-build-logo,.claude-build-overlay[data-phase=chat] .claude-build-logo{visibility:hidden}.claude-build-overlay{z-index:1040;pointer-events:none;color:var(--color-primary);position:fixed;inset:0}.claude-build-stage{position:absolute;inset:0;overflow:hidden}.claude-build-logo{background:var(--claude-logo-color,var(--color-primary));will-change:transform;width:48px;height:48px;filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--claude-logo-color,var(--color-primary)) 25%, transparent));position:absolute;top:0;left:0;-webkit-mask:url(/assets/icons/claude.svg) 50%/contain no-repeat;mask:url(/assets/icons/claude.svg) 50%/contain no-repeat}.claude-build-outline{opacity:0;border:1px solid color-mix(in srgb, var(--color-primary) 55%, transparent);background:color-mix(in srgb, var(--surface) 65%, transparent);box-shadow:inset 0 0 30px color-mix(in srgb, var(--color-primary) 8%, transparent), 0 0 24px color-mix(in srgb, var(--color-primary) 12%, transparent);border-radius:8px;position:absolute;top:0;left:0;overflow:hidden}.claude-build-outline pre{color:var(--color-primary);white-space:pre-wrap;z-index:1;height:100%;margin:0;padding:12px 16px;font-family:monospace;font-size:clamp(10px,1.1vw,13px);line-height:1.5;position:relative;overflow:hidden}.claude-build-outline[data-compact=true] pre{white-space:pre;align-items:center;padding:0 6px;display:flex}.claude-build-outline[data-compact=true] .claude-build-lines{display:none}.claude-build-lines{opacity:var(--build-progress,0);gap:8px;display:grid;position:absolute;inset:auto 16px 16px}.claude-build-lines i{background:color-mix(in srgb, var(--color-primary) 16%, transparent);width:65%;height:5px}.claude-build-lines i:nth-child(2){width:88%}.claude-build-lines i:nth-child(3){width:42%}.claude-build-outline[data-kind=image] .claude-build-lines{border:1px dashed color-mix(in srgb, var(--color-primary) 30%, transparent);background:linear-gradient(35deg, transparent 49.8%, color-mix(in srgb, var(--color-primary) 20%, transparent) 50%, transparent 50.2%), linear-gradient(-35deg, transparent 49.8%, color-mix(in srgb, var(--color-primary) 20%, transparent) 50%, transparent 50.2%);border-radius:6px;inset:20% 10% 14%}.claude-build-outline[data-kind=image] .claude-build-lines i{display:none}.claude-build-controls{bottom:max(16px, env(safe-area-inset-bottom));width:fit-content;max-width:calc(100% - 32px);color:var(--color-muted);pointer-events:auto;align-items:center;margin-left:auto;font-size:12px;display:flex;position:absolute;left:16px;right:16px}.claude-build-count{color:var(--color-muted);font-variant-numeric:tabular-nums;display:block}.claude-build-controls button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:8px 0 8px 8px;display:inline-flex}.claude-build-controls button .material-icons{font-size:16px}@media (hover:hover) and (pointer:fine){.claude-build-controls button:hover{color:var(--color-deep)}}.claude-build-controls button:focus-visible{outline:2px solid var(--color-deep);outline-offset:3px}.claude-chat-intro{left:16px;right:16px;bottom:max(16px, env(safe-area-inset-bottom));opacity:0;max-width:800px;color:var(--footer-text);margin-inline:auto;font-family:Arial,sans-serif;position:absolute}.claude-chat-composer{background:var(--footer-bg);border-radius:16px;padding:16px 14px 4px}.claude-chat-input{border:1px solid color-mix(in srgb, var(--footer-text) 24%, transparent);background:color-mix(in srgb, var(--footer-text) 6%, transparent);border-radius:15px;align-items:center;gap:10px;height:44px;padding:0 12px;display:flex;position:relative}.claude-chat-input>.material-icons{flex-shrink:0;font-size:19px}.claude-chat-add,.claude-chat-mic{color:var(--footer-muted)}.claude-chat-copy{white-space:nowrap;scrollbar-width:none;flex:1;min-width:0;font-size:14px;line-height:24px;overflow:hidden}.claude-chat-placeholder{color:var(--footer-muted)}.claude-chat-caret{color:var(--footer-text)}.claude-chat-intro:not([data-has-text=true]) .claude-chat-caret,.claude-chat-intro:not([data-has-text=true]) .claude-chat-send,.claude-chat-intro[data-has-text=true] .claude-chat-placeholder,.claude-chat-intro[data-has-text=true] .claude-chat-mic{display:none}.claude-chat-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:3px 12px 0;font-size:13px;display:flex}.claude-chat-environment,.claude-chat-model{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.claude-chat-environment>.material-icons{font-size:15px}.claude-chat-mode{margin-left:9px}.claude-chat-effort{color:var(--footer-muted)}.claude-chat-chevron{color:var(--footer-muted);font-size:14px}.claude-chat-context{border:2px solid var(--bs-warning);border-radius:50%;width:14px;height:14px;margin-left:4px}.claude-chat-send{background:var(--footer-text);width:26px;height:26px;color:var(--footer-bg);border-radius:50%;place-items:center;transition:transform .18s ease-out;display:grid}.claude-chat-cursor{width:24px;height:32px;fill:var(--bs-black);stroke:var(--bs-white);stroke-width:1.5px;stroke-linejoin:round;filter:drop-shadow(0 1px 1px color-mix(in srgb, var(--bs-black) 45%, transparent));opacity:0;position:absolute;top:18px;right:4px;overflow:visible}.claude-chat-intro[data-pressed=true] .claude-chat-send{transform:scale(.9)}@media (max-width:1199px){.claude-build-overlay[data-phase=chat] .claude-build-controls{bottom:max(136px, calc(env(safe-area-inset-bottom) + 120px))}}@media (max-width:420px){.claude-chat-composer{padding-inline:10px}.claude-chat-toolbar{gap:8px;padding-inline:5px;font-size:12px}.claude-chat-environment,.claude-chat-model{gap:5px}.claude-chat-mode{margin-left:4px}}@media (prefers-reduced-motion:reduce){:root[data-build-effect=claude][data-claude-intro=pending] .page-content,:root[data-build-effect=claude][data-claude-intro=chat] .page-content,:root[data-build-effect=claude][data-claude-intro=active] [data-claude-state=waiting]{pointer-events:auto;opacity:1!important}.claude-build-overlay,:root[data-build-effect=claude][data-claude-intro=pending] body:after{display:none}}
:root[data-preset=win95]{--font-win95:"W95FA", "MS Sans Serif", "Microsoft Sans Serif", Tahoma, "Segoe UI", sans-serif;--bs-body-font-family:var(--font-win95);--win95-circle-primary-32:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2032%2032' shape-rendering='crispEdges'><g fill='%23000080' fill-opacity='0.32'><rect x='15' y='0' width='1' height='1'/><rect x='10' y='1' width='11' height='1'/><rect x='8' y='2' width='15' height='1'/><rect x='6' y='3' width='19' height='1'/><rect x='5' y='4' width='21' height='1'/><rect x='4' y='5' width='23' height='1'/><rect x='3' y='6' width='25' height='1'/><rect x='3' y='7' width='25' height='1'/><rect x='2' y='8' width='27' height='1'/><rect x='2' y='9' width='27' height='1'/><rect x='1' y='10' width='29' height='1'/><rect x='1' y='11' width='29' height='1'/><rect x='1' y='12' width='29' height='1'/><rect x='1' y='13' width='29' height='1'/><rect x='1' y='14' width='29' height='1'/><rect x='0' y='15' width='31' height='1'/><rect x='1' y='16' width='29' height='1'/><rect x='1' y='17' width='29' height='1'/><rect x='1' y='18' width='29' height='1'/><rect x='1' y='19' width='29' height='1'/><rect x='1' y='20' width='29' height='1'/><rect x='2' y='21' width='27' height='1'/><rect x='2' y='22' width='27' height='1'/><rect x='3' y='23' width='25' height='1'/><rect x='3' y='24' width='25' height='1'/><rect x='4' y='25' width='23' height='1'/><rect x='5' y='26' width='21' height='1'/><rect x='6' y='27' width='19' height='1'/><rect x='8' y='28' width='15' height='1'/><rect x='10' y='29' width='11' height='1'/><rect x='15' y='30' width='1' height='1'/></g></svg>");--win95-circle-primary-45:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2045%2045' shape-rendering='crispEdges'><g fill='%23000080' fill-opacity='0.32'><rect x='16' y='1' width='12' height='1'/><rect x='13' y='2' width='18' height='1'/><rect x='11' y='3' width='22' height='1'/><rect x='10' y='4' width='24' height='1'/><rect x='8' y='5' width='28' height='1'/><rect x='7' y='6' width='30' height='1'/><rect x='6' y='7' width='32' height='1'/><rect x='5' y='8' width='34' height='1'/><rect x='5' y='9' width='34' height='1'/><rect x='4' y='10' width='36' height='1'/><rect x='3' y='11' width='38' height='1'/><rect x='3' y='12' width='38' height='1'/><rect x='2' y='13' width='40' height='1'/><rect x='2' y='14' width='40' height='1'/><rect x='2' y='15' width='40' height='1'/><rect x='1' y='16' width='42' height='1'/><rect x='1' y='17' width='42' height='1'/><rect x='1' y='18' width='42' height='1'/><rect x='1' y='19' width='42' height='1'/><rect x='1' y='20' width='42' height='1'/><rect x='1' y='21' width='42' height='1'/><rect x='1' y='22' width='42' height='1'/><rect x='1' y='23' width='42' height='1'/><rect x='1' y='24' width='42' height='1'/><rect x='1' y='25' width='42' height='1'/><rect x='1' y='26' width='42' height='1'/><rect x='1' y='27' width='42' height='1'/><rect x='2' y='28' width='40' height='1'/><rect x='2' y='29' width='40' height='1'/><rect x='2' y='30' width='40' height='1'/><rect x='3' y='31' width='38' height='1'/><rect x='3' y='32' width='38' height='1'/><rect x='4' y='33' width='36' height='1'/><rect x='5' y='34' width='34' height='1'/><rect x='5' y='35' width='34' height='1'/><rect x='6' y='36' width='32' height='1'/><rect x='7' y='37' width='30' height='1'/><rect x='8' y='38' width='28' height='1'/><rect x='10' y='39' width='24' height='1'/><rect x='11' y='40' width='22' height='1'/><rect x='13' y='41' width='18' height='1'/><rect x='16' y='42' width='12' height='1'/></g></svg>");--win95-circle-primary-48:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2048%2048' shape-rendering='crispEdges'><g fill='%23000080' fill-opacity='0.32'><rect x='23' y='0' width='1' height='1'/><rect x='17' y='1' width='13' height='1'/><rect x='14' y='2' width='19' height='1'/><rect x='12' y='3' width='23' height='1'/><rect x='11' y='4' width='25' height='1'/><rect x='9' y='5' width='29' height='1'/><rect x='8' y='6' width='31' height='1'/><rect x='7' y='7' width='33' height='1'/><rect x='6' y='8' width='35' height='1'/><rect x='5' y='9' width='37' height='1'/><rect x='5' y='10' width='37' height='1'/><rect x='4' y='11' width='39' height='1'/><rect x='3' y='12' width='41' height='1'/><rect x='3' y='13' width='41' height='1'/><rect x='2' y='14' width='43' height='1'/><rect x='2' y='15' width='43' height='1'/><rect x='2' y='16' width='43' height='1'/><rect x='1' y='17' width='45' height='1'/><rect x='1' y='18' width='45' height='1'/><rect x='1' y='19' width='45' height='1'/><rect x='1' y='20' width='45' height='1'/><rect x='1' y='21' width='45' height='1'/><rect x='1' y='22' width='45' height='1'/><rect x='0' y='23' width='47' height='1'/><rect x='1' y='24' width='45' height='1'/><rect x='1' y='25' width='45' height='1'/><rect x='1' y='26' width='45' height='1'/><rect x='1' y='27' width='45' height='1'/><rect x='1' y='28' width='45' height='1'/><rect x='1' y='29' width='45' height='1'/><rect x='2' y='30' width='43' height='1'/><rect x='2' y='31' width='43' height='1'/><rect x='2' y='32' width='43' height='1'/><rect x='3' y='33' width='41' height='1'/><rect x='3' y='34' width='41' height='1'/><rect x='4' y='35' width='39' height='1'/><rect x='5' y='36' width='37' height='1'/><rect x='5' y='37' width='37' height='1'/><rect x='6' y='38' width='35' height='1'/><rect x='7' y='39' width='33' height='1'/><rect x='8' y='40' width='31' height='1'/><rect x='9' y='41' width='29' height='1'/><rect x='11' y='42' width='25' height='1'/><rect x='12' y='43' width='23' height='1'/><rect x='14' y='44' width='19' height='1'/><rect x='17' y='45' width='13' height='1'/><rect x='23' y='46' width='1' height='1'/></g></svg>");--win95-circle-primary-64:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2064%2064' shape-rendering='crispEdges'><g fill='%23000080' fill-opacity='0.32'><rect x='31' y='0' width='1' height='1'/><rect x='24' y='1' width='15' height='1'/><rect x='21' y='2' width='21' height='1'/><rect x='18' y='3' width='27' height='1'/><rect x='16' y='4' width='31' height='1'/><rect x='15' y='5' width='33' height='1'/><rect x='13' y='6' width='37' height='1'/><rect x='12' y='7' width='39' height='1'/><rect x='11' y='8' width='41' height='1'/><rect x='10' y='9' width='43' height='1'/><rect x='9' y='10' width='45' height='1'/><rect x='8' y='11' width='47' height='1'/><rect x='7' y='12' width='49' height='1'/><rect x='6' y='13' width='51' height='1'/><rect x='6' y='14' width='51' height='1'/><rect x='5' y='15' width='53' height='1'/><rect x='4' y='16' width='55' height='1'/><rect x='4' y='17' width='55' height='1'/><rect x='3' y='18' width='57' height='1'/><rect x='3' y='19' width='57' height='1'/><rect x='3' y='20' width='57' height='1'/><rect x='2' y='21' width='59' height='1'/><rect x='2' y='22' width='59' height='1'/><rect x='2' y='23' width='59' height='1'/><rect x='1' y='24' width='61' height='1'/><rect x='1' y='25' width='61' height='1'/><rect x='1' y='26' width='61' height='1'/><rect x='1' y='27' width='61' height='1'/><rect x='1' y='28' width='61' height='1'/><rect x='1' y='29' width='61' height='1'/><rect x='1' y='30' width='61' height='1'/><rect x='0' y='31' width='63' height='1'/><rect x='1' y='32' width='61' height='1'/><rect x='1' y='33' width='61' height='1'/><rect x='1' y='34' width='61' height='1'/><rect x='1' y='35' width='61' height='1'/><rect x='1' y='36' width='61' height='1'/><rect x='1' y='37' width='61' height='1'/><rect x='1' y='38' width='61' height='1'/><rect x='2' y='39' width='59' height='1'/><rect x='2' y='40' width='59' height='1'/><rect x='2' y='41' width='59' height='1'/><rect x='3' y='42' width='57' height='1'/><rect x='3' y='43' width='57' height='1'/><rect x='3' y='44' width='57' height='1'/><rect x='4' y='45' width='55' height='1'/><rect x='4' y='46' width='55' height='1'/><rect x='5' y='47' width='53' height='1'/><rect x='6' y='48' width='51' height='1'/><rect x='6' y='49' width='51' height='1'/><rect x='7' y='50' width='49' height='1'/><rect x='8' y='51' width='47' height='1'/><rect x='9' y='52' width='45' height='1'/><rect x='10' y='53' width='43' height='1'/><rect x='11' y='54' width='41' height='1'/><rect x='12' y='55' width='39' height='1'/><rect x='13' y='56' width='37' height='1'/><rect x='15' y='57' width='33' height='1'/><rect x='16' y='58' width='31' height='1'/><rect x='18' y='59' width='27' height='1'/><rect x='21' y='60' width='21' height='1'/><rect x='24' y='61' width='15' height='1'/><rect x='31' y='62' width='1' height='1'/></g></svg>");--win95-circle-secondary-32:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2032%2032' shape-rendering='crispEdges'><g fill='%23A0C1B9' fill-opacity='0.4'><rect x='15' y='0' width='1' height='1'/><rect x='10' y='1' width='11' height='1'/><rect x='8' y='2' width='15' height='1'/><rect x='6' y='3' width='19' height='1'/><rect x='5' y='4' width='21' height='1'/><rect x='4' y='5' width='23' height='1'/><rect x='3' y='6' width='25' height='1'/><rect x='3' y='7' width='25' height='1'/><rect x='2' y='8' width='27' height='1'/><rect x='2' y='9' width='27' height='1'/><rect x='1' y='10' width='29' height='1'/><rect x='1' y='11' width='29' height='1'/><rect x='1' y='12' width='29' height='1'/><rect x='1' y='13' width='29' height='1'/><rect x='1' y='14' width='29' height='1'/><rect x='0' y='15' width='31' height='1'/><rect x='1' y='16' width='29' height='1'/><rect x='1' y='17' width='29' height='1'/><rect x='1' y='18' width='29' height='1'/><rect x='1' y='19' width='29' height='1'/><rect x='1' y='20' width='29' height='1'/><rect x='2' y='21' width='27' height='1'/><rect x='2' y='22' width='27' height='1'/><rect x='3' y='23' width='25' height='1'/><rect x='3' y='24' width='25' height='1'/><rect x='4' y='25' width='23' height='1'/><rect x='5' y='26' width='21' height='1'/><rect x='6' y='27' width='19' height='1'/><rect x='8' y='28' width='15' height='1'/><rect x='10' y='29' width='11' height='1'/><rect x='15' y='30' width='1' height='1'/></g></svg>");--win95-circle-secondary-45:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2045%2045' shape-rendering='crispEdges'><g fill='%23A0C1B9' fill-opacity='0.4'><rect x='16' y='1' width='12' height='1'/><rect x='13' y='2' width='18' height='1'/><rect x='11' y='3' width='22' height='1'/><rect x='10' y='4' width='24' height='1'/><rect x='8' y='5' width='28' height='1'/><rect x='7' y='6' width='30' height='1'/><rect x='6' y='7' width='32' height='1'/><rect x='5' y='8' width='34' height='1'/><rect x='5' y='9' width='34' height='1'/><rect x='4' y='10' width='36' height='1'/><rect x='3' y='11' width='38' height='1'/><rect x='3' y='12' width='38' height='1'/><rect x='2' y='13' width='40' height='1'/><rect x='2' y='14' width='40' height='1'/><rect x='2' y='15' width='40' height='1'/><rect x='1' y='16' width='42' height='1'/><rect x='1' y='17' width='42' height='1'/><rect x='1' y='18' width='42' height='1'/><rect x='1' y='19' width='42' height='1'/><rect x='1' y='20' width='42' height='1'/><rect x='1' y='21' width='42' height='1'/><rect x='1' y='22' width='42' height='1'/><rect x='1' y='23' width='42' height='1'/><rect x='1' y='24' width='42' height='1'/><rect x='1' y='25' width='42' height='1'/><rect x='1' y='26' width='42' height='1'/><rect x='1' y='27' width='42' height='1'/><rect x='2' y='28' width='40' height='1'/><rect x='2' y='29' width='40' height='1'/><rect x='2' y='30' width='40' height='1'/><rect x='3' y='31' width='38' height='1'/><rect x='3' y='32' width='38' height='1'/><rect x='4' y='33' width='36' height='1'/><rect x='5' y='34' width='34' height='1'/><rect x='5' y='35' width='34' height='1'/><rect x='6' y='36' width='32' height='1'/><rect x='7' y='37' width='30' height='1'/><rect x='8' y='38' width='28' height='1'/><rect x='10' y='39' width='24' height='1'/><rect x='11' y='40' width='22' height='1'/><rect x='13' y='41' width='18' height='1'/><rect x='16' y='42' width='12' height='1'/></g></svg>");--win95-circle-secondary-48:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2048%2048' shape-rendering='crispEdges'><g fill='%23A0C1B9' fill-opacity='0.4'><rect x='23' y='0' width='1' height='1'/><rect x='17' y='1' width='13' height='1'/><rect x='14' y='2' width='19' height='1'/><rect x='12' y='3' width='23' height='1'/><rect x='11' y='4' width='25' height='1'/><rect x='9' y='5' width='29' height='1'/><rect x='8' y='6' width='31' height='1'/><rect x='7' y='7' width='33' height='1'/><rect x='6' y='8' width='35' height='1'/><rect x='5' y='9' width='37' height='1'/><rect x='5' y='10' width='37' height='1'/><rect x='4' y='11' width='39' height='1'/><rect x='3' y='12' width='41' height='1'/><rect x='3' y='13' width='41' height='1'/><rect x='2' y='14' width='43' height='1'/><rect x='2' y='15' width='43' height='1'/><rect x='2' y='16' width='43' height='1'/><rect x='1' y='17' width='45' height='1'/><rect x='1' y='18' width='45' height='1'/><rect x='1' y='19' width='45' height='1'/><rect x='1' y='20' width='45' height='1'/><rect x='1' y='21' width='45' height='1'/><rect x='1' y='22' width='45' height='1'/><rect x='0' y='23' width='47' height='1'/><rect x='1' y='24' width='45' height='1'/><rect x='1' y='25' width='45' height='1'/><rect x='1' y='26' width='45' height='1'/><rect x='1' y='27' width='45' height='1'/><rect x='1' y='28' width='45' height='1'/><rect x='1' y='29' width='45' height='1'/><rect x='2' y='30' width='43' height='1'/><rect x='2' y='31' width='43' height='1'/><rect x='2' y='32' width='43' height='1'/><rect x='3' y='33' width='41' height='1'/><rect x='3' y='34' width='41' height='1'/><rect x='4' y='35' width='39' height='1'/><rect x='5' y='36' width='37' height='1'/><rect x='5' y='37' width='37' height='1'/><rect x='6' y='38' width='35' height='1'/><rect x='7' y='39' width='33' height='1'/><rect x='8' y='40' width='31' height='1'/><rect x='9' y='41' width='29' height='1'/><rect x='11' y='42' width='25' height='1'/><rect x='12' y='43' width='23' height='1'/><rect x='14' y='44' width='19' height='1'/><rect x='17' y='45' width='13' height='1'/><rect x='23' y='46' width='1' height='1'/></g></svg>");--win95-circle-secondary-64:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2064%2064' shape-rendering='crispEdges'><g fill='%23A0C1B9' fill-opacity='0.4'><rect x='31' y='0' width='1' height='1'/><rect x='24' y='1' width='15' height='1'/><rect x='21' y='2' width='21' height='1'/><rect x='18' y='3' width='27' height='1'/><rect x='16' y='4' width='31' height='1'/><rect x='15' y='5' width='33' height='1'/><rect x='13' y='6' width='37' height='1'/><rect x='12' y='7' width='39' height='1'/><rect x='11' y='8' width='41' height='1'/><rect x='10' y='9' width='43' height='1'/><rect x='9' y='10' width='45' height='1'/><rect x='8' y='11' width='47' height='1'/><rect x='7' y='12' width='49' height='1'/><rect x='6' y='13' width='51' height='1'/><rect x='6' y='14' width='51' height='1'/><rect x='5' y='15' width='53' height='1'/><rect x='4' y='16' width='55' height='1'/><rect x='4' y='17' width='55' height='1'/><rect x='3' y='18' width='57' height='1'/><rect x='3' y='19' width='57' height='1'/><rect x='3' y='20' width='57' height='1'/><rect x='2' y='21' width='59' height='1'/><rect x='2' y='22' width='59' height='1'/><rect x='2' y='23' width='59' height='1'/><rect x='1' y='24' width='61' height='1'/><rect x='1' y='25' width='61' height='1'/><rect x='1' y='26' width='61' height='1'/><rect x='1' y='27' width='61' height='1'/><rect x='1' y='28' width='61' height='1'/><rect x='1' y='29' width='61' height='1'/><rect x='1' y='30' width='61' height='1'/><rect x='0' y='31' width='63' height='1'/><rect x='1' y='32' width='61' height='1'/><rect x='1' y='33' width='61' height='1'/><rect x='1' y='34' width='61' height='1'/><rect x='1' y='35' width='61' height='1'/><rect x='1' y='36' width='61' height='1'/><rect x='1' y='37' width='61' height='1'/><rect x='1' y='38' width='61' height='1'/><rect x='2' y='39' width='59' height='1'/><rect x='2' y='40' width='59' height='1'/><rect x='2' y='41' width='59' height='1'/><rect x='3' y='42' width='57' height='1'/><rect x='3' y='43' width='57' height='1'/><rect x='3' y='44' width='57' height='1'/><rect x='4' y='45' width='55' height='1'/><rect x='4' y='46' width='55' height='1'/><rect x='5' y='47' width='53' height='1'/><rect x='6' y='48' width='51' height='1'/><rect x='6' y='49' width='51' height='1'/><rect x='7' y='50' width='49' height='1'/><rect x='8' y='51' width='47' height='1'/><rect x='9' y='52' width='45' height='1'/><rect x='10' y='53' width='43' height='1'/><rect x='11' y='54' width='41' height='1'/><rect x='12' y='55' width='39' height='1'/><rect x='13' y='56' width='37' height='1'/><rect x='15' y='57' width='33' height='1'/><rect x='16' y='58' width='31' height='1'/><rect x='18' y='59' width='27' height='1'/><rect x='21' y='60' width='21' height='1'/><rect x='24' y='61' width='15' height='1'/><rect x='31' y='62' width='1' height='1'/></g></svg>");--win95-circle-primary:var(--win95-circle-primary-45);--win95-circle-secondary:var(--win95-circle-secondary-45);--win95-icon-email:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' shape-rendering='crispEdges'><g fill='%23fff'><rect x='1' y='3' width='14' height='1'/><rect x='1' y='12' width='14' height='1'/><rect x='1' y='4' width='1' height='8'/><rect x='14' y='4' width='1' height='8'/><rect x='2' y='4' width='1' height='1'/><rect x='3' y='5' width='1' height='1'/><rect x='4' y='6' width='1' height='1'/><rect x='5' y='7' width='1' height='1'/><rect x='6' y='8' width='1' height='1'/><rect x='7' y='9' width='1' height='1'/><rect x='13' y='4' width='1' height='1'/><rect x='12' y='5' width='1' height='1'/><rect x='11' y='6' width='1' height='1'/><rect x='10' y='7' width='1' height='1'/><rect x='9' y='8' width='1' height='1'/><rect x='8' y='9' width='1' height='1'/></g></svg>");--win95-icon-github:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' shape-rendering='crispEdges'><g fill='%23fff'><rect x='2' y='4' width='1' height='8'/><rect x='2' y='4' width='5' height='1'/><rect x='2' y='11' width='5' height='1'/><rect x='4' y='8' width='3' height='1'/><rect x='6' y='8' width='1' height='4'/><rect x='9' y='4' width='1' height='8'/><rect x='13' y='4' width='1' height='8'/><rect x='9' y='8' width='5' height='1'/></g></svg>");--win95-icon-linkedin:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' shape-rendering='crispEdges'><g fill='%23fff'><rect x='2' y='4' width='3' height='1'/><rect x='3' y='5' width='1' height='6'/><rect x='2' y='11' width='3' height='1'/><rect x='7' y='4' width='6' height='1'/><rect x='7' y='11' width='6' height='1'/><rect x='7' y='4' width='1' height='8'/><rect x='12' y='4' width='1' height='8'/></g></svg>");--win95-icon-link:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' shape-rendering='crispEdges'><g fill='%23fff'><rect x='2' y='5' width='4' height='1'/><rect x='2' y='10' width='4' height='1'/><rect x='2' y='6' width='1' height='4'/><rect x='5' y='6' width='1' height='4'/><rect x='10' y='5' width='4' height='1'/><rect x='10' y='10' width='4' height='1'/><rect x='10' y='6' width='1' height='4'/><rect x='13' y='6' width='1' height='4'/><rect x='6' y='7' width='4' height='1'/><rect x='6' y='8' width='4' height='1'/></g></svg>")}:root[data-preset=win95] body{font-family:var(--font-win95);background:var(--bg-gradient);color:var(--color-deep);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-preset=win95] body,:root[data-preset=win95] button,:root[data-preset=win95] input,:root[data-preset=win95] select,:root[data-preset=win95] textarea{font-family:var(--font-win95)}:root[data-preset=win95] html:before{display:none}:root[data-preset=win95] body:before,:root[data-preset=win95] body:after{content:"";opacity:.8;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-radius:0}:root[data-preset=win95] body:before{background-image:var(--win95-circle-primary);width:420px;height:420px;top:-180px;right:-140px}:root[data-preset=win95] body:after{background-image:var(--win95-circle-secondary);width:520px;height:520px;bottom:-200px;left:-180px}:root[data-preset=win95] h1,:root[data-preset=win95] h2,:root[data-preset=win95] h3,:root[data-preset=win95] h4,:root[data-preset=win95] h5,:root[data-preset=win95] h6{font-family:var(--font-win95)}:root[data-preset=win95] a{color:#00e;text-decoration:underline}:root[data-preset=win95] a:hover{color:navy}:root[data-preset=win95] .btn,:root[data-preset=win95] .btn-primary,:root[data-preset=win95] .btn-outline-primary{color:#000;box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .btn:hover,:root[data-preset=win95] .btn-outline-primary:hover{color:#000;box-shadow:none;background:#dcdcdc;transform:none}:root[data-preset=win95] .btn:active,:root[data-preset=win95] .btn-primary:active,:root[data-preset=win95] .btn-outline-primary:active{border-color:#404040 #fff #fff #404040;transform:none}:root[data-preset=win95] .hero-portrait{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;transform:none}:root[data-preset=win95] .hero-portrait-image,:root[data-preset=win95] .featured-thumb img,:root[data-preset=win95] .project-media img{border-radius:0}:root[data-preset=win95] .hero-portrait:has(~.hero-terminal){display:none}:root[data-preset=win95] .hero-terminal{--terminal-fg:#33ff5a;--terminal-glow:#33ff5a59;width:100%;max-width:460px;font-family:var(--font-win95);box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;margin-inline:auto;padding:2px;display:block}:root[data-preset=win95] .hero-terminal[data-terminal-scheme=msdos]{--terminal-fg:#f0f0f0;--terminal-glow:#f0f0f040}:root[data-preset=win95] .hero-terminal[data-terminal-scheme=amber]{--terminal-fg:#ffb000;--terminal-glow:#ffb00059}:root[data-preset=win95] .hero-terminal-titlebar{color:#fff;-webkit-user-select:none;user-select:none;background:navy;justify-content:space-between;align-items:center;gap:.5rem;padding:3px 4px;display:flex}:root[data-preset=win95] .hero-terminal-title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.85rem;line-height:1;display:flex;overflow:hidden}:root[data-preset=win95] .hero-terminal-title-icon{background:#000;border:1px solid gray;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0a0}:root[data-preset=win95] .hero-terminal-controls{flex:none;gap:2px;display:flex}:root[data-preset=win95] .hero-terminal-btn{background:silver;border:1px solid #404040;border-color:#fff #404040 #404040 #fff;width:16px;height:14px;position:relative}:root[data-preset=win95] .hero-terminal-btn:before{content:"";background:#000;position:absolute}:root[data-preset=win95] .hero-terminal-btn[data-control=min]:before{height:2px;bottom:2px;left:3px;right:3px}:root[data-preset=win95] .hero-terminal-btn[data-control=max]:before{background:0 0;border:1px solid #000;border-top-width:2px;inset:2px}:root[data-preset=win95] .hero-terminal-btn[data-control=close]:before,:root[data-preset=win95] .hero-terminal-btn[data-control=close]:after{content:"";background:#000;width:9px;height:1.5px;position:absolute;top:50%;left:50%}:root[data-preset=win95] .hero-terminal-btn[data-control=close]:before{transform:translate(-50%,-50%)rotate(45deg)}:root[data-preset=win95] .hero-terminal-btn[data-control=close]:after{transform:translate(-50%,-50%)rotate(-45deg)}:root[data-preset=win95] .hero-terminal-body{background:#000;border:2px solid #fff;border-color:#404040 #fff #fff #404040;margin-top:2px;padding:8px;overflow:hidden}:root[data-preset=win95] .hero-terminal-body>.visually-hidden{color:#0000;clip:auto!important;white-space:normal!important;width:auto!important;height:auto!important;margin:0!important;position:static!important;overflow:visible!important}:root[data-preset=win95] .terminal-cmd{color:var(--terminal-fg);text-shadow:0 0 2px var(--terminal-glow);white-space:normal;margin-bottom:4px;font-family:Consolas,Lucida Console,Courier New,monospace;font-size:.72rem;line-height:1.4}:root[data-preset=win95] .terminal-prompt{margin-right:.5ch}:root[data-preset=win95] .terminal-ascii{letter-spacing:0;white-space:pre;color:var(--terminal-fg);text-shadow:0 0 2px var(--terminal-glow);min-height:1em;margin:0;font-family:Consolas,Lucida Console,Courier New,monospace;font-size:8px;line-height:1;overflow:hidden}:root[data-preset=win95] .hero-terminal-screen[data-stage=cmd] .terminal-cmd-text:after,:root[data-preset=win95] .hero-terminal-screen[data-stage=art] .terminal-ascii:after,:root[data-preset=win95] .hero-terminal-screen[data-stage=done] .terminal-ascii:after{content:"█";color:var(--terminal-fg);animation:1s step-end infinite terminalBlink}@keyframes terminalBlink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){:root[data-preset=win95] .hero-terminal-screen[data-stage=cmd] .terminal-cmd-text:after,:root[data-preset=win95] .hero-terminal-screen[data-stage=art] .terminal-ascii:after,:root[data-preset=win95] .hero-terminal-screen[data-stage=done] .terminal-ascii:after{animation:none}}:root[data-preset=win95] .featured-card,:root[data-preset=win95] .stat-card,:root[data-preset=win95] .project-card,:root[data-preset=win95] .resume-summary,:root[data-preset=win95] .resume-block,:root[data-preset=win95] .modal-card,:root[data-preset=win95] .lightbox-card{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;transition:none}:root[data-preset=win95] .featured-card:before,:root[data-preset=win95] .stat-card:before,:root[data-preset=win95] .project-card:before,:root[data-preset=win95] .resume-summary:before,:root[data-preset=win95] .resume-block:before{display:none}:root[data-preset=win95] .featured-card:hover,:root[data-preset=win95] .stat-card:hover,:root[data-preset=win95] .project-card:hover,:root[data-preset=win95] .resume-summary:hover,:root[data-preset=win95] .resume-block:hover{box-shadow:none;border-color:#fff #404040 #404040 #fff;transform:none}:root[data-preset=win95] .featured-card-clickable:focus,:root[data-preset=win95] .project-card-clickable:focus{outline-offset:-4px;outline:1px dotted #000}:root[data-preset=win95] .project-media.is-clickable{cursor:pointer}:root[data-preset=win95] .chip{color:#000;box-shadow:none;background:#dcdcdc;border:1px solid gray;border-radius:0;padding:.2rem .5rem}:root[data-preset=win95] .chip:hover{box-shadow:none;color:#000;background:silver;transform:none}:root[data-preset=win95] .link-button{color:#00e;text-decoration:underline}:root[data-preset=win95] .link-button:hover{color:navy}:root[data-preset=win95] .modal-header{border-bottom:2px solid gray;padding-bottom:.8rem}:root[data-preset=win95] .modal-drag-handle{display:none}:root[data-preset=win95] .modal-close-btn{background:var(--overlay-btn);-webkit-backdrop-filter:none;box-shadow:none;border:2px solid gray;border-color:#fff gray gray #fff;border-radius:0;transition:none}:root[data-preset=win95] .modal-close-btn:hover{box-shadow:none;background:silver;transform:none}:root[data-preset=win95] .modal-close-btn:active{border-color:gray #fff #fff gray}:root[data-preset=win95] .modal-close-btn:before,:root[data-preset=win95] .modal-close-btn:after{background:#000}:root[data-preset=win95] .modal-overlay{align-items:center}:root[data-preset=win95] .modal-backdrop,:root[data-preset=win95] .lightbox-backdrop{-webkit-backdrop-filter:none;background:#00000073;animation:none}:root[data-preset=win95] .carousel-frame{box-shadow:none;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .carousel-nav,:root[data-preset=win95] .lightbox-nav{background:var(--overlay-btn);color:#000;box-shadow:none;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .carousel-nav:active,:root[data-preset=win95] .lightbox-nav:active{border-color:#404040 #fff #fff #404040}:root[data-preset=win95] .carousel-dot{background:var(--carousel-dot);border:1px solid #fffc;border-radius:0;width:8px;height:8px}:root[data-preset=win95] .carousel-dot.active{background:navy;transform:none}:root[data-preset=win95] .lightbox-card{color:#000}:root[data-preset=win95] .lightbox-card .btn-close{filter:none}:root[data-preset=win95] .lightbox-card img{background:gray}:root[data-preset=win95] .lightbox-caption{color:#000}:root[data-preset=win95] .site-footer{background:var(--footer-bg);color:var(--footer-text);border-top:2px solid gray}:root[data-preset=win95] .site-footer .text-muted{color:var(--footer-muted)!important}:root[data-preset=win95] .footer-icon-img{image-rendering:pixelated;-webkit-mask-size:16px 16px;mask-size:16px 16px}:root[data-preset=win95] .footer-icon-img[data-icon=email]{-webkit-mask-image:var(--win95-icon-email)!important;mask-image:var(--win95-icon-email)!important;-webkit-mask-image:var(--win95-icon-email)!important}:root[data-preset=win95] .footer-icon-img[data-icon=github]{-webkit-mask-image:var(--win95-icon-github)!important;mask-image:var(--win95-icon-github)!important;-webkit-mask-image:var(--win95-icon-github)!important}:root[data-preset=win95] .footer-icon-img[data-icon=icons8-linkedin]{-webkit-mask-image:var(--win95-icon-linkedin)!important;mask-image:var(--win95-icon-linkedin)!important;-webkit-mask-image:var(--win95-icon-linkedin)!important}:root[data-preset=win95] .footer-icon-img[data-icon=link]{-webkit-mask-image:var(--win95-icon-link)!important;mask-image:var(--win95-icon-link)!important;-webkit-mask-image:var(--win95-icon-link)!important}:root[data-preset=win95] .animate-modal{transform-origin:top;animation:.18s ease-out win95Maximize}@keyframes win95Maximize{0%{opacity:1;transform:scaleY(.08)}to{opacity:1;transform:scaleY(1)}}:root[data-preset=win95] .js .animate-on-scroll{opacity:1;transition:none;transform:none}:root[data-preset=win95] .btn,:root[data-preset=win95] .chip{transition:none}:root[data-preset=win95] .scroll-progress-bar{display:none}:root[data-preset=win95] .site-nav[data-nav]{background:var(--nav-bg);border-bottom:2px solid var(--nav-border);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-preset=win95] .site-nav .navbar-brand[data-nav]{letter-spacing:normal;text-transform:none}:root[data-preset=win95] .site-nav .navbar-toggler[data-nav]{box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0;padding:.25rem .45rem}:root[data-preset=win95] .navbar-light .navbar-toggler-icon[data-nav]{filter:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' shape-rendering='crispEdges'><rect x='4' y='6' width='16' height='2' fill='%23000000'/><rect x='4' y='11' width='16' height='2' fill='%23000000'/><rect x='4' y='16' width='16' height='2' fill='%23000000'/></svg>");background-position:50%;background-size:24px 24px}:root[data-preset=win95] .brand-mark[data-nav]{box-shadow:none;background:navy;border-radius:0}:root[data-preset=win95] .site-nav[data-nav] .nav-link{font-weight:400}:root[data-preset=win95] .site-nav[data-nav] .nav-link:after{display:none}:root[data-preset=win95] .site-nav[data-nav] .nav-link.active{color:#fff;background:navy;padding:.15rem .35rem}:root[data-preset=win95] .theme-toggle[data-nav]{background:var(--theme-toggle-bg);color:#000;box-shadow:none;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}:root[data-preset=win95] .theme-toggle:hover[data-nav]{background:var(--theme-toggle-hover);border-color:#fff #404040 #404040 #fff}:root[data-preset=win95] .theme-toggle:active[data-nav],:root[data-preset=win95] .site-nav .navbar-toggler:active[data-nav]{border-color:#404040 #fff #fff #404040}:root[data-preset=win95] .site-nav .navbar-toggler:focus[data-nav]{box-shadow:none}

