:root{
  --bg:#04070d;
  --bg2:#08111f;
  --panel:#0a1321;
  --panel2:#0c1828;
  --line:rgba(255,255,255,.09);
  --text:#f7fbff;
  --muted:#9eb1c7;
  --blue:#087be5;
  --cyan:#09d3ff;
  --deep:#07479d;
  --orange:#ff5a00;
  --gold:#ffad00;
  --max:1180px;
  --radius:28px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 10% 0%,rgba(0,135,255,.09),transparent 30%),
    radial-gradient(circle at 90% 10%,rgba(255,99,0,.06),transparent 28%),
    var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}

.noise{
  pointer-events:none;
  position:fixed;
  inset:0;
  z-index:99;
  opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.cursor-glow{
  position:fixed;
  width:420px;height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,137,255,.12),rgba(0,137,255,0) 70%);
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:0;
  opacity:.65;
}

.shell{width:min(var(--max),calc(100% - 40px));margin-inline:auto;position:relative;z-index:2}
.section-shell{position:relative;padding:120px 0}

.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  transition:.35s ease;
}
.site-header.scrolled{
  background:rgba(4,7,13,.78);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px);
}
.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:14px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;font-weight:900;letter-spacing:.07em}
.brand img{width:54px;height:54px;object-fit:contain}
.brand b{color:var(--orange)}
.main-nav{display:flex;gap:30px;align-items:center}
.main-nav a{font-size:14px;font-weight:600;color:#dbe8f5;position:relative}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--orange));transition:.3s var(--ease)}
.main-nav a:hover::after{right:0}
.menu-toggle{display:none;background:none;border:0;padding:10px;color:white}
.menu-toggle span{display:block;width:26px;height:2px;background:currentColor;margin:5px 0}

.hero{min-height:100svh;display:flex;align-items:center;padding-top:145px;padding-bottom:90px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:70px}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#b5c4d6}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 24px}
.eyebrow span{width:26px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--orange))}
.hero h1,.section-heading h2,.about-copy h2,.contact-panel h2{font-family:"Space Grotesk",sans-serif;margin:0;letter-spacing:-.055em}
.hero h1{font-size:clamp(58px,7vw,96px);line-height:.92;max-width:740px}
.hero h1 em,.contact-panel h2 em{font-style:normal;background:linear-gradient(95deg,var(--cyan) 5%,var(--blue) 42%,var(--orange) 76%,var(--gold));-webkit-background-clip:text;color:transparent}
.hero-text{max-width:620px;font-size:18px;line-height:1.75;color:var(--muted);margin:28px 0 0}
.hero-actions{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.btn{min-height:54px;padding:0 22px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:14px;transition:.3s var(--ease)}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 15px 50px rgba(0,136,255,.25);color:white}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 65px rgba(0,136,255,.35)}
.btn-ghost{border:1px solid var(--line);background:rgba(255,255,255,.03);color:#e8f1fa}
.btn-ghost:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.06);transform:translateY(-3px)}
.hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:32px}
.hero-tags span{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:999px;padding:8px 11px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#a8bad0}
.hero-visual{display:flex;justify-content:center}
.logo-stage{width:min(620px,100%);aspect-ratio:1;position:relative;display:grid;place-items:center;isolation:isolate}
.hero-logo{width:92%;position:relative;z-index:3;filter:drop-shadow(0 28px 58px rgba(0,0,0,.55));animation:float 6s ease-in-out infinite}
.ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}
.ring-one{inset:8%;animation:spin 20s linear infinite}
.ring-two{inset:18%;border-style:dashed;animation:spin 15s linear infinite reverse}
.logo-stage::before,.logo-stage::after{content:"";position:absolute;border-radius:50%;filter:blur(35px);z-index:-1}
.logo-stage::before{width:42%;height:42%;left:8%;bottom:17%;background:rgba(0,135,255,.24)}
.logo-stage::after{width:38%;height:38%;right:8%;top:20%;background:rgba(255,84,0,.18)}
.float-card{position:absolute;z-index:4;background:rgba(9,17,30,.74);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 45px rgba(0,0,0,.32);backdrop-filter:blur(14px);border-radius:16px;padding:13px 15px;color:#dcecff}
.float-card small{display:block;margin-top:4px;text-transform:uppercase;letter-spacing:.12em;font-size:8px;color:#8ea4bd}
.code-card{left:4%;top:28%;transform:rotate(-8deg)}
.code-card span{font:700 23px "Space Grotesk",sans-serif;color:var(--cyan)}
.ui-card{right:1%;bottom:23%;transform:rotate(7deg)}
.ui-card i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px;background:var(--blue)}
.ui-card i:nth-child(2){background:var(--cyan)}
.ui-card i:nth-child(3){background:var(--orange)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.14;pointer-events:none}
.orb-blue{width:440px;height:440px;background:var(--blue);left:-180px;top:30%}
.orb-orange{width:380px;height:380px;background:var(--orange);right:-160px;top:20%}
.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#6f849b;display:flex;align-items:center;gap:8px}
.scroll-cue span{width:24px;height:1px;background:#6f849b}

.marquee{overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(0,137,255,.06),rgba(255,92,0,.06));padding:19px 0}
.marquee-track{display:flex;width:max-content;gap:25px;align-items:center;animation:marquee 30s linear infinite;color:#dbe7f4;font:700 13px "Space Grotesk",sans-serif;letter-spacing:.14em}
.marquee-track b{color:var(--orange)}

.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:52px}
.kicker{margin:0 0 12px;color:#7f96af}
.section-heading h2,.about-copy h2{font-size:clamp(42px,5vw,70px);line-height:1}
.section-heading>p{margin:0;max-width:520px;justify-self:end;color:var(--muted);line-height:1.7}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{min-height:330px;padding:28px;position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));transition:.35s var(--ease)}
.service-card::before{content:"";position:absolute;width:180px;height:180px;right:-90px;top:-90px;background:radial-gradient(circle,rgba(0,143,255,.17),transparent 65%);transition:.35s}
.service-card:nth-child(even)::before{background:radial-gradient(circle,rgba(255,90,0,.15),transparent 65%)}
.service-card:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.17);background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025))}
.service-icon{font:700 12px "Space Grotesk",sans-serif;color:var(--cyan);letter-spacing:.12em}
.service-card h3{margin:92px 0 13px;font-size:24px;letter-spacing:-.03em}
.service-card p{color:var(--muted);line-height:1.65;margin:0;font-size:14px}
.card-line{position:absolute;left:28px;right:28px;bottom:24px;height:2px;background:linear-gradient(90deg,var(--blue),transparent);transform-origin:left;transform:scaleX(.25);transition:.35s var(--ease)}
.service-card:nth-child(even) .card-line{background:linear-gradient(90deg,var(--orange),transparent)}
.service-card:hover .card-line{transform:scaleX(1)}

.work{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 20%,rgba(0,126,255,.09),transparent 31%),
    radial-gradient(circle at 92% 35%,rgba(255,91,0,.085),transparent 30%),
    linear-gradient(180deg,#06101e 0%,#040912 100%);
}
.work::before,.work::after{
  content:"";
  position:absolute;
  width:540px;
  height:1px;
  opacity:.5;
  pointer-events:none;
}
.work::before{left:-110px;top:130px;background:linear-gradient(90deg,transparent,var(--blue),transparent);transform:rotate(-40deg)}
.work::after{right:-130px;top:210px;background:linear-gradient(90deg,transparent,var(--orange),transparent);transform:rotate(-39deg)}
.work-glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.16}
.work-glow-blue{width:380px;height:380px;background:var(--blue);left:-180px;top:35%}
.work-glow-orange{width:380px;height:380px;background:var(--orange);right:-170px;top:28%}
.work-heading{text-align:center;max-width:880px;margin:0 auto 52px}
.work-kicker{margin:0 0 18px;display:flex;justify-content:center;align-items:center;gap:18px;text-transform:uppercase;letter-spacing:.42em;font-size:11px;font-weight:700;color:#5faaff}
.work-kicker span{width:76px;height:1px;background:linear-gradient(90deg,transparent,#4f9eff)}
.work-kicker span:last-child{background:linear-gradient(90deg,#4f9eff,transparent)}
.work-heading h2{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.055em;font-weight:900}
.work-heading h2 em{font-style:normal;background:linear-gradient(180deg,#27d6ff 0%,#0b84f2 66%,#0564d2 100%);-webkit-background-clip:text;color:transparent;text-shadow:0 0 34px rgba(0,150,255,.14)}
.work-heading>p:last-child{max-width:700px;margin:20px auto 0;color:#a7b7ca;line-height:1.7;font-size:15px;letter-spacing:.06em}
.featured-projects{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.showcase-card{
  position:relative;overflow:hidden;border-radius:24px;
  background:linear-gradient(180deg,rgba(8,18,32,.92),rgba(4,10,18,.98));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 26px 70px rgba(0,0,0,.42);
  transition:transform .38s var(--ease),box-shadow .38s var(--ease),border-color .38s var(--ease);
}
.showcase-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.9}
.showcase-blue{border-color:rgba(20,215,255,.82);box-shadow:0 24px 70px rgba(0,0,0,.4),0 0 18px rgba(0,190,255,.16),inset 0 0 22px rgba(0,175,255,.05)}
.showcase-orange{border-color:rgba(255,174,30,.82);box-shadow:0 24px 70px rgba(0,0,0,.4),0 0 18px rgba(255,119,0,.16),inset 0 0 22px rgba(255,120,0,.04)}
.showcase-blue::after{box-shadow:inset 0 0 34px rgba(0,193,255,.10)}
.showcase-orange::after{box-shadow:inset 0 0 34px rgba(255,135,0,.09)}
.showcase-card:hover{transform:translateY(-7px) scale(1.004)}
.showcase-blue:hover{border-color:#2ae1ff;box-shadow:0 36px 90px rgba(0,0,0,.46),0 0 34px rgba(0,195,255,.30),inset 0 0 30px rgba(0,175,255,.07)}
.showcase-orange:hover{border-color:#ffbf36;box-shadow:0 36px 90px rgba(0,0,0,.46),0 0 34px rgba(255,127,0,.28),inset 0 0 30px rgba(255,120,0,.06)}
.showcase-visual{height:245px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.showcase-photo{background-size:104% 104%;background-position:center;transition:transform .55s var(--ease),filter .55s var(--ease)}
.showcase-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(2,7,14,.02) 45%,rgba(4,10,18,.72) 100%);pointer-events:none}
.showcase-photo-cp{background-image:url("assets/project-cp-visual.png");background-position:center 20%}
.showcase-photo-castle{background-image:url("assets/project-castle-visual.png");background-position:center 20%}
.showcase-card:hover .showcase-photo{transform:scale(1.025);filter:saturate(1.05) contrast(1.02)}
.showcase-content{position:relative;z-index:3;padding:20px 22px 22px;margin-top:-26px;background:linear-gradient(180deg,rgba(6,14,24,.58),rgba(5,11,19,.96) 28%,rgba(5,11,19,.98));backdrop-filter:blur(3px)}
.showcase-line{display:block;width:46px;height:4px;border-radius:999px;margin-bottom:12px}
.showcase-blue .showcase-line{background:linear-gradient(90deg,var(--cyan),var(--blue));box-shadow:0 0 16px rgba(0,210,255,.72)}
.showcase-orange .showcase-line{background:linear-gradient(90deg,var(--gold),var(--orange));box-shadow:0 0 16px rgba(255,144,0,.7)}
.showcase-content h3{margin:0 0 8px;font-size:clamp(21px,2vw,29px);letter-spacing:-.035em}
.showcase-content p{margin:0;max-width:510px;color:#c0ccda;font-size:14px;line-height:1.45}
.project-link{display:inline-flex;align-items:center;gap:14px;margin-top:17px;min-height:43px;padding:0 18px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;transition:.3s var(--ease);background:rgba(4,10,18,.48);backdrop-filter:blur(8px)}
.project-link span{font-size:20px;line-height:1;transition:.3s var(--ease)}
.showcase-blue .project-link{border:1px solid #19d9ff;box-shadow:inset 0 0 18px rgba(0,154,255,.10),0 0 18px rgba(0,192,255,.20)}
.showcase-orange .project-link{border:1px solid #ffae22;box-shadow:inset 0 0 18px rgba(255,110,0,.08),0 0 18px rgba(255,120,0,.20)}
.showcase-blue .project-link:hover{background:rgba(0,160,255,.14);box-shadow:0 0 28px rgba(0,199,255,.32)}
.showcase-orange .project-link:hover{background:rgba(255,111,0,.12);box-shadow:0 0 28px rgba(255,137,0,.31)}
.project-link:hover span{transform:translateX(5px)}

.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.about-logo-wrap{position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:40px;border:1px solid var(--line);background:radial-gradient(circle at 35% 30%,rgba(0,153,255,.12),transparent 35%),radial-gradient(circle at 70% 65%,rgba(255,88,0,.1),transparent 33%),rgba(255,255,255,.018);overflow:hidden}
.about-logo-wrap img{width:76%;filter:drop-shadow(0 22px 45px rgba(0,0,0,.45));animation:float 7s ease-in-out infinite reverse}
.about-ring{position:absolute;inset:9%;border:1px dashed rgba(255,255,255,.07);border-radius:50%;animation:spin 24s linear infinite}
.about-copy>p:not(.kicker){color:var(--muted);line-height:1.75;font-size:16px;max-width:650px}
.about-copy h2{margin-bottom:28px}
.about-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.about-points span{padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.025);font-size:13px;color:#dce8f4}
.about-points b{color:var(--orange);margin-right:9px;font-size:11px}

.contact{padding-top:90px}
.contact-panel{position:relative;overflow:hidden;text-align:center;border:1px solid var(--line);border-radius:40px;padding:100px 25px;background:linear-gradient(135deg,rgba(4,14,28,.9),rgba(22,8,3,.6))}
.contact-panel h2{font-size:clamp(48px,7vw,92px);line-height:.96;margin:14px auto 24px;max-width:1000px}
.contact-panel>p:not(.kicker){color:var(--muted);font-size:17px}
.email-link{display:inline-flex;align-items:center;gap:12px;margin-top:24px;font:700 clamp(18px,2.4vw,30px) "Space Grotesk",sans-serif;border-bottom:2px solid var(--orange);padding-bottom:6px;transition:.3s var(--ease)}
.email-link:hover{color:var(--cyan);border-color:var(--cyan)}
.contact-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.22}
.contact-blue{width:420px;height:420px;background:var(--blue);left:-180px;top:-170px}
.contact-orange{width:420px;height:420px;background:var(--orange);right:-190px;bottom:-190px}

.footer{padding:30px 0 44px}
.footer-inner{border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:26px;color:#768ba3;font-size:11px}
.footer-brand{font-size:11px;color:#dce8f3}
.footer-brand img{width:34px;height:34px}
.footer p{margin:0}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}

@media (max-width:1050px){
  .hero-grid{grid-template-columns:1fr;gap:20px}
  .hero-copy{text-align:center}
  .hero-copy .eyebrow,.hero-actions,.hero-tags{justify-content:center}
  .hero h1,.hero-text{margin-left:auto;margin-right:auto}
  .hero-visual{margin-top:-20px}
  .logo-stage{max-width:650px}
  .service-grid{grid-template-columns:1fr 1fr}
  .featured-projects{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;gap:55px}
  .about-visual{max-width:650px;margin-inline:auto;width:100%}
}

@media (max-width:760px){
  .shell{width:min(100% - 28px,var(--max))}
  .section-shell{padding:84px 0}
  .site-header{background:rgba(4,7,13,.55);backdrop-filter:blur(12px)}
  .nav-wrap{height:72px}
  .main-nav{position:absolute;top:72px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(6,11,19,.96);backdrop-filter:blur(18px);opacity:0;transform:translateY(-10px);pointer-events:none;transition:.25s var(--ease)}
  .main-nav.open{opacity:1;transform:none;pointer-events:auto}
  .main-nav a{padding:14px;border-radius:10px}
  .main-nav a:hover{background:rgba(255,255,255,.04)}
  .menu-toggle{display:block}
  .brand span{font-size:13px}
  .brand img{width:44px;height:44px}
  .hero{padding-top:120px;min-height:auto}
  .hero h1{font-size:clamp(50px,15vw,72px)}
  .hero-text{font-size:16px}
  .hero-visual{margin-top:0}
  .float-card{display:none}
  .section-heading{grid-template-columns:1fr;gap:18px;align-items:start}
  .section-heading>p{justify-self:start}
  .service-grid,.featured-projects{grid-template-columns:1fr}
  .showcase-visual{height:235px}
  .about-points{grid-template-columns:1fr}
  .contact-panel{padding:76px 18px;border-radius:28px}
  .footer-inner{grid-template-columns:1fr;text-align:center;justify-items:center}
  .cursor-glow{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
