:root{
  --bg:#031021;
  --bg2:#04162d;
  --line:#d9dfeb;
  --light:#f3f4f7;
  --text:#ffffff;
  --text2:#0e1730;
  --muted:#5f6d86;
  --orange:#B34D00;
  --orange-dark:#ff6900;
  --orange-2:#ff8f2a;
  --orange-soft:#fff1e8;
  --blue:#0d3a86;
  --blue-soft:#edf3ff;
  --shadow:0 22px 56px rgba(9,22,47,.08);
  --radius:18px;
  --red:#ed1734;
  --red-soft:#ffecef;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:#02101f;
}
img{display:block;max-width:100%;height:auto}
.container{width:min(100%,1270px);margin:0 auto;padding:0 36px}

.hero{
  min-height:540px;
  background:
    radial-gradient(circle at 77% 44%, rgba(255,120,20,.18), transparent 17%),
    radial-gradient(circle at 86% 42%, rgba(255,120,20,.12), transparent 13%),
    linear-gradient(180deg, #031124 0%, #02111f 100%);
  padding-bottom: 15px;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  right:70px;
  top:58px;
  width:380px;
  height:340px;
  background-image:radial-gradient(rgba(30,92,186,.45) 1px, transparent 1px);
  background-size:13px 13px;
  opacity:.35;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  left:0;right:0;top:84px;
  height:1px;
  background:rgba(255,255,255,.1);
}
.topbar{
  position:relative;
  z-index:2;
}
.nav-row{
  height:84px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:28px;
}
.brand img{width:242px}
.nav-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.menu-toggle{
  display:none;
}
.nav-panel{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:28px;
}
.nav-actions{
  display:flex;
  align-items:center;
  gap:16px;
}
.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
}
.lang-switch a{
  color:rgba(255,255,255,.72);
  text-decoration:none;
}
.lang-switch a.active{
  color:#fff;
}
.nav{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
.nav a{
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:600;
  padding:10px 8px;
  position:relative;
  transition:color .2s ease, transform .2s ease;
}
.nav a::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:3px;
  height:2px;
  background:#ff7a15;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s ease;
}
.nav a:hover{
  color:#ffb06b;
  transform:translateY(-1px);
}
.nav a:hover::after,
.nav a:focus-visible::after{
  transform:scaleX(1);
}
.nav a.active{
  color:#ff9d42;
  border-bottom:3px solid #ff7a15;
}
.contact-btn{
  color:#fff;
  text-decoration:none;
  font-weight:700;
  background:linear-gradient(180deg, #ff912d 0%, #ff740c 100%);
  border-radius:8px;
  padding:14px 18px;
  box-shadow:0 8px 20px rgba(255,106,0,.24);
  white-space:nowrap;
}

.hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1.02fr .98fr;
  align-items:center;
  gap:10px;
  padding-top:36px;
}
.hero:not(.inner-hero) .eyebrow,
.hero:not(.inner-hero) h1,
.hero:not(.inner-hero) .lead,
.hero:not(.inner-hero) .actions,
.hero:not(.inner-hero) .stats,
.hero:not(.inner-hero) .visual-wrap{
  opacity:0;
  animation-duration:.7s;
  animation-timing-function:cubic-bezier(.22,1,.36,1);
  animation-fill-mode:forwards;
}
.hero:not(.inner-hero) .eyebrow{animation-name:heroReveal;animation-delay:.08s}
.hero:not(.inner-hero) h1{animation-name:heroReveal;animation-delay:.16s}
.hero:not(.inner-hero) .lead{animation-name:heroReveal;animation-delay:.28s}
.hero:not(.inner-hero) .actions{animation-name:heroReveal;animation-delay:.4s}
.hero:not(.inner-hero) .stats{animation-name:heroReveal;animation-delay:.52s}
.hero:not(.inner-hero) .visual-wrap{animation-name:heroVisualReveal;animation-delay:.24s}
.content{
  padding-top:6px;
  max-width:590px;
}
.eyebrow{
  margin:0 0 18px;
  color:#ff8a2d;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
}
h1{
  margin:0 0 18px;
  font-size:68px;
  line-height:1.06;
  font-weight:800;
  letter-spacing:-.03em;
}
h1 span{color:var(--orange-dark)}
.lead{
  margin:0 0 22px;
  max-width:560px;
  color:var(--muted);
  font-size:17px;
  line-height:1.65;
}
.actions{
  display:flex;
  gap:14px;
  margin-bottom:34px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:54px;
  padding:0 22px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  font-size:15px;
}
.btn-primary{
  color:#fff;
  background:linear-gradient(180deg,#ff942c,#ff6d08);
  box-shadow:0 12px 24px rgba(255,106,0,.2);
}
.btn-secondary{
  color:#fff;
  border:1px solid #ff7a15;
  background:rgba(6,18,37,.65);
}
.stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  max-width:720px;
}
.stat{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:54px;
  padding-left: 12px;
  padding-right:20px;
  border-right:1px solid rgba(255,255,255,.18);
}
.stat-last{border-right:none}
.stat img{
  width:39px;
  height:39px;
  object-fit:contain;
}
.stat strong{
  display:block;
  font-size:16px;
  line-height:1.2;
  font-weight:800;
  margin-bottom:2px;
}
.stat span{
  display:block;
  font-size:12px;
  color:#d6dfec;
  line-height:1.3;
  max-width:126px;
}
.visual-wrap{
  position:relative;
  height:420px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  isolation:isolate;
}
.visual-wrap::before{
  content:"";
  position:absolute;
  right:38px;
  bottom:36px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,143,42,.28) 0%, rgba(255,143,42,.12) 42%, rgba(255,143,42,0) 72%);
  filter:blur(10px);
  opacity:.9;
  animation:heroPulse 6s ease-in-out infinite;
}
.visual{
  position:relative;
  z-index:2;
  width:443px;
  max-width:100%;
  margin-right:8px;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.25));
  transform-origin:center bottom;
  animation:heroFloat 5.6s ease-in-out infinite;
}
.spark{
  position:absolute;
  inset:auto;
  border-radius:50%;
  filter:blur(22px);
  animation:heroDrift 7s ease-in-out infinite;
}
.spark-1{
  right:80px;
  bottom:90px;
  width:150px;
  height:150px;
  background:rgba(255,120,20,.18);
  animation-delay:-1.5s;
}
.spark-2{
  right:0;
  bottom:60px;
  width:180px;
  height:180px;
  background:rgba(255,120,20,.14);
  animation-duration:8.5s;
}
@keyframes heroFloat{
  0%,100%{
    transform:translate3d(0, 0, 0) rotate(0deg);
  }
  50%{
    transform:translate3d(0, -14px, 0) rotate(-1deg);
  }
}
@keyframes heroPulse{
  0%,100%{
    transform:scale(1);
    opacity:.72;
  }
  50%{
    transform:scale(1.08);
    opacity:1;
  }
}
@keyframes heroDrift{
  0%,100%{
    transform:translate3d(0, 0, 0) scale(1);
    opacity:.65;
  }
  50%{
    transform:translate3d(-10px, -16px, 0) scale(1.08);
    opacity:1;
  }
}
@keyframes heroReveal{
  from{
    opacity:0;
    transform:translate3d(0, 20px, 0);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}
@keyframes heroVisualReveal{
  from{
    opacity:0;
    transform:translate3d(24px, 18px, 0) scale(.96);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce){
  .hero:not(.inner-hero) .eyebrow,
  .hero:not(.inner-hero) h1,
  .hero:not(.inner-hero) .lead,
  .hero:not(.inner-hero) .actions,
  .hero:not(.inner-hero) .stats,
  .visual-wrap::before,
  .visual,
  .spark,
  .hero:not(.inner-hero) .visual-wrap{
    opacity:1;
    animation:none;
  }
  .nav a,
  .nav a::after{
    transition:none;
  }
}
.reference{
  padding:18px 0 28px;
}
.reference details{
  color:#fff;
}
.reference summary{
  cursor:pointer;
  font-weight:700;
  margin-bottom:12px;
}

.section{
  padding:64px 0;
  background: var(--light);
}
.portfolio-section{
  padding-top:12px;
}
.page-band{
  background:#eef3fa;
}
.section .eyebrow.dark{color:var(--orange)}
.section h2, .contact-panel h2{
  margin:0 0 28px;
  font-size:36px;line-height:1.15;color:#101a33
}
.section-lead{
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.cards-4,.cards-3{
  display:grid;gap:22px
}
.cards-4{grid-template-columns:repeat(4,1fr)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.card{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)
}
.service-icon{
  width:64px;height:64px;border-radius:18px;display:grid;place-items:center;
  font-size:24px;font-weight:800;margin-bottom:18px
}
.icon-magento{background:var(--orange-soft);color:var(--orange)}
.icon-hyva{background:var(--blue-soft);color:#143ab8}
.icon-adobe{background:var(--red-soft);color:var(--red)}
.icon-php{background:var(--blue-soft);color:var(--blue)}
.card h3{margin:0 0 10px;font-size:18px;line-height:1.3;color: var(--text2);}
.card p{margin:0 0 18px;color:var(--muted);font-size:15px}
.card a{color:var(--orange);font-size:15px;font-weight:700;text-decoration:none}

.portfolio-head{
  display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px
}
.project{
  background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)
}
.project-thumb{
  aspect-ratio: 270 / 127;
  background:#e9edf3;
  overflow:hidden
}
.project-thumb img{width:100%;height:100%;object-fit:cover}
.project-body{padding:16px 16px 18px}
.project h3{margin:0 0 8px;font-size:18px;color: var(--text2);}
.project p{margin:0 0 14px;color:var(--muted);font-size:15px}
.project a{color:var(--orange);font-weight:700;text-decoration:none}
.inner-hero{
  min-height:auto;
  padding-bottom:52px;
}
.inner-hero-simple{
  padding-bottom:28px;
}
.inner-hero-simple::before,
.inner-hero-simple::after{
  display:none;
}
.inner-hero-grid{
  align-items:center;
  padding-top:24px;
}
.simple-header{
  padding-top:28px;
  padding-bottom:12px;
}
.simple-header h1{
  max-width:980px;
  font-size:52px;
  line-height:1.12;
  margin-bottom:0;
}
.text-section{
  padding-top:48px;
}
.text-content{
  max-width:860px;
}
.text-content h2,
.text-content h3{
  color:var(--text2);
  letter-spacing:-.02em;
}
.text-content h2{
  margin:0 0 16px;
  font-size:34px;
  line-height:1.2;
}
.text-content h3{
  margin:34px 0 14px;
  font-size:24px;
  line-height:1.3;
}
.text-content p{
  margin:0 0 20px;
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}
.certificate-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:4px 0 24px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow);
}
.certificate-badge img{
  width:140px;
  max-width:100%;
  height:auto;
}
.process-card{
  min-height:100%;
}
.step-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  height:32px;
  margin-bottom:16px;
  padding:0 12px;
  border-radius:999px;
  background:var(--orange-soft);
  color:var(--orange);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
}
.split-section{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:40px;
  align-items:start;
}
.split-copy h2{
  max-width:520px;
}
.feature-list{
  display:grid;
  gap:18px;
}
.feature-item{
  padding:24px 26px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--shadow);
}
.feature-item h3{
  margin:0 0 10px;
  color:var(--text2);
  font-size:20px;
}
.feature-item p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}

.contact-panel{
  background: var(--light);
  padding:28px 0 36px;
}
.contact-card{
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
  background:transparent;border-top:1px solid #d6dce7;padding-top:22px
}
.contact-left{
  display:flex;gap:20px;align-items:center
}
.contact-left img{width:92px;height:92px;border-radius:50%;object-fit:cover;box-shadow:0 10px 24px rgba(255,122,18,.18)}
.contact-card h2{margin:0 0 8px;font-size:24px}
.contact-card p{margin:0;color:var(--muted);font-size:16px}
.mail-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:330px;min-height:64px;padding:0 24px;border-radius:10px;
  background: linear-gradient(180deg, #ff912d 0%, #ff740c 100%);
  color:#fff;
  text-decoration:none;font-size:18px;font-weight:800;box-shadow:0 10px 24px rgba(255,122,18,.22)
}
.footer{
  background: var(--light);
  padding:18px 0 30px;
}
.footer-top{
  display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:28px;align-items:start
}
.footer-logo{width:215px;margin-bottom:10px}
.footer p,.footer a,.footer li,.footer span{
  color:var(--muted);font-size:14px;text-decoration:none
}
.footer h3{margin:0 0 12px;font-size:14px;color:#101a33;text-transform:uppercase;letter-spacing:.04em;color: var(--text2);}
.footer-links{display:grid;gap:8px}
.socials{display:flex;gap:14px;margin-top:12px}
.socials span{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  border:1px solid #cfd7e5;color:#0f1b35;font-weight:700
}
.footer-bottom{
  border-top:1px solid #d6dce7;margin-top:18px;padding-top:14px;text-align:center
}

@media (max-width: 1100px){
  .hero{min-height:auto}
  .hero::before{
    right:24px;
    top:108px;
    width:280px;
    height:240px;
  }
  .nav-row{grid-template-columns:1fr;justify-items:start;height:auto;padding:18px 0}
  .nav-panel{
    grid-template-columns:1fr;
    width:100%;
    gap:18px;
  }
  .nav-actions{
    width:100%;
    justify-content:space-between;
  }
  .nav{justify-content:flex-start}
  .hero-grid{grid-template-columns:1fr;padding-bottom:30px}
  .content{max-width:none}
  .stats{grid-template-columns:repeat(2,1fr);gap:16px}
  .stat{border-right:none}
  .visual-wrap{justify-content:center;height:auto}
  .visual{margin-right:0;margin-top:12px}
  .cards-4{grid-template-columns:repeat(2,1fr)}
  .cards-3{grid-template-columns:repeat(2,1fr)}
  .split-section{grid-template-columns:1fr}
  .contact-card{grid-template-columns:1fr}
  .mail-btn{min-width:0;width:100%}
  .footer-top{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 900px){
  .container{padding:0 24px}
  h1{font-size:56px}
  .lead{font-size:16px}
  .simple-header h1{font-size:44px}
  .text-content h2{font-size:30px}
  .text-content h3{font-size:22px}
  .contact-left{
    align-items:flex-start;
  }
}
@media (max-width: 700px){
  body{
    padding-top:8px;
  }
  .container{padding:0 20px}
  .brand img{width:210px}
  .hero::before,
  .hero::after,
  .spark{display:none}
  .nav-row{
    grid-template-columns:1fr auto;
    align-items:center;
    gap:16px;
    justify-items:stretch;
  }
  .menu-toggle{
    width:48px;
    height:48px;
    display:grid;
    align-content:center;
    gap:5px;
    justify-items:center;
    border:1px solid rgba(255,255,255,.14);
    border-radius:10px;
    background:rgba(6,18,37,.72);
    box-shadow:0 10px 24px rgba(0,0,0,.16);
    cursor:pointer;
  }
  .menu-toggle span{
    width:20px;
    height:2px;
    background:#fff;
    border-radius:999px;
    transition:transform .2s ease, opacity .2s ease;
  }
  .nav-panel{
    display:none;
    grid-column:1 / -1;
    margin-top:4px;
    padding:14px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:16px;
    background:rgba(4,17,31,.96);
    box-shadow:0 16px 32px rgba(0,0,0,.24);
    gap:14px;
  }
  .nav-actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .lang-switch{
    justify-content:center;
  }
  .nav-toggle:checked + .menu-toggle + .nav-panel{
    display:grid;
  }
  .nav-toggle:checked + .menu-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .nav-toggle:checked + .menu-toggle span:nth-child(2){
    opacity:0;
  }
  .nav-toggle:checked + .menu-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .nav{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    width:100%;
  }
  .nav a{
    padding:12px 0;
  }
  .nav a::after{
    left:0;
    right:auto;
    bottom:8px;
    width:24px;
  }
  .nav a.active{
    border-bottom:none;
    border-left:3px solid #ff7a15;
    padding-left:12px;
  }
  .contact-btn{
    width:100%;
    text-align:center;
  }
  .nav-contact{
    min-height:52px;
  }
  .hero-grid{
    gap:24px;
    padding-top:24px;
  }
  h1{
    font-size:44px;
    line-height:1.1;
  }
  .simple-header{
    padding-top:22px;
  }
  .simple-header h1{
    font-size:36px;
  }
  .lead{
    margin-bottom:18px;
    line-height:1.6;
  }
  .actions{
    flex-direction:column;
    align-items:stretch;
    margin-bottom:24px;
  }
  .btn{
    width:100%;
  }
  .stats{grid-template-columns:1fr}
  .stat{
    padding:0;
  }
  .visual{
    width:min(100%,360px);
  }
  .section{
    padding:48px 0;
  }
  .section h2,
  .contact-panel h2{
    font-size:30px;
    margin-bottom:20px;
  }
  .text-content h2{
    font-size:28px;
  }
  .text-content h3{
    font-size:21px;
    margin-top:28px;
  }
  .text-content p{
    font-size:16px;
    line-height:1.7;
  }
  .certificate-badge{
    padding:12px;
  }
  .certificate-badge img{
    width:120px;
  }
  .section-lead{
    font-size:16px;
  }
  .cards-4,
  .cards-3,
  .footer-top{
    grid-template-columns:1fr;
  }
  .feature-item{
    padding:22px;
  }
  .card{
    padding:24px;
  }
  .portfolio-head{
    align-items:flex-start;
    margin-bottom:20px;
  }
  .contact-left{
    flex-direction:column;
    gap:16px;
  }
  .contact-left img{
    width:72px;
    height:72px;
  }
  .contact-card h2{
    font-size:22px;
  }
  .contact-card p{
    font-size:15px;
    line-height:1.6;
  }
  .mail-btn{
    min-height:56px;
    padding:16px 20px;
    font-size:16px;
    overflow-wrap:anywhere;
  }
  .footer{
    padding-bottom:24px;
  }
  .footer-top{
    gap:22px;
  }
  .footer-bottom{
    text-align:left;
  }
}
@media (max-width: 420px){
  .container{padding:0 16px}
  .brand img{width:190px}
  h1{font-size:36px}
  .simple-header h1{font-size:31px}
  .eyebrow{
    font-size:12px;
    letter-spacing:.12em;
  }
  .section h2,
  .contact-panel h2{
    font-size:26px;
  }
}
