:root{
  --navy:#061426;
  --navy-2:#08203c;
  --blue:#0073ff;
  --blue-2:#1f9bff;
  --sky:#79c7ff;
  --line:rgba(121,199,255,.24);
  --text:#f3f8ff;
  --muted:#b8c9dc;
  --card:rgba(7,31,59,.82);
  --white:#ffffff;
  --shadow:0 24px 70px rgba(0,43,96,.36);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Montserrat',Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 5%,rgba(0,115,255,.34),transparent 28%),
    radial-gradient(circle at 88% 15%,rgba(31,155,255,.20),transparent 32%),
    linear-gradient(135deg,#041020 0%,#061a31 42%,#08284c 100%);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{
  position:sticky;top:0;z-index:1000;
  backdrop-filter:blur(18px);
  background:rgba(3,16,32,.82);
  border-bottom:1px solid var(--line);
}
.navbar{
  width:min(1180px,92%);
  margin:auto;
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-logo{
  width:62px;height:62px;
  object-fit:contain;
  border-radius:18px;
  border:1px solid rgba(121,199,255,.35);
  box-shadow:0 0 28px rgba(31,155,255,.25);
  background:#071525;
}
.brand strong{font-size:1.12rem;letter-spacing:.15em;color:#fff;display:block}
.brand small{font-size:.68rem;color:var(--sky);letter-spacing:.05em;display:block;margin-top:3px}
.nav-links{display:flex;align-items:center;gap:26px;font-weight:700;font-size:.92rem;color:#d9ecff}
.nav-links a:not(.nav-cta){position:relative}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--blue-2);transition:.25s}
.nav-links a:hover::after{width:100%}
.nav-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:999px;font-weight:800;letter-spacing:.02em;
  transition:.25s ease;
}
.nav-cta{padding:12px 18px;background:linear-gradient(135deg,var(--blue),var(--blue-2));box-shadow:0 12px 30px rgba(0,115,255,.28)}
.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;cursor:pointer}
.menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:6px auto;border-radius:5px}
.section-pad{padding:95px 0;width:min(1180px,92%);margin:auto}
.hero{
  min-height:calc(100vh - 86px);
  display:grid;
  grid-template-columns:1fr minmax(340px,520px);
  align-items:center;
  gap:50px;
  position:relative;
  isolation:isolate;
}
.blueprint-lines{
  position:absolute;inset:26px -80px;z-index:-1;opacity:.65;
  background-image:
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px),
    linear-gradient(135deg,transparent 47%,rgba(121,199,255,.22) 48%,rgba(121,199,255,.22) 49%,transparent 50%);
  background-size:80px 80px,80px 80px,310px 310px;
  mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%);
}
.eyebrow{
  color:var(--sky);font-weight:900;text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;margin-bottom:16px
}
.hero h1{
  font-size:clamp(3.6rem,9vw,8rem);
  line-height:.85;
  letter-spacing:.12em;
  text-shadow:0 0 40px rgba(31,155,255,.35);
}
.hero h2{
  font-family:'Roboto Slab',serif;
  font-size:clamp(1.7rem,3.3vw,3.4rem);
  line-height:1.06;
  margin:18px 0 24px;
  color:#e8f5ff;
}
.hero-text{font-size:1.08rem;line-height:1.8;color:var(--muted);max-width:710px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{padding:15px 23px;border:1px solid rgba(121,199,255,.34)}
.btn.primary{background:linear-gradient(135deg,#0068ed,#2aa7ff);color:#fff;box-shadow:0 18px 42px rgba(0,115,255,.30)}
.btn.secondary{background:rgba(255,255,255,.04);color:#d9edff}
.btn:hover{transform:translateY(-3px)}
.hero-logo-card{position:relative}
.logo-frame{
  padding:16px;
  background:linear-gradient(145deg,rgba(5,21,40,.80),rgba(5,35,68,.86));
  border:1px solid rgba(121,199,255,.34);
  border-radius:34px;
  box-shadow:var(--shadow),inset 0 0 0 1px rgba(255,255,255,.04);
  overflow:hidden;
}
.logo-frame::before,.logo-frame::after{content:"";position:absolute;background:var(--sky);opacity:.7}
.logo-frame::before{width:1px;height:72%;right:26px;top:14%}
.logo-frame::after{height:1px;width:68%;left:16%;bottom:28px}
.logo-frame img{
  width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:24px;background:#061426;
}
.section-title{max-width:780px;margin-bottom:38px}.section-title.centered{text-align:center;margin-left:auto;margin-right:auto}
.section-title h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;color:#fff}.section-copy{margin-top:16px;color:var(--muted);line-height:1.7}
.intro-grid,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.intro-card,.service-card,.contact-card,.work-panel{
  background:linear-gradient(145deg,rgba(7,31,59,.88),rgba(4,22,42,.92));
  border:1px solid var(--line);
  box-shadow:0 20px 50px rgba(0,20,50,.28);
  position:relative;overflow:hidden;
}
.intro-card::before,.service-card::before,.work-panel::before,.contact-card::before{
  content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(31,155,255,.16),transparent 40%);pointer-events:none
}
.intro-card{border-radius:30px;padding:34px}.icon{font-size:2.3rem;color:var(--blue-2);display:block;margin-bottom:22px}.intro-card h3,.service-card h3{font-size:1.35rem;margin-bottom:12px;color:#fff}.intro-card p,.service-card p,.work-panel p,.contact-card p{color:var(--muted);line-height:1.75}
.architecture-band{width:min(1180px,92%);margin:10px auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:28px;padding:30px 0}
.arch-line{height:1px;background:linear-gradient(90deg,transparent,var(--sky),transparent)}
.arch-model{height:110px;width:270px;position:relative;border-bottom:2px solid var(--sky)}
.arch-model span{position:absolute;bottom:0;border:2px solid rgba(121,199,255,.75);box-shadow:0 0 24px rgba(31,155,255,.18)}
.arch-model span:nth-child(1){left:20px;width:70px;height:58px;transform:skewY(-18deg)}
.arch-model span:nth-child(2){left:78px;width:62px;height:92px;background:rgba(0,115,255,.18)}
.arch-model span:nth-child(3){left:130px;width:80px;height:72px;transform:skewY(15deg)}
.arch-model span:nth-child(4){right:16px;width:44px;height:45px;background:rgba(31,155,255,.18)}
.services{position:relative}.service-grid{grid-template-columns:repeat(3,1fr)}
.service-card{padding:30px;border-radius:26px;min-height:205px}.service-card span{display:inline-flex;width:48px;height:48px;border-radius:16px;align-items:center;justify-content:center;background:rgba(31,155,255,.16);border:1px solid var(--line);color:var(--sky);font-weight:900;margin-bottom:22px}.service-card:hover{transform:translateY(-5px);border-color:rgba(121,199,255,.52);transition:.25s}
.work-panel{display:grid;grid-template-columns:1.25fr .75fr;gap:38px;padding:50px;border-radius:36px}.work-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.work-list div{border:1px solid var(--line);border-radius:22px;padding:20px;background:rgba(255,255,255,.035)}.work-list strong{display:block;color:var(--sky);font-size:1.4rem;margin-bottom:8px}.work-list span{font-weight:800;color:#fff}
.contact{text-align:center}.contact-card{border-radius:36px;padding:56px;max-width:880px;margin:auto}.contact-card h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;margin-bottom:18px}.contact-details{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:26px 0}.contact-details a,.contact-details span{padding:13px 17px;border-radius:999px;background:rgba(31,155,255,.13);border:1px solid var(--line);font-weight:800}.btn.big{font-size:1.05rem;padding:17px 28px}
.float-wa{position:fixed;right:22px;bottom:22px;z-index:900;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0073ff,#27a8ff);color:#fff;font-weight:900;box-shadow:0 18px 45px rgba(0,115,255,.35)}
footer{border-top:1px solid var(--line);background:#031020;text-align:center;padding:30px 16px;display:grid;gap:6px;color:var(--muted)}footer strong{color:#fff;letter-spacing:.16em}.reveal{opacity:0;transform:translateY(26px);transition:.75s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.28s}
@media(max-width:900px){.menu-toggle{display:block}.nav-links{position:absolute;left:4%;right:4%;top:88px;display:none;flex-direction:column;align-items:stretch;background:rgba(3,16,32,.98);padding:22px;border:1px solid var(--line);border-radius:24px}.nav-links.open{display:flex}.hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.hero-logo-card{max-width:560px;margin:auto}.intro-grid,.service-grid,.work-panel{grid-template-columns:1fr}.work-list{grid-template-columns:1fr}.architecture-band{grid-template-columns:1fr;justify-items:center}.arch-line{width:100%}.brand small{display:none}}
@media(max-width:560px){.navbar{min-height:78px}.brand-logo{width:50px;height:50px}.hero h1{font-size:3.4rem}.section-pad{padding:68px 0}.hero-actions,.contact-details{flex-direction:column}.btn{width:100%}.contact-card,.work-panel{padding:32px 22px;border-radius:28px}.intro-card,.service-card{padding:26px}.float-wa{width:56px;height:56px}.arch-model{transform:scale(.86)}}
