:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--surface:#fff;--surface-muted:#f2f2f0;--text:#111;--text-secondary:#5d5d58;--text-tertiary:#898984;--border:#deded9;--border-strong:#b9b9b2;--solid:#111;--on-solid:#fff;--shadow:#11111117;--glass-bg:#fafafab8;--glass-border:#deded9a6;--font-display:"Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-body:"Poppins", "Segoe UI", system-ui, sans-serif;--font-jp:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--surface:#111;--surface-muted:#171717;--text:#f5f5f2;--text-secondary:#a8a8a2;--text-tertiary:#74746f;--border:#292929;--border-strong:#484848;--solid:#f5f5f2;--on-solid:#0a0a0a;--shadow:#00000047;--glass-bg:#0a0a0ab8;--glass-border:#484848a6}html{scroll-behavior:smooth;background:var(--bg);scrollbar-color:var(--border-strong) var(--bg);scrollbar-width:thin}*{box-sizing:border-box;scrollbar-color:var(--border-strong) var(--bg);scrollbar-width:thin}html,body{min-width:320px;min-height:100%;margin:0;padding:0}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:400;transition:background-color .25s,color .25s;overflow-x:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::-webkit-scrollbar-corner{background:var(--bg)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--text);font-family:var(--font-display)}button,a{font:inherit}img{max-width:100%}#root{min-height:100vh}::selection{background:var(--solid);color:var(--on-solid)}:focus-visible{outline:2px solid var(--text);outline-offset:4px}.container,.section-shell{width:min(1240px,100% - 4rem);margin-inline:auto}.section-shell{padding-block:clamp(5rem,9vw,8rem)}.section-heading{grid-template-columns:.35fr 1fr;align-items:start;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.section-kicker{color:var(--text-secondary);font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.section-heading__copy{max-width:760px}.section-title{letter-spacing:-.055em;margin:0;font-size:clamp(2.25rem,5vw,4.75rem);font-weight:500;line-height:.98}.section-description{max-width:55ch;color:var(--text-secondary);margin:1.25rem 0 0;font-size:.98rem;line-height:1.75}.status-badge{color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.7rem;font-weight:500;display:inline-flex}.status-badge i{background:var(--text);border-radius:50%;width:6px;height:6px}.card-eyebrow{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.75rem;font-size:.72rem}.card-period{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin:.75rem 0 0;font-size:.75rem}.tag-list{flex-wrap:wrap;gap:.45rem;margin-top:1.5rem;display:flex}.tag-list span{border:1px solid var(--border);color:var(--text-secondary);padding:.4rem .6rem;font-size:.66rem}.deferred-section{content-visibility:auto;contain-intrinsic-size:auto 720px}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (width<=800px){.container,.section-shell{width:min(100% - 2rem,680px)}.section-heading{grid-template-columns:1fr;gap:1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.target-cursor{z-index:99998;pointer-events:none;width:0;height:0;position:fixed;top:0;left:0}.target-cursor-dot{filter:drop-shadow(0 0 3px #000000b3);border:1px solid #0000;border-radius:50%;width:8px;height:8px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.target-cursor-corner{will-change:transform;filter:drop-shadow(0 0 2px #0009);border:3px solid #fff;width:12px;height:12px;position:absolute;top:0;left:0}.corner-tl{border-bottom:none;border-right:none;transform:translate(-150%,-150%)}.corner-tr{border-bottom:none;border-left:none;transform:translate(50%,-150%)}.corner-br{border-top:none;border-left:none;transform:translate(50%,50%)}.corner-bl{border-top:none;border-right:none;transform:translate(-150%,50%)}@media (prefers-reduced-motion:reduce){.target-cursor-corner{will-change:auto}}.loading-screen{z-index:99999;background:var(--bg,#0a0a0a);color:var(--text,#fafafa);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.loading-screen__content{flex-direction:column;align-items:center;gap:1.1rem;min-height:160px;display:flex}.loading-screen__greeting{font-family:var(--font-display,"Space Grotesk", sans-serif);letter-spacing:-.04em;color:var(--text,#fafafa);text-align:center;will-change:transform, opacity;margin:0;font-size:clamp(2.4rem,6.5vw,5.5rem);font-weight:500;line-height:1.1}.loading-screen__greeting--jp{font-family:var(--font-jp,"Noto Sans JP", sans-serif);letter-spacing:.04em;font-weight:500}.loading-screen__language{font-family:var(--font-display,"Space Grotesk", sans-serif);letter-spacing:.28em;text-transform:uppercase;color:var(--text-secondary,#71717a);will-change:transform, opacity;margin:0;font-size:.7rem;font-weight:500}.loading-screen__status{opacity:0;will-change:transform, opacity;justify-content:space-between;align-items:baseline;gap:1rem;display:flex;position:absolute;bottom:2.5rem;left:3rem;right:3rem}.loading-screen__reading{font-family:var(--font-jp,"Noto Sans JP", sans-serif);letter-spacing:.35em;color:var(--text-secondary,#71717a);font-size:.75rem;font-weight:500}.loading-screen__counter{font-family:var(--font-display,"Space Grotesk", sans-serif);letter-spacing:.14em;font-variant-numeric:tabular-nums;color:var(--text,#fafafa);font-size:.75rem;font-weight:500}.loading-screen__bar{background:var(--text,#fff);width:0%;height:2px;position:absolute;bottom:0;left:0}@media (width<=640px){.loading-screen__status{bottom:1.5rem;left:1.5rem;right:1.5rem}.loading-screen__reading,.loading-screen__counter{font-size:.68rem}}.text-type{white-space:pre-wrap;display:inline-block}.text-type__cursor{opacity:1;margin-left:.25rem;display:inline-block}.text-type__cursor--hidden{display:none}.glare-hover{width:var(--gh-width);height:var(--gh-height);background:var(--gh-bg);border-radius:var(--gh-br);border:1px solid var(--gh-border);place-items:center;display:grid;position:relative;overflow:hidden}.glare-hover:before{content:"";background:linear-gradient(var(--gh-angle), #0000 60%, var(--gh-rgba) 70%, #0000, #0000 100%);transition:var(--gh-duration) ease;background-size:var(--gh-size) var(--gh-size), 100% 100%;background-position:-100% -100%,0 0;background-repeat:no-repeat;position:absolute;inset:0}.glare-hover:hover{cursor:pointer}.glare-hover:hover:before{background-position:100% 100%,0 0}.glare-hover--play-once:before{transition:none}.glare-hover--play-once:hover:before{transition:var(--gh-duration) ease;background-position:100% 100%,0 0}.experience{border-bottom:1px solid var(--border);scroll-margin-top:74px}.experience-list{flex-direction:column;gap:1.5rem;display:flex}.experience-card{border:1px solid var(--border);background:var(--surface)}.experience-card__topline{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.experience-card__number{color:var(--text-tertiary);font-family:var(--font-display);letter-spacing:.12em;font-size:.75rem}.experience-card__body{grid-template-columns:1fr 200px;align-items:center;gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.25rem,3vw,2.25rem);display:grid}.experience-card h3{letter-spacing:-.04em;margin:.35rem 0 0;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:500}.experience-card__summary{max-width:52ch;color:var(--text-secondary);margin:.9rem 0 0;font-size:.88rem;line-height:1.7}.experience-card__content .tag-list{margin-top:1rem}.experience-card__image-wrap{aspect-ratio:3/4;border:1px solid var(--border);overflow:hidden}.experience-card__image{object-fit:cover;object-position:top;filter:grayscale();width:100%;height:100%;transition:filter .45s,transform .45s;display:block}.experience-card:hover .experience-card__image{filter:grayscale(0);transform:scale(1.03)}@media (width<=700px){.experience-card__body{grid-template-columns:1fr;gap:1.5rem}.experience-card__image-wrap{justify-self:center;width:min(100%,220px)}}.education{border-bottom:1px solid var(--border);scroll-margin-top:74px}.education-list{flex-direction:column;gap:1.5rem;display:flex}.education-card{border:1px solid var(--border);background:var(--surface)}.education-card__topline{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.education-card__number{color:var(--text-tertiary);font-family:var(--font-display);letter-spacing:.12em;font-size:.75rem}.education-card__body{grid-template-columns:1fr 200px;align-items:center;gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.25rem,3vw,2.25rem);display:grid}.education-card h3{letter-spacing:-.04em;margin:.35rem 0 0;font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:500}.education-card__summary{max-width:52ch;color:var(--text-secondary);margin:.9rem 0 0;font-size:.88rem;line-height:1.7}.education-card__content .tag-list{margin-top:1rem}.education-card__image-wrap{aspect-ratio:3/4;border:1px solid var(--border);position:relative;overflow:hidden}.education-card__image{object-fit:cover;filter:grayscale();width:100%;height:100%;transition:filter .45s,transform .45s;display:block}.education-card:hover .education-card__image{filter:grayscale(.4)brightness(.85);transform:scale(1.03)}.education-card__logo{border:1px solid var(--border);opacity:0;filter:grayscale();pointer-events:none;object-fit:contain;background:#fff;border-radius:50%;width:84px;height:84px;padding:.5rem;transition:opacity .35s,transform .35s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.75)}.education-card:hover .education-card__logo{opacity:1;transform:translate(-50%,-50%)scale(1)}@media (prefers-reduced-motion:reduce){.education-card__image,.education-card__logo{transition:none}}@media (width<=700px){.education-card__body{grid-template-columns:1fr;gap:1.5rem}.education-card__image-wrap{justify-self:center;width:min(100%,220px)}}.certificates{border-bottom:1px solid var(--border);scroll-margin-top:74px}.certificate-empty{border:1px solid var(--border);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.certificate-list{gap:1rem;display:grid}.certificate-item{border:1px solid var(--border);color:inherit;background:var(--surface);grid-template-columns:8rem auto 1fr auto;align-items:center;gap:1.5rem;padding:1rem;text-decoration:none;transition:transform .2s;display:grid}.certificate-item:hover{transform:translate(.35rem)}.certificate-item img{object-fit:cover;filter:grayscale();width:8rem;height:5rem}.certificate-item>span{color:var(--text-tertiary);font-family:var(--font-display);font-size:.75rem}.certificate-item h3{margin:0;font-size:1.2rem}.certificate-item p{color:var(--text-secondary);margin:.35rem 0 0;font-size:.82rem}.certificate-item b{font-size:1.2rem}.certificate-empty__number{color:var(--text-tertiary);font-family:var(--font-display);letter-spacing:.12em;align-self:start;font-size:.75rem}.certificate-empty h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.25rem,2.4vw,1.8rem);font-weight:500}.certificate-empty p{color:var(--text-secondary);margin:.6rem 0 0;font-size:.82rem;line-height:1.6}.certificate-empty__mark{color:var(--text-tertiary);font-family:var(--font-display);font-size:2rem;font-weight:300}@media (width<=480px){.certificate-item{grid-template-columns:auto 1fr auto}.certificate-item img{grid-column:1/-1;width:100%;height:10rem}.certificate-empty{grid-template-columns:auto 1fr}.certificate-empty__mark{display:none}}.accordion-gallery{--ag-accent:#fff;--ag-overlay:#060010;--ag-text:#fff;--ag-gap:10px;--ag-radius:16px;--ag-media-size:320px;gap:var(--ag-gap);perspective:1400px;perspective-origin:50%;flex-direction:row;width:100%;max-width:100%;display:flex}.accordion-gallery--vertical{flex-direction:column}.ag-panel{border-radius:var(--ag-radius);cursor:pointer;min-width:0;min-height:0;transform-style:preserve-3d;transform-origin:50%;will-change:flex-grow, transform;-webkit-tap-highlight-color:transparent;background:#0a0713;outline:none;flex:1 1 0;text-decoration:none;display:block;position:relative;overflow:hidden;box-shadow:0 10px 30px -18px #000c}.ag-panel:focus-visible{box-shadow:0 0 0 2px var(--ag-accent), 0 10px 30px -18px #000c}.ag-panel__frame{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.ag-panel__media{--ag-gray:1;--ag-dim:.99;width:var(--ag-media-size);height:100%;filter:grayscale(var(--ag-gray));will-change:transform, filter;position:absolute;top:50%;left:50%}.accordion-gallery--vertical .ag-panel__media{width:100%;height:var(--ag-media-size)}.ag-panel__media img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.ag-panel__overlay{pointer-events:none;background:linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--ag-overlay) 78%, transparent) 100%), color-mix(in srgb, var(--ag-overlay) calc(var(--ag-dim,.35) * 100%), transparent);position:absolute;inset:0}.ag-panel__content{pointer-events:none;z-index:3;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:20px;left:20px;right:20px}.ag-panel--active .ag-panel__content{pointer-events:auto}.ag-panel__label{align-items:center;gap:12px;display:flex}.ag-panel__bar{background:var(--ag-accent);opacity:0;width:3px;height:26px;box-shadow:0 0 12px color-mix(in srgb, var(--ag-accent) 60%, transparent);border-radius:3px;flex:none}.ag-panel__text{color:var(--ag-text);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;opacity:0;text-shadow:0 2px 14px #0000008c;font-family:inherit;font-size:clamp(1rem,1.4vw,1.4rem);font-weight:600;overflow:hidden}.ag-panel__description{color:var(--text-secondary,#a1a1aa);opacity:0;text-shadow:0 1px 8px #000c;max-width:34ch;margin:0;font-size:.82rem;line-height:1.5}.ag-panel__stack{opacity:0;flex-wrap:wrap;gap:6px;display:flex}.ag-panel__tag{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.65rem;font-weight:500;font-family:var(--font-display,inherit);letter-spacing:.05em;text-transform:uppercase;background:#ffffff1f;border:1px solid #fff3;border-radius:4px;padding:3px 8px}.ag-panel__actions{opacity:0;margin-top:4px}.ag-panel__center-label{transform-origin:50%;white-space:nowrap;color:var(--ag-text,#fff);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 12px #000000b3;pointer-events:none;z-index:4;opacity:1;will-change:opacity, transform;font-size:clamp(.7rem,1.1vw,1rem);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.ag-panel__github-btn{background:var(--ag-accent,#fff);color:#0a0a0a;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:600;text-decoration:none;transition:transform .2s,background-color .2s,box-shadow .2s;display:inline-flex}.ag-panel__github-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff40}@media (width<=768px){.accordion-gallery{perspective:none;flex-direction:column;height:600px!important}.ag-panel{min-height:64px;transform:none!important}.accordion-gallery .ag-panel__media{width:100%;height:120%}.ag-panel__content{gap:8px;bottom:16px;left:16px;right:16px}.ag-panel__description{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;display:-webkit-box;overflow:hidden}.ag-panel__label{gap:8px}.ag-panel__text{font-size:1rem}.ag-panel__center-label{font-size:.85rem;transform:translate(-50%,-50%)rotate(0)}}@media (prefers-reduced-motion:reduce){.ag-panel,.ag-panel__media{will-change:auto}}.pm-backdrop{z-index:10000;-webkit-backdrop-filter:blur();pointer-events:none;background:0 0;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:20px;transition:background .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;display:flex;position:fixed;inset:0}.pm-backdrop--visible{-webkit-backdrop-filter:blur(12px)saturate(140%);pointer-events:auto;background:#000000b8}:root[data-theme=light] .pm-backdrop--visible{background:#00000080}.pm-modal{--pm-radius:16px;border-radius:var(--pm-radius);background:var(--surface);border:1px solid var(--border);width:min(900px,100vw - 40px);height:min(540px,100dvh - 40px);box-shadow:0 48px 100px -20px #0000008c, 0 0 0 1px color-mix(in srgb, var(--border) 60%, transparent);opacity:0;will-change:transform, opacity;flex-direction:row;transition:opacity .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden;transform:translateY(24px)scale(.97)}.pm-modal--visible{opacity:1;transform:translateY(0)scale(1)}.pm-close{z-index:20;border:1px solid var(--border);background:var(--surface-muted);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,transform .2s,border-color .2s;display:flex;position:absolute;top:12px;right:12px}.pm-close:hover{background:var(--border);color:var(--text);transform:scale(1.08)}.pm-slider{-webkit-user-select:none;user-select:none;border-radius:var(--pm-radius) 0 0 var(--pm-radius);background:#fff;flex-direction:column;flex:0 0 52%;min-width:0;display:flex;position:relative;overflow:hidden}.pm-slider__track{will-change:transform;flex:auto;width:100%;height:100%;transition:transform .44s cubic-bezier(.22,1,.36,1);display:flex}.pm-slider__slide{background:#fff;flex:0 0 100%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.pm-slider__slide img{object-fit:contain;width:100%;height:100%;display:block}.pm-slider__arrow{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffe6;cursor:pointer;background:#00000080;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:background .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.pm-slider__arrow--prev{left:12px}.pm-slider__arrow--next{right:12px}.pm-slider__arrow:hover{background:#ffffff2e;transform:translateY(-50%)scale(1.1)}.pm-slider__dots{z-index:6;gap:6px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.pm-slider__dot{cursor:pointer;background:#00000040;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:background .22s,transform .22s,width .22s}.pm-slider__dot--active{background:#000c;border-radius:4px;width:20px;transform:none}.pm-slider__counter{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ffffffd9;letter-spacing:.06em;z-index:6;background:#00000085;border-radius:20px;padding:3px 10px;font-size:.7rem;font-weight:500;position:absolute;top:12px;left:12px}.pm-info{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:20px;min-width:0;padding:28px 26px;display:flex;overflow-y:auto}.pm-info::-webkit-scrollbar{width:4px}.pm-info::-webkit-scrollbar-track{background:0 0}.pm-info::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.pm-info__header{justify-content:space-between;align-items:flex-start;gap:12px;padding-right:36px;display:flex}.pm-info__title{color:var(--text);letter-spacing:-.015em;margin:0;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:700;line-height:1.2}.pm-info__github{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.pm-info__github:hover{background:var(--border);color:var(--text);border-color:var(--border-strong)}.pm-info__full-desc{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.72}.pm-info__stack-wrap,.pm-info__features{flex-direction:column;gap:10px;display:flex}.pm-info__stack-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);font-size:.65rem;font-weight:700}.pm-info__stack{flex-wrap:wrap;gap:6px;display:flex}.pm-info__tag{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:4px 12px;font-size:.7rem;font-weight:600}.pm-info__features-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pm-info__features-list li{color:var(--text-secondary);padding-left:18px;font-size:.855rem;line-height:1.55;position:relative}.pm-info__features-list li:before{content:"";background:var(--border-strong);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:0}@media (width<=599px){.pm-backdrop{align-items:flex-end;padding:0}.pm-modal{border-radius:var(--pm-radius) var(--pm-radius) 0 0;flex-direction:column;width:100%;height:auto;max-height:90svh;transform:translateY(48px)}.pm-modal--visible{transform:translateY(0)}.pm-slider{aspect-ratio:16/9;border-radius:var(--pm-radius) var(--pm-radius) 0 0;flex:none;width:100%}.pm-info{flex:auto;max-height:50svh;padding:20px;overflow-y:auto}.pm-info__header{padding-right:0}}@media (width>=600px) and (width<=860px){.pm-modal{width:calc(100vw - 32px);height:min(500px,100vh - 40px)}.pm-slider{flex:0 0 48%}}.projects{border-bottom:1px solid var(--border);scroll-margin-top:74px}.projects-gallery{margin-top:clamp(1.5rem,3vw,2.5rem)}@media (width<=560px){.projects-gallery .accordion-gallery{height:auto}}.stack{border-bottom:1px solid var(--border);scroll-margin-top:74px}.stack-inner.section-shell{padding-bottom:3rem}.stack-cards{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.stack-card{background:var(--bg);animation:.6s cubic-bezier(.22,1,.36,1) both cardReveal;animation-delay:var(--card-delay,0s);flex-direction:column;gap:1.5rem;padding:2rem 2rem 2.5rem;display:flex}.stack-card__label{color:var(--text-tertiary);font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:600}.stack-card__list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.stack-card__item{border-bottom:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-display);align-items:center;gap:.85rem;padding:.65rem 0;font-size:.88rem;font-weight:500;transition:color .2s;display:flex}.stack-card__item:first-child{border-top:1px solid var(--border)}.stack-card__item:hover{color:var(--text)}.stack-card__item:hover .stack-card__icon{opacity:1}.stack-card__icon{opacity:.5;width:22px;height:22px;color:var(--text);flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex}.stack-card__icon svg{width:100%;height:100%}.stack-card__name{color:inherit}.stack-marquee{border-top:1px solid var(--border);border-bottom:1px solid var(--border);width:100%;overflow:hidden}.stack-marquee__track{width:max-content;animation:40s linear infinite stack-scroll;display:flex}.stack-item{border-right:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-display);white-space:nowrap;align-items:center;gap:.6rem;padding:1.1rem 1.5rem;font-size:.82rem;display:flex}.stack-item__icon{width:18px;height:18px;color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.stack-item__icon svg{width:100%;height:100%}.stack-item i{color:var(--text-tertiary);margin-left:.6rem;font-style:normal}@keyframes stack-scroll{to{transform:translate(-50%)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.stack-cards{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.stack-marquee__track,.stack-card{animation:none}}.like-button{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 60%, transparent);height:38px;color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.76rem;font-weight:600;transition:background-color .25s,border-color .25s,color .25s,transform .2s;display:inline-flex}.like-button:hover:not(:disabled){background:var(--surface);border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.like-button__icon{width:15px;height:15px;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),color .25s}.like-button.is-liked{color:#ef4444;background:#ef44441a;border-color:#ef444466}.like-button.is-liked .like-button__icon{color:#ef4444}.like-button.is-pop .like-button__icon{animation:.5s cubic-bezier(.175,.885,.32,1.275) heartPop}@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.45)}to{transform:scale(1)}}.footer{scroll-margin-top:74px}.footer-inner.section-shell{padding-bottom:2rem}.footer-card{border-top:1px solid var(--border-strong);grid-template-columns:1fr .8fr;gap:clamp(2rem,8vw,8rem);padding:clamp(1.5rem,5vw,4rem) 0;display:grid}.footer-title{letter-spacing:-.065em;max-width:11ch;margin:1rem 0 0;font-size:clamp(2.5rem,5.8vw,5.5rem);font-weight:500;line-height:.95}.footer-copy{max-width:45ch;color:var(--text-secondary);margin:1.5rem 0 0;font-size:.92rem;line-height:1.75}.footer-contacts{border-top:1px solid var(--border);flex-direction:column;gap:0;display:flex}.footer-contact{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:1rem;padding:1rem 0;text-decoration:none;transition:padding-left .25s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.footer-contact:hover,.footer-contact:focus-visible{padding-left:.5rem}.footer-contact__icon-wrap{border:1px solid var(--border);background:var(--surface-muted);width:36px;height:36px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .25s,border-color .25s,color .25s,transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:flex}.footer-contact:hover .footer-contact__icon-wrap,.footer-contact:focus-visible .footer-contact__icon-wrap{background:var(--solid,#fff);color:var(--on-solid,#0a0a0a);border-color:#0000;transform:scale(1.18)rotate(-8deg);box-shadow:0 4px 16px -4px #ffffff40}.footer-contact__icon{justify-content:center;align-items:center;display:inline-flex}.footer-contact__name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);align-items:center;gap:.3rem;font-size:clamp(.95rem,2vw,1.2rem);font-weight:500;transition:color .2s;display:flex}.footer-contact:hover .footer-contact__name{color:var(--text)}.footer-contact__arrow{color:var(--text-tertiary);opacity:0;font-size:.75em;transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .2s;display:inline-block;transform:translate(-4px,4px)}.footer-contact:hover .footer-contact__arrow,.footer-contact:focus-visible .footer-contact__arrow{opacity:1;transform:translate(0)}.footer-header-brand{align-items:center;gap:.85rem;margin-bottom:.5rem;display:flex}.footer-logo-img{object-fit:contain;filter:drop-shadow(0 2px 8px #ffffff26);width:36px;height:36px}.footer-bottom{border-top:1px solid var(--border);color:var(--text-tertiary);letter-spacing:.03em;text-transform:uppercase;justify-content:space-between;align-items:center;padding-top:1.25rem;font-size:.68rem;display:flex}.footer-bottom__brand{align-items:center;gap:.6rem;display:flex}.footer-bottom__logo{object-fit:contain;opacity:.85;width:20px;height:20px}@media (width<=720px){.footer-card{grid-template-columns:1fr;gap:2rem}.footer-title{max-width:13ch}}@media (width<=480px){.footer-bottom{flex-direction:column;gap:.5rem}}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}.cvm-backdrop{z-index:10000;-webkit-backdrop-filter:blur(14px)saturate(140%);opacity:0;pointer-events:none;background:#000000c7;justify-content:center;align-items:center;padding:20px;transition:opacity .25s;display:flex;position:fixed;inset:0}.cvm-backdrop--visible{opacity:1;pointer-events:auto}:root[data-theme=light] .cvm-backdrop{background:#0000008f}.cvm-modal{border:1px solid var(--border);background:var(--surface);opacity:0;border-radius:16px;flex-direction:column;width:min(900px,100vw - 32px);height:min(92vh,820px);min-height:0;transition:opacity .3s,transform .3s;display:flex;position:relative;overflow:hidden;transform:translateY(28px)scale(.97);box-shadow:0 48px 100px -20px #0009}.cvm-modal--visible{opacity:1;transform:translateY(0)scale(1)}.cvm-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.cvm-header__left,.cvm-header__actions,.cvm-fallback__actions{align-items:center;display:flex}.cvm-header__left{gap:12px}.cvm-header__actions{gap:8px}.cvm-header__icon{border:1px solid var(--border);background:var(--surface-muted);width:38px;height:38px;color:var(--text-secondary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cvm-header__title{color:var(--text);font-family:var(--font-display);margin:0;font-size:.9rem;font-weight:700;line-height:1.2}.cvm-header__sub{color:var(--text-tertiary);margin:0;font-size:.72rem;line-height:1.2}.cvm-btn{border:1px solid var(--border);cursor:pointer;font-family:var(--font-body);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .15s;display:inline-flex}.cvm-btn--primary{background:var(--solid);color:var(--on-solid);border-color:#0000;padding:8px 16px}.cvm-btn--ghost{background:var(--surface-muted);color:var(--text-secondary);padding:8px 14px}.cvm-btn--primary:hover,.cvm-btn--ghost:hover{transform:translateY(-1px)}.cvm-btn--ghost:hover{border-color:var(--border-strong);background:var(--border);color:var(--text)}.cvm-btn--close{background:var(--surface-muted);width:34px;height:34px;color:var(--text-secondary);padding:0}.cvm-btn--close:hover{background:var(--border);color:var(--text)}.cvm-viewer{overscroll-behavior:contain;background:#525659;flex:1;min-height:0;position:relative;overflow:auto}.cvm-document{width:100%;padding:16px}.cvm-page{justify-content:center;display:flex}.cvm-page+.cvm-page{margin-top:16px}.cvm-page .react-pdf__Page{background:#fff;max-width:100%;overflow:hidden;box-shadow:0 8px 24px -8px #00000080}.cvm-page canvas{max-width:100%;display:block;height:auto!important}.cvm-loader,.cvm-fallback{color:#e8e8e8;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:32px;display:flex}.cvm-loader{gap:14px;font-size:.82rem}.cvm-loader__spinner{border:3px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:36px;height:36px;animation:.75s linear infinite cvm-spin;display:block}.cvm-fallback{gap:12px}.cvm-fallback strong{font-size:1rem}.cvm-fallback p{max-width:420px;margin:0;font-size:.85rem;line-height:1.6}.cvm-fallback__actions{gap:8px}@keyframes cvm-spin{to{transform:rotate(360deg)}}@media (width<=540px){.cvm-backdrop{align-items:flex-end;padding:0}.cvm-modal{border-radius:20px 20px 0 0;width:100%;height:95svh;transform:translateY(60px)}.cvm-modal--visible{transform:translateY(0)}.cvm-header{padding:12px 16px}.cvm-header__actions{gap:6px}.cvm-btn span{display:none}.cvm-btn--primary,.cvm-btn--ghost{min-width:36px;height:36px;padding:0 9px}.cvm-document{padding:10px}.cvm-page+.cvm-page{margin-top:10px}}.app-shell{min-height:100vh;overflow:visible}.site-header{z-index:1000;border-bottom:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);pointer-events:none;width:100%;padding:0;transition:padding .4s cubic-bezier(.22,1,.36,1),border-color .4s,background .4s;position:fixed;top:0;left:0;right:0}.site-header *{pointer-events:auto}.site-header.is-scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom-color:#0000;padding:.6rem 1rem}@media (width<=480px){.site-header.is-scrolled{padding:.5rem}}.nav-bar{border-radius:0;justify-content:space-between;align-items:center;width:min(1240px,100% - 4rem);min-height:74px;margin-inline:auto;transition:min-height .4s cubic-bezier(.22,1,.36,1),padding .4s cubic-bezier(.22,1,.36,1),border-radius .4s cubic-bezier(.22,1,.36,1),background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,box-shadow .4s,border-color .4s;display:flex}.site-header.is-scrolled .nav-bar{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--glass-border);min-height:52px;box-shadow:0 10px 30px -5px var(--shadow), inset 0 1px 0 color-mix(in srgb, var(--surface) 40%, transparent);border-radius:9999px;padding:0 1.25rem}@media (width<=480px){.site-header.is-scrolled .nav-bar{padding:0 .75rem}}.nav-logo{color:var(--text);font-family:var(--font-display);letter-spacing:-.04em;font-size:1.15rem;font-weight:700;text-decoration:none}.nav-logo span{color:var(--text-tertiary)}.nav-links,.nav-actions{align-items:center;display:flex}.nav-links{gap:clamp(1rem,2.3vw,2rem)}.nav-actions{gap:.65rem}.nav-link{color:var(--text-secondary);font-size:.78rem;font-weight:500;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--text);transform-origin:100%;height:1px;transition:transform .2s;position:absolute;bottom:-.45rem;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link:focus-visible:after{transform-origin:0;transform:scaleX(1)}.button{border:1px solid var(--solid);background:var(--solid);min-height:48px;color:var(--on-solid);border-radius:0;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1.25rem;font-size:.82rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.button:hover,.button:focus-visible{color:var(--text);background:0 0}.button--small{min-height:38px;padding:.6rem .9rem;font-size:.72rem}.button--secondary{border-color:var(--border-strong);color:var(--text);background:0 0}.button--secondary:hover,.button--secondary:focus-visible{border-color:var(--solid);background:var(--surface-muted)}.theme-toggle,.nav-burger{border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border-radius:0;place-items:center;padding:0;display:grid}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:17px;height:17px}.language-toggle{letter-spacing:.06em;text-transform:uppercase;min-width:38px;font-size:.72rem;font-weight:700;transition:border-color .2s,background-color .2s,color .2s}.language-toggle:hover,.language-toggle:focus-visible{border-color:var(--solid);background:var(--surface-muted)}.nav-burger{align-content:center;gap:5px;display:none}.nav-burger__bar{background:currentColor;width:17px;height:1px;transition:transform .2s;display:block}.nav-burger__bar.is-open:first-child{transform:translateY(3px)rotate(45deg)}.nav-burger__bar.is-open:last-child{transform:translateY(-3px)rotate(-45deg)}.nav-mobile{border-bottom:1px solid var(--border);background:var(--bg);padding:.75rem 1rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-mobile.is-open{flex-direction:column;display:flex}.nav-mobile__link,.nav-mobile__cta{border-bottom:1px solid var(--border);color:var(--text);padding:.9rem 0;font-size:.9rem;text-decoration:none}.nav-mobile__cta{background:var(--solid);color:var(--on-solid);text-align:center;border:0;margin-top:.75rem}.hero-section{border-bottom:1px solid var(--border);align-items:center;min-height:calc(100svh - 74px);margin-top:74px;scroll-margin-top:74px;display:grid}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:clamp(2rem,4vw,4rem);width:min(1240px,100% - 4rem);margin-inline:auto;padding-block:clamp(1.5rem,3.5vh,3rem);display:grid}.app-shell:not(.is-ready) .hero-kicker,.app-shell:not(.is-ready) .hero-headline,.app-shell:not(.is-ready) .hero-sub,.app-shell:not(.is-ready) .hero-cta,.app-shell:not(.is-ready) .hero-stats,.app-shell:not(.is-ready) .hero-visual{opacity:0}.app-shell.is-ready .hero-kicker{animation:.6s both hero-enter}.hero-kicker{color:var(--text-secondary);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.75rem;margin:0 0 2rem;font-size:.72rem;font-weight:600;display:flex}.hero-kicker span{background:var(--border-strong);width:2.5rem;height:1px}.app-shell.is-ready .hero-headline{animation:.65s 80ms both hero-enter}.hero-headline{letter-spacing:-.06em;max-width:13ch;min-height:3.8em;margin:0;font-size:clamp(2.3rem,4.8vw,4.6rem);font-weight:500;line-height:.95}.hero-cursor{color:var(--text-secondary);font-weight:300}.app-shell.is-ready .hero-sub{animation:.65s .15s both hero-enter}.hero-sub{max-width:50ch;color:var(--text-secondary);margin:1.25rem 0 0;font-size:clamp(.9rem,1.2vw,1rem);line-height:1.7}.app-shell.is-ready .hero-cta{animation:.65s .22s both hero-enter}.hero-cta{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.app-shell.is-ready .hero-stats{animation:.65s .29s both hero-enter}.hero-stats{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);max-width:620px;margin:clamp(1.5rem,3.5vw,3rem) 0 0;padding:0;list-style:none;display:grid}.hero-stat{flex-direction:column;gap:.25rem;padding:.9rem 0;display:flex}.hero-stat+.hero-stat{border-left:1px solid var(--border);padding-left:1.25rem}.hero-stat__value{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500}.hero-stat__label{color:var(--text-secondary);text-transform:uppercase;font-size:.68rem}.app-shell.is-ready .hero-visual{animation:.75s .15s both hero-enter}.hero-visual{margin:0;position:relative}.hero-visual__index{z-index:1;background:var(--solid);color:var(--on-solid);font-family:var(--font-display);letter-spacing:.12em;padding:.5rem .65rem;font-size:.65rem;position:absolute;top:1rem;right:1rem}.hero-photo-glare{z-index:0;background:0 0!important;border:none!important;border-radius:0!important;width:min(100%,400px)!important;height:auto!important}.hero-photo-glare:before{z-index:5;pointer-events:none}.hero-photo{aspect-ratio:4/5;border:1px solid var(--border);background-color:var(--surface-muted);--hero-glitch-img:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='cardNoise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23cardNoise)' opacity='0.35'/%3E%3C/svg%3E");width:100%;position:relative;overflow:hidden}.hero-photo:before{content:"";background:repeating-linear-gradient(0deg, transparent 0 6px, color-mix(in srgb, var(--text) 6%, transparent) 6px 7px), url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='topNoise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23topNoise)' opacity='0.45'/%3E%3C/svg%3E");opacity:.35;pointer-events:none;mix-blend-mode:overlay;z-index:3;width:200%;height:200%;transition:opacity .35s;animation:.2s step-end infinite animated-noise;position:absolute;top:-50%;left:-50%}.hero-photo.is-revealed:before{opacity:.5}.hero-photo img{object-fit:cover;width:100%;height:100%;transition:opacity .3s;display:block;position:absolute;inset:0}.hero-photo__gif{opacity:1;z-index:1;filter:grayscale()contrast(1.2)brightness(.95)}.hero-photo.is-revealed .hero-photo__gif{opacity:0}.hero-photo__main{opacity:0;filter:grayscale()contrast(1.03);z-index:2}.hero-photo.is-revealed .hero-photo__main{opacity:1;animation:4s step-end infinite hero-glitch}.hero-photo:after{content:"";background:inherit;background-image:var(--hero-glitch-img);filter:grayscale()contrast(1.1)brightness(1.1);opacity:0;pointer-events:none;mix-blend-mode:screen;clip-path:inset(50% 0 30%);z-index:4;background-position:50%;background-size:cover;position:absolute;inset:0}.hero-photo.is-revealed:after{animation:4s step-end infinite hero-glitch-overlay}@keyframes hero-glitch{0%{clip-path:inset(0);transform:translate(0)}2%{clip-path:inset(25% 0 45%);filter:grayscale()contrast(1.4)brightness(1.1);transform:translate(-8px,3px)}4%{clip-path:inset(60% 0 10%);filter:grayscale()contrast(.9);transform:translate(7px,-4px)}6%{clip-path:inset(10% 0 70%);transform:translate(-5px,2px)}8%{clip-path:inset(45% 0 30%);transform:translate(8px,-2px)}10%{clip-path:inset(5% 0 80%);transform:translate(-4px,4px)}12%{clip-path:inset(0);filter:grayscale()contrast(1.03);transform:translate(0)}84%{clip-path:inset(0);transform:translate(0)}86%{clip-path:inset(20% 0 55%);filter:grayscale()contrast(1.3);transform:translate(-7px,2px)}88%{clip-path:inset(65% 0 15%);transform:translate(6px,-3px)}90%{clip-path:inset(15% 0 65%);transform:translate(-5px,3px)}92%{clip-path:inset(50% 0 25%);transform:translate(7px,-2px)}94%{clip-path:inset(8% 0 78%);transform:translate(-3px,4px)}96%{clip-path:inset(0);filter:grayscale()contrast(1.03);transform:translate(0)}to{clip-path:inset(0);transform:translate(0)}}@keyframes hero-glitch-overlay{0%{opacity:0}2%{opacity:.8;clip-path:inset(15% 0 60%)}4%{opacity:.6;clip-path:inset(65% 0 15%)}6%{opacity:.7;clip-path:inset(30% 0 50%)}8%{opacity:.4;clip-path:inset(70% 0 10%)}10%,84%{opacity:0}86%{opacity:.8;clip-path:inset(20% 0 55%)}88%{opacity:.6;clip-path:inset(60% 0 20%)}90%{opacity:.7;clip-path:inset(35% 0 45%)}92%{opacity:.4;clip-path:inset(75% 0 15%)}94%,to{opacity:0}}@keyframes animated-noise{0%{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-12%,8%)}30%{transform:translate(7%,-15%)}40%{transform:translate(-8%,18%)}50%{transform:translate(-15%,10%)}60%{transform:translate(12%,-5%)}70%{transform:translateY(15%)}80%{transform:translate(5%,-12%)}90%{transform:translate(-10%,5%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.hero-photo.is-revealed img,.hero-photo.is-revealed:after{animation:none}.hero-photo.is-revealed img{opacity:1}}.hero-visual figcaption{color:var(--text-secondary);text-transform:uppercase;justify-content:space-between;gap:1rem;padding-top:.75rem;font-size:.66rem;display:flex}.hero-availability{text-align:right;align-items:center;gap:.45rem;display:inline-flex}.hero-availability i{background:var(--text);border-radius:50%;width:6px;height:6px}@keyframes hero-enter{0%{opacity:0;transform:translateY(18px)}}@media (width<=1040px){.nav-links,.nav-cta{display:none}.nav-burger{display:grid}}@media (width<=800px){.nav-bar,.hero-grid{width:min(100% - 2rem,680px)}.nav-bar{min-height:66px}.nav-actions{gap:.45rem}.hero-section{min-height:auto}.hero-grid{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}.hero-headline{font-size:clamp(2.4rem,11vw,4rem)}.hero-visual{justify-self:center;width:min(100%,380px)}}@media (width<=480px){.nav-logo{font-size:1.05rem}.nav-actions{gap:.3rem}.like-button{gap:.25rem;height:34px;padding:0 .5rem;font-size:.72rem}.like-button__icon{width:13px;height:13px}.theme-toggle,.language-toggle{width:34px;height:34px;font-size:.68rem}.hero-stats{grid-template-columns:1fr}.hero-stat,.hero-stat+.hero-stat{border-right:0;border-bottom:1px solid var(--border);border-left:0;flex-direction:row;justify-content:space-between;align-items:baseline;padding:.9rem 0}.hero-visual figcaption{flex-direction:column}}.cv-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:1rem;animation:.25s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cv-modal{background:var(--bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:min(900px,100%);max-height:90vh;animation:.3s slideUp;display:flex;overflow:hidden;box-shadow:0 24px 64px -12px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cv-modal-header{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.cv-modal-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.cv-modal-actions{align-items:center;gap:.75rem;display:flex}.cv-modal-actions .button{align-items:center;gap:.5rem;display:inline-flex}.cv-modal-actions .button svg{width:16px;height:16px}.cv-modal-actions .button.is-disabled{opacity:.5;pointer-events:none}.cv-modal-close{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.cv-modal-close:hover{background:var(--bg-secondary);color:var(--text);border-color:var(--text-tertiary)}.cv-modal-close svg{width:18px;height:18px}.cv-modal-content{overscroll-behavior:contain;background:#525659;flex:1;min-height:400px;padding:1rem;overflow-y:auto}.cv-status{color:#e8e8e8;justify-content:center;align-items:center;min-height:300px;margin:0;font-size:.9rem;display:flex}.cv-page{justify-content:center;display:flex}.cv-page+.cv-page{margin-top:1rem}.cv-page canvas{border-radius:4px;max-width:100%;box-shadow:0 8px 24px -8px #00000080;height:auto!important}@media (width<=640px){.cv-modal{border-radius:12px;max-height:95vh}.cv-modal-header{flex-wrap:wrap;gap:.75rem;padding:.875rem 1rem}.cv-modal-title{font-size:1rem}.cv-modal-actions{justify-content:flex-end;width:100%}.cv-modal-content{min-height:300px;padding:.75rem}}
