*{box-sizing:border-box}
:root{
  --bg0:#070a12;
  --bg1:#0b1022;
  --card:rgba(255,255,255,.075);
  --card2:rgba(255,255,255,.13);
  --border:rgba(255,255,255,.24);
  --text:#f6f9ff;
  --muted:rgba(246,249,255,.86);
  --muted2:rgba(246,249,255,.72);
  --accent:#67d1ff;
  --accent2:#9d7bff;
  --shadow:0 22px 70px rgba(0,0,0,.42);
  --radius:18px;
  --radius2:14px;
}
html,body{
  height:100%;
  scroll-behavior:smooth;
}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  line-height:1.55;
  color:var(--text);
  background:linear-gradient(180deg, var(--bg0), var(--bg1));
  background-attachment:fixed;
  overflow-x:hidden;
}
.page-video{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  opacity:.72;
  filter:saturate(1.12) contrast(1.05) brightness(.76);
}
.page-bg{
  position:fixed;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.page-bg::before{
  content:"";
  position:absolute;
  inset:-18%;
  background:
    linear-gradient(180deg, rgba(5,8,16,.34), rgba(7,10,18,.54)),
    radial-gradient(760px 520px at 16% 18%, rgba(103,209,255,.15), transparent 62%),
    radial-gradient(680px 520px at 84% 20%, rgba(157,123,255,.13), transparent 60%),
    radial-gradient(780px 560px at 50% 92%, rgba(103,209,255,.12), transparent 66%);
  filter:blur(2px);
  animation:bg-orbit 22s ease-in-out infinite alternate;
}
.page-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(135deg, transparent 0 47%, rgba(103,209,255,.08) 48% 52%, transparent 53% 100%);
  background-size:64px 64px;
  mask-image:radial-gradient(780px 580px at 50% 22%, rgba(0,0,0,.92), transparent 76%);
  opacity:.42;
  animation:bg-grid 18s linear infinite;
}
@keyframes bg-orbit{
  0%{transform:translate3d(-1.5%, -1%, 0) scale(1)}
  50%{transform:translate3d(1.5%, 1%, 0) scale(1.035)}
  100%{transform:translate3d(-.5%, 2%, 0) scale(1.06)}
}
@keyframes bg-grid{
  0%{background-position:0 0,0 0,0 0}
  100%{background-position:64px 64px,64px 64px,128px 128px}
}
@media (prefers-reduced-motion:reduce){
  .page-video{display:none}
  .page-bg::before,.page-bg::after{animation:none}
}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
header{
  padding:34px 0 16px;
  margin-bottom:18px;
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:22px;
  background:
    radial-gradient(220px 90px at 18% 0%, rgba(103,209,255,.22), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.07));
  backdrop-filter:blur(22px) saturate(1.45);
  box-shadow:0 22px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.24);
}
.brand-mark{
  width:64px;height:64px;
  border-radius:18px;
  object-fit:cover;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 14px 42px rgba(0,0,0,.42), 0 0 0 6px rgba(255,255,255,.06);
}
.brand-text{min-width:0}
.brand-title{
  font-size:22px;
  font-weight:800;
  letter-spacing:.1px;
  margin:0;
  color:var(--text);
  line-height:1.1;
}
.brand-subtitle{
  margin:6px 0 0;
  color:var(--muted);
  font-size:14px;
  letter-spacing:.2px;
}
.lang{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 8px;
  border:1px solid var(--border);
  background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
  backdrop-filter:blur(18px) saturate(1.35);
  border-radius:999px;
}
.lang button{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:13px;
  padding:6px 10px;
  border-radius:999px;
  cursor:pointer;
  transition:background .18s ease,color .18s ease;
}
.lang button[aria-pressed="true"]{
  background:rgba(103,209,255,.16);
  color:var(--text);
}
.lang button:hover{background:rgba(255,255,255,.08);color:var(--text)}
.hero{
  padding:34px 0 18px;
}
@property --hero-rotate{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
@property --hero-x{
  syntax:"<length>";
  inherits:false;
  initial-value:0px;
}
@property --hero-y{
  syntax:"<length>";
  inherits:false;
  initial-value:0px;
}
.hero-card{
  --hero-rotate:0deg;
  --hero-x:0px;
  --hero-y:0px;
  border:1px solid rgba(255,255,255,.28);
  background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.055));
  border-radius:var(--radius);
  box-shadow:0 28px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.20);
  padding:28px;
  overflow:hidden;
  position:relative;
  backdrop-filter:blur(24px) saturate(1.45);
  animation: 
    hero-sway 5s ease-in-out infinite,
    hero-drift-x 7.3s ease-in-out infinite,
    hero-drift-y 11.9s ease-in-out infinite;
  transform-origin:50% -100px;
  transform:translate3d(var(--hero-x), var(--hero-y), 0) rotate(var(--hero-rotate));
  will-change:transform;
}
@keyframes hero-sway{
  0%, 68%{--hero-rotate:0deg}
  74%{--hero-rotate:-0.45deg}
  80%{--hero-rotate:0.35deg}
  88%{--hero-rotate:-0.15deg}
  95%{--hero-rotate:0.08deg}
  100%{--hero-rotate:0deg}
}
@keyframes hero-drift-x{
  0%, 100%{--hero-x:0px}
  25%{--hero-x:-3px}
  50%{--hero-x:2px}
  75%{--hero-x:-1px}
}
@keyframes hero-drift-y{
  0%, 100%{--hero-y:0px}
  33%{--hero-y:2px}
  66%{--hero-y:-1px}
}
.hero-card::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0) 35%,
    rgba(255,255,255,0.05) 48%,
    rgba(255,255,255,0.12) 50%,
    rgba(255,255,255,0.05) 52%,
    rgba(255,255,255,0) 65%,
    transparent 100%
  );
  transform:translate3d(-150%, 0, 0) skewX(-25deg);
  animation:katana-flash 5s cubic-bezier(0.65, 0.05, 0.36, 1) infinite;
  will-change:transform,opacity;
  pointer-events:none;
}
@keyframes katana-flash{
  0%, 40%{transform:translate3d(-150%, 0, 0) skewX(-25deg);opacity:0}
  50%{opacity:1}
  100%{transform:translate3d(150%, 0, 0) skewX(-25deg);opacity:1}
}
.hero-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:radial-gradient(600px 220px at 20% 0%, rgba(255,255,255,.20), transparent 58%),
             radial-gradient(520px 220px at 85% 10%, rgba(103,209,255,.16), transparent 60%);
  opacity:.72;
  pointer-events:none;
}
.hero-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center}
.hero h1{
  margin:0 0 12px;
  font-size:42px;
  line-height:1.1;
  letter-spacing:-.8px;
  color:#fff;
  text-shadow:0 2px 24px rgba(0,0,0,.45);
}
.hero p{margin:0;color:var(--muted);font-size:17px;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.btn-icon{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 4px rgba(255,255,255,.2));
}
.hero-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(8,12,24,.76);
  color:var(--text);
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  transition:all .2s ease;
}
.btn:hover{border-color:rgba(103,209,255,.62);background:rgba(24,38,68,.94);box-shadow:0 10px 25px rgba(0,0,0,.3)}
.btn-primary{
  background:linear-gradient(135deg, rgba(103,209,255,.42), rgba(157,123,255,.22));
  border-color:rgba(103,209,255,.58);
}
.btn-primary:hover{border-color:rgba(103,209,255,.75)}
.hero-aside{
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(16px);
  border-radius:var(--radius2);
  padding:22px;
  width:100%;
}
.hero-aside-title{margin:0 0 14px;font-size:13px;color:#fff;letter-spacing:1px;text-transform:uppercase;font-weight:800;opacity:.9}
.hero-kv{display:grid;gap:12px}
.kv{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:8px;
  font-size:14px;
  color:var(--muted);
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.kv:last-child{border-bottom:0;padding-bottom:0}
.kv b{color:#fff;font-weight:700;text-align:right}
main{padding:10px 0 54px}
.section{
  margin-top:18px;
  border:1px solid rgba(255,255,255,.23);
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.045));
  border-radius:var(--radius);
  box-shadow:0 22px 74px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.14);
  overflow:hidden;
  backdrop-filter:blur(22px) saturate(1.42);
}
.section-head{
  padding:18px 22px;
  border-bottom:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.section-title{margin:0;font-size:20px;letter-spacing:.15px;color:#fff}
.section-note{margin:0;color:var(--muted);font-size:13px}
.section-body{padding:18px 22px 22px}
.grid{display:grid;gap:14px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.045));
  border-radius:var(--radius2);
  padding:16px;
  box-shadow:0 14px 36px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(14px) saturate(1.35);
}
.card h3{margin:0 0 8px;font-size:15px;letter-spacing:.2px;color:#fff}
.card p{margin:0;color:var(--muted);font-size:13px}
.service-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.service-icon{
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
}
.service-icon svg{
  width:32px;
  height:32px;
  fill:none;
  stroke:#9fe4ff;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 2px 10px rgba(103,209,255,.3));
}
.projects a{color:inherit}
.project{
  text-decoration:none;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.project-icon{
  width:42px;height:42px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  flex:0 0 auto;
  overflow:hidden;
}
.project-icon img{width:26px;height:26px;object-fit:contain}
.project-meta{min-width:0}
.project-meta h3{margin:0 0 6px;font-size:15px;color:#fff}
.project-meta p{margin:0;color:var(--muted);font-size:13px}
.contact-card{
  padding:12px 0;
  background:none;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.contact-grid{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:64px;
  align-items:start;
}
.contact-info{
  display:grid;
  gap:24px;
}
.contact-group{
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.contact-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  color:var(--accent);
}
.contact-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-group h3{
  margin:0 0 4px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--muted2);
  font-weight:700;
}
.contact-group p{
  margin:0;
  font-size:18px;
  font-weight:600;
}
.contact-group p a{
  color:#fff;
  text-decoration:none;
  transition:color .2s;
}
.contact-group p a:hover{
  color:var(--accent);
}
.contact-sub{
  display:block;
  margin-top:2px;
  font-size:13px;
  color:var(--muted);
  opacity:.7;
}
.contact-message{
  padding-left:44px;
  position:relative;
}
.contact-message::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  bottom:4px;
  width:2px;
  background:linear-gradient(to bottom, var(--accent), var(--accent2));
  border-radius:2px;
  opacity:0.6;
}
.contact-message h3{
  margin:0 0 14px;
  font-size:22px;
  font-weight:800;
  color:#fff;
  letter-spacing:-0.4px;
}
.contact-message p{
  margin:0;
  font-size:16px;
  line-height:1.7;
  color:var(--muted);
}
.contact-item a{color:var(--accent);text-decoration:none}
.contact-item a:hover{text-decoration:underline}
footer{
  padding:34px 0 44px;
  color:var(--text);
}
.footer-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
  backdrop-filter:blur(20px) saturate(1.4);
  box-shadow:0 20px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18);
}
.made-in{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  font-weight:600;
  color:var(--muted);
  flex-wrap:wrap;
  min-width:0;
}
.footer-made-sep{
  margin:0 2px;
  opacity:.42;
  font-weight:500;
  user-select:none;
}
.footer-logo{
  width:24px;
  height:24px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,.1);
}
.footer-flag{
  width:20px;
  height:14px;
  border-radius:2px;
  opacity:.8;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
}
.footer-youtube{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid rgba(255,55,52,.42);
  background:linear-gradient(135deg, rgba(255,55,52,.22), rgba(255,255,255,.06));
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  letter-spacing:.2px;
  color:var(--text);
  box-shadow:0 6px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.12);
  transition:border-color .2s ease, background .2s ease, opacity .2s ease;
  opacity:.88;
}
.footer-youtube:hover{
  border-color:rgba(255,100,96,.72);
  background:linear-gradient(135deg, rgba(255,55,52,.34), rgba(255,255,255,.1));
  opacity:1;
}
.footer-youtube-icon{
  width:18px;
  height:18px;
  fill:#ff3837;
  flex-shrink:0;
}
a.link-minimal.footer-agreement{
  all:unset;
  cursor:pointer;
  font-size:12px;
  color:var(--muted2);
  text-decoration:none;
  transition:color .2s;
  opacity:.7;
}
a.link-minimal.footer-agreement:hover{
  color:var(--text);
  opacity:1;
  text-decoration:underline;
}
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .container{padding:0 16px}
  .hero h1{font-size:32px}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr;gap:24px}
  .section-head{flex-direction:column;align-items:flex-start}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
