@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.portfolio-font-sans .template-refined{--portfolio-font-family: "Geist Variable", Arial, sans-serif}.template-refined{font-family:var(--portfolio-font-family);overflow:clip;--portfolio-muted: color-mix(in srgb, var(--portfolio-text) 68%, var(--portfolio-bg));--portfolio-soft: color-mix(in srgb, var(--portfolio-text) 55%, var(--portfolio-bg))}.template-refined :is(h1,h2,h3,p,article,section,div){min-width:0}.template-refined :is(h2,h3,p,.tpl-tech-list,.creative-tech-line){overflow-wrap:anywhere}.template-refined :is(a,summary):focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:4px}.template-refined :is(section,main){scroll-margin-top:28px}.template-refined .tpl-nav{gap:16px 32px;flex-wrap:wrap;padding-block:22px}.template-refined .tpl-brand,.template-refined .creative-brand strong{font-size:.875rem}.template-refined :is(.tpl-brand,.creative-brand,.creative-portrait-meta){overflow-wrap:anywhere}.template-refined .tpl-nav-links{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:.75rem}.template-refined .tpl-nav-links a{display:inline-flex;align-items:center;min-height:44px}.template-refined .refined-desktop-nav{margin-left:auto}.template-refined .refined-mobile-nav{display:none}.template-refined .refined-name{display:block;width:100%;max-width:none;margin:0;font-size:var(--fitted-name-size, var(--name-size, clamp(3.25rem, 7.5cqw, 6.5rem)));line-height:.98;letter-spacing:-.065em;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance}.template-refined .refined-name>span{display:inline}.template-refined .refined-name-word{display:inline-block;white-space:nowrap}.template-refined :is(.tpl-body-copy,.tpl-timeline-description){font-size:1rem;line-height:1.75}.template-refined .tpl-timeline-heading>span{white-space:normal;flex-shrink:0;max-width:35%}.template-refined .tpl-project-actions{gap:12px 22px;flex-wrap:wrap}.template-refined :is(.tpl-project-actions a,.tpl-contact-links a,.creative-hero-links a,.creative-contact-links a){min-height:44px;font-size:.8125rem}.template-refined .tpl-contact-links a{color:var(--portfolio-text);padding:12px 18px;border-radius:6px}.template-refined .tpl-profile-meta{font-size:.8125rem;gap:8px 20px}.template-refined .tpl-profile-meta :is(a,span){min-width:0;overflow-wrap:anywhere}.template-refined .tpl-profile-meta svg{flex-shrink:0}.template-refined .tpl-tech-list{gap:6px 14px}.template-refined .tpl-tech-list span{padding:0;border:0;border-radius:0;font-size:.75rem}.template-refined .tpl-skills{gap:0;border-top:1px solid var(--portfolio-line)}.template-refined .tpl-skills span{padding:14px 20px 14px 0;min-width:33.333%;border:0;border-bottom:1px solid var(--portfolio-line);border-radius:0;font-size:.875rem}.template-refined .tpl-footer{padding-block:28px;font-size:.75rem}.minimal-template.template-refined :is(.tpl-main,.tpl-nav,.tpl-footer){width:min(1080px,calc(100% - 80px))}.template-refined .minimal-hero{grid-template-columns:minmax(0,1fr) 180px;min-height:0;gap:64px;padding:100px 0 112px;align-items:start}.template-refined .minimal-hero-copy{container-type:inline-size}.template-refined .minimal-hero:not(:has(.minimal-avatar)){grid-template-columns:1fr}.template-refined .minimal-hero .refined-name{--name-size: clamp(3rem, 12cqw, 6rem);font-weight:500}.template-refined .minimal-avatar{width:180px;height:220px;margin-top:24px;border-radius:4px 4px 80px;filter:grayscale(1)}.template-refined .minimal-avatar:hover{filter:grayscale(0);transition:filter .5s}.template-refined .minimal-headline{margin-top:24px;font-size:clamp(1.25rem,2cqw,1.625rem);line-height:1.45;max-width:34ch;letter-spacing:-.03em}.template-refined .minimal-bio{font-size:1rem;max-width:60ch}.template-refined .minimal-section{grid-template-columns:180px minmax(0,1fr);gap:48px;padding-block:88px}.template-refined .minimal-section>h2{color:var(--portfolio-text);text-transform:none;font-size:1rem;letter-spacing:-.02em}.template-refined .minimal-project-row{padding-block:28px;gap:24px;transition:background-color .2s}.template-refined .minimal-project-row:first-child{border-top:0;padding-top:0}.template-refined .minimal-project-row h3{font-size:clamp(1.3rem,2.4cqw,1.8rem);font-weight:550}.template-refined .minimal-project-row p{font-size:.9375rem}.template-refined .minimal-project-row:hover h3{color:var(--portfolio-accent)}.template-refined .minimal-project-side>svg{transition:transform .25s}.template-refined .minimal-project-row:hover .minimal-project-side>svg{transform:translate(3px,-3px)}.template-refined .minimal-section#contact{grid-template-columns:minmax(0,1fr);gap:20px}.template-refined .minimal-section#contact h2{font-size:clamp(2.25rem,5.5cqw,4.5rem);line-height:1.1;letter-spacing:-.05em;max-width:18ch}.modern-template.template-refined{background-image:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--portfolio-accent) 7%,transparent),transparent 750px)}.template-refined .modern-glow{display:none}.template-refined .modern-hero{display:flex;flex-direction:column;min-height:0;gap:28px;padding:64px 0 96px;text-align:center}.template-refined .modern-hero>div:first-child{width:min(100%,1000px);container-type:inline-size}.template-refined .modern-avatar-wrap{order:-1;justify-content:center}.template-refined .modern-avatar-ring{width:112px;padding:5px;border-radius:26px;transform:none;animation:none;background:var(--portfolio-surface)}.template-refined .modern-avatar-ring img{border-radius:20px}.template-refined .modern-hero .refined-name{--name-size: clamp(3.5rem, 9cqw, 7rem);font-weight:600}.template-refined .modern-status{margin-bottom:16px}.template-refined .modern-headline{margin:24px auto 0;max-width:35ch;font-size:clamp(1.375rem,2.5cqw,2rem)}.template-refined .modern-bio{margin:18px auto 0;max-width:60ch;font-size:1rem}.template-refined .modern-hero .tpl-profile-meta{justify-content:center}.template-refined :is(.modern-section,.modern-projects-section){padding-block:96px}.template-refined .modern-section,.template-refined .modern-project-heading{grid-template-columns:1fr;gap:24px}.template-refined .tpl-section-index{display:none}.template-refined .modern-project-heading{margin-bottom:32px}.template-refined .modern-project-grid{grid-auto-flow:dense;gap:16px;border:0}.template-refined .modern-project-card{padding:32px;min-height:300px;border:1px solid var(--portfolio-line);border-radius:12px;background:var(--portfolio-surface)}.template-refined .modern-project-card:hover{border-color:color-mix(in srgb,var(--portfolio-accent) 45%,var(--portfolio-line));background:color-mix(in srgb,var(--portfolio-accent) 5%,var(--portfolio-surface))}.template-refined .modern-project-featured{grid-column:1 / -1;background:color-mix(in srgb,var(--portfolio-accent) 7%,var(--portfolio-surface))}.template-refined .modern-project-grid:has(.modern-project-featured)>:last-child:nth-child(2n),.template-refined .modern-project-grid:not(:has(.modern-project-featured))>:last-child:nth-child(odd){grid-column:1 / -1}.template-refined .modern-project-card h3{font-size:clamp(1.5rem,2.8cqw,2rem)}.template-refined .modern-project-card p{font-size:.9375rem;max-width:66ch}.template-refined .modern-project-featured h3{font-size:clamp(1.75rem,4.5cqw,3.25rem)}.template-refined .modern-contact{text-align:center}.template-refined .modern-contact :is(h2,p){margin-inline:auto}.template-refined .modern-contact .tpl-contact-links{justify-content:center}.template-refined .creative-hero{grid-template-columns:minmax(0,1.45fr) minmax(0,.7fr);min-height:0;gap:48px;padding-block:72px 96px}.template-refined .creative-hero-copy{container-type:inline-size}.template-refined .creative-name{--name-size: clamp(3.5rem, 15cqw, 7.5rem);margin-top:24px;font-weight:760}.template-refined .creative-name span{animation:none}.template-refined .creative-hero-topline{flex-wrap:wrap;font-size:.6875rem;letter-spacing:.09em}.template-refined .creative-hero-bottom{grid-template-columns:1fr;gap:22px;margin-top:28px}.template-refined .creative-headline{max-width:32ch;font-size:clamp(1.375rem,3cqw,2rem);line-height:1.35}.template-refined .creative-hero-summary{border:0;padding:0}.template-refined .creative-hero-summary>p{font-size:.9375rem;max-width:56ch}.template-refined .creative-portrait-column{padding:0 12px 0 0}.template-refined .creative-portrait{padding:8px;overflow:clip;animation:none}.template-refined .creative-portrait img{transition:scale .65s ease}.template-refined .creative-portrait:hover img{scale:1.04}.template-refined .creative-portrait-accent{right:0;top:-12px;width:60%;height:52%;animation:none}.template-refined .creative-section{grid-template-columns:1fr;padding-block:96px}.template-refined .creative-section-marker,.template-refined .creative-contact-index{display:none}.template-refined .creative-contact{grid-template-columns:minmax(0,1fr) auto;gap:40px;padding-block:96px}.template-refined .creative-work-heading{grid-template-columns:minmax(0,1fr) minmax(0,.65fr);align-items:end}.template-refined .creative-work-heading p{font-size:.9375rem}.template-refined .creative-featured-project{grid-template-columns:64px minmax(0,1fr) auto;background:color-mix(in srgb,var(--portfolio-accent) 5%,var(--portfolio-bg));padding:32px;gap:24px}.template-refined .creative-featured-copy h3{font-size:clamp(2rem,5cqw,3.75rem)}.template-refined .creative-featured-copy p,.template-refined .creative-project-copy p{font-size:.9375rem}.template-refined .creative-project-row,.template-refined .creative-project-row-shift{margin-left:0;grid-template-columns:48px minmax(0,1fr) minmax(0,.5fr) 24px;gap:24px;padding-block:32px}.template-refined .creative-project-copy h3{font-size:clamp(1.4rem,2.7cqw,2rem)}.template-refined .creative-tech-line{font-size:.75rem;line-height:1.65}.template-refined .creative-timeline-description,.template-refined .creative-contact-copy>p{font-size:1rem}.template-refined .creative-ticker{margin-inline:0}.template-refined .creative-ticker:hover .creative-ticker-track{animation-play-state:paused}.template-refined .creative-hero:not(:has(.creative-portrait-column)){grid-template-columns:1fr}@container (max-width: 960px){.template-refined .refined-desktop-nav{display:none}.template-refined .refined-mobile-nav{display:block;position:relative;margin-left:auto}.template-refined .refined-mobile-nav summary{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;font-size:.8125rem;list-style:none}.template-refined .refined-mobile-nav summary::-webkit-details-marker{display:none}.template-refined .refined-mobile-nav[open] summary svg{rotate:180deg}.template-refined .refined-mobile-nav>div{position:absolute;z-index:20;right:0;top:100%;width:min(270px,75cqw);padding:12px 20px;border:1px solid var(--portfolio-line);background:var(--portfolio-bg);box-shadow:0 16px 30px #0002}.template-refined .refined-mobile-nav .tpl-nav-links{display:grid;gap:0}.template-refined .tpl-nav{z-index:10}.template-refined .minimal-hero{gap:32px;grid-template-columns:minmax(0,1fr) 140px}.template-refined .minimal-avatar{width:140px;height:180px}.template-refined .creative-hero{gap:28px;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.template-refined :is(.creative-about-layout,.creative-skills-layout,.creative-timeline-layout){grid-template-columns:1fr;gap:28px}}@container (max-width: 720px){.template-refined :is(.tpl-main,.tpl-nav,.tpl-footer),.minimal-template.template-refined :is(.tpl-main,.tpl-nav,.tpl-footer){width:calc(100% - 40px)}.template-refined .tpl-nav{flex-wrap:nowrap;gap:12px;padding-block:12px}.template-refined .tpl-nav>:first-child{max-width:65%}.template-refined :is(.minimal-hero,.modern-hero,.creative-hero){min-height:0;padding-block:36px 48px;gap:28px}.template-refined .minimal-hero{grid-template-columns:1fr}.template-refined .minimal-avatar{width:96px;height:112px;margin-top:0;border-bottom-right-radius:38px;order:-1}.template-refined .minimal-hero .refined-name{--name-size: clamp(2.75rem, 14cqw, 4.5rem)}.template-refined .modern-hero .refined-name{--name-size: clamp(3rem, 15cqw, 5rem)}.template-refined .modern-avatar-ring{width:88px;border-radius:22px}.template-refined .modern-avatar-ring img{border-radius:16px}.template-refined .modern-headline,.template-refined .minimal-headline{font-size:1.25rem;margin-top:20px}.template-refined :is(.modern-bio,.minimal-bio){font-size:.9375rem}.template-refined :is(.minimal-section,.modern-section,.modern-projects-section,.creative-section,.creative-contact){grid-template-columns:1fr;gap:24px;padding-block:48px}.template-refined .minimal-section>h2{font-size:1.375rem}.template-refined .minimal-project-row{grid-template-columns:1fr;gap:16px}.template-refined .minimal-project-side{flex-direction:row;align-items:center}.template-refined .modern-project-grid{grid-template-columns:1fr;gap:12px}.template-refined .modern-project-card{min-height:0;padding:24px 20px;gap:24px}.template-refined .modern-section h2,.template-refined .modern-project-heading h2{font-size:2rem}.template-refined .creative-hero{grid-template-columns:1fr}.template-refined .creative-name{--name-size: clamp(3rem, 17cqw, 5.25rem)}.template-refined .creative-hero-topline{gap:8px 20px;padding-bottom:16px;font-size:.625rem}.template-refined .creative-headline{font-size:1.375rem}.template-refined .creative-hero-bottom{margin-top:24px}.template-refined .creative-portrait-column{width:min(76%,320px);margin:8px 0 0 auto;padding:0 12px 0 0}.template-refined .creative-portrait img{aspect-ratio:1}.template-refined .creative-work-heading{grid-template-columns:1fr;gap:16px}.template-refined .creative-featured-project{grid-template-columns:1fr;padding:24px 20px;gap:16px}.template-refined .creative-featured-number{font-size:1.5rem}.template-refined .creative-featured-meta{grid-column:auto;flex-direction:row;align-items:center;justify-content:space-between}.template-refined .creative-project-row{grid-template-columns:28px minmax(0,1fr);gap:12px}.template-refined .creative-project-arrow{display:none}.template-refined .creative-project-side{grid-column:2;text-align:left}.template-refined .creative-project-index{font-size:1rem}.template-refined .creative-section-content h2,.template-refined .creative-contact h2{font-size:2.25rem}.template-refined .creative-contact-links{border-left:0;padding:16px 0 0}.template-refined .creative-timeline-row{grid-template-columns:1fr;gap:8px}.template-refined .tpl-timeline-heading{flex-direction:column;gap:8px}.template-refined .tpl-timeline-heading>span{max-width:none}.template-refined .tpl-skills span{min-width:50%}.template-refined .tpl-footer{flex-direction:column;gap:12px}}@media(prefers-reduced-motion:reduce){.template-refined *,.template-refined *:before,.template-refined *:after{animation:none!important;transition:none!important}}@media print{.template-refined .refined-mobile-nav{display:none!important}.template-refined .refined-name-word,.template-refined article,.template-refined .refined-portrait{transform:none!important;opacity:1!important}}.portfolio-root[data-template=editorial]{container-name:editorial-viewport;--portfolio-bg: #0c0c0b;--portfolio-surface: #141412;--portfolio-text: #f5f3ed;--portfolio-muted: #aaa69a;--portfolio-soft: #817d73;--portfolio-line: #f5f3ed;overflow:clip}.portfolio-mode-light[data-template=editorial]{--portfolio-bg: #fff;--portfolio-surface: #fff;--portfolio-text: #000;--portfolio-muted: #6e6e6e;--portfolio-soft: #6e6e6e;--portfolio-line: #000}.editorial-template{--editorial-red: var(--portfolio-accent, #e4002b);--editorial-gutter: 24px;--editorial-columns: repeat(12, minmax(0, 1fr));display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:0;align-items:stretch;position:relative;min-height:100dvh;overflow:clip;background:var(--portfolio-bg);color:var(--portfolio-text);font-family:var(--portfolio-font-family, Helvetica, "Helvetica Neue", Arial, Inter, sans-serif);font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.editorial-sheet{position:relative;min-width:0;container-type:inline-size}.preview-stage:has(.editorial-template),.preview-device:has(.editorial-template){overflow:clip}.editorial-grid{position:absolute;z-index:0;inset:0;display:grid;grid-template-columns:var(--editorial-columns);gap:var(--editorial-gutter);width:calc(100% - 48px);margin-inline:auto;pointer-events:none;opacity:1;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,color-mix(in srgb,var(--portfolio-text) 4%,transparent) 31px 32px)}.editorial-grid span{border-left:1px solid color-mix(in srgb,var(--portfolio-text) 4.5%,transparent)}.editorial-grid span:nth-child(4n+1){border-left-color:color-mix(in srgb,var(--portfolio-text) 11%,transparent)}.editorial-grid span:last-child{border-right:1px solid color-mix(in srgb,var(--portfolio-text) 7%,transparent)}.editorial-grid span:nth-child(4){border-left-color:color-mix(in srgb,var(--editorial-red) 16%,transparent)}.editorial-width{position:relative;z-index:1;width:calc(100% - 48px);margin-inline:auto}.editorial-template :is(h1,h2,h3,p,ul){margin:0}.editorial-template :is(h1,h2,h3){color:var(--portfolio-text);text-wrap:pretty}.editorial-template :is(section,main){scroll-margin-top:88px}.editorial-template a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}.editorial-template :is(a,summary):focus-visible{outline:2px solid var(--editorial-red);outline-offset:5px;border-radius:0}.editorial-template a:active{opacity:.65}.editorial-masthead{position:sticky;z-index:10;top:0;display:grid;grid-template-columns:var(--editorial-columns);gap:var(--editorial-gutter);align-items:center;min-height:72px;border-top:8px solid var(--portfolio-text);border-bottom:2px solid var(--portfolio-text);background:var(--portfolio-bg)}.editorial-signature{grid-column:1 / span 3;min-width:0;font-size:.875rem;font-weight:700;letter-spacing:-.025em}.editorial-rail{position:relative;z-index:12;width:calc(var(--editorial-nav-count) * 38px);background:var(--portfolio-bg)}.editorial-desktop-nav{position:sticky;top:0;display:grid;grid-template-columns:repeat(var(--editorial-nav-count),minmax(0,1fr));height:100dvh}.portfolio-embedded .editorial-desktop-nav{height:calc(100dvh - 120px)}.editorial-desktop-nav a{position:relative;display:flex;align-items:flex-start;justify-content:center;min-width:0;padding-block:32px 56px;border-right:1px solid var(--portfolio-text);background:var(--portfolio-bg);transition:background-color .15s ease-out,color .15s ease-out}.editorial-desktop-nav a:last-child{border-right:0}.editorial-tab-label{writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;font-size:.8125rem;font-weight:600;letter-spacing:.12em;line-height:1;text-transform:uppercase}.editorial-tab-number{position:absolute;bottom:24px;font-size:.625rem;font-variant-numeric:tabular-nums}.editorial-desktop-nav a:is(:hover,:focus-visible){background:var(--editorial-red);color:var(--editorial-accent-ink)}.editorial-desktop-nav a:focus-visible{outline-offset:-4px}.editorial-template .tpl-nav-links{justify-content:flex-end;flex-wrap:wrap;gap:8px 24px;font-size:.75rem;font-weight:600}.editorial-template .tpl-nav-links a{border-bottom:3px solid transparent;text-decoration:none;transition:color .15s ease-out,border-color .15s ease-out,background-color .15s ease-out}.editorial-template .tpl-nav-links a:is(:hover,:focus-visible){border-bottom-color:var(--editorial-red);color:var(--editorial-red)}.editorial-contents{display:none}.editorial-hero{position:relative;display:grid;grid-template-columns:var(--editorial-columns);gap:var(--editorial-gutter);min-height:0;padding-block:24px 32px}.editorial-identity{grid-column:1 / span 3;display:flex;flex-direction:column;align-items:flex-start;gap:24px;align-self:start;padding:24px;background:var(--editorial-red);color:var(--editorial-accent-ink)}.editorial-portrait{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 28%;filter:grayscale(1) contrast(1.08);transition:filter .24s ease}.editorial-portrait:hover{filter:grayscale(0) contrast(1)}.editorial-role{max-width:24ch;color:var(--editorial-accent-ink);font-size:.875rem;font-weight:700;line-height:1.4}.editorial-identity .editorial-status{margin-top:16px;padding-left:12px;border-left:4px solid var(--editorial-accent-ink);color:var(--editorial-accent-ink);font-size:.75rem;line-height:1.5}.editorial-introduction{position:relative;z-index:2;grid-column:4 / -1;align-self:center;min-width:0}.editorial-hero-solo .editorial-introduction{grid-column:1 / -1}.editorial-hero-meta{display:flex;justify-content:space-between;gap:24px;max-width:62rem;margin-bottom:32px;padding-block:8px;border-block:1px solid var(--portfolio-text);font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.editorial-introduction h1{max-width:11ch;font-size:clamp(4rem,8.6cqw,6rem);font-weight:700;line-height:.9;letter-spacing:-.075em;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.editorial-name-mask{display:inline-block;overflow:clip;vertical-align:bottom;padding:.08em .08em .08em 0;margin-right:.12em;margin-block:-.08em;white-space:nowrap}.editorial-name-word{display:inline-block;transform-origin:left bottom}.editorial-hero-details{display:grid;grid-template-columns:minmax(17rem,.65fr) minmax(0,1.35fr);align-items:start;gap:24px;margin-top:40px}.editorial-hero-copy{min-width:0}.editorial-artwork{min-width:0;width:100%;aspect-ratio:3 / 2;align-self:center;background:url(/swiss-abstract.webp) center / contain no-repeat}.portfolio-mode-dark .editorial-artwork{filter:invert(1) hue-rotate(180deg)}.editorial-hero-meta>:last-child{padding-inline-end:12px}.editorial-introduction .editorial-hero-details .editorial-headline{margin-top:0;font-size:clamp(1.5rem,2.4cqw,1.875rem)}.editorial-introduction .editorial-headline{max-width:34ch;margin-top:40px;font-size:clamp(1.5rem,3cqw,2rem);font-weight:500;line-height:1.18;letter-spacing:-.04em}.editorial-introduction .editorial-bio{max-width:62ch;margin-top:24px;color:var(--portfolio-muted);font-size:1rem;line-height:1.65;white-space:pre-line}.editorial-template .tpl-profile-meta{margin-top:32px;gap:8px 24px;font-size:.75rem;font-weight:600;line-height:1.5}.editorial-work{position:relative;border-top:2px solid var(--portfolio-text)}.editorial-work:before{content:"";position:absolute;top:-2px;left:0;width:25%;height:8px;background:var(--editorial-red)}.editorial-section-heading{display:grid;grid-template-columns:var(--editorial-columns);gap:var(--editorial-gutter);align-items:baseline;padding-block:24px 32px}.editorial-section-key{grid-column:1 / span 8;display:grid;grid-template-columns:3rem minmax(0,1fr);gap:24px;align-items:baseline}.editorial-section-key>span:first-child{color:var(--editorial-red);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.editorial-section-key h2,.editorial-section-label{font-size:1.5rem;font-weight:700;line-height:1.05;letter-spacing:-.04em}.editorial-count{grid-column:10 / -1;justify-self:end;padding-inline-end:12px;color:var(--portfolio-muted);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.editorial-project{display:grid;grid-template-columns:var(--editorial-columns);gap:var(--editorial-gutter);min-height:240px;padding-block:40px 48px;border-top:1px solid var(--portfolio-text);transition:background-color .15s ease-out,border-color .15s ease-out}.editorial-project:is(:hover,:focus-within){border-top-color:var(--editorial-red);background:color-mix(in srgb,var(--portfolio-text) 4%,var(--portfolio-bg))}.editorial-project-featured{min-height:340px;border-top-width:2px}.editorial-project-compact{min-height:210px}.editorial-project-margin{grid-column:1 / span 3;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:24px;color:var(--portfolio-muted)}.editorial-project-number{font-size:clamp(3rem,6cqw,4rem);font-weight:700;line-height:.85;letter-spacing:-.075em;font-variant-numeric:tabular-nums;transition:color .18s ease}.editorial-project:not(.editorial-project-featured):is(:hover,:focus-within) .editorial-project-number{color:var(--editorial-red)}.editorial-project-featured .editorial-project-margin{margin-block:-40px -48px;padding:40px 24px 48px;background:var(--editorial-red);color:var(--editorial-accent-ink)}.editorial-project-featured .editorial-project-number{color:var(--editorial-accent-ink);font-size:clamp(4rem,9cqw,6rem)}.editorial-featured{padding:7px 9px;background:var(--portfolio-text);color:var(--portfolio-bg);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.editorial-project-copy{position:relative;z-index:1;grid-column:4 / -1;display:flex;flex-direction:column;min-width:0}.editorial-project-label{margin-bottom:18px;color:var(--editorial-red);font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.editorial-project h3{max-width:25ch;font-size:clamp(2rem,4.8cqw,3rem);font-weight:700;line-height:.98;letter-spacing:-.055em;overflow-wrap:anywhere}.editorial-project-featured h3{max-width:18ch;font-size:clamp(3rem,7cqw,4rem)}.editorial-project-description{max-width:62ch;margin-top:24px!important;color:var(--portfolio-muted);font-size:1rem;line-height:1.65;white-space:pre-line}.editorial-stack{max-width:64ch;margin-top:24px!important;color:var(--portfolio-text);font-size:.75rem;font-weight:600;line-height:1.65}.editorial-meta-label{margin-right:16px;color:var(--portfolio-muted);font-weight:400}.editorial-project-bottom{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:16px 24px;margin-top:auto;padding-top:32px}.editorial-template .tpl-project-actions{gap:12px;margin-top:0}.editorial-template .tpl-project-actions a{min-height:44px;padding:10px 14px;border:1px solid var(--portfolio-text);border-radius:0;background:var(--portfolio-text);color:var(--portfolio-bg);font-size:.75rem;font-weight:700;text-decoration:none;transition:background-color .18s ease,color .18s ease}.editorial-template .tpl-project-actions a+a{background:var(--portfolio-bg);color:var(--portfolio-text)}.editorial-template .tpl-project-actions a:is(:hover,:focus-visible){background:var(--editorial-red);color:var(--editorial-accent-ink);transform:none}.editorial-template .tpl-project-actions svg{transition:transform .18s ease}.editorial-template .tpl-project-actions a:is(:hover,:focus-visible) svg{transform:translate(2px,-2px)}.editorial-project-stats{display:flex;flex-wrap:wrap;gap:16px;color:var(--portfolio-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.editorial-section{display:grid;grid-template-columns:var(--editorial-columns);gap:var(--editorial-gutter);padding-block:56px 72px;border-top:2px solid var(--portfolio-text)}.editorial-section>.editorial-section-key{grid-column:1 / span 3;display:block}.editorial-section>.editorial-section-key>span:first-child{display:block;margin-bottom:16px}.editorial-section>:last-child{grid-column:4 / -1;min-width:0}.editorial-about-copy{max-width:54ch;font-size:clamp(1.5rem,3.2cqw,2rem);font-weight:500;line-height:1.25;letter-spacing:-.035em;white-space:pre-line}.editorial-template .tpl-timeline{margin-top:0}.editorial-template .tpl-timeline-item{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:var(--editorial-gutter);padding-block:28px 32px;border-top:1px solid var(--portfolio-text)}.editorial-template .tpl-timeline-item:first-child{padding-top:0;border-top:0}.editorial-template .tpl-timeline-heading{display:contents}.editorial-template .tpl-timeline-heading>div{grid-column:3 / -1;min-width:0}.editorial-template .tpl-timeline-heading>span{grid-column:1 / span 2;grid-row:1;padding-top:4px;color:var(--portfolio-muted);font-size:.75rem;font-variant-numeric:tabular-nums;white-space:normal}.editorial-template .tpl-timeline-heading h3{font-size:1.5rem;font-weight:700;line-height:1.05;letter-spacing:-.035em}.editorial-template .tpl-timeline-heading p{margin-top:8px;font-size:.875rem;font-weight:600}.editorial-template .tpl-timeline-description{grid-column:3 / -1;max-width:62ch;margin-top:4px;color:var(--portfolio-muted);font-size:1rem;line-height:1.65;white-space:pre-line}.editorial-template .tpl-inline-link{grid-column:3 / -1;justify-self:start;min-height:44px;margin-top:0;color:var(--portfolio-text);font-size:.75rem;font-weight:700;text-decoration-color:var(--editorial-red)}.editorial-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--editorial-gutter);padding:0;list-style:none;counter-reset:editorial-skill}.editorial-skills li{counter-increment:editorial-skill;display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:baseline;padding-block:14px;border-top:1px solid var(--portfolio-text);font-size:1rem;font-weight:600}.editorial-skills li:before{content:counter(editorial-skill,decimal-leading-zero);color:var(--portfolio-muted);font-size:.6875rem;font-variant-numeric:tabular-nums}.editorial-contact>div:last-child{max-width:none;margin-block:-56px -72px;padding:56px 48px 72px;background:var(--editorial-red);color:var(--editorial-accent-ink)}.editorial-contact h2{max-width:24ch;color:var(--editorial-accent-ink);font-size:clamp(2rem,4.8cqw,3rem);font-weight:700;line-height:1;letter-spacing:-.055em}.editorial-contact p{max-width:62ch;margin-top:24px;color:var(--editorial-accent-ink);font-size:1rem;line-height:1.65;white-space:pre-line}.editorial-template .tpl-contact-links{gap:0;margin-top:32px}.editorial-template .tpl-contact-links a{min-height:48px;padding:12px 16px;border:1px solid var(--portfolio-text);border-radius:0;background:var(--portfolio-text);color:var(--portfolio-bg);font-size:.75rem;font-weight:700;transition:background-color .18s ease,color .18s ease}.editorial-template .tpl-contact-links a+a{border-left:0}.editorial-template .tpl-contact-links a:is(:hover,:focus-visible){background:var(--portfolio-bg);color:var(--portfolio-text);transform:none}.editorial-footer{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;min-height:88px;border-top:8px solid var(--portfolio-text);color:var(--portfolio-muted);font-size:.75rem}.editorial-template .tpl-profile-meta a,.editorial-template .tpl-inline-link{text-decoration-color:transparent;transition:color .15s ease-out,text-decoration-color .15s ease-out}.editorial-template .tpl-profile-meta a:is(:hover,:focus-visible),.editorial-template .tpl-inline-link:is(:hover,:focus-visible){color:var(--editorial-red);text-decoration-color:var(--editorial-red)}.editorial-template:has(#projects:target) :is(.tpl-nav-links,.editorial-desktop-nav) a[href="#projects"],.editorial-template:has(#about:target) :is(.tpl-nav-links,.editorial-desktop-nav) a[href="#about"],.editorial-template:has(#experience:target) :is(.tpl-nav-links,.editorial-desktop-nav) a[href="#experience"],.editorial-template:has(#education:target) :is(.tpl-nav-links,.editorial-desktop-nav) a[href="#education"],.editorial-template:has(#certifications:target) :is(.tpl-nav-links,.editorial-desktop-nav) a[href="#certifications"],.editorial-template:has(#achievements:target) :is(.tpl-nav-links,.editorial-desktop-nav) a[href="#achievements"],.editorial-template:has(#skills:target) :is(.tpl-nav-links,.editorial-desktop-nav) a[href="#skills"],.editorial-template:has(#contact:target) :is(.tpl-nav-links,.editorial-desktop-nav) a[href="#contact"]{border-bottom-color:var(--editorial-red);background:var(--editorial-red);color:var(--editorial-accent-ink)}@container editorial-viewport (max-width: 980px){.editorial-template{grid-template-columns:minmax(0,1fr)}.editorial-rail{display:none}}@container editorial-viewport (max-width: 980px){.editorial-contents{display:block;grid-column:4 / -1;justify-self:end}.editorial-contents[open]{grid-column:1 / -1;width:100%}.editorial-contents summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;font-size:.75rem;font-weight:700;list-style:none;cursor:pointer}.editorial-contents summary::-webkit-details-marker{display:none}.editorial-contents[open] summary svg{transform:rotate(180deg)}.editorial-template .editorial-contents .tpl-nav-links{display:grid;justify-content:stretch;gap:0;padding-bottom:16px}.editorial-contents .tpl-nav-links a{display:flex;align-items:center;min-height:44px;padding:8px 0;border-top:1px solid var(--portfolio-text)}}@container (max-width: 760px){.editorial-template{--editorial-gutter: 16px;--editorial-columns: repeat(4, minmax(0, 1fr))}.editorial-width,.editorial-grid{--editorial-columns: repeat(4, minmax(0, 1fr));--editorial-gutter: 16px;width:calc(100% - 32px)}.editorial-grid span:nth-child(n+5){display:none}.editorial-masthead{min-height:64px;grid-template-columns:var(--editorial-columns)}.editorial-signature{grid-column:1 / span 3}.editorial-contents{display:block;grid-column:4;justify-self:end}.editorial-contents[open]{grid-column:1 / -1;width:100%}.editorial-contents summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;font-size:.75rem;font-weight:700;list-style:none;cursor:pointer}.editorial-contents summary::-webkit-details-marker{display:none}.editorial-contents[open] summary svg{transform:rotate(180deg)}.editorial-template .editorial-contents .tpl-nav-links{display:grid;justify-content:stretch;gap:0;padding-bottom:16px}.editorial-contents .tpl-nav-links a{display:flex;align-items:center;min-height:44px;padding:8px 0;border-top:1px solid var(--portfolio-text)}.editorial-hero{min-height:0;padding-block:16px 24px;gap:20px}.editorial-identity{grid-column:1 / -1;display:grid;grid-template-columns:minmax(64px,96px) minmax(0,1fr);align-items:center;gap:16px;padding:12px}.editorial-portrait{max-width:96px;aspect-ratio:1}.editorial-introduction,.editorial-hero-solo .editorial-introduction{grid-column:1 / -1}.editorial-hero-details{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:28px}.editorial-artwork{width:100%}.editorial-hero-meta{flex-wrap:wrap;gap:6px 16px;margin-bottom:20px;font-size:.5625rem}.editorial-introduction h1{max-width:none;margin-top:0;font-size:min(clamp(2.25rem,12cqw,3.5rem),calc((100cqw - 48px) / (var(--editorial-name-length, 9) * .64)));line-height:.98}.editorial-introduction .editorial-headline{margin-top:28px;font-size:1.5rem}.editorial-introduction .editorial-bio{margin-top:20px}.editorial-template .tpl-profile-meta{margin-top:24px}.editorial-work:before{width:25%}.editorial-section-heading{padding-block:20px 24px}.editorial-section-key{grid-column:1 / span 3;grid-template-columns:32px minmax(0,1fr);gap:12px}.editorial-count{grid-column:4}.editorial-project,.editorial-project-featured{min-height:0;padding-block:32px 40px}.editorial-project-margin{grid-column:1}.editorial-project-copy{grid-column:2 / -1}.editorial-project-featured .editorial-project-margin{margin-block:-32px -40px;padding:32px 12px 40px}.editorial-project-number,.editorial-project-featured .editorial-project-number{font-size:2.5rem}.editorial-project h3,.editorial-project-featured h3{font-size:clamp(2rem,10cqw,2.75rem)}.editorial-project-description{margin-top:18px!important}.editorial-project-bottom{align-items:flex-start;flex-direction:column;padding-top:24px}.editorial-template .tpl-project-actions{flex-wrap:wrap}.editorial-section{padding-block:40px 56px}.editorial-section>.editorial-section-key{grid-column:1 / -1;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px}.editorial-section>.editorial-section-key>span:first-child{margin-bottom:0}.editorial-section>:last-child{grid-column:1 / -1}.editorial-about-copy{margin-top:8px;font-size:1.5rem}.editorial-template .tpl-timeline-item{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--editorial-gutter)}.editorial-template .tpl-timeline-heading>span{grid-column:1}.editorial-template .tpl-timeline-heading>div,.editorial-template .tpl-timeline-description,.editorial-template .tpl-inline-link{grid-column:2 / -1}.editorial-skills{grid-template-columns:1fr}.editorial-contact h2{font-size:2.25rem}.editorial-contact>div:last-child{margin-block:0;padding:32px 20px 40px}.editorial-template .tpl-contact-links{display:grid}.editorial-template .tpl-contact-links a+a{border-top:0;border-left:1px solid var(--portfolio-text)}.editorial-footer{min-height:76px}}@container editorial-viewport (min-width: 981px){.editorial-width,.editorial-grid{width:calc(100% - 24px);margin-inline:24px 0}.editorial-grid span:last-child{border-right:0}.editorial-sheet .editorial-contents{display:none}}@media(prefers-reduced-motion:reduce){.editorial-template *,.editorial-template *:before,.editorial-template *:after{transition:none!important;animation:none!important}.editorial-name-word{transform:none!important;opacity:1!important}}@media print{.portfolio-root[data-template=editorial]{--portfolio-bg: #fff;--portfolio-text: #000}.editorial-template{display:block}.editorial-sheet{container-type:normal}.editorial-grid,.editorial-rail,.editorial-artwork,.editorial-contents{display:none!important}.editorial-name-word{transform:none!important;opacity:1!important}.editorial-hero-details{grid-template-columns:1fr}.editorial-width{width:100%;max-width:none}.editorial-masthead{position:static;min-height:12mm;border-top-width:2mm}.editorial-hero{min-height:250mm}.editorial-project,.editorial-template .tpl-timeline-item{break-inside:avoid-page}.editorial-section-heading,.editorial-section-key,.editorial-template h3{break-after:avoid-page}.editorial-template p{orphans:3;widows:3}.editorial-template *{transition:none!important;animation:none!important}}.portfolio-root[data-template=studio]{--portfolio-bg: #141514;--portfolio-surface: #1d1f1d;--portfolio-text: #f0eee8;--portfolio-muted: #b7b5ae;--portfolio-soft: #82827b;--portfolio-line: #373936}.portfolio-mode-light[data-template=studio]{--portfolio-bg: #f3f0e9;--portfolio-surface: #e8e4dc;--portfolio-text: #1a1c19;--portfolio-muted: #5f625d;--portfolio-soft: #7b7f78;--portfolio-line: #cccec7}.studio-template{--workshop-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--workshop-signal-soft: color-mix(in srgb, var(--portfolio-accent) 10%, var(--portfolio-bg));min-height:100vh;overflow:hidden;font-family:var(--portfolio-font-family, "Geist", "Avenir Next", Inter, ui-sans-serif, system-ui, sans-serif);font-size:1rem;line-height:1.65;overflow-wrap:anywhere}.studio-template:before{content:"";position:absolute;z-index:0;inset:0 0 auto;height:4px;background:var(--portfolio-accent)}.workshop-width{position:relative;z-index:1;width:min(1280px,calc(100% - 64px));margin-inline:auto}.studio-template :is(h1,h2,h3,p,ol,ul,figure){margin:0}.studio-template :is(h1,h2,h3){text-wrap:balance}.studio-template :is(main,section){scroll-margin-top:28px}.studio-template a:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:5px}.workshop-nav{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;min-height:76px;border-bottom:1px solid var(--portfolio-line)}.workshop-signature{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:.8125rem;font-weight:650;letter-spacing:-.02em}.workshop-signature i{width:8px;height:8px;background:var(--portfolio-accent)}.studio-template .tpl-nav-links{flex-wrap:wrap;justify-content:flex-end;gap:4px 28px;font-size:.75rem}.studio-template .tpl-nav-links a{min-height:44px;display:inline-flex;align-items:center}.workshop-cover{display:grid;grid-template-columns:86px minmax(0,1.55fr) minmax(230px,.65fr);grid-template-rows:auto auto;column-gap:clamp(28px,4vw,64px);row-gap:44px;padding-block:clamp(56px,7vw,96px) clamp(64px,8vw,112px);border-bottom:1px solid var(--portfolio-line)}.workshop-cover-index{grid-row:1 / span 2;display:flex;min-height:100%;flex-direction:column;align-items:flex-start;color:var(--portfolio-soft);font-family:var(--workshop-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase}.workshop-cover-index b{margin-top:18px;color:var(--portfolio-text);font-size:1.25rem;font-weight:500;letter-spacing:-.04em}.workshop-cover-index i{width:2px;min-height:120px;flex:1;margin-top:18px;background:var(--portfolio-accent)}.workshop-cover-copy{min-width:0;align-self:center}.workshop-role{color:var(--portfolio-accent);font-family:var(--workshop-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.workshop-cover-copy h1{margin-top:18px;overflow:hidden}.workshop-cover-copy h1 span{display:block;max-width:12ch;font-size:clamp(3.25rem,7.2cqw,7.25rem);font-weight:620;line-height:.88;letter-spacing:-.075em;text-wrap:pretty}.workshop-headline{max-width:32ch;margin-top:28px!important;font-size:clamp(1.125rem,2.1cqw,1.65rem);line-height:1.35;letter-spacing:-.035em}.workshop-cover-copy .tpl-contact-links{margin-top:28px}.studio-template .workshop-cover-copy .tpl-contact-links a{min-height:44px;padding:0;border:0;background:transparent;color:var(--portfolio-muted)}.workshop-cover-visual{align-self:center;min-width:0}.workshop-photo-frame{position:relative;width:min(100%,290px);padding:0 12px 12px 0;isolation:isolate}.workshop-photo-frame:before{content:"";position:absolute;z-index:-1;inset:20px 0 0 20px;background:var(--portfolio-accent)}.workshop-photo{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 32%;background:var(--portfolio-surface)}.workshop-cover-facts{display:grid;gap:10px;margin-top:26px;color:var(--portfolio-muted);font-size:.75rem}.workshop-cover-facts p{display:flex;align-items:flex-start;gap:8px}.workshop-cover-facts svg{flex:0 0 auto;margin-top:4px}.workshop-status i{width:7px;height:7px;flex:0 0 auto;margin-top:7px;background:var(--portfolio-accent)}.workshop-cover-visual-text-only{align-self:end;padding:20px 0;border-top:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line)}.workshop-cover-visual-text-only .workshop-cover-facts{margin-top:0}.workshop-bio{grid-column:2;max-width:62ch;color:var(--portfolio-muted);font-size:.9375rem;white-space:pre-line}.workshop-split-section{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:clamp(32px,5vw,80px);padding-block:clamp(56px,7vw,96px);border-bottom:1px solid var(--portfolio-line)}.workshop-section-guide{align-self:start}.workshop-section-guide>p{color:var(--portfolio-accent);font-family:var(--workshop-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase}.workshop-section-guide h2{margin-top:12px;font-size:clamp(1.5rem,2.5cqw,2.25rem);font-weight:600;line-height:1.05;letter-spacing:-.05em}.workshop-section-guide>span{display:block;margin-top:20px;color:var(--portfolio-soft);font-family:var(--workshop-mono);font-size:.6875rem;text-transform:uppercase}.workshop-work .workshop-section-guide{position:sticky;top:28px}.workshop-project-list{min-width:0;border-top:1px solid var(--portfolio-line)}.workshop-project{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:0 28px;padding-block:36px;border-bottom:1px solid var(--portfolio-line);transition:background-color .22s ease,padding .22s cubic-bezier(.2,.8,.2,1)}.workshop-project-index{display:flex;flex-direction:column;align-items:flex-start;gap:12px;color:var(--portfolio-soft);font-family:var(--workshop-mono);font-size:.75rem}.workshop-project-index i{width:24px;height:2px;background:var(--portfolio-line);transition:width .22s ease,background-color .22s ease}.workshop-project-body{min-width:0}.workshop-project h3{max-width:18ch;font-size:clamp(1.75rem,4cqw,3.75rem);font-weight:590;line-height:1;letter-spacing:-.06em}.workshop-project-description{max-width:65ch;margin-top:20px!important;color:var(--portfolio-muted);white-space:pre-line}.workshop-stack{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:24px!important;color:var(--portfolio-muted);font-size:.8125rem}.workshop-stack>span{color:var(--portfolio-soft);font-family:var(--workshop-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.workshop-project-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-top:24px}.workshop-project-stats{display:flex;flex-wrap:wrap;gap:16px;color:var(--portfolio-soft);font-family:var(--workshop-mono);font-size:.6875rem}.workshop-project:hover,.workshop-project:focus-within{padding-inline:14px;background:var(--workshop-signal-soft)}.workshop-project:hover .workshop-project-index i,.workshop-project:focus-within .workshop-project-index i{width:44px;background:var(--portfolio-accent)}.workshop-project-featured{--portfolio-text: var(--workshop-feature-ink);--portfolio-muted: color-mix(in srgb, var(--workshop-feature-ink) 78%, transparent);--portfolio-soft: color-mix(in srgb, var(--workshop-feature-ink) 66%, transparent);margin:20px 0 32px;padding:clamp(28px,4vw,52px);border:0;background:var(--portfolio-accent);color:var(--workshop-feature-ink)}.workshop-project-featured:hover,.workshop-project-featured:focus-within{padding-inline:clamp(28px,4vw,52px);background:var(--portfolio-accent)}.workshop-project-featured .workshop-project-index i{background:color-mix(in srgb,var(--workshop-feature-ink) 42%,transparent)}.workshop-project-featured:hover .workshop-project-index i,.workshop-project-featured:focus-within .workshop-project-index i{background:var(--workshop-feature-ink)}.workshop-project-featured h3{max-width:15ch;font-size:clamp(2.25rem,5.3cqw,5.25rem)}.workshop-project-label{margin-bottom:20px!important;color:var(--portfolio-muted);font-family:var(--workshop-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase}.studio-template .tpl-project-actions{gap:24px;margin-top:0}.studio-template .tpl-project-actions a{position:relative;min-height:44px;color:var(--portfolio-text);font-size:.8125rem;font-weight:600;transform:none}.studio-template .tpl-project-actions a:after{content:"";position:absolute;inset:auto 0 5px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.studio-template .tpl-project-actions a:is(:hover,:focus-visible):after{transform:scaleX(1)}.studio-template .tpl-project-actions svg{transition:transform .18s ease}.studio-template .tpl-project-actions a:is(:hover,:focus-visible) svg{transform:translate(2px,-2px)}.workshop-prose{max-width:68ch;color:var(--portfolio-muted);font-size:clamp(1rem,1.5cqw,1.125rem);line-height:1.75;white-space:pre-line}.workshop-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;border-top:1px solid var(--portfolio-line)}.workshop-skills li{display:flex;gap:14px;min-width:0;padding:16px 12px 16px 0;border-bottom:1px solid var(--portfolio-line);font-size:.9375rem}.workshop-skills li span{flex:0 0 auto;color:var(--portfolio-soft);font-family:var(--workshop-mono);font-size:.625rem}.studio-template .tpl-timeline{margin:0}.studio-template .tpl-timeline-item{padding-block:28px}.studio-template .tpl-timeline-item:first-child{padding-top:0;border-top:0}.studio-template .tpl-timeline-item:last-child{padding-bottom:0}.studio-template .tpl-timeline-heading{gap:28px}.studio-template .tpl-timeline-heading>div{min-width:0}.studio-template .tpl-timeline-heading h3{font-size:1.125rem;font-weight:600;letter-spacing:-.025em}.studio-template .tpl-timeline-heading p{margin-top:4px;color:var(--portfolio-muted);font-size:.875rem}.studio-template .tpl-timeline-heading>span{max-width:34%;color:var(--portfolio-soft);font-family:var(--workshop-mono);font-size:.6875rem;text-align:right;white-space:normal}.studio-template .tpl-timeline-description{margin-top:14px;max-width:68ch;color:var(--portfolio-muted);font-size:.9375rem;line-height:1.7;white-space:pre-line}.studio-template .tpl-inline-link{min-height:44px;color:var(--portfolio-text);font-size:.8125rem}.workshop-contact>div{max-width:720px}.workshop-contact .tpl-contact-links{margin-top:28px}.studio-template .workshop-contact .tpl-contact-links a{min-height:44px;padding:8px 0;border:0;border-bottom:1px solid var(--portfolio-line);border-radius:0;color:var(--portfolio-text);transition:border-color .18s ease,color .18s ease}.studio-template .workshop-contact .tpl-contact-links a:is(:hover,:focus-visible){border-color:var(--portfolio-accent);color:var(--portfolio-accent);background:transparent;transform:none}.workshop-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;padding-block:28px 36px;color:var(--portfolio-soft);font-family:var(--workshop-mono);font-size:.6875rem}.workshop-footer a:hover{color:var(--portfolio-text)}.portfolio-font-editorial .studio-template{font-family:Georgia,Times New Roman,serif}.portfolio-font-editorial .workshop-cover-copy h1 span{font-weight:400;letter-spacing:-.065em}.portfolio-font-mono .studio-template{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.portfolio-font-mono .workshop-cover-copy h1 span{font-size:clamp(2.8rem,6.2cqw,6rem);font-weight:600;letter-spacing:-.07em}@container (max-width: 900px){.workshop-width{width:calc(100% - 40px)}.workshop-cover{grid-template-columns:64px minmax(0,1fr) minmax(190px,.58fr);column-gap:28px}.workshop-cover-copy h1 span{font-size:clamp(2.8rem,7.5cqw,5.25rem)}.workshop-split-section{grid-template-columns:170px minmax(0,1fr);column-gap:36px}.workshop-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 680px){.workshop-width{width:calc(100% - 32px)}.workshop-nav{min-height:0;padding-block:14px 10px;flex-direction:column;align-items:flex-start}.studio-template .tpl-nav-links{justify-content:flex-start;gap:0 20px}.workshop-cover{grid-template-columns:1fr;grid-template-rows:auto;gap:26px;padding-block:36px 48px}.workshop-cover>*{min-width:0;max-width:100%}.workshop-cover-index{grid-column:1;grid-row:auto;flex-direction:row;align-items:center;gap:12px;min-height:0}.workshop-cover-index b{margin:0;font-size:.75rem}.workshop-cover-index i{min-height:2px;height:2px;flex:1;margin:0}.workshop-cover-copy{grid-column:1;order:2;width:100%;justify-self:stretch}.workshop-cover-copy h1 span,.portfolio-font-mono .workshop-cover-copy h1 span{max-width:100%;font-size:clamp(2.25rem,10.5cqw,3.6rem);line-height:.95;letter-spacing:-.06em;overflow-wrap:anywhere}.workshop-headline{margin-top:20px!important}.workshop-cover-copy .tpl-contact-links{margin-top:18px}.workshop-cover-visual{grid-column:1;order:1;display:grid;grid-template-columns:112px minmax(0,1fr);gap:22px;width:100%;align-items:end;justify-self:stretch}.workshop-photo-frame{width:112px;padding:0 8px 8px 0}.workshop-photo-frame:before{inset:12px 0 0 12px}.workshop-cover-facts{min-width:0;margin-top:0}.workshop-cover-facts p{min-width:0;overflow-wrap:anywhere}.workshop-cover-visual-text-only{display:block;padding:16px 0}.workshop-bio{order:3;grid-column:1;width:100%;min-width:0;overflow-wrap:anywhere}.workshop-split-section{display:block;padding-block:48px}.workshop-section-guide{position:static!important;padding-bottom:24px}.workshop-section-guide h2{font-size:1.75rem}.workshop-section-guide>span{margin-top:12px}.workshop-project{grid-template-columns:44px minmax(0,1fr);gap:0 14px;padding-block:28px}.workshop-project h3{font-size:clamp(1.65rem,8cqw,2.5rem)}.workshop-project-featured{margin:12px 0 24px;padding:24px 18px}.workshop-project-featured:hover,.workshop-project-featured:focus-within{padding-inline:18px}.workshop-project-featured h3{max-width:100%;font-size:clamp(1.75rem,8.5cqw,2.8rem);overflow-wrap:anywhere}.workshop-project:hover,.workshop-project:focus-within{padding-inline:8px}.workshop-project-bottom{align-items:flex-start;flex-direction:column}.workshop-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-template .tpl-timeline-heading{flex-direction:column;gap:8px}.studio-template .tpl-timeline-heading>span{max-width:none;text-align:left}}@container (max-width: 420px){.workshop-skills{grid-template-columns:1fr}.workshop-cover-visual{grid-template-columns:96px minmax(0,1fr)}.workshop-photo-frame{width:96px}}@media(prefers-reduced-motion:reduce){.studio-template *,.studio-template *:before,.studio-template *:after{animation:none!important;transition:none!important}.studio-template .tpl-project-actions a:is(:hover,:focus-visible) svg{transform:none}}@media print{.workshop-width{width:100%;max-width:none}.workshop-nav{min-height:0;padding-bottom:4mm}.workshop-nav .tpl-nav-links{display:none}.workshop-cover{grid-template-columns:15mm minmax(0,1fr) 38mm;gap:7mm;padding-block:8mm 12mm}.workshop-cover-index i{min-height:25mm}.workshop-cover-copy h1 span,.portfolio-font-mono .workshop-cover-copy h1 span{font-size:34pt}.workshop-headline{font-size:14pt}.workshop-photo-frame{width:34mm;padding:0 2mm 2mm 0}.workshop-photo-frame:before{inset:4mm 0 0 4mm}.workshop-bio{font-size:9pt}.workshop-split-section{grid-template-columns:38mm minmax(0,1fr);gap:8mm;padding-block:9mm}.workshop-section-guide,.workshop-work .workshop-section-guide{position:static}.workshop-project{grid-template-columns:12mm minmax(0,1fr);gap:4mm;padding-block:6mm;break-inside:avoid-page}.workshop-project-featured{padding:7mm;margin:3mm 0 6mm}.workshop-project h3{font-size:18pt}.workshop-project-featured h3{font-size:24pt}.workshop-project-description,.workshop-prose,.studio-template .tpl-timeline-description{font-size:9pt}.workshop-skills{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-template .tpl-timeline-item{break-inside:avoid-page}.studio-template :is(.tpl-project-actions a,.tpl-contact-links a,.tpl-inline-link){min-height:0}.studio-template :is(h2,h3){break-after:avoid-page}.studio-template p{orphans:3;widows:3}.workshop-footer{padding-block:5mm 0}}.folder-float{--ff-w: 210px;--ff-h: 142px;--ff-r: 3px;--ff-tab: 14px;--ff-back: #202a35;--ff-front: #273442;--ff-paper: #edf1f5;--ff-item: #edf1f5;--ff-item-ink: #17202a;--ff-label: #edf1f5;--ff-spread: 170px;--ff-lift: 30px;--ff-angle: 31deg;--ff-rest: 13deg;--ff-open: .52s;--ff-close: 312ms;--ff-stagger: 42ms;--ff-n: 6;--ff-spring: cubic-bezier(.34, 1.46, .64, 1);--ff-ease-out: cubic-bezier(.23, 1, .32, 1);position:relative;display:inline-block;width:var(--ff-w);padding-top:var(--ff-tab);font:500 12px/1 var(--technical-mono, monospace)}.folder-float__folder{position:relative;width:var(--ff-w);height:var(--ff-h)}.folder-float__back{position:absolute;inset:0;z-index:0;border:1px solid color-mix(in srgb,var(--ff-label) 20%,transparent);border-radius:var(--ff-r);background:var(--ff-back);transform:perspective(600px) rotateX(7deg);transform-origin:50% 100%}.folder-float__back:before{content:"";position:absolute;top:calc(-1 * var(--ff-tab));left:-1px;width:43%;height:calc(var(--ff-tab) + 8px);border:1px solid color-mix(in srgb,var(--ff-label) 20%,transparent);border-bottom:0;border-radius:var(--ff-r) var(--ff-r) 0 0;background:inherit}.folder-float__paper{position:absolute;top:9%;right:8%;left:8%;z-index:1;height:52%;border-radius:2px;background:var(--ff-paper);opacity:0;transform:translateY(10px);transition:transform var(--ff-close) var(--ff-ease-out),opacity var(--ff-close) ease}.folder-float__paper:before{content:"skills.json";position:absolute;top:12px;left:14px;color:#687482;font:9px/1 var(--technical-mono, monospace);letter-spacing:.04em}.folder-float__front{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;height:76%;box-sizing:border-box;padding:16px 18px;border:1px solid color-mix(in srgb,var(--ff-label) 24%,transparent);border-radius:var(--ff-r);background:var(--ff-front);color:var(--ff-label);box-shadow:0 -12px 26px #00000038;transform:perspective(600px) rotateX(calc(-1 * var(--ff-rest)));transform-origin:50% 100%;transition:transform var(--ff-open) var(--ff-ease-out),background-color .18s ease}.folder-float__label{font-size:14px;font-weight:650}.folder-float__sub{font-size:10px;letter-spacing:.04em;opacity:.58}.folder-float__trigger{position:absolute;right:0;bottom:0;left:0;z-index:3;height:76%;margin:0;padding:0;border:0;border-radius:var(--ff-r);background:transparent;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.folder-float__trigger:focus-visible{outline:2px solid var(--portfolio-accent, currentColor);outline-offset:5px}.folder-float__trigger:hover+*{color:inherit}.folder-float[data-open] .folder-float__front{transform:perspective(600px) rotateX(calc(-1 * var(--ff-angle)))}.folder-float[data-open] .folder-float__paper{opacity:1;transform:translateY(0);transition:transform var(--ff-open) var(--ff-ease-out),opacity .2s ease}.folder-float__items{position:absolute;top:var(--ff-tab);left:50%;z-index:4;width:0;height:0}.folder-float[data-open] .folder-float__items:before{content:"";position:absolute;top:calc(-1 * (var(--ff-lift) + 230px));left:calc(-1 * (var(--ff-spread) + 60px));width:calc(2 * var(--ff-spread) + 120px);height:calc(var(--ff-lift) + 250px)}.folder-float__item{position:absolute;top:0;left:50%;height:34px;margin:0;padding:0 12px;border:1px solid color-mix(in srgb,var(--ff-item-ink) 25%,transparent);border-radius:2px;background:var(--ff-item);color:var(--ff-item-ink);font:inherit;white-space:nowrap;box-shadow:4px 5px #0000002e;cursor:pointer;outline:none;opacity:0;transform:translate(-50%,44px) scale(.6);transform-origin:50% 50%;pointer-events:none;-webkit-tap-highlight-color:transparent;transition:transform var(--ff-close) var(--ff-ease-out) calc((var(--ff-n) - 1 - var(--i)) * var(--ff-stagger) * .5),opacity .16s ease calc((var(--ff-n) - 1 - var(--i)) * var(--ff-stagger) * .5 + var(--ff-close) * .45),scale .16s var(--ff-ease-out)}.folder-float[data-open] .folder-float__item{opacity:1;transform:translate(calc(-50% + var(--x)),var(--y)) rotate(var(--r)) scale(1);pointer-events:auto;transition:transform var(--ff-open) var(--ff-spring) calc(var(--i) * var(--ff-stagger)),opacity .16s ease calc(var(--i) * var(--ff-stagger)),scale .16s var(--ff-ease-out)}.folder-float[data-live] .folder-float__item{cursor:grab;transition:scale .16s var(--ff-ease-out)}.folder-float__item[data-drag]{z-index:2;cursor:grabbing}.folder-float__item:focus-visible{outline:2px solid var(--portfolio-accent, currentColor);outline-offset:3px}.folder-float__drift{display:flex;align-items:center;gap:8px;animation:folder-float-drift 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s);animation-play-state:paused}.folder-float__drift i{position:relative;display:inline-block;width:9px;height:11px;border:1px solid currentColor;opacity:.64}.folder-float__drift i:after{content:"";position:absolute;top:2px;left:2px;width:4px;border-top:1px solid currentColor;box-shadow:0 3px 0 currentColor}.folder-float[data-open] .folder-float__drift{animation-play-state:running}.folder-float[data-physics] .folder-float__drift,.folder-float[data-live] .folder-float__drift{animation:none}.folder-float__item[data-pop]{animation:folder-float-pop .32s var(--ff-ease-out)}@media(hover:hover)and (pointer:fine){.folder-float[data-open] .folder-float__item:hover{scale:1.05}}.folder-float[data-open] .folder-float__item:active{scale:.97}@keyframes folder-float-drift{0%,to{translate:0 0}50%{translate:0 -3px}}@keyframes folder-float-pop{30%{scale:1.1}to{scale:1}}@media(prefers-reduced-motion:reduce){.folder-float__front,.folder-float__paper{transition:opacity .2s ease}.folder-float[data-open] .folder-float__front{transform:perspective(600px) rotateX(calc(-1 * var(--ff-rest)))}.folder-float__paper{transform:none!important}.folder-float__item,.folder-float[data-open] .folder-float__item{transition:opacity .2s ease}.folder-float__drift{animation:none}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.portfolio-root[data-template=technical]{--portfolio-bg: #0f1318;--portfolio-surface: #151b22;--portfolio-text: #edf1f5;--portfolio-muted: #a8b1bb;--portfolio-soft: #707b86;--portfolio-line: #303943;overflow:visible}.portfolio-mode-light[data-template=technical]{--portfolio-bg: #f4f6f8;--portfolio-surface: #e9edf1;--portfolio-text: #17202a;--portfolio-muted: #586575;--portfolio-soft: #778392;--portfolio-line: #cbd3db}.technical-template{--technical-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--technical-accent-soft: color-mix(in srgb, var(--portfolio-accent) 9%, var(--portfolio-bg));position:relative;isolation:isolate;min-height:100vh;overflow:clip;overflow-wrap:anywhere;background:transparent;font-family:var(--portfolio-font-family, var(--technical-mono));font-size:1rem;line-height:1.65}.technical-particle-environment{position:sticky;z-index:0;top:0;width:100%;height:0;overflow:visible;pointer-events:none}.technical-particles{display:block;width:100%;height:100vh;pointer-events:none;opacity:.78}.portfolio-mode-light[data-template=technical] .technical-particles{opacity:.52}.technical-width{position:relative;z-index:1;width:min(1320px,calc(100% - 64px));margin-inline:auto}.technical-template :is(h1,h2,h3,p,ol,ul,dl,figure){margin:0}.technical-template :is(h1,h2,h3){text-wrap:balance}.technical-template :is(main,section){scroll-margin-top:24px}.technical-template a:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:4px}.technical-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:38px auto minmax(180px,1fr) auto;align-items:center;gap:12px;min-height:46px;border-bottom:1px solid var(--portfolio-line);background:color-mix(in srgb,var(--portfolio-bg) 90%,transparent);font-family:var(--technical-mono);font-size:.6875rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.technical-app-mark{display:grid;width:32px;height:32px;place-items:center;color:var(--portfolio-accent)}.technical-app-mark:hover{background:var(--technical-accent-soft)}.technical-top-menu{display:flex;align-items:center;gap:18px;color:var(--portfolio-muted)}.technical-top-menu span{white-space:nowrap}.technical-workspace-title{min-width:0;justify-self:center;padding:6px 18px;border:1px solid var(--portfolio-line);border-radius:3px;color:var(--portfolio-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.technical-workspace-title span{color:var(--portfolio-text)}.technical-topbar>p{color:var(--portfolio-soft);text-transform:uppercase;letter-spacing:.06em}.technical-topbar>.technical-workspace-title{text-transform:none;letter-spacing:0}.technical-shell{display:grid;grid-template-columns:264px minmax(0,1fr)}.technical-index{display:grid;grid-template-columns:44px minmax(0,1fr);min-width:0;border-right:1px solid var(--portfolio-line);background:color-mix(in srgb,var(--portfolio-bg) 88%,transparent)}.technical-activity-rail{position:sticky;top:46px;display:flex;flex-direction:column;align-items:center;align-self:start;gap:8px;min-height:calc(100vh - 46px);padding-top:12px;border-right:1px solid var(--portfolio-line);color:var(--portfolio-soft)}.technical-activity-rail span{position:relative;display:grid;width:43px;height:42px;place-items:center}.technical-activity-rail span[data-active]{color:var(--portfolio-text)}.technical-activity-rail span[data-active]:before{content:"";position:absolute;inset-block:5px;left:0;width:2px;background:var(--portfolio-accent)}.technical-index-sticky{position:sticky;top:46px;align-self:start;min-width:0;max-height:calc(100vh - 46px);padding:14px 10px 42px;overflow-y:auto;scrollbar-width:thin}.technical-explorer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 6px 9px}.technical-explorer-heading>span{color:var(--portfolio-soft);font-size:.75rem;letter-spacing:.12em}.technical-label{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase}.technical-explorer-root{display:flex;align-items:center;gap:7px;padding:8px 7px;border-top:1px solid color-mix(in srgb,var(--portfolio-line) 60%,transparent);color:var(--portfolio-text);font-family:var(--technical-mono);font-size:.6875rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.technical-explorer-root span{color:var(--portfolio-accent);font-size:.875rem}.technical-index ol{display:grid;gap:1px;padding:2px 0 0 9px;list-style:none}.technical-index a{display:grid;grid-template-columns:24px 13px minmax(0,1fr);gap:8px;align-items:baseline;min-height:34px;padding:6px 7px;color:var(--portfolio-muted);font-family:var(--technical-mono);font-size:.8125rem;transition:color .16s ease,transform .16s ease,background-color .16s ease}.technical-index a span{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.625rem}.technical-index a strong{min-width:0;overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.technical-index a i{position:relative;display:inline-block;width:10px;height:12px;translate:0 2px;border:1px solid var(--portfolio-soft);opacity:.74}.technical-index a[data-entry=file] i:after{content:"";position:absolute;top:3px;left:2px;width:4px;border-top:1px solid currentColor;box-shadow:0 3px 0 currentColor}.technical-index a[data-entry=folder] i{height:8px;translate:0 1px;border-radius:1px}.technical-index a[data-entry=folder] i:before{content:"";position:absolute;top:-4px;left:-1px;width:5px;height:3px;border:1px solid var(--portfolio-soft);border-bottom:0}.technical-index a:is(:hover,:focus-visible){background:color-mix(in srgb,var(--portfolio-surface) 74%,transparent);color:var(--portfolio-text);transform:none}.technical-index a:is(:hover,:focus-visible) span{color:var(--portfolio-accent)}.technical-index a[aria-current=location]{background:var(--technical-accent-soft);color:var(--portfolio-text);transform:none;box-shadow:inset 2px 0 var(--portfolio-accent)}.technical-index a[aria-current=location] span{color:var(--portfolio-accent)}.technical-index-meta{display:grid;gap:12px;margin:22px 6px 0;padding-top:18px;border-top:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-size:.6875rem}.technical-index-meta p{display:flex;align-items:flex-start;gap:8px}.technical-index-meta svg{flex:0 0 auto;margin-top:4px}.technical-availability i{width:7px;height:7px;flex:0 0 auto;margin-top:7px;background:var(--portfolio-accent)}.technical-main{min-width:0}.technical-editor-tabs{position:sticky;top:46px;z-index:20;display:flex;align-items:stretch;min-height:40px;border-bottom:1px solid var(--portfolio-line);background:color-mix(in srgb,var(--portfolio-bg) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.technical-tab-list{display:flex;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:thin}.technical-tab{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-right:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-family:var(--technical-mono);font-size:.6875rem;white-space:nowrap}.technical-tab:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:transparent}.technical-tab i{color:#4aa5f0;font-size:.5625rem;font-style:normal;font-weight:600}.technical-tab[data-file=about] i{color:#e3b341}.technical-tab[data-file=projects] i,.technical-tab[data-file=skills] i{color:#b27aef}.technical-tab b{margin-left:3px;color:var(--portfolio-soft);font-size:.75rem;font-weight:400}.technical-tab:is(:hover,:focus-visible){background:color-mix(in srgb,var(--portfolio-surface) 66%,transparent);color:var(--portfolio-text)}.technical-tab[aria-current=page]{background:color-mix(in srgb,var(--portfolio-surface) 80%,transparent);color:var(--portfolio-text)}.technical-tab[aria-current=page]:before{background:var(--portfolio-accent)}.technical-editor-tabs>p{flex:0 0 auto;align-self:center;padding-inline:14px;color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.5625rem;letter-spacing:.05em}.technical-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:clamp(48px,7vw,96px);min-height:610px;align-items:center;padding:72px 0 88px clamp(40px,5vw,76px);border-bottom:1px solid var(--portfolio-line);overflow:hidden}.technical-hero-copy,.technical-profile-sheet{position:relative;z-index:1}.technical-hero-copy{min-width:0}.technical-path{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.75rem}.technical-path span{color:var(--portfolio-accent)}.technical-hero h1{max-width:14ch;margin-top:24px;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;font-size:clamp(3.25rem,6.1cqw,6.1rem);font-weight:600;line-height:.92;letter-spacing:-.075em}.technical-decrypted-name{display:inline;cursor:default}.technical-decrypted-name>span{display:inline;white-space:pre-wrap}.technical-headline{max-width:32ch;margin-top:30px!important;font-size:clamp(1.2rem,2.1cqw,1.7rem);line-height:1.4;letter-spacing:-.035em}.technical-bio{max-width:64ch;margin-top:22px!important;color:var(--portfolio-muted);font-size:.9375rem;white-space:pre-line}.technical-hero .tpl-contact-links{margin-top:26px;gap:8px 24px}.technical-hero .tpl-contact-links a{min-height:44px;padding:0;border:0;background:transparent;color:var(--portfolio-muted);font-size:.8125rem}.technical-hero .tpl-contact-links a:hover{color:var(--portfolio-text)}.technical-profile-sheet{min-width:0;align-self:center;border-top:1px solid var(--portfolio-line)}.technical-photo-frame{position:relative;padding:16px 16px 0 0;transform-origin:70% 50%;transition:transform .48s cubic-bezier(.2,.75,.2,1)}.technical-photo-frame:before,.technical-photo-frame:after{content:"";position:absolute;width:24px;height:24px;pointer-events:none}.technical-photo-frame:before{top:0;right:0;border-top:2px solid var(--portfolio-accent);border-right:2px solid var(--portfolio-accent)}.technical-photo-frame:after{bottom:0;left:0;border-bottom:2px solid var(--portfolio-accent);border-left:2px solid var(--portfolio-accent)}.technical-photo-frame img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center 32%;background:var(--portfolio-surface);filter:saturate(.84) contrast(1.04)}.technical-profile-sheet:hover .technical-photo-frame{transform:translate3d(-5px,-6px,0) rotate(-.6deg)}.technical-profile-sheet dl{margin-top:22px;border-top:1px solid var(--portfolio-line)}.technical-profile-sheet dl div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding-block:11px;border-bottom:1px solid var(--portfolio-line)}.technical-profile-sheet dt{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.625rem;letter-spacing:.06em;text-transform:uppercase}.technical-profile-sheet dd{margin:0;color:var(--portfolio-muted);font-size:.75rem}.technical-system-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-left:clamp(40px,5vw,76px);border-bottom:1px solid var(--portfolio-line)}.technical-system-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-height:82px;padding:22px 24px;border-left:1px solid var(--portfolio-line);transition:background-color .2s ease,transform .3s cubic-bezier(.2,.75,.2,1)}.technical-system-summary>div:hover{background:var(--technical-accent-soft);transform:translateY(-3px)}.technical-system-summary dt{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.625rem;letter-spacing:.06em;text-transform:uppercase}.technical-system-summary dd{margin:0;color:var(--portfolio-text);font-family:var(--technical-mono);font-size:1.1rem}.technical-section{padding:clamp(64px,7vw,96px) 0 clamp(64px,7vw,96px) clamp(40px,5vw,76px);border-bottom:1px solid var(--portfolio-line)}.technical-section-heading{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:42px;padding-bottom:18px;border-bottom:1px solid var(--portfolio-line)}.technical-section-heading>p{color:var(--portfolio-accent);font-family:var(--technical-mono);font-size:.6875rem}.technical-section-heading h2{font-size:clamp(1.8rem,3.2cqw,3.25rem);font-weight:610;line-height:1;letter-spacing:-.055em}.technical-section-heading>span{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.6875rem;text-transform:uppercase}.technical-project-browser{display:grid;grid-template-columns:minmax(190px,.52fr) minmax(0,1.48fr);min-height:440px;border-block:1px solid var(--portfolio-line);background:color-mix(in srgb,var(--portfolio-bg) 86%,transparent)}.technical-project-files{min-width:0;border-right:1px solid var(--portfolio-line)}.technical-project-files>p{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--portfolio-line);color:var(--portfolio-text);font-family:var(--technical-mono);font-size:.6875rem}.technical-project-files>p span{color:var(--portfolio-accent)}.technical-project-files button{display:grid;grid-template-columns:24px 11px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:52px;padding:8px 14px;border:0;border-bottom:1px solid color-mix(in srgb,var(--portfolio-line) 60%,transparent);background:transparent;color:var(--portfolio-muted);text-align:left;cursor:pointer;transition:color .18s ease,background-color .18s ease,padding-left .26s cubic-bezier(.2,.75,.2,1)}.technical-project-files button>span{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.5625rem}.technical-project-files button>i{width:9px;height:11px;border:1px solid currentColor;opacity:.64}.technical-project-files button>strong{min-width:0;overflow:hidden;font-size:.75rem;font-weight:540;text-overflow:ellipsis;white-space:nowrap}.technical-project-files button>em{color:var(--portfolio-accent);font-family:var(--technical-mono);font-size:.5rem;font-style:normal;letter-spacing:.05em;text-transform:uppercase}.technical-project-files button:is(:hover,:focus-visible),.technical-project-files button[aria-pressed=true]{padding-left:19px;background:var(--technical-accent-soft);color:var(--portfolio-text);box-shadow:inset 2px 0 var(--portfolio-accent)}.technical-project-files button:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:-2px}.technical-project-print-list{display:none}.technical-project{display:block;min-width:0;padding:clamp(30px,4vw,54px);animation:technical-file-open .42s cubic-bezier(.2,.75,.2,1) both}.technical-project:hover,.technical-project:focus-within{background:transparent;box-shadow:none;transform:none}.technical-project-heading{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-content:start}.technical-project-heading>span{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.6875rem}.technical-project-heading p{margin-bottom:10px;color:var(--portfolio-accent);font-family:var(--technical-mono);font-size:.625rem;letter-spacing:.07em;text-transform:uppercase}.technical-project h3{font-size:clamp(1.45rem,2.7cqw,2.65rem);font-weight:600;line-height:1.08;letter-spacing:-.05em}.technical-project-content{min-width:0}.technical-project-description{max-width:68ch;margin-top:32px!important;color:var(--portfolio-muted);font-size:1rem;line-height:1.75;white-space:pre-line}.technical-project-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;border-top:1px solid var(--portfolio-line)}.technical-project-specs>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;padding:11px 14px 11px 0;border-bottom:1px solid var(--portfolio-line)}.technical-project-specs dt{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.625rem;letter-spacing:.05em;text-transform:uppercase}.technical-project-specs dd{min-width:0;margin:0;color:var(--portfolio-muted);font-size:.75rem}.technical-project .tpl-project-actions{gap:26px;margin-top:20px}.technical-project .tpl-project-actions a{min-height:44px;color:var(--portfolio-text);font-size:.8125rem;font-weight:600}.technical-project .tpl-project-actions svg{transition:transform .16s ease}.technical-project .tpl-project-actions a:is(:hover,:focus-visible) svg{transform:translate(2px,-2px)}.technical-project-featured{position:relative;background:color-mix(in srgb,var(--portfolio-surface) 68%,transparent);box-shadow:inset 4px 0 var(--portfolio-accent)}.technical-project-featured:after{content:"";position:absolute;top:0;right:0;width:42px;height:2px;background:var(--portfolio-accent);transition:width .48s cubic-bezier(.2,.75,.2,1)}.technical-project-featured:is(:hover,:focus-within):after{width:100%}@keyframes technical-file-open{0%{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}.technical-motion-ready :is(.technical-section-heading,.technical-project-browser,.technical-system-summary>div,.technical-readme-document,.technical-skills-workspace,.technical-history-item,.technical-contact-panel):not(.technical-in-view){transform:translateY(24px)}.technical-motion-ready :is(.technical-section-heading,.technical-project-browser,.technical-system-summary>div,.technical-readme-document,.technical-skills-workspace,.technical-history-item,.technical-contact-panel){transition-duration:.68s;transition-timing-function:cubic-bezier(.2,.75,.2,1)}.technical-readme-document{margin-left:144px;border:1px solid var(--portfolio-line);background:color-mix(in srgb,var(--portfolio-bg) 84%,transparent)}.technical-readme-document header{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding-inline:16px;border-bottom:1px solid var(--portfolio-line);color:var(--portfolio-muted);font-family:var(--technical-mono);font-size:.6875rem}.technical-readme-document header i{width:7px;height:7px;background:var(--portfolio-accent)}.technical-readme-document>p{max-width:72ch;padding:clamp(26px,4vw,46px);color:var(--portfolio-muted);font-size:clamp(1rem,1.5cqw,1.125rem);line-height:1.9;white-space:pre-line}.technical-skills-section .technical-section-heading{margin-bottom:0}.technical-skills-workspace{position:relative;display:grid;place-items:end center;min-height:500px;overflow:visible;border-bottom:1px solid var(--portfolio-line);background:linear-gradient(90deg,transparent calc(50% - .5px),var(--portfolio-line) 50%,transparent calc(50% + .5px))}.technical-skills-workspace:before{content:"INTERACTIVE DIRECTORY";position:absolute;top:22px;right:0;color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.5625rem;letter-spacing:.1em;writing-mode:vertical-rl}.technical-skills-workspace .folder-float{margin-bottom:38px}.technical-skills-instructions{position:absolute;top:28px;left:0;max-width:250px}.technical-skills-instructions p{color:var(--portfolio-text);font-weight:630}.technical-skills-instructions span{display:block;margin-top:7px;color:var(--portfolio-muted);font-size:.75rem}.technical-skill-readout{position:absolute;right:0;bottom:34px;display:grid;gap:3px;max-width:180px;color:var(--portfolio-muted);font-family:var(--technical-mono);font-size:.6875rem;text-align:right}.technical-skill-readout span{color:var(--portfolio-accent);font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase}.technical-history{margin-left:144px;border-top:1px solid var(--portfolio-line)}.technical-history-item{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);border-bottom:1px solid var(--portfolio-line);background:color-mix(in srgb,var(--portfolio-bg) 88%,transparent);transition:background-color .18s ease,box-shadow .18s ease}.technical-history-item:is(:hover,:focus-within){background:var(--technical-accent-soft);box-shadow:inset 2px 0 var(--portfolio-accent)}.technical-history-marker{display:grid;grid-template-columns:auto 8px;align-content:start;gap:9px 12px;padding:25px 20px;border-right:1px solid var(--portfolio-line);color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.625rem}.technical-history-marker>span{color:var(--portfolio-text);font-size:.75rem;font-weight:600}.technical-history-marker i{align-self:center;width:7px;height:7px;background:var(--portfolio-accent);box-shadow:0 0 0 4px var(--technical-accent-soft)}.technical-history-content{padding:22px clamp(22px,3vw,36px) 26px}.technical-history-content header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 24px}.technical-history-content h3{font-size:clamp(1.15rem,1.8cqw,1.55rem);font-weight:600;line-height:1.25;letter-spacing:-.035em}.technical-history-content header div>span{display:block;margin-top:5px;color:var(--portfolio-muted);font-size:.75rem}.technical-history-content time{color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.6875rem;text-align:right}.technical-history-content>p{max-width:68ch;margin-top:14px!important;color:var(--portfolio-muted);font-size:.8125rem;line-height:1.7;white-space:pre-line}.technical-history-content>a{display:inline-flex;gap:7px;align-items:center;min-height:36px;margin-top:9px;color:var(--portfolio-text);font-size:.6875rem;font-weight:600}.technical-history-content>a:hover{color:var(--portfolio-accent)}.technical-contact>div{margin-left:144px}.technical-contact-panel{position:relative;padding:clamp(26px,4vw,44px);border:1px solid var(--portfolio-line);background:color-mix(in srgb,var(--portfolio-bg) 82%,transparent)}.technical-contact-panel:after{content:"";position:absolute;top:-1px;right:-1px;width:48px;height:2px;background:var(--portfolio-accent)}.technical-contact-panel>p:not(.technical-contact-label){max-width:64ch;color:var(--portfolio-muted);font-size:1.0625rem;line-height:1.75;white-space:pre-line}.technical-contact-label{margin-bottom:14px!important;color:var(--portfolio-accent);font-family:var(--technical-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase}.technical-contact .tpl-contact-links{margin-top:28px;gap:12px}.technical-contact .tpl-contact-links a{min-height:44px;border-radius:0;padding:8px 14px;color:var(--portfolio-text);font-size:.8125rem}.technical-contact .tpl-contact-links a:is(:hover,:focus-visible){border-color:var(--portfolio-accent);background:var(--technical-accent-soft);transform:none}.technical-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;padding-block:14px;border-top:1px solid var(--portfolio-line);background:color-mix(in srgb,var(--portfolio-bg) 92%,transparent);color:var(--portfolio-soft);font-family:var(--technical-mono);font-size:.6875rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.technical-footer>span:first-child{display:inline-flex;align-items:center;gap:8px;color:var(--portfolio-text)}.technical-footer>span:first-child i{width:7px;height:7px;background:var(--portfolio-accent)}.technical-footer a:hover{color:var(--portfolio-text)}.portfolio-font-mono .technical-hero h1{font-size:clamp(2.9rem,6.2cqw,5.8rem);letter-spacing:-.065em}@container (max-width: 940px){.technical-width{width:calc(100% - 40px)}.technical-shell{grid-template-columns:236px minmax(0,1fr)}.technical-index-sticky{padding-inline:8px}.technical-hero{grid-template-columns:minmax(0,1fr) 200px;gap:36px;padding-left:36px}.technical-section,.technical-system-summary{padding-left:36px}.technical-system-summary>div{padding-inline:16px}.technical-project-browser{grid-template-columns:minmax(170px,.48fr) minmax(0,1.52fr)}.technical-project{padding-inline:28px}.technical-readme-document,.technical-history,.technical-contact>div{margin-left:0}}@container (max-width: 720px){.technical-width{width:calc(100% - 32px)}.technical-topbar{min-height:58px}.technical-top-menu,.technical-topbar>p:last-child{display:none}.technical-topbar{grid-template-columns:38px minmax(0,1fr)}.technical-workspace-title{justify-self:stretch;text-align:center}.technical-shell{display:block}.technical-index,.technical-activity-rail{display:none}.technical-index-sticky{position:static;padding:14px 0}.technical-explorer-heading,.technical-index-sticky>.technical-explorer-root,.technical-index-meta{display:none}.technical-index ol{display:flex;gap:20px;padding:0;overflow-x:auto;scrollbar-width:thin}.technical-index li{flex:0 0 auto}.technical-index a{display:flex;grid-template-columns:none;gap:7px;min-height:40px;padding-inline:5px;white-space:nowrap}.technical-index a i{display:none}.technical-index a:is(:hover,:focus-visible),.technical-index a[aria-current=location]{transform:none}.technical-editor-tabs{top:58px}.technical-editor-tabs>p{display:none}.technical-tab[data-file=top]{position:sticky;left:0;z-index:2;background:color-mix(in srgb,var(--portfolio-bg) 96%,transparent)}.technical-hero{grid-template-columns:1fr;gap:36px;min-height:0;padding:52px 0 60px}.technical-hero h1,.portfolio-font-mono .technical-hero h1{max-width:100%;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;font-size:clamp(2.55rem,11.5cqw,4.15rem)}.technical-headline{font-size:1.125rem}.technical-profile-sheet{display:grid;grid-template-columns:112px minmax(0,1fr);gap:22px;align-items:start}.technical-photo-frame{padding:8px 8px 0 0}.technical-photo-frame:before,.technical-photo-frame:after{width:14px;height:14px}.technical-photo-frame:after{bottom:0}.technical-profile-sheet dl{margin-top:0}.technical-profile-sheet dl div{grid-template-columns:76px minmax(0,1fr)}.technical-system-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0}.technical-system-summary>div{min-height:68px;border-bottom:1px solid var(--portfolio-line)}.technical-section{padding:56px 0}.technical-section-heading{grid-template-columns:1fr auto;gap:8px 16px;margin-bottom:30px}.technical-section-heading>p{grid-column:1 / -1}.technical-section-heading h2{font-size:2rem}.technical-section-heading>span{align-self:end}.technical-project-browser{display:block;min-height:0}.technical-project-files{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--portfolio-line);scrollbar-width:thin}.technical-project-files>p{display:none}.technical-project-files button{flex:0 0 min(230px,72vw);border-right:1px solid var(--portfolio-line);border-bottom:0}.technical-project{padding:30px 20px}.technical-project:hover,.technical-project:focus-within{padding-inline:20px;transform:none}.technical-project-featured{padding-inline:20px}.technical-project-heading{grid-template-columns:28px minmax(0,1fr)}.technical-project-specs{grid-template-columns:1fr}.technical-skills-workspace{min-height:480px}.technical-skills-instructions{top:22px}.technical-skill-readout{bottom:26px;max-width:130px}.technical-history-item{grid-template-columns:1fr}.technical-history-marker{grid-template-columns:auto 7px;justify-content:start;align-items:center;gap:10px;padding:14px 18px;border-right:0;border-bottom:1px solid var(--portfolio-line)}.technical-history-content{padding:20px 18px 24px}.technical-history-content header{grid-template-columns:1fr;gap:8px}.technical-history-content time{text-align:left}}@container (max-width: 440px){.technical-profile-sheet{grid-template-columns:92px minmax(0,1fr);gap:16px}.technical-profile-sheet dl div{display:block}.technical-profile-sheet dd{margin-top:3px}.technical-skills-workspace .folder-float{scale:.86;transform-origin:50% 100%}.technical-skills-instructions span{max-width:210px}.technical-section-heading>span{display:none}.technical-section-heading{grid-template-columns:1fr}.technical-project-files button{flex-basis:82vw}.technical-history-marker,.technical-history-content{padding-inline:14px}}@media(prefers-reduced-motion:reduce){.technical-template *,.technical-template *:before,.technical-template *:after{animation:none!important;transition:none!important}.technical-index a:is(:hover,:focus-visible),.technical-project .tpl-project-actions a:is(:hover,:focus-visible) svg{transform:none}}@media print{.technical-width{width:100%;max-width:none}.technical-topbar{min-height:0;padding-bottom:4mm}.technical-particles{display:none}.technical-shell{display:block}.technical-index{display:none}.technical-hero{grid-template-columns:minmax(0,1fr) 38mm;min-height:0;gap:8mm;padding:8mm 0 12mm}.technical-hero h1,.portfolio-font-mono .technical-hero h1{font-size:34pt}.technical-headline{font-size:13pt}.technical-bio{font-size:9pt}.technical-photo-frame{padding:2mm 2mm 0 0}.technical-profile-sheet dl div{grid-template-columns:22mm minmax(0,1fr);padding-block:2mm}.technical-system-summary{grid-template-columns:repeat(4,minmax(0,1fr));padding-left:0}.technical-system-summary>div{min-height:0;padding:3mm}.technical-editor-tabs{display:none}.technical-section{padding:9mm 0}.technical-section-heading{margin-bottom:5mm;padding-bottom:3mm}.technical-project-browser>.technical-project,.technical-project-files{display:none}.technical-project-print-list{display:block}.technical-project{display:grid;grid-template-columns:42mm minmax(0,1fr);gap:7mm;padding:6mm 0;border-bottom:1px solid var(--portfolio-line);animation:none;break-inside:avoid-page}.technical-project-featured{padding-inline:5mm}.technical-project h3{font-size:18pt}.technical-project-description,.technical-prose-section>p,.technical-contact>div>p,.technical-timeline-section .tpl-timeline-description{font-size:9pt}.technical-project-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.technical-readme-document,.technical-history,.technical-contact>div{margin-left:0}.technical-readme-document{border:0}.technical-readme-document header{display:none}.technical-readme-document>p{padding:0}.technical-history-item{break-inside:avoid-page}.technical-skills-workspace{display:block;min-height:0;border:0;background:none}.technical-skills-instructions,.technical-skill-readout,.technical-skills-workspace:before,.technical-skills-workspace .folder-float__folder{display:none}.technical-skills-workspace .folder-float{display:block;width:auto;margin:0;padding:0}.technical-skills-workspace .folder-float__items{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm;width:auto;height:auto}.technical-skills-workspace .folder-float__item{position:static;height:auto;padding:2mm;border:1px solid var(--portfolio-line);background:transparent;color:var(--portfolio-text);box-shadow:none;opacity:1;transform:none;pointer-events:none}.technical-skills{grid-template-columns:repeat(3,minmax(0,1fr))}.technical-timeline-section .tpl-timeline-item{break-inside:avoid-page}.technical-template :is(.tpl-project-actions a,.tpl-contact-links a,.tpl-inline-link){min-height:0}.technical-template :is(h2,h3){break-after:avoid-page}.technical-template p{orphans:3;widows:3}.technical-footer{padding-block:4mm 0}}.portfolio-root[data-template=brutalist]{--portfolio-bg: #ffd93d;--portfolio-surface: #a8e6cf;--portfolio-text: #171717;--portfolio-muted: #38372f;--portfolio-soft: #5a5745;--portfolio-line: #171717;--neo-tile-line: rgb(23 23 23 / .24);--neo-tile-fill: #ff6b9d;overflow:visible}.portfolio-mode-dark[data-template=brutalist]{--portfolio-bg: #e46750;--portfolio-surface: #f2aa90;--portfolio-text: #211c19;--portfolio-muted: #392721;--portfolio-soft: #503127;--portfolio-line: #211c19;--neo-tile-line: rgb(33 28 25 / .16);--neo-tile-fill: #f4b942}.brutalist-template{--neo-ink: #171717;--neo-primary: var(--portfolio-accent, #ffeb3b);--neo-secondary: #ff6b9d;--neo-tertiary: #66d9ef;--neo-mint: #a8e6cf;--neo-paper: var(--portfolio-bg);--neo-card: var(--portfolio-surface);--neo-radius: 8px;--neo-shadow: 6px 6px 0 var(--neo-ink);--brutalist-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;position:relative;min-height:100vh;overflow:clip;background-color:var(--neo-paper);color:var(--portfolio-text);font-family:var(--portfolio-font-family, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)}.brutalist-template:after{content:"";position:absolute;z-index:0;inset:0;border:5px solid var(--neo-ink);pointer-events:none}.brutalist-template :is(h1,h2,h3,p,figure,dl,ol){margin:0}.brutalist-template :is(a,button):focus-visible{outline:3px solid var(--neo-tertiary);outline-offset:4px}.brutalist-main,.brutalist-nav,.brutalist-footer{position:relative;z-index:1;width:min(1280px,calc(100% - 48px));margin-inline:auto}.brutalist-tile-field{position:absolute;z-index:0;inset:0;overflow:visible;pointer-events:none}.brutalist-tile-sticky{position:sticky;top:0;height:100vh;min-height:640px;overflow:hidden;pointer-events:none}.brutalist-tiles{--tile: var(--neo-tile-fill);position:absolute;top:50%;left:50%;width:max-content;height:max-content;opacity:.72;transform:translate(-50%,-50%) rotate(-2deg) scale(1.08);pointer-events:none}.brutalist-background-tile{border-color:var(--neo-tile-line)!important}.brutalist-scroll-progress{position:sticky;z-index:160;top:0;width:100%;height:10px;border-bottom:3px solid var(--neo-ink);background:var(--neo-ink);overflow:hidden}.brutalist-scroll-progress i{display:block;width:100%;height:100%;background:var(--neo-primary);transform:scaleX(0);transform-origin:left center;animation:neo-scroll-progress linear both;animation-timeline:scroll()}.brutalist-nav{position:sticky;z-index:100;top:18px;display:grid;grid-template-columns:82px minmax(180px,1fr) auto 56px;min-height:64px;margin-top:16px;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-card);color:var(--portfolio-text);box-shadow:4px 4px 0 var(--neo-ink);font-size:.75rem}.brutalist-mark,.brutalist-jump{display:flex;align-items:center;justify-content:center;color:var(--neo-ink)}.brutalist-mark{border-right:3px solid var(--neo-ink);border-radius:5px 0 0 5px;background:var(--neo-primary)}.brutalist-mark span{font-size:1.35rem;font-weight:900;letter-spacing:-.06em}.brutalist-handle{align-self:center;padding:0 20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--brutalist-mono);font-size:.6875rem}.brutalist-nav nav{display:flex;align-items:stretch;border-left:3px solid var(--neo-ink)}.brutalist-nav nav a{display:flex;align-items:center;min-height:58px;padding:0 16px;border-right:2px solid var(--neo-ink);font-weight:650}.brutalist-nav nav a:is(:hover,:focus-visible){background:var(--neo-secondary);color:var(--neo-ink)}.brutalist-nav nav a[aria-current=location]{background:var(--neo-primary);color:var(--neo-ink)}.brutalist-template:has(#projects:target) .brutalist-nav a[href="#projects"],.brutalist-template:has(#about:target) .brutalist-nav a[href="#about"],.brutalist-template:has(#skills:target) .brutalist-nav a[href="#skills"],.brutalist-template:has(#experience:target) .brutalist-nav a[href="#experience"],.brutalist-template:has(#education:target) .brutalist-nav a[href="#education"],.brutalist-template:has(#certifications:target) .brutalist-nav a[href="#certifications"],.brutalist-template:has(#achievements:target) .brutalist-nav a[href="#achievements"],.brutalist-template:has(#contact:target) .brutalist-nav a[href="#contact"]{background:var(--neo-primary);color:var(--neo-ink)}.brutalist-jump{border-radius:0 5px 5px 0;background:var(--neo-tertiary)}.brutalist-jump svg{transition:transform .22s ease-out}.brutalist-jump:hover svg{transform:translate(3px,3px)}.brutalist-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:clamp(32px,6vw,76px);min-height:min(760px,calc(100dvh - 96px));padding:clamp(72px,9vw,120px) 0 clamp(64px,8vw,104px)}.brutalist-hero-copy{min-width:0}.brutalist-register{display:flex;justify-content:space-between;gap:20px;max-width:680px;padding-bottom:12px;border-bottom:3px solid var(--portfolio-text);font-family:var(--brutalist-mono);font-size:.75rem;font-weight:600;letter-spacing:.04em}.brutalist-role{display:inline-flex;margin-top:28px!important;padding:9px 12px;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-secondary);color:var(--neo-ink);box-shadow:4px 4px 0 var(--neo-ink);font-size:.75rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;transform:rotate(-1deg)}.brutalist-hero h1{display:flex;flex-wrap:wrap;gap:0 .22em;max-width:760px;margin-top:30px;font-size:clamp(2.75rem,5cqw,4.5rem);font-weight:850;line-height:.94;letter-spacing:-.055em}.brutalist-hero h1 span{display:inline-block;white-space:nowrap;animation:neo-enter .42s ease-out both}.brutalist-hero h1 span:nth-child(2){animation-delay:80ms}.brutalist-hero h1 span:nth-child(3){animation-delay:.16s}.brutalist-headline{max-width:720px;margin-top:26px!important;font-size:clamp(1.25rem,2.2cqw,1.85rem);font-weight:700;line-height:1.18;letter-spacing:-.03em}.brutalist-bio{max-width:72ch;margin-top:18px!important;color:var(--portfolio-muted);font-size:1rem;line-height:1.6}.brutalist-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.brutalist-links a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 15px;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-card);color:var(--portfolio-text);box-shadow:4px 4px 0 var(--neo-ink);font-size:.75rem;font-weight:700;transition:transform .22s ease-out,box-shadow .22s ease-out,background-color .22s ease-out}.brutalist-links a:is(:hover,:focus-visible){background:var(--neo-primary);color:var(--neo-ink);box-shadow:7px 7px 0 var(--neo-ink);transform:translate(-2px,-2px)}.brutalist-links a:active{box-shadow:2px 2px 0 var(--neo-ink);transform:translate(2px,2px)}.brutalist-profile-poster{min-width:0;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-primary);color:var(--neo-ink);box-shadow:10px 10px 0 var(--neo-ink);transform:rotate(1deg);animation:neo-enter .42s .12s ease-out both}.brutalist-poster-label{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:3px solid var(--neo-ink);font-family:var(--brutalist-mono);font-size:.75rem;font-weight:600}.brutalist-profile-poster figure{height:clamp(330px,40vw,510px);overflow:hidden;border-bottom:3px solid var(--neo-ink);background:var(--neo-tertiary)}.brutalist-profile-poster img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.82) contrast(1.06);transition:transform .26s ease-out,filter .26s ease-out}.brutalist-profile-poster:hover img{filter:saturate(1) contrast(1);transform:scale(1.025)}.brutalist-monogram{display:grid;min-height:380px;place-items:center;border-bottom:3px solid var(--neo-ink);background:var(--neo-tertiary);color:var(--neo-ink);font-size:8rem;font-weight:900}.brutalist-profile-poster dl{background:var(--neo-primary)}.brutalist-profile-poster dl>div{display:grid;grid-template-columns:90px 1fr;min-height:56px;border-bottom:2px solid var(--neo-ink)}.brutalist-profile-poster dl>div:last-child{border-bottom:0}.brutalist-profile-poster dt,.brutalist-profile-poster dd{display:flex;align-items:center;margin:0;padding:12px;font-family:var(--brutalist-mono);font-size:.75rem}.brutalist-profile-poster dt{border-right:2px solid var(--neo-ink);font-weight:650}.brutalist-profile-poster dd{gap:6px;overflow-wrap:anywhere}.brutalist-section{padding-top:clamp(64px,8vw,108px);scroll-margin-top:96px}.brutalist-section-heading{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:36px}.brutalist-section-heading>span{display:grid;width:64px;height:58px;place-items:center;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-primary);color:var(--neo-ink);box-shadow:4px 4px 0 var(--neo-ink);font-family:var(--brutalist-mono);font-weight:700}.brutalist-section-heading h2{font-size:clamp(2.25rem,4cqw,4rem);font-weight:850;line-height:.98;letter-spacing:-.05em;overflow-wrap:anywhere}.brutalist-section-heading p{padding:9px 12px;border:2px solid var(--portfolio-text);border-radius:var(--neo-radius);font-family:var(--brutalist-mono);font-size:.7rem;font-weight:600;white-space:nowrap}.brutalist-projects{display:grid;gap:34px}.brutalist-project{display:grid;grid-template-columns:112px minmax(0,1fr) 150px;width:86%;min-height:250px;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-card);color:var(--portfolio-text);box-shadow:var(--neo-shadow);overflow:hidden;animation:neo-enter .42s ease-out both;transition:transform .22s ease-out,box-shadow .22s ease-out}.brutalist-project:nth-child(2n){justify-self:end}.brutalist-project:nth-child(2){animation-delay:80ms}.brutalist-project:nth-child(3){animation-delay:.16s}.brutalist-project:nth-child(4){animation-delay:.24s}.brutalist-project:nth-child(4n+2){background:var(--neo-tertiary);color:var(--neo-ink)}.brutalist-project:nth-child(4n+3){background:var(--neo-secondary);color:var(--neo-ink)}.brutalist-project:nth-child(4n+4){background:var(--neo-mint);color:var(--neo-ink)}.brutalist-project:is(:hover,:focus-within){box-shadow:10px 10px 0 var(--neo-ink);transform:translate(-3px,-3px)}.brutalist-project>*{padding:24px;border-right:3px solid var(--neo-ink)}.brutalist-project>*:last-child{border-right:0}.brutalist-project-index{display:flex;flex-direction:column;justify-content:space-between;gap:20px;color:inherit}.brutalist-project-index>span{font-size:clamp(2.7rem,5cqw,4.5rem);font-weight:850;line-height:.9;letter-spacing:-.07em}.brutalist-project-index strong{font-family:var(--brutalist-mono);font-size:.68rem}.brutalist-project-copy{display:flex;flex-direction:column;justify-content:center}.brutalist-project-copy h3{max-width:760px;font-size:clamp(1.75rem,3.2cqw,3.2rem);font-weight:800;line-height:.98;letter-spacing:-.045em;overflow-wrap:anywhere}.brutalist-project-copy>p{max-width:72ch;margin-top:16px!important;color:color-mix(in srgb,currentColor 72%,transparent);font-size:1rem;line-height:1.6}.brutalist-project-stack{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:20px;font-family:var(--brutalist-mono);font-size:.7rem;font-weight:600}.brutalist-project-stack span:before{content:"+ ";font-weight:900}.brutalist-project-data{display:flex;flex-direction:column;gap:12px;font-family:var(--brutalist-mono);font-size:.7rem}.brutalist-project-data span{display:flex;align-items:center;gap:6px}.brutalist-project-links{grid-column:2 / -1;display:flex;gap:10px;padding:16px 24px;border-top:3px solid var(--neo-ink);border-right:0}.brutalist-project-links a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 12px;border:2px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-ink);color:#f6f1da;box-shadow:3px 3px color-mix(in srgb,var(--neo-ink) 62%,transparent);font-size:.72rem;font-weight:750}.brutalist-project-links a:is(:hover,:focus-visible){box-shadow:1px 1px 0 var(--neo-ink);transform:translate(2px,2px)}.brutalist-project-featured{width:100%;background:var(--neo-primary);color:var(--brutalist-accent-ink)}.brutalist-about{display:grid;grid-template-columns:104px minmax(0,1fr) 170px;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-secondary);color:var(--neo-ink);box-shadow:var(--neo-shadow);overflow:hidden}.brutalist-about>*{padding:clamp(24px,4vw,54px);border-right:3px solid var(--neo-ink)}.brutalist-about>*:last-child{border-right:0}.brutalist-about>span{font-size:clamp(4rem,8cqw,8rem);font-weight:900;line-height:.7}.brutalist-about>p{align-self:center;max-width:72ch;font-size:clamp(1.35rem,2.4cqw,2.25rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.brutalist-about>strong{display:flex;align-items:flex-end;font-family:var(--brutalist-mono);font-size:.72rem;overflow-wrap:anywhere}.brutalist-skills{display:grid;grid-template-columns:1.18fr .82fr;gap:16px;list-style:none;padding:0}.brutalist-skills li{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;min-height:88px;padding:16px 18px;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-card);box-shadow:4px 4px 0 var(--neo-ink);transition:transform .22s ease-out,box-shadow .22s ease-out,background-color .22s ease-out}.brutalist-skills li:nth-child(4n+2){background:var(--neo-tertiary);color:var(--neo-ink)}.brutalist-skills li:nth-child(4n+3){background:var(--neo-secondary);color:var(--neo-ink)}.brutalist-skills li:nth-child(4n+4){background:var(--neo-mint);color:var(--neo-ink)}.brutalist-skills li:is(:hover,:focus-within){background:var(--neo-primary);color:var(--brutalist-accent-ink);box-shadow:7px 7px 0 var(--neo-ink);transform:translate(-2px,-2px)}.brutalist-skills span{font-family:var(--brutalist-mono);font-size:.7rem}.brutalist-skills strong{font-size:clamp(1rem,1.6cqw,1.35rem);overflow-wrap:anywhere}.brutalist-records{display:grid;gap:22px}.brutalist-records article{display:grid;grid-template-columns:74px minmax(200px,.7fr) minmax(280px,1fr) 150px;min-height:160px;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-card);box-shadow:5px 5px 0 var(--neo-ink);overflow:hidden;transition:transform .22s ease-out,box-shadow .22s ease-out}.brutalist-records article:nth-child(3n+2){margin-left:clamp(0px,5vw,70px);background:var(--neo-tertiary);color:var(--neo-ink)}.brutalist-records article:nth-child(3n){margin-right:clamp(0px,5vw,70px);background:var(--neo-mint);color:var(--neo-ink)}.brutalist-records article:is(:hover,:focus-within){box-shadow:8px 8px 0 var(--neo-ink);transform:translate(-2px,-2px)}.brutalist-records article>*{padding:20px;border-right:3px solid var(--neo-ink)}.brutalist-records article>*:last-child{border-right:0}.brutalist-record-number{font-family:var(--brutalist-mono);font-weight:700}.brutalist-record-title h3{font-size:clamp(1.25rem,2.2cqw,2rem);line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}.brutalist-record-title p,.brutalist-record-description{margin-top:10px!important;color:color-mix(in srgb,currentColor 72%,transparent);font-size:.9rem;line-height:1.6}.brutalist-record-meta{display:flex;flex-direction:column;justify-content:space-between;gap:16px;font-family:var(--brutalist-mono);font-size:.7rem}.brutalist-record-meta a{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.brutalist-empty{padding:34px 28px;border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-primary);color:var(--brutalist-accent-ink);box-shadow:var(--neo-shadow);font-family:var(--brutalist-mono);font-size:.75rem}.brutalist-contact{position:relative;display:grid;grid-template-columns:94px minmax(0,1fr) 150px;min-height:440px;margin-top:clamp(72px,10vw,130px);border:3px solid var(--neo-ink);border-radius:var(--neo-radius);background:var(--neo-primary);color:var(--brutalist-accent-ink);box-shadow:10px 10px 0 var(--neo-ink);overflow:hidden}.brutalist-contact>*{border-right:3px solid var(--neo-ink)}.brutalist-contact>*:last-child{border-right:0}.brutalist-contact-index{display:flex;flex-direction:column;justify-content:space-between;padding:20px;font-family:var(--brutalist-mono);font-size:.7rem}.brutalist-contact-index span:first-child{font-size:1.5rem;font-weight:700}.brutalist-contact-copy{align-self:center;padding:clamp(32px,6vw,72px)}.brutalist-contact-copy h2{max-width:900px;font-size:clamp(2.75rem,5cqw,5rem);font-weight:850;line-height:.93;letter-spacing:-.055em;overflow-wrap:anywhere}.brutalist-contact-copy>p{max-width:72ch;margin-top:24px!important;font-size:1rem;line-height:1.6}.brutalist-contact .brutalist-links{align-items:flex-start}.brutalist-contact .brutalist-links a{background:var(--neo-tertiary);color:var(--neo-ink);transform:rotate(-1deg)}.brutalist-contact .brutalist-links a:nth-child(2){background:var(--neo-mint);transform:rotate(1deg)}.brutalist-contact .brutalist-links a:nth-child(3){background:var(--neo-secondary);transform:rotate(-.5deg)}.brutalist-contact .brutalist-links a:is(:hover,:focus-visible){box-shadow:8px 8px 0 var(--neo-ink);transform:rotate(0) translate(-3px,-3px)}.brutalist-contact-return{display:grid;place-items:center;color:inherit}.brutalist-contact-arrow{align-self:center;justify-self:center;width:76px;height:76px;stroke-width:1.5;transition:transform .22s ease-out}.brutalist-contact-return:is(:hover,:focus-visible) .brutalist-contact-arrow{transform:translate(8px,-8px)}.brutalist-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;min-height:90px;margin-top:42px;font-family:var(--brutalist-mono);font-size:.7rem}.brutalist-footer .tpl-attribution{justify-self:end}@keyframes neo-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes neo-scroll-progress{to{transform:scaleX(1)}}@container (max-width: 980px){.brutalist-nav{grid-template-columns:72px 1fr 54px}.brutalist-nav nav{display:none}.brutalist-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.65fr)}.brutalist-project{width:94%;grid-template-columns:94px minmax(0,1fr) 130px}.brutalist-records article{grid-template-columns:64px minmax(210px,.75fr) 1.25fr}.brutalist-record-meta{grid-column:2 / -1;flex-direction:row;border-top:3px solid var(--neo-ink)}}@container (max-width: 768px){.brutalist-template{--neo-tile-line: rgb(23 23 23 / .19)}.portfolio-mode-dark[data-template=brutalist] .brutalist-template{--neo-tile-line: rgb(33 28 25 / .16)}.brutalist-tiles{opacity:.62;transform:translate(-50%,-50%) rotate(-2deg) scale(1.04)}.brutalist-main,.brutalist-nav,.brutalist-footer{width:calc(100% - 24px)}.brutalist-nav{top:14px;min-height:58px;margin-top:8px;grid-template-columns:62px minmax(0,1fr) 48px}.brutalist-handle{padding-inline:12px;font-size:.6rem}.brutalist-hero{grid-template-columns:1fr;min-height:0;padding:62px 0 72px}.brutalist-hero h1{font-size:clamp(2.75rem,14cqw,4rem)}.brutalist-profile-poster{width:calc(100% - 8px);transform:rotate(.5deg)}.brutalist-profile-poster figure{height:min(112vw,500px)}.brutalist-section{padding-top:72px}.brutalist-section-heading{grid-template-columns:62px minmax(0,1fr);gap:14px;margin-bottom:28px}.brutalist-section-heading>span{width:56px;height:52px}.brutalist-section-heading h2{font-size:clamp(2rem,10cqw,3rem)}.brutalist-section-heading p{grid-column:1 / -1;justify-self:start}.brutalist-project,.brutalist-project:nth-child(2n){width:calc(100% - 7px);justify-self:start;grid-template-columns:70px minmax(0,1fr)}.brutalist-project>*{padding:18px 14px}.brutalist-project-index{grid-row:1 / span 2}.brutalist-project-index>span{font-size:2.8rem;writing-mode:vertical-rl;transform:rotate(180deg)}.brutalist-project-copy{border-right:0}.brutalist-project-data{grid-column:2;flex-direction:row;flex-wrap:wrap;border-top:3px solid var(--neo-ink);border-right:0}.brutalist-project-links{grid-column:1 / -1;flex-wrap:wrap}.brutalist-project-links a{flex:1 1 130px}.brutalist-about{grid-template-columns:64px minmax(0,1fr)}.brutalist-about>*{padding:20px 16px}.brutalist-about>span{font-size:4.5rem}.brutalist-about>strong{grid-column:1 / -1;min-height:58px;border-top:3px solid var(--neo-ink);border-right:0}.brutalist-skills{grid-template-columns:1fr}.brutalist-skills li{min-height:76px}.brutalist-records article,.brutalist-records article:nth-child(2n),.brutalist-records article:nth-child(3n){grid-template-columns:58px minmax(0,1fr);margin-right:0;margin-left:0}.brutalist-records article>*{padding:16px 14px}.brutalist-record-number{grid-row:1 / span 2}.brutalist-record-title{border-right:0!important}.brutalist-record-description{grid-column:2;border-top:3px solid var(--neo-ink);border-right:0!important}.brutalist-record-meta{grid-column:1 / -1}.brutalist-contact{grid-template-columns:62px minmax(0,1fr);min-height:420px}.brutalist-contact-copy{padding:34px 18px;border-right:0}.brutalist-contact-copy h2{font-size:clamp(2.5rem,13cqw,4rem)}.brutalist-contact-return{grid-column:1 / -1;min-height:72px;border-top:3px solid var(--neo-ink);border-right:0}.brutalist-contact-arrow{width:44px;height:44px}.brutalist-footer{grid-template-columns:1fr auto;min-height:78px}.brutalist-footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){.brutalist-template *{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.portfolio-root[data-template=brutalist]{--portfolio-bg: #fff;--portfolio-surface: #fff;--portfolio-text: #171717;--portfolio-muted: #333;--portfolio-soft: #555;overflow:visible}.brutalist-tile-field,.brutalist-scroll-progress,.brutalist-nav{position:static;display:none}.brutalist-main,.brutalist-footer{width:100%}.brutalist-hero{min-height:250mm;break-after:page}.brutalist-section,.brutalist-project,.brutalist-records article,.brutalist-contact{break-inside:avoid}.brutalist-template *{animation:none!important}.brutalist-project-featured,.brutalist-contact,.brutalist-section-heading>span,.brutalist-role{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@layer components{.text-animation-stage{width:100%;display:block}.landing-hero-text-animation{min-height:2.94em;display:block}.text-animation-title{pointer-events:none;font:inherit;line-height:inherit;margin:0}.text-animation-unit{white-space:pre;will-change:transform,opacity,filter;display:inline-block}.text-animation-unit.whitespace{will-change:auto}}@media(max-width:640px){.landing-hero-text-animation{min-height:3.92em}}.text-loop{position:relative;width:100%;overflow:hidden}.text-loop-svg{display:block;width:100%;height:clamp(92px,12vw,142px)}.text-loop-text{-webkit-user-select:none;user-select:none}.text-loop-measure{visibility:hidden;pointer-events:none}@media(max-width:640px){.text-loop-svg{height:112px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-300:oklch(87.9% .169 91.605);--color-emerald-400:oklch(76.5% .177 163.223);--color-rose-300:oklch(81% .117 11.638);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-neutral-200:oklch(92.2% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-1\/2{top:50%}.left-0{left:0}.left-3{left:calc(var(--spacing) * 3)}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.\!container{width:100%!important}@media(min-width:40rem){.\!container{max-width:40rem!important}}@media(min-width:48rem){.\!container{max-width:48rem!important}}@media(min-width:64rem){.\!container{max-width:64rem!important}}@media(min-width:80rem){.\!container{max-width:80rem!important}}@media(min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.max-h-72{max-height:calc(var(--spacing) * 72)}.min-h-\[700px\]{min-height:700px}.min-h-screen{min-height:100vh}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[1600px\]{max-width:1600px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.scroll-mt-8{scroll-margin-top:calc(var(--spacing) * 8)}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-white\/10>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){:where(.divide-white\/10>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-neutral-200{border-color:var(--color-neutral-200)}.border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/8{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-\[\#0b0d10\]{background-color:#0b0d10}.bg-\[\#0b0d10\]\/90{background-color:#0b0d10e6}.bg-\[\#0e1014\]{background-color:#0e1014}.bg-\[\#000000\]{background-color:#000}.bg-\[\#090a0d\]{background-color:#090a0d}.bg-\[\#111318\]{background-color:#111318}.bg-\[\#161618\]{background-color:#161618}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-transparent{background-color:#0000}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/\[0\.025\]{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.025\]{background-color:color-mix(in oklab,var(--color-white) 2.5%,transparent)}}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pr-1{padding-right:var(--spacing)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-left{text-align:left}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-9{--tw-leading:calc(var(--spacing) * 9);line-height:calc(var(--spacing) * 9)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.055em\]{--tw-tracking:-.055em;letter-spacing:-.055em}.tracking-\[0\.13em\]{--tw-tracking:.13em;letter-spacing:.13em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-amber-300{color:var(--color-amber-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-rose-300{color:var(--color-rose-300)}.text-white{color:var(--color-white)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.accent-white{accent-color:var(--color-white)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.group-open\:rotate-45:is(:where(.group):is([open],:popover-open,:open) *){rotate:45deg}@media(hover:hover){.group-hover\:text-zinc-300:is(:where(.group):hover *){color:var(--color-zinc-300)}}.placeholder\:text-zinc-400::placeholder{color:var(--color-zinc-400)}@media(hover:hover){.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:text-white:hover{color:var(--color-white)}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-white:focus-visible{outline-color:var(--color-white)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:48rem){.md\:inline{display:inline}.md\:h-12{height:calc(var(--spacing) * 12)}.md\:h-16{height:calc(var(--spacing) * 16)}.md\:w-12{width:calc(var(--spacing) * 12)}.md\:w-16{width:calc(var(--spacing) * 16)}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}}@media(min-width:64rem){.lg\:ml-auto{margin-left:auto}.lg\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[0\.92fr_1\.08fr\]{grid-template-columns:.92fr 1.08fr}.lg\:grid-cols-\[450px_minmax\(0\,1fr\)\]{grid-template-columns:450px minmax(0,1fr)}.lg\:items-center{align-items:center}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:pt-4{padding-top:calc(var(--spacing) * 4)}.lg\:pb-28{padding-bottom:calc(var(--spacing) * 28)}.lg\:text-\[4\.75rem\]{font-size:4.75rem}.lg\:leading-\[0\.98\]{--tw-leading:.98;line-height:.98}}@media(min-width:80rem){.xl\:inline{display:inline}}@media(prefers-color-scheme:dark){.dark\:border-neutral-900{border-color:var(--color-neutral-900)}}}:root{color:#f4f4f5;font-synthesis:none;text-rendering:optimizelegibility;background:#0b0d10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.landing-shell{background:radial-gradient(circle at 75% 15%,#ffffff0f,#0000 22rem),linear-gradient(#0b0d10,#090a0c)}.legal-page{color:#e4e4e7;background:#0b0d10;min-height:100vh;padding:2rem 1.25rem 4rem}.legal-page-inner{width:min(100%,760px);margin:0 auto}.legal-back-link{color:#d4d4d8;align-items:center;gap:.45rem;font-size:.82rem;display:inline-flex}.legal-back-link:hover{color:#fff}.legal-page-header{border-bottom:1px solid #ffffff1f;margin:3.5rem 0 2.5rem;padding-bottom:1.5rem}.legal-kicker,.legal-updated{color:#a1a1aa;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.legal-page-header h1{color:#fafafa;letter-spacing:-.055em;margin:.8rem 0;font-size:clamp(2.4rem,7vw,4.8rem);line-height:.98}.legal-updated{letter-spacing:.02em;text-transform:none;margin:0}.legal-prose{color:#c4c4cc;font-size:.95rem;line-height:1.75}.legal-prose h2{color:#fafafa;letter-spacing:-.02em;margin:2.3rem 0 .65rem;font-size:1.15rem}.legal-prose p{margin:0 0 1rem}.legal-prose a{color:#f0b18c;text-underline-offset:3px;text-decoration:underline}.legal-contact-card{border:1px solid #ffffff24;border-radius:.75rem;align-items:center;gap:.6rem;padding:.8rem 1rem;display:inline-flex}.legal-page-footer{color:#a1a1aa;border-top:1px solid #ffffff1f;flex-wrap:wrap;gap:1rem;margin-top:3rem;padding-top:1.25rem;font-size:.78rem;display:flex}.legal-page-footer a:hover{color:#fff}.studio-icon-button,.studio-secondary-button,.studio-primary-button,.preview-toggle{justify-content:center;align-items:center;gap:.45rem;transition:all .16s;display:inline-flex}.studio-icon-button{color:#a1a1aa;background:#ffffff05;border:1px solid #ffffff14;border-radius:.75rem;width:2.25rem;height:2.25rem}.studio-icon-button:hover{color:#fff;background:#ffffff0f}.studio-secondary-button,.studio-primary-button{border-radius:.75rem;height:2.35rem;padding:0 .8rem;font-size:.78rem;font-weight:600}.studio-secondary-button{color:#d4d4d8;background:#ffffff06;border:1px solid #ffffff17}.studio-secondary-button:hover{background:#ffffff0f}.studio-primary-button{color:#111318;background:#fff}.studio-primary-button:hover{background:#e4e4e7}.studio-input{color:#e4e4e7;background:#ffffff06;border:1px solid #ffffff14;border-radius:.7rem;outline:none;width:100%;padding:.68rem .75rem;font-size:.82rem;transition:all .15s}.studio-input::placeholder{color:#a1a1aa}select.studio-input{color-scheme:dark}select.studio-input option{color:#e4e4e7;background:#181a20}.studio-search-input{padding-left:2.5rem}.studio-input:focus{background:#ffffff0a;border-color:#ffffff38}.preview-toggle{color:#52525b;border-radius:.55rem;width:2rem;height:2rem}.preview-toggle:hover{color:#d4d4d8}.preview-toggle-active{color:#fff;background:#ffffff14}.preview-device{border:1px solid #ffffff14;border-radius:1rem;transition:width .24s;overflow:hidden;box-shadow:0 25px 70px #00000059}.preview-device-desktop{width:min(100%,1100px)}.preview-device-mobile{width:min(100%,390px)}.studio-label{color:#b4b4bd;margin-bottom:.4rem;font-size:.72rem;font-weight:600;display:block}.studio-editor-panel{border-top:1px solid #ffffff2e;margin-top:.45rem;padding-top:.45rem}.studio-editor-panel:first-of-type{border-top:0;margin-top:0;padding-top:0}.studio-editor-panel>summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:1rem 2.75rem 1rem 0;list-style:none;position:relative}.studio-editor-panel>summary::-webkit-details-marker{display:none}.studio-editor-panel>summary:after{content:"";color:#e4e4e7;background-color:#ffffff0f;background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-position:50%;background-repeat:no-repeat;background-size:12px 2px,2px 12px;border:1px solid #ffffff38;border-radius:.5rem;width:1.75rem;height:1.75rem;position:absolute;top:.8rem;right:.2rem}.studio-editor-panel>summary:hover:after{background-color:#ffffff1f;border-color:#fff6}.studio-editor-panel>summary:focus-visible{outline-offset:3px;border-radius:.5rem;outline:2px solid #a1a1aa}.studio-editor-panel[open]>summary:after{background-size:12px 2px,0 0}.studio-editor-title{color:#e4e4e7;align-items:center;gap:.5rem;font-size:.82rem;font-weight:650;display:flex}.studio-editor-description{color:#a1a1aa;margin-top:.3rem;font-size:.7rem;line-height:1.45;display:block}.studio-editor-content{gap:.9rem;padding:0 0 1.4rem;display:grid}.template-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.template-option{color:#71717a;text-align:left;background:#ffffff04;border:1px solid #ffffff14;border-radius:.8rem;padding:.55rem;transition:all .16s}.template-option:hover{color:#d4d4d8;border-color:#ffffff29}.template-option-active{color:#fff;background:#ffffff0e;border-color:#ffffff59}.template-option-preview{background:#191b1f;border-radius:.55rem;align-content:center;gap:4px;height:54px;margin-bottom:.5rem;padding:.55rem;display:grid;overflow:hidden}.template-option-preview i{background:#52525b;border-radius:999px;height:3px;display:block}.template-option-preview i:first-child{background:#d4d4d8;width:55%}.template-option-preview i:nth-child(2){width:82%}.template-option-preview i:nth-child(3){width:68%}.template-option-creative .template-option-preview{background:#151515;position:relative;transform:rotate(-1deg)}.template-option-creative .template-option-preview:after{content:"";opacity:.9;background:#f4b942;width:22%;height:38%;position:absolute;top:8px;right:8px}.template-option-modern .template-option-preview{background:#12150f}.template-option-minimal .template-option-preview{background:#f4f3ef}.template-option-minimal .template-option-preview i{background:#b2b2ad}.template-option-minimal .template-option-preview i:first-child{background:#333}.template-option-editorial .template-option-preview{background:#f6f5ef;border-radius:0;padding-left:30%;position:relative}.template-option-editorial .template-option-preview:before{content:"";background:#858779;width:12%;height:12px;position:absolute;top:10px;left:10px}.template-option-editorial .template-option-preview i{background:#9b9d91;border-radius:0}.template-option-editorial .template-option-preview i:first-child{background:#252620;width:90%;height:5px}.template-option-studio .template-option-preview{background:#faf9f6;padding:10px 12px 8px 30px;position:relative}.template-option-studio .template-option-preview:before{content:"";background:#7e8976;border-radius:3px;width:13px;height:13px;position:absolute;top:10px;left:10px}.template-option-studio .template-option-preview i{background:#b0b8a8}.template-option-studio .template-option-preview i:first-child{background:#292d29;width:65%}.template-option-studio .template-option-preview i:last-child{background:#dfe7d7;border-radius:2px;width:100%;height:12px}.template-option-technical .template-option-preview{background:#10151b;border-radius:0;padding:10px 10px 8px 31%;position:relative}.template-option-technical .template-option-preview:before{content:"";border-right:1px solid #344151;width:18%;position:absolute;top:8px;bottom:8px;left:10px}.template-option-technical .template-option-preview i{background:#4c5d70;border-radius:0}.template-option-technical .template-option-preview i:first-child{background:#7c8cff;width:92%}.template-option-brutalist .template-option-preview{background:#efeee7;border:2px solid #111;border-radius:0;padding:9px 9px 7px 34%;position:relative}.template-option-brutalist .template-option-preview:before{content:"01";color:#111;background:#ff2a2a;border-right:2px solid #111;place-items:center;width:27%;font:800 11px/1 monospace;display:grid;position:absolute;top:0;bottom:0;left:0}.template-option-brutalist .template-option-preview i{background:#77776f;border-radius:0;height:4px}.template-option-brutalist .template-option-preview i:first-child{background:#111;width:100%;height:7px}.template-option strong{font-size:.68rem;font-weight:600}.studio-choice{color:#71717a;background:#ffffff04;border:1px solid #ffffff14;border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;min-height:2.3rem;font-size:.72rem;font-weight:600;display:inline-flex}.studio-choice-active{color:#f4f4f5;background:#ffffff0f;border-color:#ffffff38}.accent-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.accent-swatch{border:2px solid #0e1014;border-radius:999px;width:1.65rem;height:1.65rem;box-shadow:0 0 0 1px #ffffff14}.accent-swatch-active{box-shadow:0 0 0 2px #ffffffa6}.accent-custom{cursor:pointer;background:0 0;border:0;border-radius:999px;width:2rem;height:2rem;padding:0;overflow:hidden}.studio-toggle-row{color:#a1a1aa;background:#ffffff04;border:1px solid #fff1;border-radius:.7rem;justify-content:space-between;align-items:center;gap:1rem;min-height:2.5rem;padding:.55rem .7rem;font-size:.74rem;display:flex}.studio-toggle-row input{accent-color:#fff;width:1rem;height:1rem}.studio-mini-button,.studio-add-button{color:#a1a1aa;background:#ffffff05;border:1px solid #ffffff14;border-radius:.65rem;justify-content:center;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;transition:all .15s;display:inline-flex}.studio-mini-button{padding:.48rem .65rem}.studio-add-button{border-style:dashed;width:100%;padding:.7rem}.studio-mini-button:hover,.studio-add-button:hover{color:#fff;background:#ffffff0d}.project-editor-card,.list-item-editor{background:#ffffff03;border:1px solid #fff1;border-radius:.85rem;padding:.75rem;transition:all .15s}.project-editor-card:not(.project-editor-card-active){opacity:.82}.project-editor-card-active{background:#ffffff08;border-color:#ffffff21}.project-order-button{color:#71717a;background:0 0;border:1px solid #ffffff12;border-radius:.5rem;place-items:center;width:1.65rem;height:1.65rem;display:inline-grid}.project-order-button:hover:not(:disabled){color:#fff;background:#ffffff0d}.project-order-button:disabled{opacity:.25;cursor:default}.project-stats{color:#a1a1aa;margin:0;font-size:.65rem}.editor-divider{background:#ffffff0f;height:1px}.studio-empty{color:#a1a1aa;border:1px dashed #ffffff1a;border-radius:.8rem;padding:1rem;font-size:.75rem;line-height:1.6}.studio-print-portfolio{display:none}.portfolio-root{--portfolio-bg:#11130f;--portfolio-surface:#171a15;--portfolio-text:#f4f1e8;--portfolio-muted:#8b8e84;--portfolio-soft:#62665d;--portfolio-line:#f4f1e81c;--portfolio-accent:#7cdd5b;background:var(--portfolio-bg);min-height:100vh;color:var(--portfolio-text);position:relative;overflow:hidden;container-type:inline-size}.portfolio-mode-light{--portfolio-bg:#f5f3ed;--portfolio-surface:#ebe8df;--portfolio-text:#171915;--portfolio-muted:#65685f;--portfolio-soft:#8a8d85;--portfolio-line:#17191521}.portfolio-font-sans{--portfolio-font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--portfolio-font-family)}.portfolio-font-editorial{--portfolio-font-family:Georgia, "Times New Roman", serif;font-family:var(--portfolio-font-family)}.portfolio-font-mono{--portfolio-font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-family:var(--portfolio-font-family)}.portfolio-embedded{min-height:850px}.tpl-page{background:var(--portfolio-bg);min-height:100vh;color:var(--portfolio-text)}.tpl-main,.tpl-nav,.tpl-footer{z-index:2;width:min(1160px,100% - 64px);margin:0 auto;position:relative}.tpl-nav{border-bottom:1px solid var(--portfolio-line);justify-content:space-between;align-items:center;gap:2rem;padding:28px 0;display:flex}.tpl-brand{letter-spacing:-.02em;font-size:.8rem;font-weight:700}.tpl-nav-links{color:var(--portfolio-muted);align-items:center;gap:1.4rem;font-size:.7rem;display:flex}.tpl-nav-links a{transition:all .15s}.tpl-nav-links a:hover{color:var(--portfolio-text)}.tpl-eyebrow{color:var(--portfolio-accent);letter-spacing:.09em;text-transform:uppercase;margin:0 0 1.2rem;font-size:.7rem;font-weight:700}.tpl-profile-meta{color:var(--portfolio-muted);flex-wrap:wrap;gap:.85rem 1.2rem;margin-top:1.8rem;font-size:.72rem;display:flex}.tpl-profile-meta span,.tpl-profile-meta a{align-items:center;gap:.38rem;display:inline-flex}.tpl-profile-meta a:hover{color:var(--portfolio-text)}.tpl-section-index{color:var(--portfolio-soft);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:.68rem}.tpl-body-copy{max-width:720px;color:var(--portfolio-muted);margin:1.2rem 0 0;font-size:.95rem;line-height:1.8}.tpl-skills{flex-wrap:wrap;gap:.5rem;margin-top:1.6rem;display:flex}.tpl-skills span,.tpl-tech-list span{border:1px solid var(--portfolio-line);color:var(--portfolio-muted);border-radius:999px}.tpl-skills span{padding:.5rem .8rem;font-size:.7rem}.tpl-tech-list{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.tpl-tech-list span{padding:.34rem .55rem;font-size:.6rem}.tpl-project-meta{color:var(--portfolio-soft);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.64rem;display:flex}.tpl-project-meta span{align-items:center;gap:.28rem;display:inline-flex}.tpl-contact-links{flex-wrap:wrap;gap:.65rem;margin-top:1.6rem;display:flex}.tpl-contact-links a{border:1px solid var(--portfolio-line);color:var(--portfolio-muted);border-radius:999px;align-items:center;gap:.45rem;padding:.62rem .88rem;font-size:.72rem;transition:all .15s;display:inline-flex}.tpl-contact-links a:hover{color:var(--portfolio-text);border-color:var(--portfolio-text)}@supports (color:color-mix(in lab,red,red)){.tpl-contact-links a:hover{border-color:color-mix(in srgb,var(--portfolio-text) 28%,transparent)}}.tpl-contact-links a:hover{transform:translateY(-1px)}.tpl-contact-links-compact{margin-top:1.8rem}.tpl-timeline{margin-top:1.7rem}.tpl-timeline-item{border-top:1px solid var(--portfolio-line);padding:1.35rem 0}.tpl-timeline-heading{justify-content:space-between;gap:1.5rem;display:flex}.tpl-timeline-heading h3{letter-spacing:-.025em;margin:0;font-size:1rem;font-weight:650}.tpl-timeline-heading p{color:var(--portfolio-muted);margin:.25rem 0 0;font-size:.76rem}.tpl-timeline-heading>span{color:var(--portfolio-soft);white-space:nowrap;font-size:.68rem}.tpl-timeline-description{max-width:700px;color:var(--portfolio-muted);margin:.7rem 0 0;font-size:.8rem;line-height:1.65}.tpl-inline-link{color:var(--portfolio-accent);align-items:center;gap:.3rem;margin-top:.65rem;font-size:.68rem;display:inline-flex}.tpl-empty-copy{color:var(--portfolio-muted);font-size:.8rem;line-height:1.6}.tpl-empty-state{border:1px dashed var(--portfolio-line);color:var(--portfolio-muted);border-radius:.8rem;padding:1.4rem;font-size:.78rem}.tpl-footer{border-top:1px solid var(--portfolio-line);color:var(--portfolio-soft);justify-content:space-between;gap:1rem;padding:28px 0 38px;font-size:.62rem;display:flex}.modern-template{position:relative;overflow:hidden}.modern-glow{z-index:0;background:var(--portfolio-accent);border-radius:999px;width:30rem;height:30rem;position:absolute;top:-13rem;right:-9rem}@supports (color:color-mix(in lab,red,red)){.modern-glow{background:color-mix(in srgb,var(--portfolio-accent) 9%,transparent)}}.modern-glow{filter:blur(20px);pointer-events:none}.modern-hero{grid-template-columns:1fr .52fr;align-items:center;gap:5rem;min-height:650px;padding:96px 0;display:grid}.modern-status{color:var(--portfolio-muted);align-items:center;gap:.55rem;margin-bottom:2rem;font-size:.7rem;display:inline-flex}.modern-status span{background:var(--portfolio-accent);width:7px;height:7px;box-shadow:0 0 0 5px var(--portfolio-accent);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.modern-status span{box-shadow:0 0 0 5px color-mix(in srgb,var(--portfolio-accent) 10%,transparent)}}.modern-hero h1{letter-spacing:-.065em;max-width:800px;margin:0;font-size:clamp(4rem,8cqw,7rem);font-weight:620;line-height:.91}.portfolio-font-editorial .modern-hero h1{letter-spacing:-.055em;font-weight:500}.portfolio-font-mono .modern-hero h1{letter-spacing:-.07em}.modern-headline{max-width:720px;color:var(--portfolio-text);margin:1.5rem 0 0}@supports (color:color-mix(in lab,red,red)){.modern-headline{color:color-mix(in srgb,var(--portfolio-text) 78%,var(--portfolio-muted))}}.modern-headline{letter-spacing:-.025em;font-size:clamp(1.2rem,2.1cqw,1.8rem);line-height:1.4}.modern-bio{max-width:640px;color:var(--portfolio-muted);margin:1.1rem 0 0;font-size:.92rem;line-height:1.75}.modern-avatar-wrap{justify-content:flex-end;display:flex}.modern-avatar-ring{aspect-ratio:1;border:1px solid var(--portfolio-line);border-radius:38% 62% 48% 52%/52% 42% 58% 48%;width:min(100%,300px);padding:10px;transform:rotate(4deg)}.modern-avatar-ring img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.modern-section{border-top:1px solid var(--portfolio-line);grid-template-columns:.3fr 1fr;gap:4rem;padding:92px 0;display:grid}.modern-section h2,.modern-project-heading h2{letter-spacing:-.05em;max-width:820px;margin:0;font-size:clamp(2.1rem,4.7cqw,4rem);font-weight:560;line-height:1.03}.modern-projects-section{border-top:1px solid var(--portfolio-line);padding:92px 0}.modern-project-heading{grid-template-columns:.3fr 1fr;gap:4rem;margin-bottom:3rem;display:grid}.modern-project-grid{border-top:1px solid var(--portfolio-line);border-left:1px solid var(--portfolio-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.modern-project-card{border-right:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);flex-direction:column;justify-content:space-between;gap:2rem;min-height:310px;padding:1.8rem;transition:all .18s;display:flex}.modern-project-card:hover{background:var(--portfolio-text)}@supports (color:color-mix(in lab,red,red)){.modern-project-card:hover{background:color-mix(in srgb,var(--portfolio-text) 3.5%,transparent)}}.modern-project-top{color:var(--portfolio-soft);justify-content:space-between;font-size:.66rem;display:flex}.modern-project-card h3{letter-spacing:-.035em;margin:0;font-size:1.35rem;font-weight:620}.modern-project-card p{color:var(--portfolio-muted);margin:.7rem 0 0;font-size:.82rem;line-height:1.65}.minimal-template{background:var(--portfolio-bg)}.minimal-main,.minimal-nav{max-width:1040px}.minimal-hero{grid-template-columns:1fr auto;align-items:center;gap:5rem;min-height:570px;padding:95px 0 80px;display:grid}.minimal-hero h1{letter-spacing:-.055em;max-width:780px;margin:0;font-size:clamp(3.6rem,7.5cqw,6.5rem);font-weight:600;line-height:.96}.minimal-headline{max-width:680px;color:var(--portfolio-text);margin:1.35rem 0 0;font-size:1.22rem;line-height:1.5}.minimal-bio{max-width:650px;color:var(--portfolio-muted);margin:1rem 0 0;font-size:.88rem;line-height:1.75}.minimal-avatar{object-fit:cover;filter:grayscale(.25);border-radius:50%;width:152px;height:152px}.minimal-status{color:var(--portfolio-accent);margin:1.25rem 0 0;font-size:.68rem}.minimal-section{border-top:1px solid var(--portfolio-line);grid-template-columns:230px 1fr;gap:3rem;padding:72px 0;display:grid}.minimal-section>h2{letter-spacing:.06em;text-transform:uppercase;color:var(--portfolio-soft);margin:0;font-size:.76rem}.minimal-section-content>:first-child{margin-top:0}.minimal-project-list{margin-top:-1px}.minimal-project-row{border-top:1px solid var(--portfolio-line);grid-template-columns:1fr auto;gap:2rem;padding:1.5rem 0;display:grid}.minimal-project-row h3{letter-spacing:-.03em;margin:0;font-size:1.12rem}.minimal-project-row p{max-width:650px;color:var(--portfolio-muted);margin:.55rem 0 0;font-size:.78rem;line-height:1.65}.minimal-project-side{color:var(--portfolio-soft);flex-direction:column;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.creative-template{background:var(--portfolio-bg);position:relative;overflow:hidden}.creative-nav{border-bottom-color:var(--portfolio-line)}.creative-brand{gap:.15rem;display:grid}.creative-brand strong{letter-spacing:-.02em;font-size:.78rem}.creative-brand span{color:var(--portfolio-soft);font-size:.62rem}.creative-main{position:relative}.creative-hero{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:center;gap:4.5rem;min-height:690px;padding:76px 0 88px;display:grid}.creative-hero-copy{min-width:0}.creative-hero-topline{border-bottom:1px solid var(--portfolio-line);max-width:760px;color:var(--portfolio-soft);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.8rem;font-size:.62rem;display:flex}.creative-hero-topline span{align-items:center;gap:.4rem;display:inline-flex}.creative-hero-topline span:first-child{color:var(--portfolio-accent);font-weight:700}.creative-name{letter-spacing:-.08em;text-transform:uppercase;margin:1.35rem 0 0;font-size:clamp(4.8rem,10.4cqw,8.8rem);font-weight:760;line-height:.8;display:grid}.creative-name span{display:block}.portfolio-font-editorial .creative-name{letter-spacing:-.055em;font-weight:520;line-height:.86}.portfolio-font-mono .creative-name{letter-spacing:-.065em}.creative-hero-bottom{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);align-items:start;gap:2rem;margin-top:2rem;display:grid}.creative-headline{letter-spacing:-.03em;max-width:650px;margin:0;font-size:clamp(1.25rem,2.35cqw,1.9rem);line-height:1.35}.creative-hero-summary{border-left:1px solid var(--portfolio-line);padding-left:1.35rem}.creative-hero-summary>p{color:var(--portfolio-muted);margin:0;font-size:.8rem;line-height:1.7}.creative-hero-links{flex-wrap:wrap;gap:.9rem 1.15rem;margin-top:1.15rem;display:flex}.creative-hero-links a,.creative-contact-links a{color:var(--portfolio-text);align-items:center;gap:.3rem;font-size:.68rem;font-weight:650;transition:color .16s;display:inline-flex}.creative-hero-links a:hover,.creative-contact-links a:hover{color:var(--portfolio-accent)}.creative-portrait-column{padding:0 0 1.35rem 1.35rem;position:relative}.creative-portrait-accent{background:var(--portfolio-accent);opacity:.88;width:46%;height:40%;position:absolute;top:-12px;right:-12px}.creative-portrait{z-index:1;border:1px solid var(--portfolio-line);background:var(--portfolio-bg);margin:0;padding:10px;position:relative}.creative-portrait img,.creative-avatar-placeholder{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.creative-avatar-placeholder{background:var(--portfolio-surface);color:var(--portfolio-accent);place-items:center;font-size:5rem;font-weight:750;display:grid}.creative-portrait-meta{z-index:2;grid-template-columns:1fr;gap:.3rem;margin-top:.8rem;padding-left:.2rem;display:grid;position:relative}.creative-portrait-meta span{color:var(--portfolio-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem}.creative-portrait-meta strong{font-size:.72rem;font-weight:600}.creative-ticker{border-top:1px solid var(--portfolio-line);border-bottom:1px solid var(--portfolio-line);background:var(--portfolio-accent);margin:0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.creative-ticker{background:color-mix(in srgb,var(--portfolio-accent) 5%,transparent)}}.creative-ticker-track{width:max-content;min-width:100%;color:var(--portfolio-muted);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:1.6rem;padding:.72rem 1.6rem;font-size:.62rem;font-weight:650;display:flex}.creative-ticker-track i{background:var(--portfolio-accent);width:5px;height:5px;transform:rotate(45deg)}.creative-section{border-top:1px solid var(--portfolio-line);grid-template-columns:112px minmax(0,1fr);gap:2rem;padding:82px 0;display:grid}.creative-section-marker{flex-direction:column;align-items:flex-start;gap:.75rem;padding-top:.25rem;display:flex}.creative-section-marker strong{color:var(--portfolio-text)}@supports (color:color-mix(in lab,red,red)){.creative-section-marker strong{color:color-mix(in srgb,var(--portfolio-text) 24%,transparent)}}.creative-section-marker strong{letter-spacing:-.06em;font-size:2.7rem;line-height:.9}.creative-section-marker span{color:var(--portfolio-soft);letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;font-size:.62rem;transform:rotate(180deg)}.creative-section-content{min-width:0}.creative-section-content h2,.creative-contact h2{letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,5.6cqw,5rem);font-weight:620;line-height:.94}.creative-about-layout,.creative-skills-layout,.creative-timeline-layout{grid-template-columns:minmax(240px,.68fr) minmax(0,1fr);gap:3.2rem;display:grid}.creative-large-copy{max-width:680px;color:var(--portfolio-text);letter-spacing:-.02em;margin:0;font-size:clamp(1.05rem,2cqw,1.45rem);line-height:1.62}.creative-facts{border-top:1px solid var(--portfolio-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0 0;padding-top:1rem;display:grid}.creative-facts dt{color:var(--portfolio-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.58rem}.creative-facts dd{color:var(--portfolio-muted);margin:.35rem 0 0;font-size:.72rem;line-height:1.5}.creative-skills-list{border-top:1px solid var(--portfolio-line);margin:0;padding:0;list-style:none}.creative-skills-list li{border-bottom:1px solid var(--portfolio-line);grid-template-columns:55px minmax(0,1fr);align-items:baseline;gap:1rem;padding:.9rem 0;transition:padding-left .17s,color .17s;display:grid}.creative-skills-list li:hover{color:var(--portfolio-accent);padding-left:.55rem}.creative-skills-list li span{color:var(--portfolio-soft);letter-spacing:.13em;font-size:.6rem}.creative-skills-list li strong{letter-spacing:-.02em;font-size:1.05rem;font-weight:620}.creative-timeline{border-top:1px solid var(--portfolio-line)}.creative-timeline-row{border-bottom:1px solid var(--portfolio-line);grid-template-columns:135px minmax(0,1fr);gap:1.4rem;padding:1.25rem 0 1.4rem;display:grid}.creative-timeline-meta{color:var(--portfolio-accent);letter-spacing:.03em;font-size:.75rem;font-weight:700}.creative-timeline-copy h3{letter-spacing:-.025em;margin:0;font-size:1.08rem;font-weight:650}.creative-timeline-subtitle{color:var(--portfolio-soft);text-transform:uppercase;letter-spacing:.08em;margin:.25rem 0 0;font-size:.68rem}.creative-timeline-description{max-width:650px;color:var(--portfolio-muted);margin:.7rem 0 0;font-size:.79rem;line-height:1.7}.creative-timeline-copy a{color:var(--portfolio-accent);align-items:center;gap:.3rem;margin-top:.65rem;font-size:.68rem;display:inline-flex}.creative-work-section{padding-bottom:96px}.creative-work-heading{grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:2rem;margin-bottom:2.8rem;display:grid}.creative-work-heading p{color:var(--portfolio-muted);margin:0;font-size:.78rem;line-height:1.7}.creative-featured-project{border-top:2px solid var(--portfolio-text);border-bottom:1px solid var(--portfolio-line);grid-template-columns:95px minmax(0,1fr) 170px;gap:1.6rem;min-height:330px;padding:2rem 0;display:grid;position:relative;overflow:hidden}.creative-featured-project:before{content:"";background:var(--portfolio-accent);transform-origin:top;width:5px;transition:transform .22s;position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.creative-featured-project:hover:before{transform:scaleY(1)}.creative-featured-number{color:var(--portfolio-text)}@supports (color:color-mix(in lab,red,red)){.creative-featured-number{color:color-mix(in srgb,var(--portfolio-text) 26%,transparent)}}.creative-featured-number{letter-spacing:-.07em;font-size:3.4rem;line-height:.9}.creative-project-label{color:var(--portfolio-accent);letter-spacing:.13em;text-transform:uppercase;font-size:.6rem;font-weight:700}.creative-featured-copy h3{letter-spacing:-.06em;margin:.8rem 0 0;font-size:clamp(2.5rem,5.8cqw,5rem);font-weight:630;line-height:.9}.creative-featured-copy>p{max-width:690px;color:var(--portfolio-muted);margin:1.1rem 0 0;font-size:.84rem;line-height:1.75}.creative-featured-meta{color:var(--portfolio-soft);flex-direction:column;justify-content:space-between;align-items:flex-end;display:flex}.creative-tech-line{color:var(--portfolio-soft);letter-spacing:.1em;text-transform:uppercase;margin-top:1.25rem;font-size:.62rem;line-height:1.6}.creative-project-stats{color:var(--portfolio-soft);flex-wrap:wrap;justify-content:flex-end;gap:.65rem;font-size:.62rem;display:flex}.creative-project-stats span{align-items:center;gap:.25rem;display:inline-flex}.creative-project-list{margin-top:1.2rem}.creative-project-row{border-bottom:1px solid var(--portfolio-line);grid-template-columns:70px minmax(0,1fr) 230px 24px;align-items:center;gap:1.2rem;padding:1.35rem 0;transition:padding-left .18s;display:grid;position:relative}.creative-project-row:before{content:"";background:var(--portfolio-accent);width:0;height:1px;transition:width .22s;position:absolute;bottom:-1px;left:0}.creative-project-row:hover{padding-left:.55rem}.creative-project-row:hover:before{width:100%}.creative-project-row-shift{margin-left:54px}.creative-project-index{color:var(--portfolio-text)}@supports (color:color-mix(in lab,red,red)){.creative-project-index{color:color-mix(in srgb,var(--portfolio-text) 24%,transparent)}}.creative-project-index{letter-spacing:-.05em;font-size:1.5rem;font-weight:650}.creative-project-copy h3{letter-spacing:-.035em;margin:0;font-size:1.35rem;font-weight:630}.creative-project-copy p{max-width:650px;color:var(--portfolio-muted);margin:.45rem 0 0;font-size:.75rem;line-height:1.65}.creative-project-side{text-align:right}.creative-project-side .creative-tech-line{margin-top:0}.creative-project-arrow{color:var(--portfolio-soft);transition:transform .18s,color .18s}.creative-project-row:hover .creative-project-arrow{color:var(--portfolio-accent);transform:translate(2px,-2px)}.creative-contact{border-top:1px solid var(--portfolio-line);grid-template-columns:112px minmax(0,1fr) 220px;align-items:end;gap:2rem;padding:90px 0 96px;display:grid}.creative-contact-index{color:var(--portfolio-text)}@supports (color:color-mix(in lab,red,red)){.creative-contact-index{color:color-mix(in srgb,var(--portfolio-text) 24%,transparent)}}.creative-contact-index{letter-spacing:-.06em;font-size:2.7rem;line-height:.9}.creative-contact-copy>span{color:var(--portfolio-accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;font-size:.62rem;font-weight:700;display:block}.creative-contact-copy>p{max-width:680px;color:var(--portfolio-muted);margin:1.2rem 0 0;font-size:.82rem;line-height:1.7}.creative-contact-links{border-left:1px solid var(--portfolio-line);gap:.9rem;padding-left:1.2rem;display:grid}.creative-footer{border-top-color:var(--portfolio-line)}@container (max-width:720px){.tpl-nav,.tpl-main,.tpl-footer{width:calc(100% - 36px)}.tpl-nav{padding:20px 0}.tpl-nav-links{display:none}.tpl-footer{flex-direction:column}.tpl-timeline-heading{flex-direction:column;gap:.5rem}.modern-hero{grid-template-columns:1fr;gap:2.5rem;min-height:0;padding:62px 0 70px}.modern-avatar-wrap{order:-1;justify-content:flex-start}.modern-avatar-ring{width:120px;padding:5px}.modern-hero h1{font-size:clamp(3.1rem,16cqw,5rem)}.modern-headline{font-size:1.1rem}.modern-section,.modern-project-heading{grid-template-columns:1fr;gap:1.6rem}.modern-section,.modern-projects-section{padding:66px 0}.modern-project-grid{grid-template-columns:1fr}.modern-project-card{min-height:250px}.minimal-hero{grid-template-columns:1fr;gap:2rem;min-height:0;padding:62px 0}.minimal-avatar{order:-1;width:108px;height:108px}.minimal-hero h1{font-size:clamp(3rem,15cqw,4.8rem)}.minimal-section{grid-template-columns:1fr;gap:1.3rem;padding:58px 0}.minimal-project-row{grid-template-columns:1fr}.minimal-project-side{flex-direction:row;align-items:center}.creative-hero{grid-template-columns:1fr;gap:2.4rem;min-height:0;padding:56px 0 66px}.creative-hero-topline{flex-wrap:wrap;justify-content:flex-start}.creative-name{font-size:clamp(3.6rem,18cqw,6rem)}.creative-hero-bottom{grid-template-columns:1fr;gap:1.3rem}.creative-hero-summary{border-left:0;border-top:1px solid var(--portfolio-line);padding:1rem 0 0}.creative-portrait-column{width:min(78%,300px);margin-left:auto;padding-left:1rem}.creative-ticker{margin-inline:-18px}.creative-section{grid-template-columns:1fr;gap:1.2rem;padding:62px 0}.creative-section-marker{flex-direction:row;align-items:baseline}.creative-section-marker strong{font-size:1.25rem}.creative-section-marker span{writing-mode:horizontal-tb;transform:none}.creative-about-layout,.creative-skills-layout,.creative-timeline-layout{grid-template-columns:1fr;gap:1.8rem}.creative-facts{grid-template-columns:1fr 1fr}.creative-work-heading{grid-template-columns:1fr;gap:1rem}.creative-featured-project{grid-template-columns:54px minmax(0,1fr);gap:1rem;min-height:0}.creative-featured-number{font-size:2rem}.creative-featured-meta{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center}.creative-featured-copy h3{font-size:clamp(2rem,11cqw,3.5rem)}.creative-project-row,.creative-project-row-shift{grid-template-columns:44px minmax(0,1fr) 20px;gap:.9rem;margin-left:0}.creative-project-side{text-align:left;grid-column:2}.creative-project-side .creative-project-stats{justify-content:flex-start}.creative-project-arrow{grid-area:1/3}.creative-contact{grid-template-columns:1fr;gap:1.3rem;padding:66px 0 72px}.creative-contact-index{font-size:1.25rem}.creative-contact-links{border-left:0;border-top:1px solid var(--portfolio-line);padding:1rem 0 0}}@media(prefers-reduced-motion:no-preference){.modern-avatar-ring{animation:7s ease-in-out infinite portfolioFloat}.creative-name span{animation:.62s cubic-bezier(.2,.75,.2,1) both creativeTextReveal}.creative-name span:nth-child(2){animation-delay:80ms}.creative-portrait{animation:.7s cubic-bezier(.2,.75,.2,1) 90ms both creativePortraitIn}.creative-portrait-accent{animation:.7s cubic-bezier(.2,.75,.2,1) .16s both creativeAccentIn}.creative-ticker-track{animation:24s linear infinite creativeTicker}@keyframes portfolioFloat{0%,to{transform:rotate(4deg)translateY(0)}50%{transform:rotate(2deg)translateY(-7px)}}@keyframes creativeTextReveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes creativePortraitIn{0%{opacity:0;transform:translate(12px,18px)}to{opacity:1;transform:translate(0)}}@keyframes creativeAccentIn{0%{opacity:0;transform:scale(.72)}to{opacity:.88;transform:scale(1)}}@keyframes creativeTicker{0%{transform:translate(0)}to{transform:translate(-32%)}}}@media(min-width:901px){.studio-workspace{height:calc(100dvh - 65px);min-height:0;overflow:hidden}.studio-sidebar{height:100%;min-height:0;overflow:hidden}.studio-editor-scroll{overscroll-behavior:contain;scrollbar-color:#52525b #0e1014;scrollbar-width:thin;height:100%;min-height:100%;overflow-y:auto}.studio-editor-scroll::-webkit-scrollbar{width:10px}.studio-editor-scroll::-webkit-scrollbar-track{background:#0e1014}.studio-editor-scroll::-webkit-scrollbar-thumb{background:#4b4d52;border:3px solid #0e1014;border-radius:999px}.studio-preview-panel{height:100%;min-height:0;overflow-y:auto}}@media(max-width:900px){.studio-workspace{display:block}.studio-sidebar{min-height:auto}.studio-editor-scroll{height:auto;min-height:auto;overflow:visible}.studio-preview-panel{min-height:600px}}@media(max-width:560px){.template-picker{grid-template-columns:1fr 1fr}.studio-header .studio-secondary-button,.studio-header .studio-primary-button{padding-inline:.65rem}.preview-stage{min-height:520px}}@media print{@page{size:A4 portrait;margin:0}html,body,#root{background:0 0!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}body{overflow:visible!important}.studio-header,.studio-workspace{display:none!important}.portfolio-root{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:var(--portfolio-bg)!important;width:100%!important;min-height:297mm!important;color:var(--portfolio-text)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;padding:9mm 11mm!important;overflow:visible!important;container-type:normal!important}.portfolio-root:after{content:"";z-index:-1000;position:fixed;inset:0;background:var(--portfolio-bg)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.portfolio-root .tpl-page{min-height:0!important;color:var(--portfolio-text)!important;background:0 0!important;overflow:visible!important}.tpl-main,.tpl-nav,.tpl-footer{width:100%!important;max-width:none!important;margin-inline:auto!important}.tpl-nav{border-bottom-color:var(--portfolio-line)!important;padding:0 0 5mm!important;position:static!important}.tpl-nav-links{gap:4mm!important;font-size:7pt!important}.tpl-footer{border-top-color:var(--portfolio-line)!important;padding:5mm 0 0!important}a{text-decoration:none!important}.modern-glow{opacity:.7!important;display:block!important}.modern-hero{grid-template-columns:minmax(0,1fr) 43mm!important;gap:9mm!important;min-height:0!important;padding:11mm 0 13mm!important}.modern-hero h1{font-size:42pt!important}.modern-avatar-ring{width:39mm!important}.modern-section,.modern-projects-section{padding:10mm 0!important}.modern-project-heading{gap:8mm!important}.modern-project-card{min-height:0!important}.minimal-hero{grid-template-columns:minmax(0,1fr) 31mm!important;gap:9mm!important;min-height:0!important;padding:11mm 0 12mm!important}.minimal-hero h1{font-size:40pt!important}.minimal-avatar{width:29mm!important;height:29mm!important}.minimal-section{grid-template-columns:38mm minmax(0,1fr)!important;gap:8mm!important;padding:9mm 0!important}.creative-ticker{background:var(--portfolio-accent)!important;margin-inline:-11mm!important;display:block!important}@supports (color:color-mix(in lab,red,red)){.creative-ticker{background:color-mix(in srgb,var(--portfolio-accent) 5%,transparent)!important}}.creative-ticker-track{justify-content:center!important;width:100%!important;min-width:0!important;animation:none!important;overflow:hidden!important;transform:none!important}.creative-ticker-track>:nth-child(n+8){display:none!important}.creative-hero{grid-template-columns:minmax(0,1.3fr) 46mm!important;align-items:center!important;gap:9mm!important;min-height:0!important;padding:11mm 0 13mm!important}.creative-name{letter-spacing:-.075em!important;font-size:44pt!important;line-height:.8!important}.creative-hero-bottom{grid-template-columns:minmax(0,1fr) minmax(37mm,.7fr)!important;gap:6mm!important;margin-top:6mm!important}.creative-hero-summary{border-left:1px solid var(--portfolio-line)!important;border-top:0!important;padding:0 0 0 5mm!important}.creative-portrait-column{padding:0 0 4mm 4mm!important}.creative-portrait-accent{background:var(--portfolio-accent)!important;top:-2.5mm!important;right:-2.5mm!important}.creative-portrait{background:var(--portfolio-bg)!important;border-color:var(--portfolio-line)!important}.creative-section{border-top-color:var(--portfolio-line)!important;grid-template-columns:25mm minmax(0,1fr)!important;gap:6mm!important;padding:9mm 0!important}.creative-section-marker strong{font-size:20pt!important}.creative-about-layout,.creative-skills-layout,.creative-timeline-layout{grid-template-columns:43mm minmax(0,1fr)!important;gap:8mm!important}.creative-section-content h2,.creative-contact h2{font-size:29pt!important}.creative-featured-project{border-top-color:var(--portfolio-text)!important;border-bottom-color:var(--portfolio-line)!important;grid-template-columns:18mm minmax(0,1fr) 34mm!important;min-height:0!important;padding:6mm 0!important}.creative-featured-number{font-size:22pt!important}.creative-featured-copy h3{font-size:29pt!important}.creative-project-row,.creative-project-row-shift{border-bottom-color:var(--portfolio-line)!important;grid-template-columns:14mm minmax(0,1fr) 42mm 5mm!important;margin-left:0!important;padding:5mm 0!important}.creative-contact{border-top-color:var(--portfolio-line)!important;grid-template-columns:25mm minmax(0,1fr) 38mm!important;gap:6mm!important;padding:10mm 0!important}.modern-project-card,.minimal-project-row,.tpl-timeline-item,.creative-timeline-row,.creative-featured-project,.creative-project-row,.creative-portrait{break-inside:avoid-page;page-break-inside:avoid}*,:before,:after{transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}}.studio-save-status{white-space:nowrap;color:#52525b;align-items:center;gap:.3rem;font-size:.62rem;display:inline-flex}.studio-save-status:before{content:"";background:currentColor;border-radius:999px;width:5px;height:5px}.studio-save-saving{color:#a1a1aa}.studio-save-error{color:#fb7185}.studio-save-saved{color:#71717a}.readiness-card{background:#ffffff05;border:1px solid #ffffff13;border-radius:1rem;margin-bottom:1.25rem;padding:1rem}.readiness-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.readiness-eyebrow{color:#71717a;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.64rem;font-weight:650}.readiness-title{color:#e4e4e7;margin:.3rem 0 0;font-size:.84rem;font-weight:650}.readiness-heading>strong{color:#d4d4d8;font-size:.78rem;font-weight:650}.readiness-progress{background:#ffffff0f;border-radius:999px;height:3px;margin-top:.8rem;overflow:hidden}.readiness-progress span{border-radius:inherit;background:#d4d4d8;height:100%;transition:width .22s;display:block}.readiness-list{gap:.45rem;margin-top:.85rem;display:grid}.readiness-list>span{color:#52525b;align-items:center;gap:.48rem;font-size:.68rem;display:flex}.readiness-list>span i{color:#111318;border:1px solid #ffffff1a;border-radius:999px;place-items:center;width:14px;height:14px;font-style:normal;display:inline-grid}.readiness-list>.readiness-item-complete{color:#a1a1aa}.readiness-list>.readiness-item-complete i{background:#d4d4d8;border-color:#a1a1aa}.readiness-preview-button{color:#d4d4d8;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;margin-top:.9rem;padding:0;font-size:.7rem;font-weight:650;display:inline-flex}.readiness-preview-button:hover{color:#fff}.project-feature-button{color:#52525b;background:0 0;border:1px solid #ffffff12;border-radius:.5rem;place-items:center;width:1.65rem;height:1.65rem;transition:all .15s;display:inline-grid}.project-feature-button:hover{color:#d4d4d8;background:#ffffff0d}.project-feature-button-active{color:#facc15;background:#facc150f;border-color:#facc1533}.tpl-featured-label{color:var(--portfolio-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.55rem;font-size:.58rem;font-weight:700;display:inline-block}.tpl-project-actions{flex-wrap:wrap;gap:.55rem 1rem;margin-top:1rem;display:flex}.tpl-project-actions a{color:var(--portfolio-text);align-items:center;gap:.32rem;font-size:.66rem;font-weight:650;transition:color .15s,transform .15s;display:inline-flex}.tpl-project-actions a:hover{color:var(--portfolio-accent);transform:translateY(-1px)}.modern-project-featured{grid-column:1/-1;min-height:270px}.minimal-project-featured{border-top-color:var(--portfolio-accent)}@supports (color:color-mix(in lab,red,red)){.minimal-project-featured{border-top-color:color-mix(in srgb,var(--portfolio-accent) 50%,var(--portfolio-line))}}.creative-featured-copy .tpl-project-actions{margin-top:1.25rem}.creative-project-copy .tpl-project-actions{margin-top:.65rem}.creative-featured-copy .tpl-project-actions a,.creative-project-copy .tpl-project-actions a{font-size:.62rem}@media print{.tpl-project-actions a{color:var(--portfolio-text)!important}.modern-project-featured{grid-column:1/-1!important}}:where(a,button,input,textarea,select,summary):focus-visible{outline-offset:3px;outline:2px solid #ffffffd1}.skip-link{z-index:9999;color:#111318;background:#fff;border-radius:.6rem;padding:.6rem .8rem;font-size:.75rem;font-weight:700;transition:transform .14s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.landing-logo-mark{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.7rem;place-items:center;width:2rem;height:2rem;display:grid}.landing-eyebrow{color:#b4b4bd;background:#ffffff06;border:1px solid #ffffff17;border-radius:999px;align-items:center;gap:.45rem;padding:.42rem .68rem;font-size:.72rem;font-weight:600;display:inline-flex}.landing-generator{background:#ffffff0b;border:1px solid #ffffff1c;border-radius:1rem;align-items:center;gap:.75rem;padding:.45rem;transition:border-color .16s,background .16s;display:flex;box-shadow:0 24px 65px #00000038}.landing-generator:focus-within{background:#ffffff0f;border-color:#ffffff38}.landing-nav-example{color:#f3c9a3;background:#291e18;border:1px solid #e3a66f61;border-radius:.65rem;align-items:center;gap:.45rem;padding:.52rem .72rem;font-size:.75rem;font-weight:650;transition:border-color .15s,background .15s,color .15s,transform .15s;display:inline-flex}.landing-nav-example:hover{color:#fff5ed;background:#3a281e;border-color:#e3a66fb3;transform:translateY(-1px)}.landing-generate-button,.landing-bottom-cta{color:#1a1410;cursor:pointer;background:#e3a66f;border:1px solid #0000;border-radius:.72rem;justify-content:center;align-items:center;gap:.5rem;min-height:3rem;padding:0 1rem;font-size:.78rem;font-weight:700;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 8px 24px #e3a66f24,inset 0 1px #ffffff4d}.landing-generate-button:hover,.landing-bottom-cta:hover{background:#f0bd8b;transform:translateY(-2px);box-shadow:0 12px 28px #e3a66f38,inset 0 1px #fff6}.landing-generate-button:focus-visible,.landing-bottom-cta:focus-visible,.landing-nav-example:focus-visible,.landing-example-link:focus-visible{outline-offset:3px;outline:2px solid #8bc4ff}.landing-generate-button:active,.landing-bottom-cta:active,.landing-nav-example:active{transform:translateY(0)}.landing-example-link{color:#b4b4bd;align-items:center;gap:.45rem;margin-top:1.2rem;font-size:.75rem;transition:color .15s;display:inline-flex}.landing-example-link:hover{color:#d4d4d8}.landing-audience-strip{background:0 0}.landing-route-base{stroke:#87a0be2e;stroke-width:1px;stroke-dasharray:3 7}.landing-route-progress{stroke:#bac2cc99;stroke-width:1.25px;stroke-dasharray:.16 .84;stroke-dashoffset:0;opacity:.35;transition:opacity .3s,stroke .3s}.landing-route-particle{fill:#c9d0d8;offset-path:path("M38 178 C178 178 185 80 322 80 S470 275 613 180 S815 178 962 178");animation:5s linear infinite landing-route-travel}.landing-route-particle-two{fill:#e3a66f;animation-duration:6.5s;animation-delay:-2.4s}@keyframes landing-route-travel{0%{offset-distance:0%}to{offset-distance:100%}}.landing-portfolio-actions{border-top:1px solid #ffffff14;margin-top:.75rem;padding-top:.5rem}.landing-portfolio-actions span{color:#b3bac4;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.25rem;display:flex;overflow:hidden}.landing-portfolio-actions button{color:#d1d5db;cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:.2rem;padding:0;font-size:.56rem;display:flex}.landing-portfolio-actions button:hover{color:#fff}.landing-flow{min-height:25rem;margin-top:2.5rem;position:relative}.landing-flow-route{z-index:0;pointer-events:none;width:100%;height:14rem;position:absolute;inset:0 0 auto;overflow:visible}.landing-flow-route-mobile{display:none}.landing-flow-route .landing-route-base{stroke:#87a0be2e;stroke-width:1px;stroke-dasharray:3 7}.landing-flow-route .landing-route-progress{stroke:#e3a66fa3;stroke-width:1.2px;stroke-dasharray:.16 .84;opacity:.55}.landing-flow-active-1 .landing-route-progress,.landing-flow-active-2 .landing-route-progress{opacity:.85}.landing-flow-visuals{z-index:1;grid-template-columns:1fr 1.08fr 1fr;align-items:start;gap:clamp(2rem,8vw,8rem);min-height:15rem;padding:0 2.5rem;display:grid;position:relative}.landing-flow-visual{color:#9ba6b3;flex-direction:column;min-width:0;padding-top:.35rem;transition:color .18s,transform .18s;display:flex;position:relative}.landing-flow-visual>svg{color:#9aa8b8;margin-bottom:1.2rem;display:block}.landing-flow-visual:hover,.landing-flow-visual:focus-visible,.landing-flow-visual-active{color:#e3a66f;outline:none;transform:translateY(-2px)}.landing-flow-connect,.landing-flow-result{margin-top:1.5rem}.landing-flow-visual .landing-connect-visual,.landing-flow-visual .landing-processing-visual{min-height:8rem;margin:0}.landing-flow-visual .landing-processing-visual{background:#ffffff06;border-color:#ffffff21}.landing-flow-copy{z-index:2;grid-template-columns:1fr 1.08fr 1fr;gap:clamp(2rem,8vw,8rem);padding:2.5rem 2.5rem 0;display:grid;position:relative}.landing-flow-copy article{min-width:0;transition:opacity .18s}.landing-flow-copy-heading{color:#e3a66f;align-items:center;gap:.75rem;font-size:.85rem;font-weight:650;display:flex}.landing-flow-copy-heading i{background:#ffffff24;width:min(8rem,60%);height:1px;display:block}.landing-flow-copy h3{color:#fff;letter-spacing:-.035em;margin-top:.9rem;font-size:1.35rem;font-weight:550}.landing-flow-copy p{color:#7e8794;max-width:20rem;margin-top:.55rem;font-size:.85rem;line-height:1.7}.landing-flow-copy article:not(.landing-flow-copy-active){opacity:.82}.landing-flow-step-copy{margin-top:2.5rem}.landing-flow-step-copy h3{color:#f4f5f6;letter-spacing:-.035em;margin-top:.9rem;font-size:1.35rem;font-weight:550}.landing-flow-step-copy p{color:#aeb8c4;max-width:20rem;margin-top:.55rem;font-size:.85rem;line-height:1.7}@media(max-width:767px){.landing-flow{min-height:0;margin-top:2rem}.landing-flow-route-desktop{display:none}.landing-flow-route-mobile{width:4rem;height:52rem;margin-left:.5rem;display:block;inset:0 0 auto}.landing-flow-visuals{flex-direction:column;gap:2.8rem;padding:0 0 0 2.8rem;display:flex}.landing-flow-visual,.landing-flow-connect,.landing-flow-result{width:100%;margin-top:0}.landing-flow-visual .landing-connect-visual,.landing-flow-visual .landing-processing-visual{max-width:30rem}.landing-flow-step-copy{margin-top:1.4rem}.landing-flow-step-copy p{max-width:30rem}}@media(prefers-reduced-motion:reduce){.landing-flow-visual,.landing-flow-copy article{transition:none}}.landing-flow-visual-active>svg{color:#e3a66f}.landing-connect-visual{background:#0f1721b8;border:1px solid #8bc4ff38;padding:.85rem;box-shadow:0 14px 36px #00000029}.landing-github-mini-top{color:#dce4ed;align-items:center;gap:.38rem;font-size:.62rem;display:flex}.landing-github-mini-top strong{font-weight:650}.landing-github-mini-top small{color:#6f8498;margin-left:auto;font-size:.48rem}.landing-github-avatar{color:#0b0d10;background:#dce4ed;border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-size:.58rem;font-weight:750;display:grid}.landing-github-mini-tabs{color:#68788a;white-space:nowrap;border-bottom:1px solid #ffffff17;gap:.6rem;margin-top:.8rem;padding-bottom:.5rem;font-size:.45rem;display:flex}.landing-github-mini-tabs b{color:#dce4ed;font-weight:550}.landing-github-repositories{gap:.35rem;margin-top:.65rem;display:grid}.landing-github-repositories span{color:#d0dae4;border-bottom:1px solid #ffffff0f;align-items:center;gap:.35rem;min-width:0;padding-bottom:.35rem;font-size:.58rem;display:flex}.landing-github-repositories i{border-radius:50%;flex:none;width:.32rem;height:.32rem}.landing-language-blue{background:#55a9e8}.landing-language-orange{background:#e39d5b}.landing-language-yellow{background:#d9c45c}.landing-github-repositories em{color:#768698;font-size:.46rem;font-style:normal}.landing-github-repositories strong{color:#75879a;margin-left:auto;font-weight:400}.landing-processing-visual{background:#16181cbf!important;border:1px solid #e3a66f38!important;min-height:8.85rem!important;padding:.8rem!important}.landing-generation-flow{color:#8f9cab;justify-content:space-between;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;display:flex}.landing-generation-flow i{opacity:.7;background:#e3a66f;width:1.2rem;height:1px}.landing-generation-layout{grid-template-columns:repeat(2,1fr);gap:.5rem;max-width:9rem;margin:1rem auto 0;display:grid;position:relative}.landing-generation-layout:before{content:"";background:#e3a66f52;width:1px;position:absolute;top:-.55rem;bottom:-.55rem;left:50%}.landing-generation-layout span{background:linear-gradient(#8bc4ff1c,#ffffff06);border:1px solid #8bc4ff3b;height:1.8rem;animation:3.2s ease-in-out infinite landing-layout-settle;display:block}.landing-generation-layout span:nth-child(2){animation-delay:.12s}.landing-generation-layout span:nth-child(3){animation-delay:.24s}.landing-generation-layout span:nth-child(4){animation-delay:.36s}@keyframes landing-layout-settle{50%{border-color:#e3a66f73;transform:translateY(-2px)}}.landing-generation-footer{color:#a9b2bd;justify-content:center;gap:.7rem;margin-top:.85rem;font-size:.48rem;font-weight:500;display:flex}.landing-generation-footer b{font-weight:500}.landing-generation-caption{color:#697787;align-items:center;gap:.35rem;margin-top:.65rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;display:flex}.landing-generation-caption span{background:#6fc99a;border-radius:50%;width:.3rem;height:.3rem}@media(prefers-reduced-motion:reduce){.landing-generation-layout span{animation:none}}.landing-laptop-wrap{min-height:15rem;padding:.55rem .55rem 1.2rem;position:relative}.landing-laptop-screen{background:#0d1219;border:1px solid #8bc4ff52;border-radius:.3rem .3rem .1rem .1rem;height:12rem;position:relative;overflow:hidden;box-shadow:0 12px 30px #00000038}.landing-laptop-browser{z-index:2;background:#151a22;border-bottom:1px solid #ffffff1a;align-items:center;gap:.22rem;height:1.25rem;padding:0 .5rem;display:flex;position:relative}.landing-laptop-browser>span{background:#ffffff59;border-radius:50%;width:.28rem;height:.28rem}.landing-laptop-browser small{color:#728195;text-overflow:ellipsis;white-space:nowrap;margin-left:.35rem;font-size:.42rem;overflow:hidden}.landing-laptop-page{color:#dce4ed;transform:translateY(calc(var(--portfolio-scroll,0) * -5.7rem));will-change:transform;padding:.75rem .8rem 2rem;position:absolute;top:1.25rem;left:0;right:0}.landing-laptop-page header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-bottom:.5rem;display:flex}.landing-laptop-page header small,.landing-laptop-page header nav{color:#8393a5;font-size:.38rem}.landing-laptop-page header small{color:#e3a66f}.landing-laptop-hero{min-height:6rem;padding:1.2rem 0 .8rem;position:relative}.landing-laptop-hero small,.landing-laptop-project-section>small,.landing-laptop-about>small{color:#e3a66f;letter-spacing:.08em;font-size:.4rem}.landing-laptop-hero strong{color:#f4f5f6;margin-top:.45rem;font-size:1rem;font-weight:600;display:block}.landing-laptop-hero p{color:#9eabb9;margin-top:.3rem;font-size:.48rem}.landing-laptop-hero i{background:linear-gradient(145deg,#8bc4ff40,#e3a66f26);border:1px solid #8bc4ff4d;width:3.3rem;height:3.3rem;position:absolute;top:1.1rem;right:0}.landing-laptop-project-section{border-top:1px solid #ffffff1a;padding-top:.65rem}.landing-laptop-project-section>div{grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.55rem;display:grid}.landing-laptop-project-section article{border-top:1px solid #ffffff24;gap:.25rem;padding-top:.35rem;display:grid}.landing-laptop-project-section b{color:#e3a66f;font-size:.42rem}.landing-laptop-project-section strong{color:#dce4ed;font-size:.48rem;font-weight:550}.landing-laptop-project-section span{color:#768698;font-size:.38rem}.landing-laptop-about{border-top:1px solid #ffffff1a;min-height:4rem;margin-top:1.5rem;padding-top:.65rem}.landing-laptop-about p{color:#aeb8c4;max-width:11rem;margin-top:.45rem;font-size:.62rem;line-height:1.5}.landing-laptop-base{background:#151b24;border:1px solid #8bc4ff47;border-radius:0 0 .65rem .65rem;height:.85rem;position:absolute;bottom:0;left:-3%;right:-3%;transform:perspective(100px)rotateX(12deg)}.landing-laptop-base:after{content:"";background:#fff3;border-radius:999px;width:20%;height:.12rem;position:absolute;top:.25rem;left:40%}@media(prefers-reduced-motion:reduce){.landing-laptop-page{transition:none;transform:none}}.landing-audience-label{color:#e3a66f;letter-spacing:.18em;text-align:center;text-transform:uppercase;justify-content:center;align-items:center;gap:.7rem;margin:0;padding-top:1.15rem;font-size:.6rem;font-weight:750;display:flex}.landing-audience-label:before,.landing-audience-label:after{content:"";background:linear-gradient(90deg,#0000,#e3a66f94);width:2.2rem;height:1px}.landing-audience-label:after{transform:scaleX(-1)}.landing-final-cta{background:#ffffff03}.landing-bottom-cta{min-width:9rem}@media(max-width:1024px){.landing-footer-inner{padding-inline:1.5rem}.landing-footer-main{gap:1.5rem}.landing-footer-wordmark{font-size:clamp(4rem,15vw,10rem)}}.landing-footer{background:linear-gradient(#080b0f33,#06080bd1);border-top:1px solid #ffffff17;position:relative;overflow:hidden}.landing-footer:before{content:"";pointer-events:none;opacity:.35;background:linear-gradient(90deg,#0000 0,#8bc4ff14,#0000);position:absolute;inset:0}.landing-footer-inner{z-index:1;width:min(100%,80rem);margin:0 auto;padding:4.5rem 2rem 1.4rem;position:relative}.landing-footer-signal{color:#607083;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;display:flex}.landing-footer-signal i{background:linear-gradient(90deg,#8bc4ff2e,#8bc4ffb3);width:clamp(1.4rem,5vw,4rem);height:1px;display:block}.landing-footer-signal-node{background:#0b0d10;border:1px solid #6e9ac3;border-radius:50%;width:.32rem;height:.32rem;box-shadow:0 0 0 3px #4a9eff0f}.landing-footer-signal-node-active{background:#e3a66f;border-color:#e3a66f;box-shadow:0 0 12px #e3a66f73}.landing-footer-signal b{color:#8996a5;margin-left:.4rem;font-weight:500}.landing-footer-main{justify-content:space-between;align-items:end;gap:2rem;padding:2rem 0 3.3rem;display:flex}.landing-footer-kicker{color:#e3a66f;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:700}.landing-footer-copy h2{color:#f4f5f6;letter-spacing:-.065em;margin:1rem 0 0;font-size:clamp(2.7rem,6.3vw,5.8rem);font-weight:600;line-height:.92}.landing-footer-copy h2 span{color:#aeb8c4}.landing-footer-description{color:#7e8794;max-width:27rem;margin:1.35rem 0 0;font-size:.82rem;line-height:1.7}.landing-footer-wordmark{color:#8bc4ff1a;letter-spacing:-.045em;white-space:nowrap;-webkit-user-select:none;user-select:none;margin:0 -.04em -.055em;font-size:clamp(4.3rem,16.5vw,13.8rem);font-weight:700;line-height:.72}.landing-footer-base{color:#586473;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:1.5rem;padding-top:1rem;font-size:.62rem;display:flex}.landing-footer-links{flex-wrap:wrap;gap:1.15rem;display:flex}.landing-footer-links a{color:#aeb8c4;align-items:center;gap:.3rem;transition:color .15s,transform .15s;display:inline-flex}.landing-footer-links a svg{color:#6e9ac3;transition:transform .15s}.landing-footer-links a:hover{color:#fff;transform:translateY(-1px)}.landing-footer-links a:hover svg{transform:translate(2px)}.landing-footer-base p{margin:0}.landing-footer-base p span{color:#8b98a6;padding:0 .35rem}@media(max-width:640px){.landing-footer-inner{padding:3.5rem 1.25rem 1.2rem}.landing-footer-signal b{display:none}.landing-footer-main{padding:1.8rem 0 2.8rem;display:block}.landing-footer-copy h2{font-size:clamp(2.8rem,13vw,4.5rem)}.landing-footer-description{max-width:20rem}.landing-footer-main .landing-bottom-cta{margin-top:1.8rem}.landing-footer-wordmark{letter-spacing:-.035em;width:100%;margin-left:0;font-size:clamp(3.25rem,19vw,7rem)}.landing-footer-base{flex-direction:column;align-items:flex-start;gap:.9rem}.landing-footer-links{gap:.9rem 1.1rem}}@media(prefers-reduced-motion:reduce){.landing-footer-links a,.landing-footer-links a svg{transition:none}}.tilted-card-figure{perspective:900px;justify-content:center;align-items:center;display:flex;position:relative}.tilted-card-inner{width:100%;transform-style:preserve-3d;will-change:transform}.tilted-card-caption{z-index:20;pointer-events:none;color:#17120e;white-space:nowrap;background:#e3a66f;border:1px solid #9b6844;border-radius:.5rem;padding:.5rem .78rem;font-size:.74rem;font-weight:750;line-height:1.2;position:absolute;top:0;left:0;transform:translate(.9rem,.9rem);box-shadow:0 10px 26px #0000006b,0 0 0 3px #e3a66f1f}.landing-example-card{isolation:isolate;display:block}.landing-example-card:before{content:"";z-index:-1;border:1px solid #7cdd5b29;position:absolute;inset:10% -5% -8% 18%;transform:rotate(1.5deg)}.landing-browser-frame{background:#0e110d;border:1px solid #ffffff1a;border-radius:1.2rem;transition:transform .22s,border-color .22s;overflow:hidden;box-shadow:0 32px 85px #0006}.landing-example-card:hover .landing-browser-frame{border-color:#e3a66f66}.landing-example-preview{background:linear-gradient(135deg,#111b27,#0e110d 58%,#131912);padding:2rem}.landing-preview-topline{justify-content:space-between;align-items:center;gap:1rem;display:flex}.landing-preview-kicker{color:#e3a66f;letter-spacing:.14em;text-transform:uppercase;font-size:.58rem;font-weight:700}.landing-preview-status{color:#9eaa9d;white-space:nowrap;align-items:center;gap:.35rem;font-size:.55rem;display:inline-flex}.landing-preview-status i{background:#7cdd5b;border-radius:999px;width:.38rem;height:.38rem;box-shadow:0 0 0 3px #7cdd5b1f}.landing-preview-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-top:1.35rem;display:flex}.landing-preview-name{letter-spacing:-.075em;font-size:clamp(2.7rem,7vw,5.7rem);font-weight:760;line-height:.82;display:grid}.landing-preview-name span{display:block}.landing-preview-profile{aspect-ratio:1;color:#17120e;border:1px solid #e3a66f80;place-items:center;width:10rem;font-size:1rem;font-weight:800;display:grid;background:#4a9eff!important}.landing-preview-profile img{object-fit:cover;object-position:center 24%;filter:saturate(.82)contrast(1.04);width:100%;height:100%}.landing-preview-intro{justify-content:space-between;align-items:end;gap:1rem;margin-top:1.6rem;display:flex}.landing-preview-intro p{color:#c3cbc0;max-width:400px;margin:0;font-size:.82rem;line-height:1.6}.landing-preview-intro span{color:#59675d;letter-spacing:.12em;font-size:.55rem;font-weight:700}.landing-preview-rule{background:#ffffff1c;height:1px;margin:1.5rem 0 .3rem}.landing-preview-section-label{color:#697669;letter-spacing:.12em;text-transform:uppercase;margin:1rem 0 .15rem;font-size:.55rem;font-weight:700}.landing-preview-projects>div{border-bottom:1px solid #ffffff14;grid-template-columns:28px minmax(0,.8fr) minmax(130px,1.2fr) auto;align-items:baseline;gap:.7rem;padding:.8rem 0;display:grid}.landing-preview-projects span{color:#55594f;font-size:.6rem}.landing-preview-projects strong{color:#e7e7df;font-size:.72rem;font-weight:650}.landing-preview-projects small{color:#7f8c80;text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;line-height:1.35;overflow:hidden}.landing-preview-projects em{color:#e3a66f;text-transform:uppercase;letter-spacing:.08em;font-size:.5rem;font-style:normal}.example-demo-bar{z-index:20;color:#a1a1aa;background:#0b0d10;border-bottom:1px solid #ffffff17;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:52px;padding:.55rem 1rem;font-size:.7rem;display:grid;position:relative}.example-demo-bar p{text-align:center;margin:0}.example-demo-back,.example-demo-cta{color:#d4d4d8;align-items:center;gap:.42rem;font-weight:650;display:inline-flex}.example-demo-cta{color:#111318;background:#fff;border-radius:.55rem;padding:.5rem .7rem}.tpl-attribution{color:inherit;transition:color .15s}.tpl-attribution:hover{color:var(--portfolio-text)}.public-state-page,.studio-state-page{color:#f4f4f5;background:#0b0d10;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.public-state-card,.studio-state-card{background:#ffffff06;border:1px solid #ffffff17;border-radius:1.2rem;width:min(100%,490px);padding:2rem}.public-state-icon,.studio-state-icon{color:#d4d4d8;background:#ffffff09;border:1px solid #ffffff17;border-radius:.8rem;place-items:center;width:2.8rem;height:2.8rem;display:grid}.public-state-kicker,.studio-state-kicker{letter-spacing:.12em;text-transform:uppercase;margin:1.4rem 0 0;font-weight:700;color:#71717a!important;font-size:.65rem!important}.public-state-card h1,.studio-state-card h1{color:#f4f4f5;letter-spacing:-.04em;margin:.45rem 0 0;font-size:1.6rem;line-height:1.15}.public-state-card>p:not(.public-state-kicker),.studio-state-card>p:not(.studio-state-kicker){color:#71717a;margin:.8rem 0 0;font-size:.82rem;line-height:1.7}.public-state-actions,.studio-state-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;display:flex}.studio-state-steps{color:#52525b;align-items:center;gap:.55rem;margin-top:1.5rem;font-size:.62rem;display:flex}.studio-state-steps i{background:#ffffff17;width:1.5rem;height:1px}.studio-state-example{color:#71717a;margin-top:1.1rem;font-size:.7rem;display:inline-flex}.studio-state-example:hover{color:#d4d4d8}@media(max-width:640px){.landing-generator{flex-direction:column;align-items:stretch}.landing-generate-button{width:100%}.landing-preview-topline{flex-direction:column;align-items:flex-start;gap:.6rem}.landing-preview-heading{gap:.8rem}.landing-preview-profile{width:7rem}.landing-preview-intro{flex-direction:column;align-items:flex-start;gap:.65rem}.landing-preview-projects>div{grid-template-columns:24px minmax(0,1fr) auto;gap:.55rem}.landing-preview-projects small{white-space:normal;grid-area:2/2/auto/-1}.landing-preview-projects em{grid-area:1/3}.landing-audience-strip div{justify-content:flex-start;gap:.7rem 1.2rem}.example-demo-bar{grid-template-columns:1fr auto}.example-demo-bar p{display:none}.example-demo-cta{justify-self:end}.public-state-card,.studio-state-card{padding:1.4rem}.landing-shell>div{min-width:0}main>nav{padding-top:1rem;padding-bottom:1rem}.landing-brand{font-size:.84rem}.landing-brand-logo{width:1.8rem;height:1.8rem}main>nav>div{gap:.55rem}main>nav>div>a:first-child{display:none}.landing-nav-example{min-height:2.55rem;padding:.55rem .7rem}.landing-shell main>section:first-of-type{flex-direction:column;gap:2.8rem;padding-top:1.2rem;padding-bottom:4.2rem;display:flex}.landing-shell main>section:first-of-type>div:first-child{max-width:34rem}.landing-shell main>section:first-of-type h1{margin-top:0;font-size:clamp(2.8rem,12.5vw,4.2rem);line-height:.98}.landing-hero-text-animation{min-height:8.2rem}.landing-shell main>section:first-of-type>div:first-child>p{max-width:31rem;font-size:1.03rem;line-height:1.7}.landing-generator{gap:.5rem;padding:.55rem}.landing-generator>div{min-height:2.7rem}.landing-generate-button{min-height:3.2rem}.landing-example-link{align-items:flex-start;line-height:1.5}.landing-example-tilt,.landing-example-card{width:100%}.landing-browser-frame{border-radius:.9rem}.landing-example-preview{padding:1.1rem}.landing-preview-kicker{max-width:15rem;line-height:1.45}.landing-preview-heading{align-items:center}.landing-preview-name{min-width:0;font-size:clamp(2.35rem,13vw,4rem)}.landing-preview-profile{flex:none;width:clamp(5rem,25vw,7rem)}.landing-preview-projects>div{min-width:0}.landing-audience-strip{padding-bottom:.5rem}.landing-audience-label{padding-top:.5rem}.landing-audience-strip div{min-height:3.8rem;overflow:hidden}.landing-audience-strip .text-loop-svg{height:3.8rem}.landing-audience-strip .text-loop-svg path{stroke-width:92px!important}#how-it-works>div{padding-top:3rem;padding-bottom:4.5rem}#how-it-works>div>div:first-child{margin-bottom:2rem}#how-it-works h2{max-width:22rem;font-size:clamp(2rem,9vw,2.8rem);line-height:1.05}#how-it-works h2+p{max-width:20rem;line-height:1.6}.landing-flow-route-mobile{width:2.8rem;height:60rem}.landing-flow-visuals{gap:3.5rem;padding-left:2.2rem}.landing-flow-visual{max-width:30rem}.landing-flow-visual>svg{margin-bottom:.9rem}.landing-flow-step-copy{margin-top:1.1rem}.landing-flow-step-copy h3{font-size:1.25rem}.landing-flow-step-copy p{max-width:28rem;font-size:.82rem;line-height:1.65}.landing-github-mini-tabs{gap:.45rem;overflow:hidden}.landing-generation-flow{gap:.25rem}.landing-generation-flow i{width:.7rem}.landing-laptop-wrap{min-height:13.5rem}.landing-laptop-screen{height:10.8rem}.landing-portfolio-actions{flex-wrap:wrap;align-items:flex-start;font-size:.48rem}.landing-final-cta>div{align-items:flex-start;padding-top:3.5rem;padding-bottom:3.5rem}.landing-final-cta h2{max-width:22rem;font-size:clamp(2rem,9vw,2.8rem);line-height:1.05}.landing-final-cta .landing-bottom-cta{width:100%}.landing-footer-wordmark{letter-spacing:-.02em;width:100%;margin-left:0;font-size:clamp(2.7rem,15vw,7rem)}}@media(prefers-reduced-motion:reduce){.tilted-card-inner{transform:none!important}.tilted-card-caption{display:none}}@media(hover:none){.tilted-card-caption{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{.skip-link,.example-demo-bar,.tpl-attribution{display:none!important}}.landing-brand{color:#fff;letter-spacing:-.025em;align-items:center;gap:.65rem;font-size:.9rem;font-weight:700;display:inline-flex}.landing-brand-logo{object-fit:contain;flex:none;width:30px;height:30px}.landing-example-preview .landing-preview-kicker,.landing-preview-name span:last-child{color:#4a9eff}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}
