*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:#eef4ff;
  background:
    radial-gradient(circle at 82% 8%, rgba(35,91,255,.22), transparent 18%),
    radial-gradient(circle at 20% 0%, rgba(0,174,255,.08), transparent 24%),
    linear-gradient(180deg,#07101d 0%,#081223 50%,#09111d 100%);
}
a{text-decoration:none;color:#a9cbff}
img{display:block;max-width:100%}
.wrap{width:min(1180px,92%);margin:0 auto}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(6,11,20,.72);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
}
.logo{
  font-size:22px;
  font-weight:800;
  letter-spacing:.4px;
  color:#fff;
}
.desktop-nav{
  display:flex;
  gap:22px;
  align-items:center;
}
.desktop-nav a{color:#dbe7fb}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:14px;
  color:#fff;
  font-weight:700;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,#2159ff,#2ba7ff);
  box-shadow:0 16px 44px rgba(17,84,255,.28);
}
.btn:hover{opacity:.96}
.btn-ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
}
.btn-sm{padding:10px 16px}
.full{width:100%}

.hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 54px;
}
.hero-bg-glow{
  position:absolute;
  border-radius:999px;
  filter:blur(70px);
  opacity:.55;
  pointer-events:none;
}
.hero-bg-glow-1{
  width:320px;height:320px;
  background:#245cff;
  right:10%;
  top:2%;
}
.hero-bg-glow-2{
  width:260px;height:260px;
  background:#1f9dff;
  left:6%;
  bottom:10%;
}
.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:36px;
  align-items:center;
}
.eyebrow,.section-kicker{
  display:inline-block;
  margin-bottom:16px;
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:#85b7ff;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.hero h1{
  margin:0 0 16px;
  font-size:62px;
  line-height:1.02;
  letter-spacing:-.03em;
}
.hero h1 span{color:#67a7ff}
.hero p{
  margin:0;
  max-width:680px;
  color:#c8d7ef;
  font-size:20px;
  line-height:1.7;
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:28px 0 24px;
}
.trust-strip{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.trust-strip span,
.service-card,
.why-card,
.project-card,
.step-card,
.testimonial,
.info-card,
.form-card{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 22px 48px rgba(0,0,0,.25);
}
.trust-strip span{
  padding:12px 14px;
  border-radius:14px;
  font-weight:700;
  color:#dbe7fb;
}

.device-scene{
  position:relative;
  min-height:530px;
}
.laptop-card{
  width:100%;
  max-width:760px;
  margin-left:auto;
  border-radius:28px;
  padding:18px;
  background:linear-gradient(180deg,rgba(14,24,42,.96),rgba(10,17,31,.96));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 28px 80px rgba(0,0,0,.36);
}
.laptop-card img{
  width:100%;
  border-radius:20px;
}
.phone-card{
  position:absolute;
  right:-10px;
  bottom:35px;
  width:170px;
  border-radius:28px;
  padding:12px;
  background:linear-gradient(180deg,rgba(11,22,40,.98),rgba(9,15,27,.98));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}
.phone-card img{
  width:100%;
  border-radius:20px;
}

.brand-bar{
  padding:10px 0 0;
}
.brand-bar-inner{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:18px 20px;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.brand-note{
  color:#d8e5fa;
  font-weight:600;
}
.brand-items{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  color:#9fbfff;
  font-weight:700;
}

.section{padding:60px 0}
.section.alt{background:rgba(255,255,255,.02)}
.section-head{
  max-width:760px;
  margin-bottom:28px;
}
.section h2{
  margin:0 0 10px;
  font-size:40px;
  line-height:1.1;
}
.section-head p{
  margin:0;
  color:#c7d5ed;
  line-height:1.7;
  font-size:17px;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.service-card{
  position:relative;
  padding:24px;
  border-radius:22px;
  overflow:hidden;
}
.service-card.featured{
  box-shadow:0 0 0 1px rgba(78,136,255,.24),0 24px 58px rgba(17,84,255,.22);
}
.icon-glow{
  width:54px;
  height:54px;
  margin-bottom:16px;
  border-radius:16px;
  background:linear-gradient(135deg,#245cff,#2ba7ff);
  box-shadow:0 12px 28px rgba(29,100,255,.32);
}
.service-card h3{
  margin:0 0 10px;
  font-size:22px;
}
.service-card p{
  margin:0;
  color:#c8d7ef;
  line-height:1.65;
}

.why-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.why-card{
  padding:18px 20px;
  border-radius:18px;
  font-weight:700;
}

.project-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.project-card{
  border-radius:24px;
  overflow:hidden;
}
.project-card img{
  width:100%;
  height:250px;
  object-fit:cover;
}
.project-body{
  padding:18px 18px 20px;
}
.project-tag{
  display:inline-block;
  margin-bottom:10px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(56,115,255,.18);
  color:#9fc3ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.project-body h3{
  margin:0 0 8px;
  font-size:22px;
}
.project-body p{
  margin:0;
  color:#c8d7ef;
  line-height:1.6;
}

.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:28px;
}
.step-card{
  padding:24px;
  border-radius:20px;
  text-align:center;
}
.step-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  margin-bottom:12px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg,#245cff,#2ba7ff);
}
.step-card strong{
  display:block;
  font-size:18px;
}

.testimonial{
  position:relative;
  padding:28px;
  border-radius:22px;
}
.quote-mark{
  font-size:74px;
  line-height:1;
  color:#5d97ff;
  margin-bottom:8px;
}
.testimonial p{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.7;
  color:#d8e4fa;
}
.testimonial small{
  color:#9dbbde;
}

.cta-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:28px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 48px rgba(0,0,0,.22);
}
.cta-box h2{margin:0 0 10px}
.cta-box p{
  margin:0;
  color:#c8d7ef;
  line-height:1.7;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
.info-card,.form-card{
  border-radius:22px;
  padding:22px;
}
.contact-info p{
  color:#c8d7ef;
  line-height:1.7;
}
.info-card{
  display:grid;
  gap:10px;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
input,select,textarea{
  width:100%;
  padding:14px 15px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:#0d172a;
  color:#eef4ff;
  font-size:15px;
}
textarea{
  min-height:140px;
  resize:vertical;
  margin-bottom:12px;
}
.alert{
  padding:14px 16px;
  border-radius:14px;
  margin-bottom:14px;
}
.success{
  background:rgba(25,140,76,.18);
  border:1px solid rgba(67,216,132,.28);
}

.admin-body,.admin-panel{background:#08101d}
.login-card{
  width:min(460px,92%);
  margin:90px auto;
  padding:28px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 22px 48px rgba(0,0,0,.24);
}
.login-card h1{margin-top:0}
.back-link{margin-top:14px}
.admin-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:28px 0 18px;
}
.table-card{
  padding:16px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  overflow:auto;
}
table{
  width:100%;
  min-width:960px;
  border-collapse:collapse;
}
th,td{
  text-align:left;
  vertical-align:top;
  padding:14px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
th{color:#9fc2ff}

@media (max-width:1100px){
  .hero-grid,
  .service-grid,
  .why-grid,
  .project-grid,
  .steps,
  .contact-grid{
    grid-template-columns:1fr 1fr;
  }

  .hero h1{font-size:50px}
}

@media (max-width:760px){
  .desktop-nav{display:none}
  .hero-grid,
  .service-grid,
  .why-grid,
  .project-grid,
  .steps,
  .contact-grid,
  .form-row,
  .cta-box{
    grid-template-columns:1fr;
    display:grid;
  }

  .hero{padding-top:44px}
  .hero h1{font-size:38px}
  .section h2{font-size:31px}
  .device-scene{min-height:auto}
  .phone-card{
    position:relative;
    right:auto;
    bottom:auto;
    width:150px;
    margin:16px auto 0;
  }
  .brand-bar-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

.logo{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  font-size:22px;
  font-weight:800;
  letter-spacing:.4px;
}
.logo img{
  display:block;
  max-height:54px;
  width:auto;
}
textarea{
  min-height:120px;
}


/* === AUTO LOGO RESIZE FIX === */
.site-header .nav{
  min-height: 86px;
}

.site-header .logo{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  max-width: 260px;
  min-width: 120px;
  overflow: hidden;
}

.site-header .logo img{
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 58px !important;
  object-fit: contain;
}

@media (max-width: 768px){
  .site-header .nav{
    min-height: 72px;
  }

  .site-header .logo{
    max-width: 180px;
  }

  .site-header .logo img{
    max-height: 44px !important;
  }
}



/* === PROFESSIONAL DASHBOARD V2 === */
.admin-dashboard-wrap{
  padding-top: 30px;
  padding-bottom: 40px;
}
.dash-kicker{
  display:inline-block;
  margin-bottom:10px;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  color:#84b8ff;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.dash-title{
  margin:0 0 10px;
  font-size:42px;
  line-height:1.05;
}
.dash-subtitle{
  margin:0;
  color:#c8d7ef;
  line-height:1.7;
}
.dash-topbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:28px;
}
.dash-top-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.dash-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 18px;
  border-radius:16px;
  color:#eef4ff;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 40px rgba(0,0,0,.24);
}
.dash-btn.primary{
  background:linear-gradient(135deg,#2159ff,#2ba7ff);
}
.dash-icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:inherit;
  flex:0 0 auto;
}
.dash-icon svg{
  width:20px;
  height:20px;
}
.dash-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:24px;
}
.dash-stat-card,
.dash-panel,
.dash-action-card{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 22px 48px rgba(0,0,0,.25);
}
.dash-stat-card{
  padding:22px;
  border-radius:22px;
}
.dash-stat-head{
  display:flex;
  align-items:center;
  gap:10px;
  color:#9ec4ff;
  font-weight:700;
  margin-bottom:16px;
}
.dash-stat-number{
  font-size:38px;
  font-weight:800;
  line-height:1;
  margin-bottom:10px;
}
.dash-stat-note{
  color:#c8d7ef;
  line-height:1.6;
}
.dash-main-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:20px;
  margin-bottom:24px;
}
.dash-panel{
  padding:22px;
  border-radius:24px;
}
.dash-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.dash-panel-head h2{
  margin:0;
  font-size:24px;
}
.dash-panel-head span{
  color:#9ec4ff;
  font-size:14px;
  font-weight:700;
}
.dash-actions-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.dash-action-card{
  display:block;
  padding:20px;
  border-radius:20px;
  color:#eef4ff;
}
.dash-action-card .dash-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  margin-bottom:14px;
  background:linear-gradient(135deg,#2159ff,#2ba7ff);
  box-shadow:0 14px 30px rgba(17,84,255,.28);
}
.dash-action-card .dash-icon svg{
  width:20px;
  height:20px;
}
.dash-action-card strong{
  display:block;
  font-size:18px;
  margin-bottom:8px;
}
.dash-action-card p{
  margin:0;
  color:#c8d7ef;
  line-height:1.6;
}
.dash-overview-list{
  display:grid;
  gap:14px;
}
.dash-overview-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.dash-overview-item .dash-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  background:linear-gradient(135deg,#2159ff,#2ba7ff);
  box-shadow:0 14px 30px rgba(17,84,255,.24);
}
.dash-overview-item strong{
  display:block;
  margin-bottom:4px;
}
.dash-overview-item small{
  color:#c8d7ef;
  line-height:1.6;
}
.dash-table-panel{
  padding-bottom:18px;
}

@media (max-width: 1100px){
  .dash-stats-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .dash-main-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 760px){
  .dash-topbar{
    flex-direction:column;
  }
  .dash-stats-grid,
  .dash-actions-grid{
    grid-template-columns:1fr;
  }
  .dash-title{
    font-size:32px;
  }
}



/* === DASHBOARD SVG ICON FIX === */
.admin-dashboard-wrap .dash-icon{
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 20px !important;
  overflow: hidden !important;
  line-height: 1 !important;
}

.admin-dashboard-wrap .dash-icon svg{
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  display: block !important;
  flex: 0 0 20px !important;
}

.admin-dashboard-wrap .dash-action-card .dash-icon{
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  flex: 0 0 42px !important;
  border-radius: 14px !important;
}

.admin-dashboard-wrap .dash-action-card .dash-icon svg,
.admin-dashboard-wrap .dash-overview-item .dash-icon svg{
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}

.admin-dashboard-wrap .dash-overview-item .dash-icon{
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  flex: 0 0 38px !important;
}

.admin-dashboard-wrap svg{
  overflow: hidden !important;
}



/* === CONTENT EDITOR V3 HELPERS === */
.admin-panel textarea{
  min-height: 140px;
}

