.hero-cta{display:inline-block;position:relative}.hero-cta__halo{filter:blur(14px);opacity:.3;background:linear-gradient(to right,var(--accent),#2563eb);border-radius:12px;transition:opacity .5s;position:absolute;inset:-4px}.hero-cta:hover .hero-cta__halo{opacity:.6}.hero-cta__button{cursor:pointer;color:var(--fg);border-radius:12px;align-items:center;gap:12px;padding:1.25rem 2.5rem;font-weight:900;transition:transform .2s;display:inline-flex;position:relative;transform:translateZ(0)}.hero-cta__button:hover{transform:scale(1.02)}.hero-cta__button:active{transform:scale(.98)}.hero-cta__button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero-cta__icon{animation:1.2s infinite hero-cta-bounce}@keyframes hero-cta-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}
.hero{width:100%;min-height:calc(100vh - var(--nav-height));padding-top:calc(var(--nav-height) + var(--safe-top));justify-content:center;align-items:center;padding-bottom:6rem;transition:background-color .5s,color .5s;display:flex;position:relative;overflow:hidden}@media (min-width:768px){.hero{padding-bottom:8rem}}.hero__inner{z-index:20;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:64rem;padding-left:1rem;padding-right:1rem;display:flex;position:relative}.hero__scroll{cursor:pointer;opacity:.5;flex-direction:column;align-items:center;gap:.5rem;transition:opacity .2s;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.hero__scroll:hover{opacity:1}.hero__scroll-label{text-transform:uppercase;letter-spacing:.3em;color:var(--accent);font-size:10px;font-weight:700}.hero__scroll-line{background:linear-gradient(to bottom,var(--accent),transparent);width:1px;height:4rem;position:relative;overflow:hidden}.hero__scroll-glint{background:linear-gradient(#0000,#ffffffe6,#0000);width:100%;height:50%;position:absolute;top:0;left:0}.hero__scroll{color:inherit;font:inherit;background:0 0;border:0;padding:0}.hero__scroll:focus-visible{outline:2px solid var(--accent);outline-offset:6px;opacity:1}
.hero-image{width:100%;height:calc(100vh - 80px);position:relative;overflow:hidden}.hero-image-img{width:auto;max-width:100%;height:auto;max-height:100%;display:block}.hero-image-day{display:block}.hero-image-dark,.dark .hero-image-day{display:none}.dark .hero-image-dark{display:block}@media (min-width:1600px){.hero-image{height:clamp(500px,72vh,950px)}.hero-image-img{object-position:center center}}@media (min-width:2200px){.hero-image{height:clamp(560px,68vh,980px)}.hero-image-img{object-position:center center}}@media (max-width:1024px){.hero-image{height:clamp(380px,65vh,720px);min-height:380px}.hero-image-img{object-position:center center}}@media (max-width:768px){.hero-image{height:clamp(320px,55vh,560px);min-height:320px}.hero-image-img{object-position:center top}}@media (max-width:480px){.hero-image{height:clamp(280px,50vh,420px);min-height:280px}.hero-image-img{object-position:center top}}
.service-image{opacity:0;background:#ffffff05;border:1px solid #ffffff1a;border-radius:24px;width:100%;animation:.7s ease-out forwards serviceImageEnter;position:relative;overflow:hidden;transform:translateY(14px)scale(.99);box-shadow:0 10px 30px #0000002e,inset 0 1px #ffffff2e}.service-image-img{width:100%;height:auto;display:block}.service-image-light{display:block}.service-image-dark,.dark .service-image-light{display:none}.dark .service-image-dark{display:block}@keyframes serviceImageEnter{to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.service-image{opacity:1;animation:none;transform:none}}
@layer components{.tech-text-fg{color:var(--fg)}.tech-text-muted{color:var(--text-muted)}.tech-text-bg{color:var(--bg)}.tech-border-accent{border-color:color-mix(in srgb,var(--accent)55%,var(--border))}.tech-glow-soft{box-shadow:0 0 24px var(--fx-glow-soft)}.tech-glow-strong{box-shadow:0 0 40px var(--fx-glow)}}
@layer components{.tech-title-wrap{border-radius:.75rem;position:relative;overflow:hidden}.tech-title-walker{background:var(--accent);opacity:.65;filter:blur(18px);mix-blend-mode:overlay}.dark .tech-title-walker{opacity:.85}.tech-title-dodge{opacity:.8;filter:blur(10px);mix-blend-mode:color-dodge;background:#ffffff2e}.dark .tech-title-dodge{background:#ffffff1a}}
@layer components{.tech-ambient-glow{filter:blur(100px);border-radius:9999px;width:500px;height:500px;transition:opacity .7s,background-color .7s}}
@layer components{.tech-card{aspect-ratio:1;cursor:default;background-image:var(--tech-bg-light);will-change:transform;color:#000;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:1rem;width:100%;max-width:24rem;padding:1.25rem;transition:transform .22s,box-shadow .28s,border-color .28s,background-color .28s,filter .28s,color .22s;position:relative;overflow:hidden}.dark .tech-card{background-image:var(--tech-bg-dark)}.tech-card:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#fff6,#ffffff2e);transition:background .22s;position:absolute;inset:0}.tech-card-content{z-index:2;position:relative}.tech-card .tech-text-fg,.tech-card .tech-text-muted,.tech-card h4,.tech-card p{color:#000}.tech-card--idle{filter:saturate(1.05)}.tech-card--idle:hover,.tech-card--active{color:#fff}.tech-card--idle:hover:before,.tech-card--active:before{background:linear-gradient(#00000059,#0000008c)}.tech-card--idle:hover .tech-text-fg,.tech-card--idle:hover .tech-text-muted,.tech-card--idle:hover h4,.tech-card--idle:hover p,.tech-card--active .tech-text-fg,.tech-card--active .tech-text-muted,.tech-card--active h4,.tech-card--active p{color:#fff}.tech-card--active{z-index:20;box-shadow:0 18px 46px color-mix(in srgb,var(--fx-glow)35%,transparent);transform:scale(1.08)}@media (min-width:1024px){.tech-card{width:24rem;max-width:24rem}.tech-card--idle:hover{z-index:30;box-shadow:0 0 44px var(--fx-glow-soft);border-color:color-mix(in srgb,var(--accent)60%,var(--border));filter:saturate(1.2);transform:scale(1.5)}.tech-grow-right{transform-origin:100%}.tech-grow-left{transform-origin:0}}.tech-badge{border-radius:.75rem;justify-content:center;align-items:center;padding:.75rem;transition:background-color .22s,color .22s,box-shadow .22s,border-color .22s;display:inline-flex}.tech-badge--idle{color:#000;background:#ffffffa6;border:1px solid #0003;box-shadow:0 0 14px #0000001a}.tech-badge--active{color:#fff;background:#0000008c;box-shadow:0 0 26px #00000059}.tech-card--idle:hover .tech-badge--idle{color:#fff;background:#0000008c;border-color:#ffffff40;box-shadow:0 0 18px #00000059}.tech-desc{opacity:0;max-height:0;margin-top:0;transition:max-height .26s,opacity .22s,margin-top .22s;overflow:hidden}.tech-desc--open{opacity:1;max-height:140px;margin-top:.4rem}}
@layer components{:root:not(.dark) .tech-ring{border-color:color-mix(in srgb,var(--fg)38%,var(--border));opacity:.9;box-shadow:0 0 0 1px #0f172a0f,0 8px 20px #02061714}:root:not(.dark) .tech-ring--dashed{opacity:.7;border-style:dashed}:root{--tech-core-breathe:7.5s;--tech-core-short:37.5s}.tech-ring{border:1px solid var(--border);border-radius:9999px}.tech-ring--dashed{opacity:.55;border-style:dashed}.dark .tech-ring{border-color:color-mix(in srgb,var(--accent)38%,#94a3b838);opacity:.95;box-shadow:0 0 18px color-mix(in srgb,var(--fx-glow-soft)60%,transparent);animation:tech-core-ring-breathe var(--tech-core-breathe)ease-in-out infinite,tech-core-ring-short var(--tech-core-short)ease-in-out infinite}.dark .tech-ring--dashed{border-color:color-mix(in srgb,var(--accent)30%,#94a3b82e);opacity:.85}.tech-core-shell{border:4px solid var(--border);background:var(--surface-1);border-radius:9999px}.dark .tech-core-shell{background:color-mix(in srgb,var(--surface-1)70%,#02061740);border-color:color-mix(in srgb,var(--accent)40%,#94a3b838);box-shadow:0 0 26px color-mix(in srgb,var(--fx-glow-soft)65%,transparent),0 18px 46px #00000059;animation:tech-core-shell-breathe var(--tech-core-breathe)ease-in-out infinite,tech-core-shell-short var(--tech-core-short)ease-in-out infinite}.tech-scan-overlay{background:linear-gradient(180deg,var(--fx-scanner-color),transparent 70%)}.dark .tech-scan-overlay{opacity:.9;animation:tech-core-scan-breathe var(--tech-core-breathe)ease-in-out infinite}.tech-core-sparks{pointer-events:none;opacity:0;border-radius:9999px;position:absolute;inset:-28px}.dark .tech-core-sparks{opacity:1;animation:tech-core-sparks-short var(--tech-core-short)ease-in-out infinite}@keyframes tech-core-ring-breathe{0%{box-shadow:0 0 14px color-mix(in srgb,var(--fx-glow-soft)55%,transparent);opacity:.9}55%{box-shadow:0 0 22px color-mix(in srgb,var(--fx-glow-soft)85%,transparent);opacity:1}to{box-shadow:0 0 14px color-mix(in srgb,var(--fx-glow-soft)55%,transparent);opacity:.9}}@keyframes tech-core-ring-short{0%,84%{}85%{box-shadow:0 0 46px color-mix(in srgb,var(--fx-glow)80%,transparent)}87%{box-shadow:0 0 16px color-mix(in srgb,var(--fx-glow-soft)55%,transparent)}90%{box-shadow:0 0 26px color-mix(in srgb,var(--fx-glow)45%,transparent)}to{}}@keyframes tech-core-shell-breathe{0%{box-shadow:0 0 18px color-mix(in srgb,var(--fx-glow-soft)55%,transparent),0 18px 46px #00000059;filter:saturate(1.1)brightness(1.02)}60%{box-shadow:0 0 34px color-mix(in srgb,var(--fx-glow)55%,transparent),0 18px 46px #00000059;filter:saturate(1.35)brightness(1.1)}to{box-shadow:0 0 18px color-mix(in srgb,var(--fx-glow-soft)55%,transparent),0 18px 46px #00000059;filter:saturate(1.1)brightness(1.02)}}@keyframes tech-core-shell-short{0%,84%{}85%{box-shadow:0 0 60px color-mix(in srgb,var(--fx-glow)90%,transparent),0 18px 46px #00000059;filter:saturate(1.8)brightness(1.22)}87%{box-shadow:0 0 22px color-mix(in srgb,var(--fx-glow-soft)55%,transparent),0 18px 46px #00000059;filter:saturate(1.15)brightness(.98)}90%{box-shadow:0 0 36px color-mix(in srgb,var(--fx-glow)55%,transparent),0 18px 46px #00000059;filter:saturate(1.35)brightness(1.08)}to{}}@keyframes tech-core-scan-breathe{0%{opacity:.55}55%{opacity:.95}to{opacity:.55}}@keyframes tech-core-sparks-short{0%,84%{opacity:0;filter:blur(1px);transform:rotate(0)}85%{opacity:1;filter:blur();transform:rotate(25deg)}87%{opacity:.25;filter:blur(1px);transform:rotate(45deg)}to{opacity:0;filter:blur(1px);transform:rotate(0)}}}
@layer components{.tech-line-base{background:color-mix(in srgb,var(--fg)60%,transparent);opacity:.65}.tech-line-active{background:linear-gradient(90deg,var(--accent),transparent);filter:saturate(1.2)}.tech-runner{background:color-mix(in srgb,var(--fg)90%,transparent);opacity:.85}:root{--tech-breathe:7.5s;--tech-shortcycle:37.5s}.dark .tech-line-base{opacity:.95;background:linear-gradient(90deg,color-mix(in srgb,var(--accent)70%,#94a3b840),color-mix(in srgb,var(--accent)35%,#94a3b82e));filter:saturate(1.35)brightness(1.05);position:relative}.dark .tech-line-base:before{content:"";pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent)85%,transparent),transparent);opacity:.35;filter:blur(2px);animation:tech-line-breathe-glow var(--tech-breathe)ease-in-out infinite,tech-line-short-glow var(--tech-shortcycle)ease-in-out infinite;position:absolute;inset:0}.dark .tech-line-base{box-shadow:0 0 10px color-mix(in srgb,var(--fx-glow-soft)75%,transparent);animation:tech-line-breathe-shadow var(--tech-breathe)ease-in-out infinite,tech-line-short-shadow var(--tech-shortcycle)ease-in-out infinite}.dark .tech-line-base:after{content:"";pointer-events:none;background:color-mix(in srgb,var(--accent)90%,white 10%);opacity:0;filter:blur(.5px);width:6px;height:6px;box-shadow:30px 0 0 0 color-mix(in srgb,var(--accent)85%,white 15%),66px 0 0 0 color-mix(in srgb,var(--accent)80%,white 20%),104px 0 0 0 color-mix(in srgb,var(--accent)75%,white 25%),144px 0 0 0 color-mix(in srgb,var(--accent)70%,white 30%);animation:tech-line-sparks-rare var(--tech-shortcycle)ease-in-out infinite;border-radius:9999px;position:absolute;top:50%;left:18%;transform:translateY(-50%)}@keyframes tech-line-breathe-glow{0%{opacity:.3;filter:blur(2px)saturate(1.05)}45%{opacity:.55;filter:blur(2.2px)saturate(1.25)}70%{opacity:.85;filter:blur(2.6px)saturate(1.55)}to{opacity:.3;filter:blur(2px)saturate(1.05)}}@keyframes tech-line-breathe-shadow{0%{box-shadow:0 0 10px color-mix(in srgb,var(--fx-glow-soft)70%,transparent)}45%{box-shadow:0 0 16px color-mix(in srgb,var(--fx-glow-soft)85%,transparent)}70%{box-shadow:0 0 26px color-mix(in srgb,var(--fx-glow)55%,transparent)}to{box-shadow:0 0 10px color-mix(in srgb,var(--fx-glow-soft)70%,transparent)}}@keyframes tech-line-short-glow{0%,84%{opacity:0}85%{opacity:.75}87%{opacity:.1}90%{opacity:.35}to{opacity:0}}@keyframes tech-line-short-shadow{0%,84%{box-shadow:0 0 10px color-mix(in srgb,var(--fx-glow-soft)70%,transparent)}85%{box-shadow:0 0 44px color-mix(in srgb,var(--fx-glow)80%,transparent)}87%{box-shadow:0 0 14px color-mix(in srgb,var(--fx-glow-soft)55%,transparent)}90%{box-shadow:0 0 24px color-mix(in srgb,var(--fx-glow)45%,transparent)}to{box-shadow:0 0 10px color-mix(in srgb,var(--fx-glow-soft)70%,transparent)}}@keyframes tech-line-sparks-rare{0%,84%{opacity:0;filter:blur(.8px);transform:translateY(-50%)translate(0)scale(.9)}85%{opacity:.95;filter:blur();transform:translateY(-50%)translate(18px)scale(1.1)}86.5%{opacity:1;transform:translateY(-50%)translate(42px)scale(1.2)}88%{opacity:.18;filter:blur(1px);transform:translateY(-50%)translate(58px)scale(.95)}to{opacity:0;filter:blur(.8px);transform:translateY(-50%)translate(0)scale(.9)}}}
