/* =========================
   SG WEBCRAFT FINAL CSS
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Inter',sans-serif;
background:#fff;
color:#111;
overflow-x:hidden;
}

a{
text-decoration:none;
}

img{
max-width:100%;
display:block;
}

::selection{
background:#e30613;
color:#fff;
}

/* =========================
   HEADER
========================= */

.header{
height:110px;
padding:0 64px;
display:flex;
align-items:center;
justify-content:space-between;
position:sticky;
top:0;
z-index:1000;
background:rgba(255,255,255,.96);
backdrop-filter:blur(14px);
border-bottom:1px solid rgba(0,0,0,.06);
box-shadow:0 4px 18px rgba(0,0,0,.03);
}

.logo{
display:flex;
align-items:center;
}

.main-logo{
height:150px !important;
width:auto !important;
max-width:none !important;
display:block;
object-fit:contain;
}

.nav{
display:flex;
align-items:center;
gap:34px;
}

.nav a{
font-size:15px;
font-weight:700;
color:#111;
position:relative;
transition:.25s;
}

.nav a::after{
content:"";
position:absolute;
left:0;
bottom:-10px;
width:0;
height:3px;
background:#e30613;
border-radius:999px;
transition:.25s;
}

.nav a:hover::after,
.nav a.active::after{
width:100%;
}

.top-btn{
height:54px;
padding:0 28px;
border-radius:12px;
background:linear-gradient(135deg,#b9000b,#e30613);
display:flex;
align-items:center;
justify-content:center;
font-size:15px;
font-weight:800;
color:#fff;
box-shadow:0 14px 28px rgba(227,6,19,.24);
transition:.25s;
}

.top-btn:hover{
transform:translateY(-3px);
}

/* =========================
   HERO
========================= */

.hero{
min-height:700px;
padding:80px 64px;
display:grid;
grid-template-columns:47% 53%;
gap:20px;
align-items:center;
background:
linear-gradient(120deg,#fff 0%,#fff 55%,#f4f4f4 55%,#f4f4f4 100%);
position:relative;
overflow:hidden;
}

.hero::after{
content:"";
position:absolute;
right:-140px;
top:0;
width:480px;
height:100%;
background:
linear-gradient(
135deg,
transparent 20%,
rgba(227,6,19,.10),
rgba(227,6,19,.28)
);
transform:skewX(-22deg);
}

.hero-text{
position:relative;
z-index:2;
animation:fadeLeft .7s ease;
}

.hero-text span{
font-size:14px;
font-weight:900;
color:#c9000b;
letter-spacing:1px;
}

.hero-text h1{
font-size:68px;
line-height:1.05;
letter-spacing:-2px;
margin-top:22px;
font-weight:900;
}

.hero-text h1 strong{
color:#e30613;
}

.hero-text p{
margin-top:28px;
font-size:19px;
line-height:1.8;
color:#555;
max-width:620px;
}

.hero-buttons{
display:flex;
gap:16px;
margin-top:38px;
}

.primary,
.secondary{
height:58px;
padding:0 32px;
border-radius:12px;
display:flex;
align-items:center;
justify-content:center;
font-size:15px;
font-weight:800;
transition:.25s;
}

.primary{
background:linear-gradient(135deg,#b9000b,#e30613);
color:#fff;
box-shadow:0 12px 26px rgba(227,6,19,.24);
}

.primary:hover{
transform:translateY(-3px);
}

.secondary{
background:#fff;
border:1px solid #ddd;
color:#111;
}

.hero-features{
display:flex;
gap:42px;
margin-top:50px;
}

.hero-features div{
display:flex;
flex-direction:column;
gap:5px;
}

.hero-features b{
font-size:15px;
}

.hero-features small{
font-size:13px;
color:#666;
}

/* =========================
   HERO VISUAL
========================= */

.hero-visual{
position:relative;
display:flex;
justify-content:flex-end;
padding-right:40px;
z-index:2;
animation:fadeRight .7s ease;
}

.laptop{
width:620px;
height:390px;
background:#111;
border-radius:24px;
padding:14px;
box-shadow:0 30px 70px rgba(0,0,0,.22);
}

.screen{
width:100%;
height:100%;
border-radius:16px;
padding:36px;
display:flex;
flex-direction:column;
justify-content:center;
background:
linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.42)),
url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=1400&q=80');
background-size:cover;
background-position:center;
color:#fff;
}

.screen-logo img{
width:150px;
margin-bottom:26px;
}

.screen h2{
font-size:42px;
line-height:1.08;
font-weight:900;
}

.screen h2 span{
color:#e30613;
}

.screen p{
margin-top:16px;
font-size:16px;
color:#ddd;
}

.screen button{
margin-top:26px;
width:150px;
height:46px;
border:0;
border-radius:10px;
background:#e30613;
color:#fff;
font-size:14px;
font-weight:800;
cursor:pointer;
}

.phone{
position:absolute;
right:0;
bottom:-8px;
width:200px;
background:#111;
border-radius:28px;
padding:24px;
color:#fff;
box-shadow:0 24px 50px rgba(0,0,0,.25);
}

.phone-top{
font-size:12px;
font-weight:900;
margin-bottom:42px;
}

.phone h3{
font-size:30px;
line-height:1.05;
font-weight:900;
}

.phone h3 span{
color:#e30613;
}

.phone p{
margin-top:14px;
font-size:13px;
color:#bbb;
line-height:1.6;
}

.phone button{
margin-top:24px;
width:100%;
height:42px;
border:0;
border-radius:10px;
background:#e30613;
color:#fff;
font-size:13px;
font-weight:800;
cursor:pointer;
}

/* =========================
   SERVICES
========================= */

.services{
padding:100px 64px;
}

.section-title{
text-align:center;
margin-bottom:54px;
}

.section-title span{
font-size:14px;
font-weight:900;
color:#e30613;
}

.section-title h2{
font-size:44px;
margin-top:10px;
font-weight:900;
letter-spacing:-1px;
}

.service-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:24px;
max-width:1200px;
margin:0 auto;
}

.service-grid article{
background:#fff;
border:1px solid #eee;
border-radius:18px;
padding:38px 28px;
text-align:center;
transition:.3s;
}

.service-grid article:hover{
transform:translateY(-10px);
box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.service-grid i{
font-size:48px;
display:block;
margin-bottom:18px;
color:#e30613;
}

.service-grid h3{
font-size:22px;
margin-bottom:14px;
}

.service-grid p{
font-size:15px;
line-height:1.7;
color:#666;
}

/* =========================
   STEPS
========================= */

.steps{
padding:100px 64px;
background:#fafafa;
}

.step-row{
display:flex;
justify-content:center;
align-items:center;
gap:26px;
}

.step{
width:300px;
background:#fff;
padding:38px 28px;
border-radius:24px;
text-align:center;
position:relative;
box-shadow:0 14px 35px rgba(0,0,0,.05);
transition:.3s;
}

.step:hover{
transform:translateY(-10px);
}

.step b{
position:absolute;
top:-16px;
left:50%;
transform:translateX(-50%);
width:40px;
height:40px;
border-radius:50%;
background:#e30613;
color:#fff;
display:grid;
place-items:center;
font-size:18px;
}

.step i{
font-size:46px;
display:block;
margin-bottom:18px;
}

.step h3{
font-size:24px;
margin-bottom:12px;
}

.step p{
font-size:14px;
line-height:1.7;
color:#666;
}

.arrow{
font-size:46px;
font-weight:900;
color:#999;
}


/* =========================
   PRICING
========================= */

.pricing{
padding:100px 64px;
background:
linear-gradient(135deg,#8d0000,#d50000 55%,#980000);
}

.white span,
.white h2{
color:#fff;
}

.price-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:26px;
max-width:1150px;
margin:0 auto;
}

.price-grid article{
background:#fff;
border-radius:20px;
padding:38px;
position:relative;
transition:.3s;
}

.price-grid article:hover{
transform:translateY(-10px);
}

.popular{
transform:scale(1.04);
border:3px solid #fff;
}

.popular em{
position:absolute;
top:-14px;
left:50%;
transform:translateX(-50%);
background:#111;
color:#fff;
padding:8px 18px;
border-radius:999px;
font-size:12px;
font-style:normal;
font-weight:800;
}

.price-grid h3{
font-size:28px;
margin-bottom:16px;
}

.price-grid p{
font-size:18px;
margin-bottom:26px;
}

.price-grid strong{
font-size:54px;
color:#e30613;
}

.price-grid ul{
list-style:none;
display:grid;
gap:16px;
margin-bottom:34px;
}

.price-grid li{
font-size:15px;
font-weight:600;
}

.price-grid button{
width:100%;
height:56px;
border:0;
border-radius:12px;
background:#e30613;
color:#fff;
font-size:15px;
font-weight:900;
cursor:pointer;
}

/* =========================
   CTA
========================= */

.cta-box{
margin:50px auto 0;
max-width:1150px;
background:#fff;
border-radius:20px;
padding:30px 36px;
display:flex;
justify-content:space-between;
align-items:center;
}

.cta-box b{
font-size:30px;
display:block;
margin-bottom:6px;
}

.cta-box small{
font-size:15px;
color:#666;
}

.cta-box a{
height:56px;
padding:0 28px;
border-radius:12px;
background:#25d366;
display:flex;
align-items:center;
color:#fff;
font-size:15px;
font-weight:900;
}

/* =========================
   FOOTER FINAL
========================= */

.footer{
  background:#050510;
  color:#fff;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:50px;
  padding:55px 64px;
  align-items:center;
}

.footer > div{
  min-width:0;
}

.footer-logo{
  width:220px !important;
  max-width:none !important;
  height:auto !important;
  display:block;
  margin-bottom:18px;
}

.footer h4{
  font-size:20px;
  margin-bottom:16px;
  font-weight:800;
}

.footer p,
.footer a{
  display:block;
  color:#d5d5d5;
  text-decoration:none;
  margin-bottom:10px;
  line-height:1.6;
  font-size:15px;
}

.footer a:hover{
  color:#fff;
}

/* =========================
   MOBILE FINAL CLEAN
========================= */

@media screen and (max-width:900px){

  html,
  body{
    width:100%;
    overflow-x:hidden !important;
  }

  .header{
    height:auto !important;
    padding:14px 18px !important;
    flex-direction:column !important;
    gap:14px !important;
  }

  .main-logo{
    height:80px !important;
  }

  .nav{
    width:100%;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:14px 20px !important;
  }

  .nav a{
    font-size:14px !important;
  }

  .top-btn{
    width:100%;
    height:48px !important;
  }

  .hero{
    display:flex !important;
    flex-direction:column !important;
    padding:45px 18px !important;
    text-align:center !important;
    min-height:auto !important;
  }

  .hero-text h1{
    font-size:34px !important;
    line-height:1.15 !important;
  }

  .hero-text p{
    font-size:15px !important;
    line-height:1.6 !important;
  }

  .hero-buttons{
    flex-direction:column !important;
    width:100% !important;
  }

  .primary,
  .secondary{
    width:100% !important;
  }

  .hero-visual{
    width:100% !important;
    padding:0 !important;
  }

  .laptop{
    width:100% !important;
    height:260px !important;
  }

  .phone{
    display:none !important;
  }

  .services,
  .steps,
  .pricing{
    padding:60px 20px !important;
  }

  .service-grid,
  .price-grid{
    grid-template-columns:1fr !important;
  }

  .step-row{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:8px !important;
    width:100% !important;
  }

  .step{
    width:100% !important;
    min-width:0 !important;
    padding:22px 7px !important;
    border-radius:18px !important;
  }

  .step b{
    width:34px !important;
    height:34px !important;
    font-size:15px !important;
    top:-12px !important;
  }

  .step i{
    font-size:26px !important;
    margin-bottom:8px !important;
  }

  .step h3{
    font-size:15px !important;
    line-height:1.15 !important;
  }

  .step p{
    font-size:11px !important;
    line-height:1.35 !important;
  }

  .arrow{
    display:none !important;
  }

  .cta-box{
    flex-direction:column !important;
    text-align:center !important;
    padding:24px !important;
  }

  .cta-box a{
    width:100% !important;
  }

  .footer{
    display:grid !important;
    grid-template-columns:0.7fr 1fr 1fr 1fr !important;
    gap:10px !important;
    padding:24px 10px 80px !important;
    align-items:start !important;
    overflow:hidden !important;
  }

  .footer-logo{
    width:68px !important;
    margin-bottom:8px !important;
  }

  .footer h4{
    font-size:11px !important;
    margin-bottom:6px !important;
  }

  .footer a,
  .footer p{
    font-size:9px !important;
    line-height:1.35 !important;
    margin-bottom:4px !important;
    word-break:break-word !important;
  }
}

/* INTRO ELEVATOR ANIMATION */

.intro-overlay{
  position:fixed;
  inset:0;
  z-index:999999;
  background:#050510;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  cursor:pointer;
}

.intro-door{
  position:absolute;
  top:0;
  width:50%;
  height:100%;
  background:
  linear-gradient(180deg,#111,#050510);
  z-index:2;
  transition:1.3s ease;
}

.intro-left{
  left:0;
  border-right:1px solid rgba(227,6,19,.45);
  box-shadow:inset -20px 0 40px rgba(227,6,19,.18);
}

.intro-right{
  right:0;
  border-left:1px solid rgba(227,6,19,.45);
  box-shadow:inset 20px 0 40px rgba(227,6,19,.18);
}

.intro-content{
  position:relative;
  z-index:5;
  text-align:center;
  transition:.6s ease;
}

.intro-content img{
  width:360px;
  max-width:80vw;
  margin:auto;
}

.intro-content p{
  margin-top:28px;
  color:#e30613;
  font-size:14px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
}

.intro-overlay.open .intro-left{
  transform:translateX(-100%);
}

.intro-overlay.open .intro-right{
  transform:translateX(100%);
}

.intro-overlay.open .intro-content{
  opacity:0;
  transform:scale(.9);
}

.intro-overlay.hide{
  display:none;
}

@media(max-width:900px){
  .intro-content img{
    width:260px;
  }
}