@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Playfair+Display:ital,wght@1,400;1,500&display=swap";.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--bg:#0b0b0b;--bg-2:#111;--fg:#f4f4f2;--muted:#8d8d8b;--line:#ffffff14;--line-strong:#ffffff38;--accent:#ffb000;--accent-glow:#ffb0001f;--header-h:72px;--ease:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out-soft:cubic-bezier(.22, 1, .36, 1);--gradient-heading:linear-gradient(to right, #fff, #9a9a98);--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-serif:"Playfair Display", Georgia, serif}*{box-sizing:border-box;margin:0}html{background:var(--bg);color:var(--fg);scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#2a2a2a transparent}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:inherit;transition:color .25s var(--ease);text-decoration:none}img{max-width:100%;height:auto;display:block}ul,ol{padding:0;list-style:none}h1,h2,h3{letter-spacing:-.02em;font-weight:600;line-height:1.1}::selection{color:inherit;background:#ffffff2e}:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px;border-radius:2px}.mono{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:.68rem}.gradient{background:var(--gradient-heading);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.background{z-index:-1;background:var(--bg);pointer-events:none;position:fixed;inset:0;overflow:hidden}.glow{filter:blur(40px);background:radial-gradient(#ffb0000d,#ffffff05 45%,#0000 70%);width:90vw;height:70vh;position:absolute;top:-30vh;left:50%;transform:translate(-50%)}.grid{background-position:50%;background-repeat:no-repeat;background-size:min(720px,110vw);position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 0%,#0000 75%);mask-image:radial-gradient(#000 0%,#0000 75%)}.nav{top:0;z-index:100;height:var(--header-h);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#0b0b0bb8;position:fixed;inset-inline:0}.nav-inner{justify-content:space-between;align-items:center;gap:2rem;max-width:1320px;height:100%;margin:0 auto;padding:0 2rem;display:flex}.brand{flex-shrink:0;width:112px;height:100%;position:relative}.brand-avatar{border:2px solid var(--line);background:var(--bg-2);width:112px;height:112px;transition:border-color .3s var(--ease), transform .3s var(--ease-spring), box-shadow .3s var(--ease);border-radius:9999px;position:absolute;top:calc(100% - 56px);left:0;overflow:hidden;box-shadow:0 14px 34px -14px #000000b3}.brand-avatar:hover{border-color:var(--accent);box-shadow:0 16px 34px -14px #000000b3, 0 0 20px var(--accent-glow);transform:translateY(-2px)}.brand-avatar img{object-fit:cover;width:100%;height:100%}.nav-list{align-items:center;gap:2.5rem;display:flex}.nav-link{color:#d6d6d4;align-items:baseline;gap:.5rem;padding:.5rem 0;font-size:1.05rem;font-weight:600;display:inline-flex}.nav-index{font:12px var(--font-mono);color:var(--accent);opacity:.85;transition:color .3s var(--ease), opacity .3s var(--ease)}.nav-text{display:inline-block;position:relative;overflow:hidden}.nav-text:after{content:attr(data-text);color:var(--fg);position:absolute;top:100%;left:0}.nav-text,.nav-text:after{transition:transform .4s var(--ease)}.nav-link:hover .nav-text{transform:translateY(-100%)}.nav-link:hover .nav-index,.nav-link.active .nav-index{color:var(--accent);opacity:1}.nav-link.active .nav-text,.nav-link:hover{color:var(--fg)}.nav-actions{align-items:center;gap:1.25rem;display:flex}.lang{font:.8rem var(--font-mono);letter-spacing:.12em;color:#d6d6d4;border:1px solid var(--line-strong);border-radius:9999px;padding:.5rem .9rem;transition:color .3s,border-color .3s}.lang:hover{color:var(--fg);border-color:var(--accent)}.cta{background:var(--fg);color:var(--bg);transition:background-color .3s var(--ease), transform .3s var(--ease-spring), box-shadow .3s var(--ease);border-radius:9999px;padding:.7rem 1.5rem;font-size:.95rem;font-weight:600}.cta:hover{background:var(--accent);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}@media (width<=860px){.nav-list{display:none}.nav-inner{padding:0 1.25rem}.brand{width:80px}.brand-avatar{width:80px;height:80px;top:calc(100% - 40px)}}@media (width<=360px){.brand{width:64px}.brand-avatar{width:64px;height:64px;top:calc(100% - 32px)}}.hero{min-height:100svh;padding:calc(var(--header-h) + 88px) 6vw 0;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.hero-content{z-index:2;width:100%;max-width:1320px;margin:0 auto;position:relative}.hero-eyebrow{margin-bottom:1.5rem}.hero-title{letter-spacing:-.03em;flex-direction:column;gap:.4rem;margin-bottom:2.5rem;font-size:clamp(2.6rem,7.2vw,6.4rem);font-weight:600;line-height:1.04;display:flex}.line{display:block}.line-dev{background:var(--gradient-heading);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:-.14em;padding-bottom:.14em}.line-accent{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--muted);font-style:italic;font-weight:400}.hero-sub{color:var(--muted);max-width:680px;margin:0 0 3rem;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.btn{font:.78rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;transition:background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease-spring), box-shadow .3s var(--ease);border-radius:9999px;align-items:center;gap:.55rem;padding:.75rem 1.4rem;display:inline-flex}.btn-primary{background:var(--fg);color:var(--bg)}.btn-primary:hover{background:var(--accent);color:#0b0b0b;box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.btn-ghost{border:1px solid var(--line);color:var(--muted);background:#1116}.btn-ghost:hover{color:var(--fg);border-color:var(--accent);transform:translateY(-1px)}.tacho{pointer-events:none;user-select:none;width:min(460px,34vw);position:absolute;bottom:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 28%);mask-image:linear-gradient(90deg,#0000 0%,#000 28%)}.tacho-plot{gap:18px;display:grid;position:relative}.lane{grid-template-columns:130px 1fr;align-items:center;gap:14px;display:grid}.lane-label{font:12px var(--font-mono);color:var(--muted);letter-spacing:.03em}.track{background:#ffffff0a;border-radius:4px;height:22px;position:relative;overflow:hidden}.seg{background:var(--accent);opacity:.22;transform-origin:0;animation:grow .9s var(--ease) var(--d,0s) backwards;transition:opacity .6s var(--ease), box-shadow .6s var(--ease);position:absolute;top:0;bottom:0}.seg-0{background:#fff}.seg-2{background:#ffffffb3}.seg-3{background:#ffb000}.seg.passed{opacity:.75}.seg.current{opacity:1;box-shadow:0 0 16px var(--accent-glow), inset 0 0 0 1px #ffffff40;animation:grow .9s var(--ease) var(--d,0s) backwards, glow 1.6s ease-in-out infinite}@keyframes glow{0%,to{filter:brightness()}50%{filter:brightness(1.35)}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.needle-rail{pointer-events:none;position:absolute;inset:-8px 0 -8px 144px}.trail{background:linear-gradient(90deg,#0000,#ffb0002e);width:0;position:absolute;top:0;bottom:0;left:0}.needle{background:var(--accent);width:2px;box-shadow:0 0 10px var(--accent);margin-left:-1px;position:absolute;top:0;bottom:0;left:0}.tacho-hours{font:11px var(--font-mono);color:var(--muted);opacity:.75;justify-content:space-between;margin:12px 0 0 144px;display:flex}.tacho-status{font:13px var(--font-mono);color:var(--fg);align-items:center;gap:.6rem;margin:24px 0 0 144px;display:flex}.dot{background:var(--accent);width:8px;height:8px;animation:ping 1.8s var(--ease) infinite;border-radius:50%}@keyframes ping{0%{box-shadow:0 0 #ffb00099}to{box-shadow:0 0 0 10px #ffb00000}}.tacho-note{opacity:.6;margin:12px 0 0 144px;font-size:.66rem}@media (width<=1100px){.tacho{display:none}}@media (width<=860px){.hero{padding:calc(var(--header-h) + 56px) 1.5rem 0}}.scroll-indicator{z-index:2;font:.62rem var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:1.2rem;display:flex;position:absolute;bottom:2.5rem;right:3rem}.scroll-indicator span{writing-mode:vertical-rl}.line-v{background:repeating-linear-gradient(to bottom, var(--accent) 0 6px, transparent 6px 12px);opacity:.6;width:1px;height:64px;animation:1.2s linear infinite road}@keyframes road{0%{background-position:0 0}to{background-position:0 12px}}@keyframes drip{0%{opacity:0;transform:scaleY(0)}35%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (width<=860px){.scroll-indicator{right:1.5rem}}.section{border-top:1px solid var(--line);max-width:1320px;scroll-margin-top:var(--header-h);margin:0 auto;padding:7rem 2rem}.section-head{align-items:flex-start;gap:1.5rem;margin-bottom:4.5rem;display:flex}.section-no{font:.72rem var(--font-mono);color:var(--accent);border:1px solid var(--line);border-radius:6px;margin-top:.6rem;padding:.3rem .5rem}.section-head h2{letter-spacing:-.03em;padding-bottom:.1em;font-size:clamp(2rem,4.5vw,3.4rem)}.section-sub{color:var(--muted);max-width:480px;margin-top:.4rem;font-size:.95rem;line-height:1.6}@media (width<=960px){.section{padding:5rem 1.5rem}.section-head{margin-bottom:3rem}}.about p{color:#bdbdbd;max-width:720px;margin-bottom:20px;font-size:17px}.grid-cards{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.project-card{background:var(--bg-2);border:1px solid var(--line);transition:border-color .45s var(--ease), transform .45s var(--ease-spring), box-shadow .45s var(--ease);border-radius:14px;flex-direction:column;padding-bottom:1.75rem;display:flex;overflow:hidden}.project-card:hover{border-color:var(--line-strong);transform:translateY(-4px);box-shadow:0 30px 60px -25px #000000b3}.thumb{border-bottom:1px solid var(--line);background:radial-gradient(70% 90% at 50% 45%,#ffffff12,#0000 70%),#161616;place-items:center;height:180px;display:grid}.thumb-mark{font:italic 500 3rem var(--font-serif);color:var(--fg);opacity:.8;transition:transform .6s var(--ease), opacity .6s var(--ease)}.project-card:hover .thumb-mark{opacity:1;transform:translateY(-3px)scale(1.04)}.card-body{flex-direction:column;flex:1;padding:1.5rem 1.75rem 0;display:flex}.card-body h3{letter-spacing:-.02em;font-size:1.35rem}.summary{color:var(--muted);margin-top:.6rem;font-size:.92rem;line-height:1.6}.tech{flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1.25rem;display:flex}.tech li{font:.68rem var(--font-mono);color:var(--muted);border:1px solid var(--line);border-radius:9999px;padding:.28rem .7rem}.view-all-wrap{text-align:center;margin-top:3rem}.view-all{border:1px solid var(--line);color:var(--fg);transition:color .35s var(--ease), border-color .35s var(--ease), transform .3s var(--ease-spring);border-radius:9999px;align-items:center;gap:.6rem;padding:.75rem 1.6rem;font-size:.92rem;font-weight:500;display:inline-flex}.view-all:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.view-all .arrow{transition:transform .35s var(--ease-spring)}.view-all:hover .arrow{transform:translate(5px)}@media (width<=960px){.grid-cards{grid-template-columns:1fr}}.tl-list{padding-left:28px;position:relative}.tl-list:before{content:"";background:var(--line);transform-origin:top;width:1px;transition:transform 1.4s var(--ease);position:absolute;top:0;bottom:0;left:6px;transform:scaleY(0)}.tl-list.in:before{transform:scaleY(1)}.job{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);padding-bottom:48px;position:relative;transform:translate(-12px)}.job.in{opacity:1;transform:none}.job:before{content:"";background:var(--line-strong);width:9px;height:9px;transition:background .5s var(--ease), box-shadow .5s var(--ease);border-radius:50%;position:absolute;top:10px;left:-26px}.job.lit:before{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.period{font:13px var(--font-mono);color:var(--muted);margin-bottom:8px}.company{color:var(--muted);margin-top:6px}.job h3{margin:4px 0 0}.job ul{color:#bdbdbd;margin-top:18px;font-size:15px}.job li{margin-bottom:10px;padding-left:16px;position:relative}.job li:before{content:"–";color:var(--accent);position:absolute;left:0}.two{grid-template-columns:1fr 1fr;gap:48px;display:grid}.two h3{margin-bottom:16px}.two li{border-bottom:1px solid var(--line);padding:14px 0}.two li small{color:var(--muted);font-size:14px;display:block}@media (width<=720px){.two{grid-template-columns:1fr;gap:32px}}.contact-inner{flex-direction:column;align-items:flex-start;max-width:1320px;margin:0 auto;padding:9rem 2rem 6rem;display:flex}.eyebrow{font:clamp(.85rem, 1.05vw, 1.05rem) var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:2.5rem}.cta-block{flex-direction:column;gap:.3rem;margin-bottom:4rem;display:flex}.cta-line{letter-spacing:-.03em;transition:transform .5s var(--ease);font-size:clamp(2rem,5.6vw,5rem);line-height:1.12;display:block}.cta-sans{background:var(--gradient-heading);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:-.12em;padding-bottom:.12em;font-weight:600}.cta-serif{font-family:var(--font-serif);color:var(--muted);transition:color .5s var(--ease);font-style:italic;font-weight:400}.cta-block:hover .cta-serif{color:var(--fg)}.cta-block:hover .cta-line{transform:translate(8px)}.socials{flex-wrap:wrap;gap:2.2rem;display:flex}.social-link{color:var(--muted);align-items:baseline;gap:.4rem;padding:.3rem 0;font-size:.92rem;font-weight:500;display:inline-flex}.social-text{display:inline-block;position:relative;overflow:hidden}.social-text:after{content:attr(data-text);color:var(--accent);position:absolute;top:100%;left:0}.social-text,.social-text:after{transition:transform .4s var(--ease)}.social-link:hover .social-text{transform:translateY(-100%)}.social-arrow{transition:transform .35s var(--ease-spring), color .35s var(--ease);font-size:.8em}.social-link:hover .social-arrow{color:var(--accent);transform:translate(3px,-3px)}.bottom-bar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;max-width:1320px;margin:0 auto;padding:1.6rem 2rem;display:flex}@media (width<=860px){.contact-inner{padding:6rem 1.5rem 4rem}.bottom-bar{flex-direction:column;align-items:flex-start;padding:1.4rem 1.5rem}}.reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0s);transform:translateY(28px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.job,.tl-list:before{opacity:1;transition:none;transform:none}.line-v,.seg,.dot{animation:none}.tacho *{animation:none!important}}.tl-wrap{position:relative}.tl-list:before{display:none}.rail{background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:6px}.rail-fill{background:var(--accent);transform-origin:top;box-shadow:0 0 10px var(--accent-glow);position:absolute;inset:0;transform:scaleY(0)}.truck{color:var(--accent);background:var(--bg);padding:2px 0;line-height:0;position:absolute;top:0;left:-10px;transform:translateY(-50%)}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;max-width:1320px;margin:0 auto;padding:4rem 2rem;display:grid}.stat{flex-direction:column;gap:.5rem;display:flex}.stat-num{letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,6vw,4.4rem);font-weight:600;line-height:1}.stat-label{font:.72rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media (width<=860px){.stats{grid-template-columns:1fr;gap:2.2rem;padding:3rem 1.5rem}}.needle{animation:none}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none!important}::view-transition-new(root){animation:disc-in .9s var(--ease) both!important}@keyframes disc-in{0%{clip-path:circle(0%)}to{clip-path:circle(150%)}}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation:none!important}}.intro{z-index:300;background:var(--bg);pointer-events:none;animation:intro-out .6s var(--ease) 3.6s forwards;place-items:center;display:grid;position:fixed;inset:0}.intro-box{flex-direction:column;align-items:center;gap:28px;display:flex}.intro-text{text-align:center;opacity:0;animation:fade-in .8s var(--ease) 1.2s forwards}.intro-name{letter-spacing:-.01em;font-size:clamp(20px,3vw,28px);font-weight:600;display:block}.intro-role{font:13px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px;display:block}.intro svg{width:min(60vw,260px);height:auto;overflow:visible}.intro .ring{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.1s var(--ease) forwards}.intro .r1{animation-delay:50ms}.intro .r2{animation-delay:.2s}.intro .r3{animation-delay:.35s}.intro .r4{animation-delay:.5s}.intro .ticks{opacity:0;animation:.5s .9s forwards fade-in}.intro .hand{transform-origin:100px 100px;animation:spin 1.4s var(--ease) .2s both}@keyframes draw{to{stroke-dashoffset:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in{to{opacity:1}}@keyframes intro-out{to{opacity:0;visibility:hidden}}.two .tech{gap:.5rem}.two .tech li{border:1px solid var(--line);font:.72rem var(--font-mono);color:var(--muted);white-space:nowrap;border-radius:9999px;padding:.3rem .8rem}.exp-layout{grid-template-columns:minmax(0,1fr) 424px;align-items:start;gap:56px;display:grid}.exp-stage{align-items:center;height:100vh;display:flex;position:sticky;top:0}.stage-inner{place-items:center;width:100%;height:280px;display:grid;position:relative}.mark{object-fit:contain;opacity:0;width:auto;max-width:300px;height:auto;max-height:130px;transition:opacity .5s var(--ease), transform .75s var(--ease);user-select:none;grid-area:1/1;transform:translateY(26px)scale(.97)}.mark.on{opacity:.9;transform:none}@media (width<=1000px){.exp-layout{grid-template-columns:1fr}.exp-stage{display:none}}.zoom-band{padding:6rem 6vw}.zoom-frame{aspect-ratio:21/9;border:1px solid var(--line);background:#141414;border-radius:14px;max-width:1100px;margin:0 auto;position:relative;overflow:hidden}.zoom-img{object-fit:cover;object-position:50% 60%;filter:brightness(.7)contrast(1.12)saturate(.7);will-change:transform;width:100%;height:100%;transform:scale(1.25)}.zoom-frame:after{content:"";pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 40%,#000c),linear-gradient(#0b0b0b99,#0000 30% 70%,#0b0b0bcc);position:absolute;inset:0}.gauge{width:84px;height:84px;overflow:visible}.gauge-needle{transform-box:view-box;transform-origin:50px 50px;transition:transform 1.6s var(--ease);transform:rotate(-135deg)}.project-card{position:relative}.project-card:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), #ffb00024, #0000 70%);transition:opacity .4s;position:absolute;inset:0}.project-card:hover:before{opacity:1}.app-icon{color:#f4f4f2;width:96px;height:96px;transition:transform .6s var(--ease-spring);background:linear-gradient(150deg,#2b2b2b,#121212);border-radius:22px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff1f,0 18px 36px -14px #000}.app-icon[data-tone="0"]{color:#0b0b0b;background:linear-gradient(150deg,#ffc233,#ff8a00)}.app-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:52px;height:52px}.project-card:hover .app-icon{transform:translateY(-4px)scale(1.04)}.project-card .thumb{background:radial-gradient(60% 80%,#ffffff10,#0000 70%),#141414;height:190px}.project-card .app-icon{border-radius:20px;width:88px;height:88px}.project-card .tech li{font:.62rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#cfcfcd;background:#ffffff08;border:1px solid #ffffff1f;border-radius:6px;padding:.3rem .6rem}.project-card .tech li:first-child{color:#8fb4ff;background:#1d2a44;border-color:#2a3c63}.project-card .tech li:nth-child(2){color:#ffb36b;background:#3a2415;border-color:#5a3a22}.project-card .tech li:nth-child(n+3){color:#5fe3b0;background:#12302a;border-color:#1f4d42}a.project-card{color:inherit;text-decoration:none}.card-year{font:.72rem var(--font-mono);letter-spacing:.14em;color:var(--muted);margin-bottom:.6rem;display:block}.detail{max-width:880px;margin:0 auto;padding:170px 1.5rem 6rem}.detail-back{color:var(--muted);font-size:.95rem}.detail-eyebrow{font:.72rem var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:2.5rem 0 1.5rem}.detail-head{align-items:center;gap:1.75rem;display:flex}.detail-icon{flex:none;width:96px;height:96px}.detail-head h1{letter-spacing:-.03em;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:600;line-height:1}.detail-tagline{font-family:var(--font-serif);color:var(--muted);margin-top:.6rem;font-size:1.35rem;font-style:italic}.detail-body{color:#bdbdbd;max-width:680px;margin:2.5rem 0 2rem;font-size:1.1rem;line-height:1.75}.detail-tags{margin-top:0;padding-top:0}.detail-year{font:.62rem var(--font-mono);letter-spacing:.06em;color:#ffb36b;background:#3a2415;border:1px solid #5a3a22;border-radius:6px;padding:.3rem .6rem}.detail,.detail>*{position:relative}.detail-art{aspect-ratio:1;pointer-events:none;z-index:0;background:radial-gradient(closest-side, #0000 74%, color-mix(in srgb, var(--tone) 35%, #0000) 75%, #0000 78%, #0000 88%, color-mix(in srgb, var(--tone) 22%, #0000) 89%, #0000 90%), radial-gradient(closest-side, color-mix(in srgb, var(--tone) 14%, #0000), #0000 70%);border-radius:50%;width:min(140vh,130vw);position:fixed;top:50%;right:-28vw;transform:translateY(-50%)}.detail-body{color:#cfcfcd;font-size:1.2rem;line-height:1.75}.detail-note{border-left:1px solid var(--tone);max-width:640px;color:var(--muted);margin-top:2.5rem;padding-left:1.25rem;font-size:.98rem;line-height:1.65}.detail-features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-top:3.5rem;padding:0;list-style:none;display:grid}.detail-features li{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;gap:.35rem;padding:1.25rem;display:grid}.feat-no{font:.8rem var(--font-mono);color:var(--tone)}.feat-cat{font:.68rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.feat-title{color:#e4e4e2;font-size:1rem;line-height:1.5}.detail-shots{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2.5rem;display:grid}.detail-shots img{border:1px solid var(--line);border-radius:14px;width:100%;height:auto}.detail-cta{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-top:4rem;padding-top:2rem;display:flex}.detail-cta p{font-family:var(--font-serif);color:var(--fg);font-size:1.5rem;font-style:italic}.detail-disclaimer{font:.78rem var(--font-mono);color:var(--low);letter-spacing:.02em;margin-top:2rem}.detail-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.detail-text{min-width:0}.detail-chips{flex-wrap:wrap;gap:.6rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.detail-chips .chip{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.35rem .9rem;font-size:.78rem;font-weight:600}.detail-chips .chip-year{font-family:var(--font-mono);color:var(--tone);border-color:color-mix(in srgb, var(--tone) 40%, transparent);background:color-mix(in srgb, var(--tone) 12%, transparent)}.detail-note{border-left:2px solid color-mix(in srgb, var(--tone) 30%, transparent);padding-left:1rem}.detail-live{margin:2rem 0 0}.detail-live-link{background:var(--tone);color:#0b0b0b;box-shadow:0 12px 30px color-mix(in srgb, var(--tone) 22%, transparent);border-radius:9999px;align-items:center;gap:.55rem;padding:.8rem 1.6rem;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.detail-live-link:hover{box-shadow:0 16px 36px color-mix(in srgb, var(--tone) 30%, transparent);transform:translateY(-1px)}.detail-stage{min-width:0}.device{border:1px solid var(--line);background:#111;border-radius:14px;overflow:hidden;transform:perspective(1400px)rotateY(-8deg)rotate(.8deg);box-shadow:0 40px 80px -30px #000c}.device-bar{border-bottom:1px solid var(--line);background:#1a1a1a;gap:6px;padding:10px 12px;display:flex}.device-bar span{background:#ffffff26;border-radius:50%;width:9px;height:9px}.device-screen{background:#101113;border:0;width:100%;height:min(560px,70vh);display:block}.device-icon{background:radial-gradient(60% 70% at 50% 50%, color-mix(in srgb, var(--tone) 14%, transparent), transparent 70%), #111;place-items:center;height:320px;display:grid}.device-icon .app-icon{border-radius:30px;width:128px;height:128px}.device-icon .app-icon svg{width:72px;height:72px}.detail-timeline{border-left:1px solid var(--line);gap:2.5rem;margin:5rem 0 0;padding:0 0 0 2rem;list-style:none;display:grid;position:relative}.detail-timeline li{opacity:.35;transition:opacity .6s var(--ease);position:relative}.detail-timeline li.is-reached{opacity:1}.detail-timeline .stop{background:var(--bg);border-radius:50%;width:11px;height:11px;transition:box-shadow .4s,background-color .4s;position:absolute;top:.45rem;left:calc(-2rem - 6px);box-shadow:0 0 0 2px #ffffff52}.detail-timeline li.is-reached .stop{background:var(--tone);box-shadow:0 0 0 2px var(--tone), 0 0 12px color-mix(in srgb, var(--tone) 50%, transparent)}.detail-timeline .feat-no{font:.8rem var(--font-mono);color:var(--tone)}.detail-timeline .feat-cat{font:.68rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;display:block}.detail-timeline .feat-title{color:#e4e4e2;max-width:42rem;margin:.5rem 0 0;font-size:1.1rem;line-height:1.5}.detail-contact{border-top:1px solid var(--line);margin-top:6rem;padding-top:4rem}.detail-contact .eyebrow{font:.8rem var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 1.5rem}.detail-contact .cta-block{flex-direction:column;gap:.3rem;margin-bottom:3rem;display:flex}.detail-contact .cta-line{letter-spacing:-.03em;font-size:clamp(2rem,5vw,4rem);line-height:1.12;display:block}.detail-contact .cta-sans{background:linear-gradient(90deg,#fff,#9a9a98);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.detail-contact .cta-serif{font-family:var(--font-serif);color:var(--muted);font-style:italic}.detail-contact .socials{flex-wrap:wrap;gap:2.2rem;margin:0;padding:0;list-style:none;display:flex}.detail-contact .social-link{color:var(--muted);align-items:baseline;gap:.4rem;padding:.3rem 0;font-size:.92rem;font-weight:500;display:inline-flex}@media (width<=860px){.detail-split{grid-template-columns:1fr}.device{transform:none}.device-screen{height:460px}}.detail{max-width:1200px;padding:170px 2rem 6rem}.detail-back{margin-bottom:.5rem;display:inline-block}.detail-split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:clamp(2.5rem,5vw,5rem)}.detail-text{max-width:560px}.detail-eyebrow{margin-top:1rem}.detail-head{align-items:center}.detail-head h1{font-size:clamp(2.2rem,4.2vw,3.4rem)}.detail-body{margin-top:2rem;font-size:1.1rem}.detail-stage{position:sticky;top:120px}.device{border-radius:16px;transform:none;box-shadow:0 30px 60px -28px #000d,0 0 0 1px #ffffff0f}.device-screen{height:620px}.detail-timeline{margin-top:6rem}.detail-timeline li{max-width:760px}.detail-contact{margin-top:7rem}@media (width<=860px){.detail{padding:150px 1.25rem 4rem}.detail-split{grid-template-columns:1fr}.detail-stage{position:static}.device-screen{height:480px}}.device{opacity:0;transition:opacity .9s var(--ease-out-soft), transform 1s var(--ease-out-soft);transform:translateY(40px)scale(.98)}.device.in{opacity:1;transform:none}.detail-timeline{--p:0}.detail-timeline:before{content:"";background:var(--tone);width:1px;transform:scaleY(var(--p));transform-origin:top;box-shadow:0 0 12px var(--tone);position:absolute;top:0;bottom:0;left:-1px}.detail-art{animation:detail-art-in 1.6s var(--ease-out-soft) both}@keyframes detail-art-in{0%{opacity:0}to{opacity:1}}.detail-contact .cta-line{transition:transform .5s var(--ease-out-soft), color .5s var(--ease-out-soft)}.detail-contact .cta-block:hover .cta-line{transform:translate(8px)}.detail-contact .cta-block:hover .cta-serif{color:var(--fg)}@media (prefers-reduced-motion:reduce){.device,.detail-art{opacity:1;transition:none;animation:none;transform:none}}.detail-timeline .tl-truck{left:-2rem;top:calc(var(--p) * 100%);color:var(--tone);z-index:2;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--tone) 60%, transparent));pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.detail-timeline .tl-truck svg{display:block}.detail-timeline:before{z-index:1}.tl-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(2rem,5vw,5rem);margin-top:6rem;display:grid}.tl-copy{padding-left:3rem;position:relative}.tl-rail{pointer-events:none;width:30px;position:absolute;top:0;bottom:0;left:0}.tl-rail:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:0;bottom:0;left:14px}.tl-rail-fill{background:var(--tone);width:1px;box-shadow:0 0 10px var(--tone);transform-origin:top;position:absolute;top:0;bottom:0;left:14px;transform:scaleY(0)}.tl-truck{color:var(--tone);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--tone) 60%, transparent));position:absolute;top:0;left:14px;transform:translate(-50%,-50%)}.tl-truck svg{display:block}.tl-chapters{margin:0;padding:0;list-style:none}.tl-chapter{opacity:.3;min-height:34vh;transition:opacity .5s var(--ease-out-soft);flex-direction:column;justify-content:center;display:flex;position:relative}.tl-chapter.is-active,.tl-chapter.is-reached{opacity:1}.tl-chapter .tl-stop{background:var(--bg);border-radius:50%;width:11px;height:11px;margin-top:-5px;transition:background-color .4s,box-shadow .4s;position:absolute;top:50%;left:-2.25rem;box-shadow:0 0 0 2px #ffffff52}.tl-chapter.is-reached .tl-stop{background:var(--tone);box-shadow:0 0 0 2px var(--tone), 0 0 12px color-mix(in srgb, var(--tone) 50%, transparent)}.tl-num{font:.8rem var(--font-mono);color:var(--tone);margin-bottom:.75rem}.tl-chapter h3{letter-spacing:-.02em;background:var(--gradient-heading);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;padding-bottom:.1em;font-size:clamp(1.6rem,3vw,2.2rem)}.tl-chapter p{color:var(--muted);max-width:30rem;margin:0;font-size:1.05rem;line-height:1.7}.tl-stage{position:relative}.tl-sticky{justify-content:center;align-items:center;height:calc(100svh - 150px);display:flex;position:sticky;top:110px}.phone{aspect-ratio:9/19.5;background:linear-gradient(145deg,#4a4a51,#232327 30%,#141417 62%,#2e2e33);border-radius:16.5%/7.85%;width:min(290px,60vw);padding:3%;position:relative;box-shadow:0 0 0 1px #ffffff1a,0 30px 60px -18px #000a}.phone-screen{background:#0e0e10;border-radius:14.5%/6.7%;width:100%;height:100%;padding:16% 6% 8%;position:relative;overflow:hidden;box-shadow:0 0 0 2px #000}.phone-island{aspect-ratio:4.8;z-index:5;background:#000;border-radius:999px;width:33%;position:absolute;top:1.9%;left:50%;transform:translate(-50%)}.mock-bar{gap:6px;margin-bottom:14px;display:flex}.mock-bar span{height:8px;transition:background-color .6s var(--ease-out-soft), box-shadow .6s;background:#ffffff1a;border-radius:4px;flex:1}.mock-bar span.on{background:var(--tone);box-shadow:0 0 10px color-mix(in srgb, var(--tone) 50%, transparent)}.zone{border:1px solid var(--line);opacity:0;visibility:hidden;transition:opacity .55s var(--ease-out-soft), transform .75s var(--ease), visibility .75s;background:#15161a;border-radius:12px;padding:14px;position:absolute;inset:14% 6% 8%;transform:translate(28px)scale(.98)}.z3{padding:14px}.zone-label{background:var(--tone);color:#0b0b0b;font:10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:0;border-radius:4px;padding:3px 7px;transition:opacity .3s;position:absolute;top:-11px;left:10px}.zone.is-active{opacity:1;visibility:visible;z-index:4;border-color:var(--tone);box-shadow:0 0 0 1px color-mix(in srgb, var(--tone) 60%, transparent), 0 18px 40px -12px color-mix(in srgb, var(--tone) 35%, transparent);transform:none}.zone.is-active .zone-label{opacity:1}@media (width<=860px){.tl-grid{grid-template-columns:1fr}.tl-sticky{height:auto;padding:1rem 0 2rem;position:relative;top:0}.tl-chapter{min-height:0;padding:2rem 0}}.mock-spark{width:100%;height:100%;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--tone) 50%, transparent));display:block;overflow:visible}.z1{padding:14px 12px 8px}.tl-lanes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100vw;margin:5rem calc(50% - 50vw) 0;padding:1.5rem 0 1rem;overflow:hidden}.tl-lane{grid-template-columns:minmax(7rem,11rem) 1fr;align-items:center;gap:1.5rem;margin-bottom:.4rem;padding:0 max(5vw,1rem);display:grid}.tl-lane-label{font:.72rem var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tone)}.tl-lane-track{--p:0;height:76px;position:relative;overflow:hidden}.tl-lane-road{background:repeating-linear-gradient(90deg,#ffffff12 0 14px,#0000 14px 26px);border-top:1px solid #ffffff3d;border-bottom:1px solid #ffffff1f;height:12px;position:absolute;bottom:6px;left:0;right:0}.tl-lane-stop{background:var(--bg);border-radius:50%;width:9px;height:9px;margin-left:-4.5px;transition:background-color .4s,box-shadow .4s;position:absolute;bottom:9px;box-shadow:0 0 0 1.5px #ffffff4d}.tl-lane-stop.is-passed{background:var(--tone);box-shadow:0 0 0 1.5px var(--tone), 0 0 12px color-mix(in srgb, var(--tone) 50%, transparent)}.tl-lane-veh{--vw:132px;bottom:10px;left:calc(var(--p) * (100% + var(--vw)) - var(--vw));width:var(--vw);height:calc(var(--vw) * 60 / 160);color:var(--tone);filter:drop-shadow(0 8px 14px #0008);position:absolute}.tl-lane-veh svg{width:100%;height:100%;display:block;overflow:visible}.tl-lane[data-dir=rev] .tl-lane-veh svg{transform:scaleX(-1)}@media (width<=860px){.tl-lane{grid-template-columns:1fr;gap:.4rem}.tl-lane-track{height:60px}.tl-lane-veh{--vw:92px;bottom:8px}}.mock-cap{font:9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#8d8d8b;margin:0 0 10px;display:block}.mock-kpis{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.mock-kpis div{background:#ffffff0d;border-radius:8px;padding:8px 7px}.mock-kpis div:first-child{background:color-mix(in srgb, var(--tone) 30%, transparent)}.mock-kpis b{font:600 12px var(--font-mono);color:#f4f4f2;display:block}.mock-kpis small{color:#a3a3a0;margin-top:4px;font-size:8px;line-height:1.2;display:block}.mock-bars{flex:1;align-items:flex-end;gap:4px;min-height:0;margin-bottom:4px;display:flex}.mock-bars i{height:var(--h);background:#ffffff1f;border-radius:3px 3px 0 0;flex:1}.mock-bars i:nth-last-child(-n+3){background:color-mix(in srgb, var(--tone) 75%, transparent)}.mock-axis{font:8px var(--font-mono);color:#8d8d8b;justify-content:space-between;margin-top:6px;display:flex}.mock-rows p{color:#d6d7da;grid-template-columns:7px 1fr auto 24px;align-items:center;gap:8px;margin:0 0 9px;font-size:10px;display:grid}.mock-rows i{background:var(--tone);border-radius:50%;width:7px;height:7px}.mock-rows em{font:8.5px var(--font-mono);color:#8d8d8b;font-style:normal}.mock-rows strong{text-align:right;font:600 10px var(--font-mono);color:#f4f4f2}.mock-deleg p{color:#d6d7da;grid-template-columns:58px 1fr 34px;align-items:center;gap:8px;margin:0 0 12px;font-size:9.5px;display:grid}.mock-deleg i{height:8px;width:var(--w);background:linear-gradient(90deg, var(--tone), color-mix(in srgb, var(--tone) 35%, transparent));border-radius:4px}.mock-deleg b{text-align:right;font:600 9.5px var(--font-mono);color:#f4f4f2}.zone{flex-direction:column;padding:14px 13px;display:flex}.zone .mock-spark{flex:1;height:auto;min-height:0}.mock-cap{margin-bottom:12px}.mock-kpis{gap:8px}.mock-kpis div{padding:10px 9px}.mock-kpis+.mock-cap{margin-top:16px}.mock-axis{margin-top:8px}.mock-deleg p{gap:10px;margin:0 0 18px}@keyframes mk-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes mk-fade{0%{opacity:0}to{opacity:1}}@keyframes mk-draw{to{stroke-dashoffset:0}}@keyframes mk-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes mk-growx{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.zone.is-active .mock-cap{animation:mk-fade .6s var(--ease-out-soft) both}.zone.is-active .mock-kpis>div{animation:mk-rise .7s var(--ease) both;animation-delay:var(--d)}.zone.is-active .mock-bars i{transform-origin:bottom;animation:mk-grow .9s var(--ease) both;animation-delay:var(--d)}.zone.is-active .mock-rows p,.zone.is-active .mock-deleg p{animation:mk-rise .6s var(--ease) both;animation-delay:var(--d)}.zone.is-active .mock-deleg i{transform-origin:0;animation:mk-growx 1s var(--ease) both;animation-delay:var(--d)}.zone .spk-line{stroke-dasharray:1 1;stroke-dashoffset:1px}.zone.is-active .spk-line{animation:mk-draw 1.8s var(--ease-out-soft) forwards}.zone .spk-dash{opacity:0}.zone.is-active .spk-dash{animation:1s 1.2s forwards mk-fade}.zone .spk-area{opacity:0}.zone.is-active .spk-area{animation:1.2s .9s forwards mk-fade}.zone.is-active .mock-axis span{animation:.6s 1.4s both mk-fade}.mock-legend p{color:#d6d7da;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;margin:0 0 10px;font-size:10px;display:grid}.mock-legend i{border-radius:50%;width:8px;height:8px}.mock-legend i.h{background:#e85a5e}.mock-legend i.m{background:#f2a93b}.mock-legend i.l{background:#3dd68c}.mock-legend b{font:600 10px var(--font-mono);color:#f4f4f2}.mock-gauge{margin:4px 0 14px;position:relative}.gauge-num{text-align:center;position:absolute;bottom:0;left:0;right:0}.gauge-num b{font:600 20px var(--font-mono);color:#f4f4f2;display:block}.gauge-num small{font:8px var(--font-mono);color:#8d8d8b;text-transform:uppercase}.mock-search{align-items:center;gap:6px;margin-bottom:12px;display:flex}.mock-search span{color:#8d8d8b;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;flex:1;padding:6px 8px;font-size:9px}.mock-search em{font:8.5px var(--font-mono);color:#d6d7da;background:#ffffff0d;border-radius:6px;padding:6px 7px;font-style:normal}.mock-table .th,.mock-table .tr{grid-template-columns:.9fr 1.1fr 1fr .8fr;align-items:center;gap:6px;padding:7px 2px;font-size:8.5px;display:grid}.mock-table .th{font:7.5px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:#8d8d8b;border-bottom:1px solid #ffffff14}.mock-table .tr{color:#d6d7da;border-bottom:1px solid #ffffff0d;padding:5px 2px}.mock-table .tr span:last-child{text-align:right;color:#f4f4f2;font-family:var(--font-mono)}.mock-compare>div{color:#d6d7da;border-bottom:1px solid #ffffff0d;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:11px 0;font-size:10px;display:grid}.mock-compare b{font:600 12px var(--font-mono);color:#f4f4f2}.mock-compare em{font:9px var(--font-mono);text-align:right;min-width:44px;font-style:normal}.mock-compare em.bad{color:#e85a5e}.mock-compare em.ok{color:#3dd68c}.mock-donut{align-items:center;gap:12px;margin-top:auto;display:flex}.mock-donut svg{flex:none;width:64px;height:64px}.mock-donut b{font:600 14px var(--font-mono);color:#f4f4f2;display:block}.mock-donut small{color:#8d8d8b;font-size:9px}.zone .donut-val{stroke-dashoffset:94px}.zone.is-active .donut-val{animation:mk-donut 1.4s var(--ease-out-soft) .6s forwards}@keyframes mk-donut{to{stroke-dashoffset:0}}.mock-goal{margin-top:4px;display:block;color:#3dd68c!important}.mock-notes p{color:#d6d7da;grid-template-columns:7px 1fr auto;align-items:center;gap:8px;margin:0 0 12px;font-size:10px;display:grid}.mock-notes i{border-radius:50%;width:7px;height:7px}.mock-notes i.sent,.mock-notes em.sent{color:#f2a93b;background:#f2a93b}.mock-notes i.pending,.mock-notes em.pending{color:#8d8d8b;background:#8d8d8b}.mock-notes i.read,.mock-notes em.read{color:#3dd68c;background:#3dd68c}.mock-notes em{font:8.5px var(--font-mono);font-style:normal;background:0 0!important}.zone.is-active .mock-legend p,.zone.is-active .mock-compare>div,.zone.is-active .mock-notes p{animation:mk-rise .6s var(--ease) both;animation-delay:var(--d)}.zone.is-active .mock-search{animation:.6s both mk-fade}.phone{aspect-ratio:16/10;border-radius:14px 14px 6px 6px;width:560px;padding:2.2% 2.2% 2%}.phone:after{content:"";background:linear-gradient(#2e2e33,#17171a);border-radius:0 0 16px 16px;height:14px;position:absolute;bottom:-16px;left:-8%;right:-8%;box-shadow:0 12px 24px -10px #000}.phone-island{display:none}.phone-screen{border-radius:6px;padding:4% 3.5%}.phone .zone{top:19%;bottom:6%}.mock-stats{gap:8px;margin-bottom:10px;display:flex}.mock-stats div{background:#ffffff0d;border-radius:8px;flex:1;padding:8px 9px}.mock-stats b{font:600 14px var(--font-mono);color:#f4f4f2;display:block}.mock-stats b.ok{color:#3dd68c}.mock-stats small{color:#8d8d8b;font-size:8px}.mock-legend2{font:8.5px var(--font-mono);color:#a3a3a0;gap:14px;margin-top:8px;display:flex}.mock-legend2 span{align-items:center;gap:6px;display:flex}.mock-legend2 i{background:var(--tone);width:14px;height:2px}.mock-legend2 i.dash{background:0 0;border-top:2px dotted #ffffff80;height:0}.mock-gauge{flex-direction:column;align-items:center;margin:2px 0 0;display:flex}.mock-gauge svg{width:46%;height:auto;display:block;overflow:visible}.gauge-num{margin-top:-22px;position:static}.zone.is-active .gauge-val{animation:mk-gauge 1.8s var(--ease-out-soft) .2s forwards}@keyframes mk-gauge{to{stroke-dashoffset:0}}.zone.is-active .gauge-num{animation:.8s 1.4s both mk-fade}.mock-table .th{padding:5px 2px}.mock-legend p{margin:0 0 7px}.mock-deleg p{margin:0 0 12px}.mock-gauge svg{width:36%}.gauge-num{margin-top:-16px}.mock-legend{gap:6px;display:flex}.mock-legend p{background:#ffffff0d;border-radius:6px;flex:1;grid-template-columns:7px 1fr auto;gap:6px;margin:0;padding:6px 7px;display:grid}.mock-rows p,.mock-deleg p{margin:0 0 10px}.mock-table .tr,.mock-table .th{padding:4px 2px}.mock-donut svg{width:52px;height:52px}.mock-compare>div{padding:6px 0}.mock-donut{margin-top:6px}.mock-table .th span:last-child{text-align:right}.gauge-val{stroke-dasharray:.48 2;stroke-dashoffset:.48px}.brand-avatar{transition:opacity .2s linear}.app-icon.is-pro{color:inherit;background:0 0;box-shadow:0 18px 36px -14px #000}.app-icon.is-pro svg{fill:none;stroke:none;width:100%;height:100%}.device-icon .app-icon.is-pro svg{width:100%;height:100%}.tl-grid-solo{grid-template-columns:1fr;max-width:46rem}.detail-summary{margin:2.2rem 0 0}.detail-summary p:last-child{color:#e4e4e2;margin:.6rem 0 0;font-size:1.05rem;line-height:1.6}.shots{margin:4.5rem 0 0;position:relative}.shots-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:1.2rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.shots-track::-webkit-scrollbar{display:none}.shots-track img{scroll-snap-align:start;border:1px solid var(--line);background:#fff;border-radius:16px;flex:none;width:340px;max-width:78vw;height:auto}.shots-nav{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.shots-nav button{border:1px solid var(--line);width:40px;height:40px;color:var(--ink,#f4f4f2);cursor:pointer;background:0 0;border-radius:50%;font-size:1.3rem;line-height:1}.shots-nav button:hover{border-color:var(--tone);color:var(--tone)}.device-carousel{border:1px solid var(--line);background:#101113;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 40px 80px -30px #000c}.device-carousel .shots-track{scroll-snap-type:x mandatory;scrollbar-width:none;height:min(560px,70vh);display:flex;overflow-x:auto}.device-carousel .shots-track::-webkit-scrollbar{display:none}.device-carousel .shots-track img{object-fit:contain;scroll-snap-align:center;background:#101113;border:0;border-radius:0;flex:0 0 100%;width:100%;height:100%}.device-carousel .shots-nav{border-top:1px solid var(--line);justify-content:center;gap:10px;padding:12px;display:flex}.device-carousel .shots-nav button{color:#f4f4f2;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:50%;width:36px;height:36px;font-size:1.1rem}.device-carousel .shots-nav button:hover{border-color:var(--tone,#ffb000);color:var(--tone,#ffb000)}.device-carousel{border:1px solid var(--line);background:#111;border-radius:14px;overflow:hidden;box-shadow:0 40px 80px -30px #000c}.device-carousel .shots-track{background:radial-gradient(60% 70% at 50% 50%, color-mix(in srgb, var(--tone,#ffb000) 12%, transparent), transparent 70%), #111;align-items:stretch;height:min(540px,66vh)}.device-carousel .shots-track img{box-sizing:border-box;object-fit:contain;scroll-snap-align:center;background:0 0;border:0;border-radius:0;flex:0 0 100%;width:100%;height:100%;padding:26px 0}.device-carousel .shots-nav{border-top:1px solid var(--line);background:#161616;gap:10px;padding:10px 12px}.device-carousel .shots-nav button{width:34px;height:34px;font-size:1rem}.device-carousel{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.device-carousel .shots-track{background:0 0;align-items:flex-start;max-width:420px;height:auto;margin:0 auto}.device-carousel .shots-track img{object-fit:initial;background:0 0;border-radius:16px;flex:0 0 100%;width:100%;height:auto;padding:0;box-shadow:0 30px 60px -30px #000d}.device-carousel .shots-nav{background:0 0;border:0;justify-content:center;align-items:center;gap:14px;padding:14px 0 0;display:flex}.shots-dots{gap:8px;display:flex}.shots-dots button{cursor:pointer;width:8px;height:8px;transition:width .4s var(--ease-out-soft), background-color .4s;background:#fff3;border:0;border-radius:999px;padding:0}.shots-dots button.on{background:var(--tone,#ffb000);width:22px}.device-carousel .shots-nav .shots-dots button{background:#fff3;border:0;border-radius:999px;width:8px;min-width:8px;height:8px;padding:0}.device-carousel .shots-nav .shots-dots button.on{background:var(--tone,#ffb000);width:22px}.detail-live .btn-primary:hover,.detail-live .btn-primary:focus,.detail-live .btn-primary:focus-visible,.detail-live .btn-primary:active{background:var(--tone);color:#0b0b0b;box-shadow:0 6px 20px color-mix(in srgb, var(--tone) 35%, transparent)}.app-open:hover,.app-open:focus-visible{filter:brightness(1.08);box-shadow:0 10px 26px color-mix(in srgb, var(--tone) 35%, transparent)}.detail-shots{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;margin-top:5rem}.detail-shots img{border-radius:16px;box-shadow:0 30px 60px -30px #000d}.detail-split.solo{grid-template-columns:minmax(0,1fr)}.hero-badge{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--fg);font:500 .8rem var(--font-mono);letter-spacing:.04em;border-radius:999px;align-items:center;gap:.55rem;margin:-2rem 0 2.6rem;padding:.55rem 1rem;display:inline-flex}.hero-badge span{color:var(--accent);font-weight:700}
