:root{--bg:#0c0c0c;--bg-elevated:#161616;--bg-deep:#222;--ink:#f0f0f0;--ink-muted:#9a9a9a;--steel:#f0c828;--steel-hover:#ffd84a;--steel-soft:#f0c82824;--line:#f0f0f01f;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--space:clamp(1.25rem, 4vw, 2.5rem);--max:1120px;--ease:cubic-bezier(.22, 1, .36, 1);--on-accent:#0c0c0c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-optical-sizing:auto;color:var(--ink);background:radial-gradient(ellipse 80% 50% at 10% -10%, #f0c82814, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 20%, #ffffff08, transparent 50%), linear-gradient(180deg, #101010 0%, var(--bg) 40%, #080808 100%);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}.wrap{width:min(100% - var(--space) * 2, var(--max));margin-inline:auto}.section{padding-block:clamp(4rem,10vw,7rem)}.section-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:.75rem;font-size:.75rem;font-weight:700}.section-title{font-family:var(--font-display);letter-spacing:-.03em;max-width:18ch;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15}.section-lead{color:var(--ink-muted);max-width:42ch;margin-top:.75rem;font-size:1.05rem}@keyframes rise{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(1.25rem)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.site-nav{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--bg-elevated) 78%, transparent);border-bottom:1px solid var(--line);position:sticky;top:0}.site-nav__inner{justify-content:space-between;align-items:center;padding-block:1rem;display:flex}.site-nav__brand{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.15rem;font-weight:800}.site-nav__links{color:var(--ink-muted);gap:1.5rem;font-size:.9rem;list-style:none;display:flex}.site-nav__links a:hover{color:var(--ink)}@media (width<=640px){.site-nav__links{display:none}}.btn{transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);border-radius:2px;justify-content:center;align-items:center;gap:.4rem;padding:.85rem 1.35rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn--primary{background:var(--steel);color:var(--on-accent)}.btn--primary:hover{background:var(--steel-hover)}.btn--ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.cta-row{flex-wrap:wrap;gap:.75rem;display:flex}.hero{align-items:center;min-height:min(92vh,820px);padding-block:clamp(3rem,8vw,5.5rem) clamp(4rem,10vw,6rem);display:flex}.hero__grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}.hero__brand{font-family:var(--font-display);letter-spacing:-.05em;margin-bottom:1.25rem;font-size:clamp(2.75rem,8vw,4.75rem);font-weight:800;line-height:.95}.hero__headline{font-family:var(--font-display);letter-spacing:-.03em;max-width:22ch;margin-bottom:.85rem;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:700;line-height:1.2}.hero__support{color:var(--ink-muted);max-width:40ch;margin-bottom:1.75rem;font-size:1.05rem}.hero__visual{animation:rise .9s var(--ease) .15s both}.hero__copy>*{animation:rise .75s var(--ease) both}.hero__copy .hero__brand{animation-delay:50ms}.hero__copy .hero__headline{animation-delay:.12s}.hero__copy .hero__support{animation-delay:.2s}.hero__copy .cta-row{animation-delay:.28s}@media (width<=860px){.hero{min-height:auto}.hero__grid{grid-template-columns:1fr}.hero__visual{order:-1;max-width:420px;margin-inline:auto}}.mockup{background:var(--bg-elevated);border:1px solid var(--line);border-radius:4px;position:relative;overflow:hidden;box-shadow:0 24px 48px -28px #000000bf}.mockup__chrome{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, var(--bg-elevated));align-items:center;gap:.4rem;padding:.65rem .85rem;display:flex}.mockup__dot{background:var(--line);border-radius:50%;width:8px;height:8px}.mockup__url{color:var(--ink-muted);letter-spacing:.02em;margin-left:.5rem;font-size:.7rem}.mockup__body{background:linear-gradient(145deg, var(--steel-soft), transparent 55%), var(--bg-elevated);gap:.85rem;min-height:280px;padding:1.25rem;display:grid}.mockup__header-bar{justify-content:space-between;align-items:center;display:flex}.mockup__logo-pill{font-family:var(--font-display);letter-spacing:-.02em;font-size:.8rem;font-weight:700}.mockup__track{color:var(--steel);font-size:.7rem;font-weight:600}.mockup__hero-block{background:linear-gradient(120deg, var(--steel) 0%, #c9a016 100%);opacity:.92;border-radius:2px;height:88px}.mockup__rows{gap:.5rem;display:grid}.mockup__row{grid-template-columns:48px 1fr 40px;align-items:center;gap:.6rem;display:grid}.mockup__thumb{background:var(--bg-deep);border-radius:2px;height:36px}.mockup__lines{gap:.3rem;display:grid}.mockup__line{background:var(--bg-deep);border-radius:1px;height:7px}.mockup__line--short{width:55%}.mockup__price{background:var(--steel-soft);border-radius:1px;height:10px}.mockup__cta-bar{background:var(--steel);height:36px;color:var(--on-accent);letter-spacing:.04em;border-radius:2px;justify-content:center;align-items:center;margin-top:auto;font-size:.7rem;font-weight:600;display:flex}.mockup__store-row{gap:.5rem;display:flex}.mockup__store-chip{letter-spacing:.03em;border:1px solid var(--line);color:var(--steel);background:color-mix(in srgb, var(--bg-elevated) 70%, var(--bg-deep));border-radius:2px;padding:.35rem .55rem;font-size:.65rem;font-weight:600}.projects-list{gap:clamp(3.5rem,8vw,5.5rem);margin-top:clamp(2.5rem,5vw,3.5rem);display:grid}.project{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.5rem,4vw,3rem);display:grid}.project--flip .project__media{order:2}.project__tag{letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.project__name{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:.65rem;font-size:clamp(1.4rem,3vw,1.85rem);font-weight:700}.project__desc{color:var(--ink-muted);max-width:38ch;margin-bottom:1.1rem}.project__link{color:var(--steel);border-bottom:1px solid #0000;font-size:.95rem;font-weight:600;transition:border-color .2s}.project__link:hover{border-color:var(--steel)}.project-mock{aspect-ratio:4/3;border:1px solid var(--line);background:var(--bg-elevated);border-radius:4px;flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex;position:relative;overflow:hidden}.project-mock.project-mock--parallax{gap:.65rem;overflow:hidden}.project-mock--restaurant{isolation:isolate;background:linear-gradient(145deg, #ffffff38 0%, #ffffff0a 35%, #00000026 100%), var(--bg-elevated);border:1px solid #ffffff47;border-radius:10px;justify-content:stretch;padding:10px;overflow:hidden;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #00000059,0 0 0 1px #00000073,0 18px 40px -20px #000000d9,0 40px 70px -40px #f0c8282e}.project-mock--restaurant .project-mock__glow,.project-mock--restaurant .project-mock:before,.project-mock--restaurant:before{display:none}.project-mock__glass{z-index:3;pointer-events:none;border-radius:inherit;position:absolute;inset:0}.project-mock__glass-edge{border-radius:6px;position:absolute;inset:9px;box-shadow:0 0 0 1px #fff3,inset 0 0 0 1px #00000059,inset 0 1px #ffffff40}.project-mock__glass-glare{border-radius:inherit;mix-blend-mode:soft-light;background:linear-gradient(115deg,#ffffff47 0%,#ffffff14 18%,#0000 42%),linear-gradient(#ffffff1a 0%,#0000 28% 72%,#0000001f 100%);position:absolute;inset:0}.project-mock__shot{z-index:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--steel) var(--bg-deep);cursor:ns-resize;background:#0a0a0a;border:none;border-radius:6px;flex:1;width:100%;height:100%;min-height:0;position:relative;overflow:hidden auto;box-shadow:inset 0 0 0 1px #00000080,inset 0 8px 20px #00000059}.project-mock--restaurant .project-mock__shot{border-radius:6px}.project-mock__shot:focus-visible{outline:1px solid var(--steel);outline-offset:2px}.project-mock__shot::-webkit-scrollbar{width:6px}.project-mock__shot::-webkit-scrollbar-track{background:var(--bg-deep)}.project-mock__shot::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--steel) 70%, transparent);border-radius:99px}.project-mock__shot img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.project-mock__layer--shot{z-index:1;flex:1;width:100%;height:100%;min-height:0;display:flex;position:relative}.project-mock--restaurant.project-mock--parallax{gap:0}.project-mock--restaurant .project-mock__layer--back{display:none}.project-mock:before{content:"";background:linear-gradient(160deg, color-mix(in srgb, var(--project-accent,var(--steel)) 18%, transparent), transparent 60%);pointer-events:none;position:absolute;inset:0}.project-mock__label{font-family:var(--font-display);letter-spacing:-.02em;font-size:.85rem;font-weight:700;position:relative}.project-mock__badge{color:var(--steel);letter-spacing:.04em;align-self:flex-start;font-size:.7rem;font-weight:600;position:relative}.project-mock--mobile{align-items:center}.project-mock__phone{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 60%, var(--bg-elevated));border-radius:14px;width:112px;height:190px;padding:8px;position:relative;box-shadow:0 12px 28px -18px #000000b3}.project-mock__phone-screen{background:var(--bg-elevated);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:.45rem;height:100%;padding:.55rem;display:flex}.project-mock__phone-bar{background:var(--bg-deep);border-radius:99px;width:36%;height:6px;margin-inline:auto}.project-mock__phone-block{background:linear-gradient(135deg, var(--steel), #c9a016);opacity:.9;border-radius:2px;height:42%}.project-mock__phone-lines{gap:.3rem;display:grid}.project-mock__phone-lines span{background:var(--bg-deep);border-radius:1px;height:6px}.project-mock__phone-lines span:nth-child(2){width:70%}.project-mock__phone-lines span:nth-child(3){width:45%}.project-mock__browser{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, var(--bg-elevated));border-radius:3px;flex-direction:column;flex:1;min-height:140px;margin-block:.75rem;display:flex;position:relative;overflow:hidden}.project-mock__browser-bar{border-bottom:1px solid var(--line);gap:.35rem;padding:.5rem .65rem;display:flex}.project-mock__browser-bar span{background:var(--line);border-radius:50%;width:7px;height:7px}.project-mock__browser-grid{flex:1;grid-template-columns:1.2fr 1fr 1fr;gap:.5rem;padding:.75rem;display:grid}.project-mock__browser-grid div{background:var(--bg-deep);border-radius:2px}.project-mock__browser-grid div:first-child{background:linear-gradient(145deg, var(--steel), #c9a016);opacity:.85}.project-mock__restaurant{flex-direction:column;flex:1;gap:.65rem;min-height:150px;margin-block:.65rem;display:flex;position:relative}.project-mock__restaurant-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.project-mock__restaurant-top span{font-family:var(--font-display);letter-spacing:-.02em;font-size:.9rem;font-weight:700}.project-mock__restaurant-top em{letter-spacing:.06em;text-transform:uppercase;color:var(--steel);font-size:.65rem;font-style:normal;font-weight:600}.project-mock__restaurant-grid{flex:1;grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.project-mock__restaurant-grid div{background:var(--bg-deep);border:1px solid var(--line);border-radius:2px;min-height:36px}.project-mock__restaurant-grid div:first-child{background:linear-gradient(145deg, var(--steel), #c9a016);opacity:.85}.project-mock__restaurant-track{grid-template-columns:repeat(3,1fr);gap:.35rem;display:grid}.project-mock__restaurant-track span{background:var(--bg-deep);border-radius:99px;height:6px}.project-mock__restaurant-track span:nth-child(2){background:color-mix(in srgb, var(--steel) 55%, var(--bg-deep))}.project-mock__segments{flex:1;gap:.55rem;margin-block:.85rem;list-style:none;display:grid;position:relative}.project-mock__segments li{font-family:var(--font-display);letter-spacing:-.02em;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 55%, var(--bg-elevated));color:var(--ink);border-radius:2px;padding:.7rem .85rem;font-size:.95rem;font-weight:700}.project-mock__segments li:nth-child(2){border-color:color-mix(in srgb, var(--steel) 35%, var(--line))}.project-mock__segments li:nth-child(3){background:color-mix(in srgb, var(--steel) 10%, var(--bg-elevated))}@media (width<=860px){.project,.project--flip{grid-template-columns:1fr}.project--flip .project__media{order:0}}.timeline{max-width:560px;margin-top:clamp(2.5rem,5vw,3.5rem);padding-left:2rem;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:.35rem;bottom:.35rem;left:.35rem}.timeline__item{padding-bottom:2.25rem;position:relative}.timeline__item:last-child{padding-bottom:0}.timeline__dot{background:var(--steel);width:10px;height:10px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:.35rem;left:-1.78rem}.timeline__num{font-family:var(--font-display);letter-spacing:.08em;color:var(--steel);margin-bottom:.35rem;font-size:.8rem;font-weight:800}.timeline__title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.4rem;font-size:1.25rem;font-weight:700}.timeline__text{color:var(--ink-muted);max-width:42ch}.contact{border-top:1px solid var(--line)}.contact__actions{flex-direction:column;gap:.85rem;max-width:420px;margin-top:2rem;display:flex}.contact__link{border-bottom:1px solid var(--line);font-family:var(--font-display);letter-spacing:-.02em;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 0;font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:700;transition:color .2s;display:flex}.contact__link span{font-family:var(--font-body);color:var(--ink-muted);font-size:.9rem;font-weight:500}.contact__link:hover{color:var(--steel)}.contact__note{color:var(--ink-muted);margin-top:1.5rem;font-size:.9rem}.site-footer{border-top:1px solid var(--line);padding-block:1.5rem 2rem}.site-footer__inner{color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem;font-size:.85rem;display:flex}.site-footer__brand{font-family:var(--font-display);color:var(--ink);font-weight:700}.case-page{padding-block:clamp(2.5rem,6vw,4rem) clamp(4rem,10vw,6rem)}.case-page__inner{max-width:720px}.case-page__back{color:var(--ink-muted);margin-bottom:1.75rem;font-size:.9rem;font-weight:600;display:inline-block}.case-page__back:hover{color:var(--steel)}.case-page__title{font-family:var(--font-display);letter-spacing:-.04em;max-width:18ch;margin-bottom:1rem;font-size:clamp(1.85rem,4.5vw,2.75rem);font-weight:800;line-height:1.1}.case-page__lead{color:var(--ink-muted);max-width:48ch;margin-bottom:.75rem;font-size:1.1rem}.case-page__summary{color:var(--ink);max-width:48ch;margin-bottom:2.5rem}.case-page__preview{margin-bottom:3rem}.case-preview{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.case-preview__shop,.case-preview__panel{border:1px solid var(--line);background:var(--bg-elevated);border-radius:4px;flex-direction:column;gap:.75rem;min-height:200px;padding:1.1rem;display:flex}.case-preview__brand{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.case-preview__brand--sm{color:var(--ink-muted);font-size:.9rem}.case-preview__chip{letter-spacing:.06em;text-transform:uppercase;color:var(--steel);align-self:flex-start;font-size:.7rem;font-weight:600}.case-preview__rows{flex:1;gap:.4rem;display:grid}.case-preview__rows div{background:var(--bg-deep);border-radius:2px;height:28px}.case-preview__rows div:first-child{background:linear-gradient(120deg, var(--steel), #c9a016);opacity:.85;height:48px}.case-preview__cta{text-align:center;background:var(--steel);color:var(--on-accent);border-radius:2px;padding:.55rem;font-size:.75rem;font-weight:600}.case-preview__kanban{color:var(--ink-muted);text-align:center;grid-template-columns:repeat(3,1fr);gap:.35rem;font-size:.65rem;font-weight:600;display:grid}.case-preview__kanban span{border:1px solid var(--line);background:var(--bg);border-radius:2px;padding:.45rem .2rem}.case-preview__bars{flex:1;align-items:flex-end;gap:.35rem;min-height:72px;display:flex}.case-preview__bars i{background:color-mix(in srgb, var(--steel) 45%, var(--bg-deep));border-radius:2px 2px 0 0;flex:1;display:block}.case-preview__bars i:first-child{height:45%}.case-preview__bars i:nth-child(2){background:var(--steel);height:75%}.case-preview__bars i:nth-child(3){height:55%}.case-block{margin-bottom:2.5rem}.case-block__title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1rem;font-size:1.25rem;font-weight:700}.case-highlights{gap:1rem;list-style:none;display:grid}.case-highlights li{border-bottom:1px solid var(--line);gap:.25rem;padding-bottom:1rem;display:grid}.case-highlights strong{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.case-highlights span{color:var(--ink-muted);font-size:.95rem}.case-modules,.case-stack{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex}.case-modules li,.case-stack li{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink-muted);border-radius:2px;padding:.45rem .7rem;font-size:.85rem;font-weight:500}.case-day{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.case-day__heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--steel);margin-bottom:.75rem;font-size:1rem;font-weight:700}.case-day__list{color:var(--ink-muted);gap:.55rem;margin:0;padding-left:1.15rem;font-size:.95rem;display:grid}.case-day__list li::marker{color:var(--steel)}.case-page__cta{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.segments-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:clamp(2rem,4vw,2.75rem);display:grid}.segments-card{border:1px solid var(--line);background:var(--bg-elevated);border-radius:4px;padding:1.1rem 1.15rem}.segments-card__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--steel);margin-bottom:.75rem;font-size:1rem;font-weight:700}.segments-card__list{gap:.45rem;list-style:none;display:grid}.segments-card__list li{color:var(--ink-muted);padding-left:.85rem;font-size:.9rem;line-height:1.35;position:relative}.segments-card__list li:before{content:"";background:var(--steel);border-radius:50%;width:5px;height:5px;position:absolute;top:.55em;left:0}.case-page .segments{border-block:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 40%, transparent)}.case-page .segments .wrap{max-width:var(--max)}.case-page .section-title{max-width:22ch}@media (width<=640px){.case-preview,.case-day{grid-template-columns:1fr}}:root{--scroll-progress:0;--mx:.5;--my:.5;--msx:.5;--msy:.5}body{min-height:100dvh;overflow-x:hidden}.app-shell{isolation:isolate;min-height:100dvh;position:relative}.fx-canvas{pointer-events:none;z-index:0;opacity:.9;width:100%;height:100%;position:fixed;inset:0}.app-shell>:not(.fx-canvas):not(.scroll-progress){z-index:1;position:relative}.scroll-progress{height:2px;width:calc(var(--scroll-progress) * 100%);background:var(--steel);z-index:40;pointer-events:none;position:fixed;top:0;left:0}.parallax{--depth:.4;--py:0;will-change:transform}.parallax--global{transform:translate3d(calc((var(--msx,.5) - .5) * var(--depth) * -28px), calc((var(--msy,.5) - .5) * var(--depth) * -18px + var(--scroll-progress) * var(--depth) * -40px), 0);transition:transform 50ms linear}.parallax--scroll{transform:translate3d(calc((var(--msx,.5) - .5) * var(--depth) * -22px), calc((var(--msy,.5) - .5) * var(--depth) * -14px + var(--py,0) * var(--depth) * -72px), 0);transition:transform 80ms linear}.project-mock--parallax{isolation:isolate}.project-mock__layer{z-index:1;position:relative}.project-mock__layer--back{z-index:0;pointer-events:none;position:absolute;inset:0}.project-mock__layer--front{z-index:2}.project-mock__glow{background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--project-accent,var(--steel)) 28%, transparent), transparent 55%), radial-gradient(circle at 80% 80%, color-mix(in srgb, var(--project-accent,var(--steel)) 16%, transparent), transparent 50%);width:100%;height:100%;display:block}.project__media.parallax,.project__content.parallax{width:100%}@keyframes dash-draw{to{stroke-dashoffset:0}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes brand-shine{0%,to{background-position:100%}50%{background-position:0%}}[data-scroll]{--inview:0}.project.is-inview .project-mock,.project.is-visible .project-mock{animation:project-fade .8s var(--ease) both;animation-delay:calc(var(--project-i,0) * 80ms)}@keyframes project-fade{0%{opacity:0}to{opacity:1}}.btn{position:relative;overflow:visible}.btn>span{z-index:1;position:relative}.btn-outline{pointer-events:none;width:calc(100% + 2px);height:calc(100% + 2px);position:absolute;inset:-1px;overflow:visible}.btn-outline rect{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset .55s var(--ease)}.btn--outline-fx:hover .btn-outline rect,.btn--outline-fx:focus-visible .btn-outline rect{stroke-dashoffset:0}.btn--primary .btn-outline rect{stroke:color-mix(in srgb, var(--on-accent) 70%, transparent)}.btn--ghost .btn-outline rect{stroke:var(--steel)}.btn--ghost:hover{border-color:#0000}.outline-text{background:linear-gradient(105deg, var(--ink) 40%, var(--steel) 55%, var(--ink) 70%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:6s ease-in-out infinite brand-shine}.hero{perspective:1200px;min-height:min(92dvh,820px)}.hero__stage{perspective:1000px;transform-style:preserve-3d;padding:1.5rem .5rem;position:relative}.hero__shot-frame{aspect-ratio:4/5;isolation:isolate;background:linear-gradient(145deg, #ffffff38 0%, #ffffff0a 35%, #00000026 100%), var(--bg-elevated);border:1px solid #ffffff47;border-radius:10px;width:100%;max-width:420px;margin-inline:auto;padding:10px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #00000059,0 0 0 1px #00000073,0 18px 40px -20px #000000d9,0 40px 70px -40px #f0c8282e}.hero__glass{z-index:2;pointer-events:none;border-radius:inherit;position:absolute;inset:0}.hero__glass-edge{border-radius:6px;position:absolute;inset:9px;box-shadow:0 0 0 1px #fff3,inset 0 0 0 1px #00000059,inset 0 1px #ffffff40}.hero__glass-glare{border-radius:inherit;mix-blend-mode:soft-light;background:linear-gradient(115deg,#ffffff47 0%,#ffffff14 18%,#0000 42%),linear-gradient(#ffffff1a 0%,#0000 28% 72%,#0000001f 100%);position:absolute;inset:0}.hero__shot{z-index:1;pointer-events:none;background:#0a0a0a;border-radius:6px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000080,inset 0 8px 20px #00000059}.hero__shot-img{object-fit:cover;object-position:top center;-webkit-user-select:none;user-select:none;transform-origin:50%;will-change:transform;border-radius:6px;width:100%;height:100%;animation:18s ease-in-out infinite hero-walk;display:block}@keyframes hero-walk{0%{transform-origin:50% 18%;transform:scale(1)translate(0)}18%{transform-origin:12% 14%;transform:scale(1.22)translate(8%,1%)}32%{transform-origin:50% 30%;transform:scale(1.1)translate(-2%)}48%{transform-origin:88% 42%;transform:scale(1.24)translate(-9%,-3%)}62%{transform-origin:20% 55%;transform:scale(1.12)translate(3%,2%)}78%{transform-origin:8% 70%;transform:scale(1.2)translate(7%,-5%)}90%{transform-origin:92% 75%;transform:scale(1.16)translate(-6%,-2%)}to{transform-origin:50% 18%;transform:scale(1)translate(0)}}.hero__orbit{border:1px dashed color-mix(in srgb, var(--steel) 35%, transparent);pointer-events:none;border-radius:50%;animation:28s linear infinite orbit-spin;position:absolute;inset:8% 6%;transform:rotateX(62deg)translateZ(-40px)}.hero__orbit--slow{opacity:.55;animation-duration:42s;animation-direction:reverse;inset:2% -2%}.mockup-3d,.mockup-frame{transform-style:preserve-3d;position:relative}.project-tilt{perspective:900px;transform-style:preserve-3d;width:100%}.project-mock--tilt,.tilt-3d{--tilt-x:0deg;--tilt-y:0deg;transform-style:preserve-3d;will-change:transform;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(18px);transition:transform 50ms linear}.mockup-outline{pointer-events:none;z-index:2;width:calc(100% + 12px);height:calc(100% + 12px);position:absolute;inset:-6px;overflow:visible}.mockup-outline__path{fill:none;stroke:var(--steel);stroke-width:1.25px;stroke-dasharray:100;stroke-dashoffset:100px;animation:dash-draw 1.4s var(--ease) .45s forwards}.timeline.is-inview:before,.section.is-inview .timeline:before{transform:scaleY(1)}.timeline:before{transform-origin:top;transition:transform 1s var(--ease);background:linear-gradient(var(--steel), var(--line));transform:scaleY(0)}.section.is-inview .timeline:before{transform:scaleY(1)}@media (width<=860px){.parallax{transform:none!important}.hero__orbit{display:none}.fx-canvas{opacity:.5}.hero{min-height:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.parallax,.mockup-3d,.mockup-frame,.hero__shot-frame,.project-mock--tilt,.tilt-3d,.hero__orbit,.hero__shot-img,.outline-text{animation:none!important;transform:none!important}.mockup-outline__path,.btn-outline rect{stroke-dashoffset:0;animation:none}.reveal{opacity:1;transition:none;transform:none}.fx-canvas,.scroll-progress{display:none!important}}
