:root{--navy:#0a1e46;--deep:#050d20;--royal:#123fa6;--blue:#06c;--sky:#2e90ff;--ice:#cfe0f7;--paper:#f4f6fa;--white:#fff;--silver:#a8aeb8;--graphite:#1c2126;--grad:linear-gradient(45deg,#06c,#2e90ff);--grad-text:linear-gradient(180deg,#fff 42%,#9fc2f5);--line:#ffffff14;--surface:#ffffff08;--glow:#2e90ff59;--font-d:"Archivo",system-ui,sans-serif;--font-b:"Inter",system-ui,sans-serif;--font-m:"JetBrains Mono",monospace;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}img,svg{max-width:100%;height:auto;display:block}body{font-family:var(--font-b);color:#e8eef7;background:var(--deep);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(1200px 600px at 70% -10%,#2e90ff29,transparent 60%), radial-gradient(900px 500px at 0% 100%,#123fa624,transparent 60%), linear-gradient(var(--line) 1px,transparent 1px) 0 0/64px 64px, linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/64px 64px;background-color:var(--deep);position:fixed;inset:0}.wrap{z-index:1;max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,40px);position:relative}section{border-top:1px solid var(--line);z-index:1;padding:clamp(56px,9vw,110px) 0;position:relative}.eyebrow{font-family:var(--font-m);letter-spacing:.18em;text-transform:uppercase;color:var(--sky);font-size:12px}h2.title{font-family:var(--font-d);letter-spacing:-.01em;color:#fff;text-wrap:balance;max-width:780px;margin-top:14px;font-size:clamp(28px,4.5vw,46px);font-weight:800}.section-sub{color:#9fb0c7;max-width:640px;margin-top:14px;font-size:clamp(15px,2vw,18px)}.nav{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#050d20b8;position:sticky;top:0}.nav .wrap{justify-content:space-between;align-items:center;padding:14px clamp(16px,5vw,40px);display:flex}.nav img{height:40px}.nav .links{gap:26px;font-size:14px;list-style:none;display:flex}.nav a{color:var(--silver);text-decoration:none;transition:color .3s}.nav a:hover{color:#fff}@media (width<=860px){.nav .links{display:none}}.btn{font-family:var(--font-b);cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s,color .3s;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:14px 26px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 30px -8px var(--glow)}.btn-primary:hover{box-shadow:0 14px 44px -8px var(--glow);transform:translateY(-2px)}.btn-ghost{background:var(--surface);color:#eaf1fb;border-color:var(--line)}.btn-ghost:hover{border-color:var(--sky);color:#fff;transform:translateY(-2px)}.btn-sm{padding:10px 18px;font-size:14px}.hero{text-align:center;border-top:none;flex-direction:column;justify-content:center;min-height:calc(100dvh - 74px);padding:clamp(32px,6vh,80px) 0;display:flex}.badge{font-family:var(--font-m);letter-spacing:.14em;text-transform:uppercase;color:var(--ice);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;margin-bottom:26px;padding:8px 16px;font-size:12px;display:inline-flex}.badge .dot{background:var(--sky);width:7px;height:7px;box-shadow:0 0 12px var(--glow);border-radius:50%}.h1{font-family:var(--font-d);letter-spacing:-.02em;background:var(--grad-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(40px,8vw,84px);font-weight:800;line-height:1.02}.hero .sub{color:#b9c6db;max-width:660px;margin:26px auto 0;font-size:clamp(16px,2.4vw,20px)}.cta-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:36px;display:flex}.forwho{font-family:var(--font-m);letter-spacing:.08em;color:var(--silver);text-transform:uppercase;margin-top:30px;font-size:12px}.forwho b{color:var(--ice);font-weight:500}.svc{border-bottom:1px solid var(--line)}.svc-row{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;grid-template-columns:120px 1fr auto;align-items:center;gap:28px;width:100%;padding:30px 0;display:grid}.svc .num{font-family:var(--font-m);color:var(--sky);font-size:15px}.svc h3{font-family:var(--font-d);color:#fff;font-size:clamp(20px,3vw,28px);font-weight:700}.svc p{color:#afbdd1;max-width:52ch;margin-top:6px;font-size:15px}.svc .go{border:1px solid var(--line);width:44px;height:44px;color:var(--sky);transition:transform .4s var(--ease),background .3s,color .3s,box-shadow .3s;border-radius:12px;place-items:center;font-size:18px;display:grid}.svc-row:hover .go{background:var(--grad);color:#fff;box-shadow:0 10px 30px -8px var(--glow)}.svc.open .go{background:var(--grad);color:#fff;transform:rotate(90deg)}.svc-panel{transition:grid-template-rows .5s var(--ease);grid-template-rows:0fr;display:grid}.svc.open .svc-panel{grid-template-rows:1fr}.svc-panel-in{min-height:0;overflow:hidden}.svc-more{color:#b9c6db;max-width:72ch;padding:0 0 2px 120px;font-size:15px}.svc-gallery{align-items:center;gap:8px;padding:16px 0 34px 120px;display:flex}.svc-cf{flex:auto;padding:18px 0;overflow:hidden}.svc-cf-stage{perspective:1200px;height:206px;position:relative}.svc-cf-item{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);width:clamp(240px,42%,340px);height:auto;transition:transform .6s var(--ease),opacity .5s var(--ease);will-change:transform;backface-visibility:hidden;background:#0a1730;border-radius:14px;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 26px 55px -30px #000000bf}.js .svc-cf-item{cursor:zoom-in}.lightbox{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .25s var(--ease);background:#030814e0;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.lightbox.open{opacity:1;display:flex}.lb-img{border:1px solid var(--line);width:auto;max-width:min(1180px,94vw);height:auto;max-height:88vh;transition:transform .3s var(--ease);border-radius:16px;transform:scale(.96);box-shadow:0 40px 100px -30px #000000d9}.lightbox.open .lb-img{transform:scale(1)}.lb-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:46px;height:46px;transition:background .2s var(--ease);background:#050d20b8;border:1px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;font-size:19px;line-height:1;display:flex;position:absolute;top:20px;right:20px}.lb-close:hover{background:#ffffff29}@media (width<=720px){.lb-close{width:40px;height:40px;font-size:17px;top:12px;right:12px}}.svc-nav{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--sky);cursor:pointer;z-index:6;border-radius:50%;flex:none;place-items:center;font-size:20px;transition:all .3s;display:grid}.svc-nav:hover{border-color:var(--sky);color:#fff}@media (width<=720px){.svc-row{grid-template-columns:auto 1fr auto;gap:12px;padding:22px 0}.svc-more{padding-left:0}.svc-gallery{gap:0;margin-inline:0;padding-left:0;position:relative}.svc-nav{z-index:6;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050d20b8;border-color:#fff3;width:32px;height:32px;font-size:17px;position:absolute;top:50%;transform:translateY(-50%)}.svc-nav[data-dir=prev]{left:2px}.svc-nav[data-dir=next]{right:2px}.svc-cf{flex:auto;padding:22px 0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%)}.svc-cf-stage{height:214px}.svc-cf-item{aspect-ratio:16/9;width:clamp(240px,90%,350px);height:auto}}.grid{gap:20px;margin-top:36px;display:grid}.g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card{border:1px solid var(--line);transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;background:linear-gradient(#ffffff0d,#ffffff05);border-radius:18px;padding:26px}.card:hover{box-shadow:0 20px 50px -22px var(--glow);border-color:#2e90ff73;transform:translateY(-4px)}.card h4{font-family:var(--font-d);color:#fff;margin-bottom:8px;font-size:19px;font-weight:700}.card p{color:#afbdd1;font-size:15px}.card .k{font-family:var(--font-m);color:var(--sky);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.proj{flex-direction:column;justify-content:space-between;min-height:150px;display:flex}.proj a{color:var(--sky);margin-top:16px;font-size:14px;font-weight:500;text-decoration:none}.proj a:hover{color:#fff}.pf-head{margin-bottom:6px}.pf-nav{display:none}@media (width<=720px){.pf-nav{justify-content:center;gap:14px;margin-top:8px;display:flex}.pf-nav button{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--sky);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:50%;place-items:center;font-size:22px;display:grid}.pf-nav button:active{background:var(--grad);color:#fff}.pf-card{transition:transform .2s ease-out,box-shadow .4s,border-color .4s}}.pf-outer{position:relative}.pf-sticky{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow:auto hidden}.pf-sticky::-webkit-scrollbar{display:none}.pf-track{align-items:center;gap:22px;width:max-content;padding:28px clamp(20px,5vw,40px);display:flex}.pf-card{border:1px solid var(--line);background:var(--surface);height:min(66vh,540px);transition:transform .55s var(--ease),box-shadow .4s var(--ease),border-color .4s;transform-style:preserve-3d;border-radius:20px;flex:0 0 clamp(280px,82vw,420px);position:relative;overflow:hidden}.pf-img{background:#0a1730;height:62%;overflow:hidden}.pf-img img{object-fit:cover;object-position:top;width:100%;height:100%;transition:transform .6s var(--ease)}.pf-card:hover{box-shadow:0 30px 70px -25px var(--glow);border-color:#2e90ff8c}.pf-card:hover .pf-img img{transform:scale(1.06)}.pf-img--grad{background:radial-gradient(420px 220px at 50% 25%,#2e90ff47,#0000),linear-gradient(135deg,#0a1e46,#050d20);place-items:center;display:grid}.pf-img--grad span{font-family:var(--font-d);background:var(--grad-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:72px;font-weight:900}.pf-body{flex-direction:column;gap:8px;height:38%;padding:22px 24px;display:flex}.pf-body .k{font-family:var(--font-m);color:var(--sky);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.pf-body h4{font-family:var(--font-d);color:#fff;font-size:21px;font-weight:700;line-height:1.15}.pf-body a{color:var(--sky);margin-top:auto;font-size:14px;font-weight:500;text-decoration:none}.pf-body a:hover{color:#fff}@media (width>=900px){.js .pf-outer{overflow:visible}.js .pf-sticky{align-items:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.js .pf-track{will-change:transform}.pf-card{transform:perspective(1200px)rotateY(-16deg)}.pf-card:hover{transform:perspective(1200px)rotateY(0)translateY(-8px)}}.steps{counter-reset:s;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:36px;display:grid}.step{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:20px}.step .n{font-family:var(--font-m);color:var(--sky);font-size:13px}.step b{font-family:var(--font-d);color:#fff;margin-top:8px;font-size:17px;display:block}.tags{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.tag{font-family:var(--font-m);color:var(--ice);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:7px 14px;font-size:12px}.band{text-align:center;border:1px solid var(--line);background:radial-gradient(600px 300px at 50% 0,#2e90ff2e,#0000 70%),linear-gradient(#ffffff0a,#ffffff03);border-radius:24px;margin-top:0;padding:clamp(40px,7vw,72px) 28px}.band h2{max-width:20ch;margin:0 auto}.reveal{opacity:1}.js .reveal{opacity:0;filter:blur(8px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transform:translateY(30px)scale(.98)}.js .reveal.in{opacity:1;filter:none;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;filter:none;transition:none;transform:none}}footer{border-top:1px solid var(--line);color:var(--silver);padding:44px 0;font-size:14px}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}footer img{height:40px}footer a{color:var(--silver);margin-left:18px;text-decoration:none}footer a:hover{color:#fff}
