html:has(.landing){scroll-behavior:smooth;overflow-x:hidden}.landing{--landing-bg:#0a0a0a;--landing-fg:#fff;--landing-fg-dim:#666;--landing-accent:#fff;--landing-border-color:#ffffff14;--landing-border-color-subtle:#ffffff0f;--landing-card-bg:#111;--landing-card-bg-alt:#0d0d0d;--landing-gradient-overlay:#000c;--landing-font-mono:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", "Courier New", monospace;font-family:var(--landing-font-mono);background:var(--landing-bg);color:var(--landing-fg);cursor:default;min-height:100vh;line-height:1.5}.landing a{color:inherit;text-decoration:none}.landing .lp-header{z-index:1000;color:var(--landing-fg);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--landing-border-color-subtle);isolation:isolate;background:#0a0a0ab8;padding:1.5rem 2rem;transition:background-color .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.landing .lp-header.is-scrolled{border-bottom-color:var(--landing-border-color);background:#0a0a0aeb}.landing .nav{justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.landing .nav__toggle{border:1px solid var(--landing-border-color);width:2.5rem;height:2.5rem;color:var(--landing-fg);cursor:pointer;background:0 0;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;padding:0;display:none}.landing .nav__toggle span{background:currentColor;width:1.125rem;height:1px;margin:0 auto;transition:transform .2s,opacity .2s;display:block}.landing .nav__toggle--open span:first-child{transform:translateY(6px)rotate(45deg)}.landing .nav__toggle--open span:nth-child(2){opacity:0}.landing .nav__toggle--open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.landing .nav__btn{padding:.5rem 1rem}.landing .nav__logo{letter-spacing:.2em;text-transform:uppercase;color:var(--landing-fg);font-size:1.25rem;font-weight:700;font-family:var(--landing-font-mono);white-space:nowrap;cursor:pointer;transition:color .3s}.landing .nav__links{text-transform:uppercase;letter-spacing:.1em;color:var(--landing-fg);align-items:center;gap:2rem;font-size:.75rem;display:flex}.landing .nav__links a{color:var(--landing-fg);opacity:.6;font-family:var(--landing-font-mono);white-space:nowrap;transition:opacity .2s,color .3s}.landing .nav__links a:hover{opacity:1}.landing .hero{flex-direction:column;justify-content:center;align-items:center;height:100dvh;min-height:100dvh;padding:6rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.landing .hero__ascii{opacity:.45;white-space:pre;width:100%;height:100%;min-height:100dvh;color:var(--landing-fg);justify-content:center;align-items:center;font-size:3px;line-height:.9;transition:color .3s;display:flex;position:absolute;inset:0;overflow:hidden}.landing .hero__content{text-align:center;z-index:1;max-width:900px;position:relative}.landing .hero__content h1{letter-spacing:-.02em;min-height:2.5em;font-size:clamp(1.5rem,4vw,3rem);font-weight:400;line-height:1.3}.landing .hero__cta{z-index:1;background:var(--landing-bg);border-radius:4px;justify-content:center;gap:1rem;margin-top:1rem;padding:1rem 2rem;transition:background-color .3s;display:flex;position:relative}.landing .btn{font-family:var(--landing-font-mono);text-transform:uppercase;letter-spacing:.15em;border:1px solid var(--landing-fg-dim);color:var(--landing-fg);cursor:pointer;background:0 0;padding:.8rem 1.6rem;font-size:.7rem;transition:all .2s}.landing .btn:hover,.landing .btn--primary{background:var(--landing-fg);color:var(--landing-bg);border-color:var(--landing-fg)}.landing .btn--primary:hover{color:var(--landing-fg);background:0 0}.landing .marquee{border-top:1px solid var(--landing-border-color);border-bottom:1px solid var(--landing-border-color);cursor:pointer;padding:1.5rem 0;overflow:hidden}.landing .marquee__inner{width:max-content;animation:30s linear infinite lp-marquee;display:flex}.landing .marquee__inner span{text-transform:uppercase;letter-spacing:.3em;color:var(--landing-fg-dim);white-space:nowrap;padding-right:2rem;font-size:.7rem}@keyframes lp-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.landing .about{border-top:1px solid var(--landing-border-color);padding:8rem 2rem;scroll-margin-top:5rem;position:relative;overflow:hidden}.landing .about__label{text-transform:uppercase;letter-spacing:.3em;color:var(--landing-fg-dim);margin-bottom:3rem;font-size:.6rem;transition:color .3s}.landing .about__content h2{max-width:800px;color:var(--landing-fg);margin-bottom:4rem;font-size:clamp(1.2rem,2.5vw,2rem);font-weight:400;line-height:1.5;transition:color .3s}.landing .about__columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;display:grid}.landing .about__col h3{text-transform:uppercase;letter-spacing:.15em;color:var(--landing-fg);margin-bottom:1rem;font-size:.8rem;font-weight:500;transition:color .3s}.landing .about__col p{color:var(--landing-fg-dim);font-size:.8rem;line-height:1.8;transition:color .3s}.landing .services{border-top:1px solid var(--landing-border-color);padding:6rem 2rem;scroll-margin-top:5rem}.landing .services__label{text-transform:uppercase;letter-spacing:.3em;color:var(--landing-fg-dim);margin-bottom:3rem;font-size:.6rem;transition:color .3s}.landing .services__intro{max-width:520px;color:var(--landing-fg-dim);margin-bottom:3rem;font-size:.8rem;line-height:1.8}.landing .services__list{max-width:640px}.landing .services__item{border-bottom:1px solid var(--landing-border-color-subtle);color:var(--landing-fg);flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.4rem 0;transition:padding-left .3s,color .3s;display:flex}.landing .services__head{align-items:center;gap:2rem;width:100%;display:flex}.landing .services__item:hover{padding-left:1rem}.landing .services__item:hover .services__name{opacity:1}.landing .services__desc{color:var(--landing-fg-dim);max-width:520px;margin:0;padding-left:3.25rem;font-size:.75rem;line-height:1.7}.landing .services__number{color:var(--landing-fg-dim);letter-spacing:.1em;font-size:.6rem;transition:color .3s}.landing .services__name{text-transform:uppercase;letter-spacing:.1em;color:var(--landing-fg);opacity:.7;font-size:.85rem;transition:opacity .2s,color .3s}.landing .lp-footer{border-top:1px solid var(--landing-border-color);padding:6rem 2rem 2rem;scroll-margin-top:5rem}.landing .footer__top{margin-bottom:6rem}.landing .footer__cta h2{margin-bottom:1.5rem;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400}.landing .footer__email{text-transform:uppercase;letter-spacing:.15em;opacity:.6;border-bottom:1px solid var(--landing-fg-dim);padding-bottom:2px;font-size:.8rem;transition:opacity .2s}.landing .footer__email:hover{opacity:1}.landing .footer__bottom{border-top:1px solid var(--landing-border-color-subtle);justify-content:space-between;align-items:center;padding-top:2rem;display:flex}.landing .footer__copy{color:var(--landing-fg-dim);letter-spacing:.1em;font-size:.6rem}.landing .footer__socials{gap:1.5rem;display:flex}.landing .footer__socials a{text-transform:uppercase;letter-spacing:.1em;opacity:.5;font-size:.65rem;transition:opacity .2s}.landing .footer__socials a:hover{opacity:1}@media (max-width:768px){.landing .lp-header{padding:1rem 1.5rem}.landing .lp-header--menu-open{border-bottom-color:var(--landing-border-color);background:#0a0a0afa}.landing .nav__logo{letter-spacing:.15em;font-size:1rem}.landing .nav__toggle{display:flex}.landing .nav__links{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--landing-border-color);background:#0a0a0afa;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.5rem 1.25rem;font-size:.75rem;display:none;position:absolute;top:calc(100% + 1rem);left:-1.5rem;right:-1.5rem;box-shadow:0 12px 24px #00000059}.landing .nav__links--open{display:flex}.landing .nav__links a:not(.btn){opacity:1;border-bottom:1px solid var(--landing-border-color-subtle);padding:.9rem 0}.landing .nav__links .btn{text-align:center;width:100%;margin-top:.75rem;padding:.85rem 1rem}.landing .hero{height:100vh;min-height:100vh;min-height:-webkit-fill-available;padding:5rem 1.5rem 3rem}.landing .hero__ascii{min-height:100vh;min-height:-webkit-fill-available}.landing .about,.landing .services,.landing .lp-footer{padding-left:1.5rem;padding-right:1.5rem}.landing .footer__bottom{flex-direction:column;align-items:flex-start;gap:1rem}}.landing .reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.landing .reveal.visible{opacity:1;transform:translateY(0)}.landing,.landing .lp-header,.landing .marquee,.landing .about,.landing .services,.landing .services__item,.landing .lp-footer,.landing .footer__bottom,.landing .btn{transition:background-color .3s,border-color .3s,color .3s}
