@import "https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap";
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_80b40f9e-module__eZagHa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_80b40f9e-module__eZagHa__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--ink:#020617;--paper:#f8fafc;--cyan:#48c6f4;--grad-start:#6c9;--grad-end:#3cf;--ease:cubic-bezier(.22, 1, .36, 1);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--nav-height:3.75rem;--page-max:56rem;--gutter:clamp(.85rem, 3.5vw, 1.5rem);--content-top:calc(var(--nav-height) + 1.25rem + var(--safe-top));--side-clear:var(--gutter);--minimap-width:11.5rem;--minimap-height:4.25rem;--minimap-rail:calc(var(--minimap-width) + var(--gutter));--telemetry-opacity:.14;--on-accent:var(--ink);--logo-grad-start:var(--grad-start);--logo-grad-end:var(--grad-end);--font-sans:var(--font-display), "M PLUS Rounded 1c", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", sans-serif;--font-body:var(--font-mono), "JetBrains Mono", ui-monospace, monospace}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--ink);--text:var(--paper);--text-muted:color-mix(in srgb, var(--paper) 72%, var(--ink));--panel:color-mix(in srgb, var(--ink) 82%, transparent);--line:color-mix(in srgb, var(--paper) 18%, transparent);--placeholder:color-mix(in srgb, var(--paper) 12%, var(--ink));--placeholder-text:color-mix(in srgb, var(--paper) 55%, var(--ink));--read-shadow:0 1px 2px color-mix(in srgb, var(--ink) 85%, transparent), 0 0 28px color-mix(in srgb, var(--ink) 70%, transparent);--veil-center:color-mix(in srgb, var(--ink) 62%, transparent);--veil-top:color-mix(in srgb, var(--ink) 32%, transparent);--veil-mid:color-mix(in srgb, var(--ink) 48%, transparent);--veil-bottom:color-mix(in srgb, var(--ink) 82%, transparent);--logo-bg:var(--bg);--logo-fg:var(--text)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--paper);--text:var(--ink);--text-muted:color-mix(in srgb, var(--ink) 58%, var(--paper));--panel:color-mix(in srgb, var(--paper) 88%, transparent);--line:color-mix(in srgb, var(--ink) 12%, transparent);--placeholder:color-mix(in srgb, var(--ink) 8%, var(--paper));--placeholder-text:color-mix(in srgb, var(--ink) 48%, var(--paper));--read-shadow:0 1px 2px color-mix(in srgb, var(--paper) 90%, transparent), 0 0 24px color-mix(in srgb, var(--paper) 75%, transparent);--veil-center:color-mix(in srgb, var(--paper) 78%, transparent);--veil-top:color-mix(in srgb, var(--paper) 55%, transparent);--veil-mid:color-mix(in srgb, var(--paper) 68%, transparent);--veil-bottom:color-mix(in srgb, var(--paper) 90%, transparent);--logo-bg:var(--bg);--logo-fg:var(--text)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font-body);margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}body{background:0 0;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wave-host{display:none}.home__hero,.page-intro,.case,.contact,.telemetry,.minimap{animation:none}}a{color:inherit;text-decoration:none}:focus{outline:none}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.skip-link{z-index:30;top:calc(.75rem + var(--safe-top));left:calc(.75rem + var(--safe-left));border:1px solid var(--line);background:var(--text);color:var(--bg);letter-spacing:.04em;text-transform:uppercase;transition:transform .16s var(--ease);padding:.65rem .9rem;font-size:.8rem;position:absolute;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.experience{isolation:isolate;background:0 0;width:100%;min-height:100dvh;position:relative}.experience__stage{z-index:0;pointer-events:none;background:var(--bg);width:100vw;height:100dvh;position:fixed;inset:0;overflow:hidden}.wave-host,.wave-host canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.wave-host{z-index:0;pointer-events:none}.wave-host--pending{background:linear-gradient(180deg, transparent 35%, color-mix(in srgb, var(--grad-start) 8%, transparent) 100%), repeating-linear-gradient(90deg, transparent, transparent 28px, color-mix(in srgb, var(--cyan) 5%, transparent) 28px, color-mix(in srgb, var(--cyan) 5%, transparent) 29px)}.experience__veil{z-index:1;pointer-events:none;background:radial-gradient(ellipse 62% 58% at 38% 32%, var(--veil-center), transparent 72%), linear-gradient(180deg, var(--veil-top) 0%, var(--veil-mid) 48%, var(--veil-bottom) 100%);position:absolute;inset:0}.experience__hud{z-index:3;pointer-events:none;width:100vw;height:100dvh;position:fixed;inset:0}.experience__minimap-flow{width:100%;padding:calc(var(--nav-height) + .65rem + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) .75rem calc(var(--gutter) + var(--safe-left));margin:0;display:block}.experience__scroll{z-index:2;min-height:100dvh;padding-bottom:calc(3.5rem + var(--safe-bottom));position:relative}.page-frame{width:min(var(--page-max), calc(100% - (var(--side-clear) * 2)));margin-inline:auto;padding:.75rem 0 2rem}.site-nav{z-index:5;min-height:var(--nav-height);padding:calc(.7rem + var(--safe-top)) calc(var(--gutter) + var(--safe-right)) .7rem calc(var(--gutter) + var(--safe-left));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem .85rem;display:flex;position:fixed;top:0;left:0;right:0}.site-nav__brand{flex:0 auto;align-items:center;gap:.65rem;min-width:0;display:inline-flex}.site-nav__logo{flex:none;width:1.85rem;height:1.85rem}.site-nav__brand-name{font-family:var(--font-sans);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.82rem,2.8vw,.95rem);font-weight:700;overflow:hidden}.site-logo{flex-shrink:0;display:block;overflow:visible}.site-logo__bg{fill:var(--logo-bg);stroke:var(--logo-fg);height:550px;transition:height .1s ease-out,transform .1s ease-out}.site-logo__circle{fill:var(--logo-bg);stroke:var(--logo-fg);transition:transform .1s ease-out}.site-logo__mark{fill:var(--logo-bg);transition:transform .1s ease-out}.site-logo__wash{transition:transform .1s ease-out}.site-nav__brand:hover .site-logo__bg,.site-nav__brand:focus-visible .site-logo__bg{height:462px}.site-nav__brand:hover .site-logo__circle,.site-nav__brand:hover .site-logo__mark,.site-nav__brand:hover .site-logo__wash,.site-nav__brand:focus-visible .site-logo__circle,.site-nav__brand:focus-visible .site-logo__mark,.site-nav__brand:focus-visible .site-logo__wash{transform:translate(-12.15%,-12.15%)}.site-nav__links{scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;max-width:none;font-family:var(--font-body);flex-wrap:nowrap;flex:auto;justify-content:center;align-items:center;gap:.45rem .75rem;display:flex;overflow-x:auto}.site-nav__links::-webkit-scrollbar{display:none}.site-nav__links a{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;flex:none;font-size:clamp(.62rem,2.2vw,.72rem)}.site-nav__links a:hover,.site-nav__links a.is-active{color:var(--cyan)}.site-nav__links a.is-active{text-underline-offset:.35em;text-decoration:underline}.site-nav__controls{flex:none;align-items:center;gap:.4rem;margin-left:auto;display:flex}.seg{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, transparent);display:inline-flex;overflow:hidden}.seg__btn{min-width:2rem;min-height:1.85rem;color:var(--text-muted);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0 .45rem;font-size:.62rem;display:inline-flex}.seg__btn+.seg__btn{border-left:1px solid var(--line)}.seg__btn:hover,.seg__btn.is-active{color:var(--cyan);background:color-mix(in srgb, var(--cyan) 12%, transparent)}.eyebrow{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;text-shadow:var(--read-shadow);margin:0 0 .65rem;font-size:.68rem;font-weight:500}.page-title,.section-title{font-family:var(--font-sans);letter-spacing:-.03em;text-shadow:var(--read-shadow);margin:0 0 .85rem;font-weight:800;line-height:1.15}.page-title{font-size:clamp(1.75rem,4vw,2.35rem)}.section-title{font-size:clamp(1.2rem,2.5vw,1.45rem)}.section-label{color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:500}.lede{max-width:38rem;color:var(--text-muted);text-wrap:pretty;text-shadow:var(--read-shadow);margin:0 0 1rem;font-size:clamp(.95rem,2.2vw,1.05rem);line-height:1.55}.copy{max-width:42rem;color:var(--text-muted);text-wrap:pretty;text-shadow:var(--read-shadow);margin:0 0 .9rem;font-size:.95rem;line-height:1.65}.list{color:var(--text-muted);margin:0;padding-left:1.1rem;font-size:.92rem;line-height:1.55}.list li+li{margin-top:.4rem}.stack-line{color:var(--cyan);letter-spacing:.04em;margin:.75rem 0 0;font-size:.75rem}.text-link{color:var(--cyan);white-space:nowrap;font-size:.85rem;font-weight:500}.text-link:hover{color:var(--grad-start)}.cta-row{flex-wrap:wrap;gap:.65rem;display:flex}.btn{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, transparent);min-width:6.5rem;min-height:2.75rem;color:var(--text);letter-spacing:.08em;text-transform:uppercase;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);justify-content:center;align-items:center;padding:0 1rem;font-size:.78rem;display:inline-flex}.btn:hover{border-color:var(--cyan);color:var(--cyan)}.btn--primary{background:var(--grad-start);color:var(--on-accent);border-color:#0000;font-weight:500}.btn--primary:hover{background:var(--cyan);color:var(--on-accent);border-color:#0000}.home{width:min(var(--page-max), calc(100% - (var(--side-clear) * 2)));margin-inline:auto;padding:.5rem 0 2rem}.home__hero{min-height:auto;animation:rise .7s var(--ease) both;flex-direction:column;justify-content:center;padding:1.25rem 0 2.25rem;display:flex}.home__brand-row{flex-wrap:wrap;align-items:center;gap:.85rem 1.1rem;margin-top:.15rem;display:flex}.home__logo{flex:none;width:clamp(3.25rem,10vw,4.5rem);height:clamp(3.25rem,10vw,4.5rem)}.home__brand{font-family:var(--font-sans);letter-spacing:-.03em;text-wrap:balance;text-shadow:var(--read-shadow);margin:0;font-size:clamp(2.1rem,11vw,5rem);font-weight:800;line-height:.95}.home__title{color:var(--text);font-family:var(--font-body);letter-spacing:.04em;text-shadow:var(--read-shadow);margin:.85rem 0 0;font-size:clamp(.9rem,2.4vw,1.15rem);font-weight:500}.home__headline{max-width:22ch;font-family:var(--font-sans);letter-spacing:-.02em;text-wrap:balance;text-shadow:var(--read-shadow);margin:1.25rem 0 0;font-size:clamp(1.15rem,3.8vw,1.75rem);font-weight:700;line-height:1.25}.home__pitch{margin-top:.85rem}.home__hero .cta-row{margin-top:1.6rem}.home__featured{animation:rise .7s var(--ease) .12s both;padding:1rem 0 2rem}.home__featured-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem 1.5rem;margin-bottom:1.25rem;display:flex}.page-intro{animation:rise .55s var(--ease) both;margin-bottom:2rem}.block{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2rem}.facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.85rem 1.25rem;margin:1.25rem 0 0;display:grid}.facts__row{flex-direction:column;gap:.2rem;display:flex}.facts__row dt{color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:500}.facts__row dd{margin:0;font-size:.92rem;line-height:1.4}.jobs{gap:1.75rem;display:grid}.job+.job{border-top:1px solid var(--line);padding-top:1.75rem}.job__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;margin-bottom:.35rem;display:flex}.job__role{font-family:var(--font-sans);margin:0;font-size:1.15rem;font-weight:700}.job__period{color:var(--cyan);letter-spacing:.04em;margin:0;font-size:.85rem}.job__meta,.job__progression,.job__summary{color:var(--text-muted);margin:0 0 .55rem;font-size:.88rem;line-height:1.5}.job__progression{font-size:.78rem}.skills{gap:1.15rem;display:grid}.skills__label{color:var(--text);margin:0 0 .45rem;font-size:.85rem;font-weight:500}.skills__tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.skills__tags li{border:1px solid var(--line);color:var(--text-muted);padding:.35rem .55rem;font-size:.75rem}.edu{margin:0;padding:0;list-style:none}.edu li{color:var(--text-muted);grid-template-columns:3.25rem 1fr;gap:.75rem;font-size:.9rem;line-height:1.45;display:grid}.edu li+li{margin-top:.55rem}.edu__year{color:var(--cyan);letter-spacing:.04em;font-size:.78rem}.edu__school{opacity:.85}.contact,.privacy{max-width:34rem;animation:rise .55s var(--ease) both}.privacy__list{color:var(--text-muted);margin:1.25rem 0 0;padding-left:1.15rem;font-size:.95rem;line-height:1.55}.privacy__list li+li{margin-top:.65rem}.privacy__note{color:var(--text-muted);margin:1.5rem 0 0;font-size:.88rem}.site-foot{width:min(var(--page-max), calc(100% - (var(--side-clear) * 2)));color:var(--text-muted);margin:2rem auto 0;padding:0 0 .5rem;font-size:.78rem}.site-foot a:hover{color:var(--cyan)}.contact__email{font-family:var(--font-sans);letter-spacing:-.02em;margin:1.75rem 0 0;font-size:clamp(1.1rem,3vw,1.35rem);font-weight:700}.contact__email a:hover{color:var(--cyan)}.project-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:540px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 62%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .18s var(--ease);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{border-color:var(--cyan)}.project-card__media{aspect-ratio:16/10;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.project-card__body{flex-direction:column;flex:1;gap:.4rem;padding:1rem 1.05rem 1.15rem;display:flex}.project-card__meta{color:var(--cyan);letter-spacing:.04em;margin:0;font-size:.72rem}.project-card__title{font-family:var(--font-sans);margin:0;font-size:1.15rem;font-weight:700}.project-card__hook{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.45}.project-card__stack{color:var(--text-muted);opacity:.9;margin:auto 0 0;padding-top:.5rem;font-size:.72rem}.media-ph{background:var(--placeholder);width:100%;height:100%;min-height:10rem;position:relative;overflow:hidden}.media-ph--tall{aspect-ratio:16/9;min-height:16rem}.media-ph__img{object-fit:cover;object-position:center top}.media-ph--contain{background-color:color-mix(in srgb, var(--ink) 92%, var(--cyan));background-image:radial-gradient(ellipse 80% 60% at 50% 40%, color-mix(in srgb, var(--cyan) 18%, transparent), transparent 70%), linear-gradient(135deg, color-mix(in srgb, var(--grad-start) 22%, transparent), transparent 45%, color-mix(in srgb, var(--grad-end) 18%, transparent)), repeating-linear-gradient(90deg, transparent, transparent 15px, color-mix(in srgb, var(--cyan) 7%, transparent) 15px, color-mix(in srgb, var(--cyan) 7%, transparent) 16px), repeating-linear-gradient(0deg, transparent, transparent 15px, color-mix(in srgb, var(--paper) 4%, transparent) 15px, color-mix(in srgb, var(--paper) 4%, transparent) 16px)}.media-ph--contain .media-ph__img{object-fit:contain;object-position:center;padding:.65rem}.case{animation:rise .55s var(--ease) both}.case__title{font-family:var(--font-sans);letter-spacing:-.03em;margin:0 0 .35rem;font-size:clamp(1.85rem,4vw,2.5rem);font-weight:800;line-height:1.1}.case__role{color:var(--cyan);margin:0 0 .75rem;font-size:.95rem}.case__hero{border:1px solid var(--line);background:var(--panel);margin:1.5rem 0 2rem;overflow:hidden}.case__grid{gap:2rem;display:grid}@media (min-width:800px){.case__grid{grid-template-columns:1.4fr .85fr;gap:2.5rem}}.case__aside{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.15rem}.case__aside .section-label:first-child{margin-top:0}.case__aside .section-label{margin-top:1.25rem}.case__links{margin:0;padding:0;list-style:none}.case__links li+li{margin-top:.35rem}.case__links a{color:var(--cyan);text-underline-offset:.15em;text-decoration:underline}.case__gallery{margin-top:2.5rem}.case__gallery-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;display:grid}.case__gallery-open{cursor:zoom-in;text-align:left;background:0 0;border:0;width:100%;margin:0;padding:0;display:block}.case__gallery-open:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.case__gallery-grid .media-ph{min-height:9rem}.lightbox{border:1px solid var(--line);width:min(96vw,72rem);max-height:92vh;color:var(--paper);background:0 0;margin:auto;padding:0;position:relative;overflow:hidden}.lightbox::backdrop{background:color-mix(in srgb, var(--ink) 78%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox__bar{z-index:2;justify-content:flex-end;display:flex;position:absolute;inset:.65rem .65rem auto auto}.lightbox__close{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 72%, transparent);color:var(--paper);font:inherit;cursor:pointer;padding:.4rem .7rem;font-size:.85rem}.lightbox__close:hover,.lightbox__close:focus-visible{border-color:var(--cyan);color:var(--cyan)}.lightbox__stage{width:100%;height:min(88vh,52rem);min-height:16rem;position:relative}.lightbox__img{object-fit:contain;object-position:center;padding:1rem}.case__back{margin:2.5rem 0 0}.case__back a{color:var(--cyan)}.telemetry{z-index:2;bottom:calc(.85rem + var(--safe-bottom));left:calc(var(--gutter) + var(--safe-left));max-width:min(16rem,38vw);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;opacity:var(--telemetry-opacity);color:#b6bedce6;animation:rise 1.1s var(--ease) both;background:0 0;border:0;margin:0;padding:0;position:absolute}.telemetry__label{color:color-mix(in srgb, var(--cyan) 80%, transparent);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.58rem}.telemetry__ua{color:inherit;text-overflow:ellipsis;white-space:nowrap;margin:.25rem 0 .3rem;font-size:.52rem;line-height:1.3;overflow:hidden}.telemetry__cursor{letter-spacing:.04em;margin:0;font-size:.6rem}.telemetry__cursor span{color:color-mix(in srgb, var(--grad-start) 75%, transparent)}.minimap{width:var(--minimap-width);pointer-events:auto;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:100%;box-shadow:0 8px 28px color-mix(in srgb, var(--ink) 28%, transparent);animation:rise .9s var(--ease) both;padding:.65rem .75rem}.minimap--fixed{z-index:1;top:calc(var(--nav-height) + .75rem + var(--safe-top));right:calc(var(--gutter) + var(--safe-right));position:absolute}.minimap--flow{width:100%;margin:0;position:relative}.minimap__head,.minimap__mode{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.65rem}.minimap__head{justify-content:space-between;gap:.5rem;margin-bottom:.55rem;display:flex}.minimap__stage{width:100%;height:var(--minimap-height);border:1px solid var(--line);background:linear-gradient(color-mix(in srgb, var(--cyan) 8%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent) 1px, transparent 1px), color-mix(in srgb, var(--ink) 85%, transparent);background-size:12px 12px,12px 12px,auto;position:relative;overflow:hidden}.minimap__dot,.minimap__heat{pointer-events:none;border-radius:999px;position:absolute;transform:translate(-50%,-50%)}.minimap__dot{width:6px;height:6px}.minimap__dot--peer{background:var(--cyan);box-shadow:0 0 8px color-mix(in srgb, var(--cyan) 70%, transparent)}.minimap__dot--self{background:var(--grad-start);width:8px;height:8px;box-shadow:0 0 10px color-mix(in srgb, var(--grad-start) 85%, transparent)}.minimap__heat{background:var(--cyan);width:10px;height:10px;box-shadow:0 0 12px color-mix(in srgb, var(--cyan) 55%, transparent)}.minimap__mode{color:var(--text-muted);margin:.45rem 0 0}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.experience__hud{display:none}.telemetry{opacity:.1;max-width:min(14rem,56vw)}.cta-row{width:100%}.cta-row .btn{flex:auto;min-width:0}.home__featured-head{align-items:start}.home__brand-row{gap:.7rem}.case__gallery-grid{grid-template-columns:1fr}}@media (min-width:768px){:root{--side-clear:max(var(--gutter), var(--minimap-rail))}.experience__hud{display:block}.experience__minimap-flow{display:none}.home,.page-frame{padding-top:var(--content-top)}.home__hero{min-height:calc(100dvh - var(--nav-height) - 6rem);padding:2.5rem 0 3rem}}
