/* E-KRET.NET Lead Engine v1.5.0 */

:root{
  --bg:#060B14;
  --bg-2:#0B1220;
  --panel:rgba(255,255,255,.04);
  --panel-2:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.08);
  --muted:rgba(255,255,255,.65);
  --text:#F6F7FB;
  --accent:#6EE7FF;
  --accent-2:#8B5CF6;
  --success:#22C55E;
  --danger:#EF4444;
  --radius:18px;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --max: 1180px;
  --transition: 160ms cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ekret-theme{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 80% 10%, rgba(110,231,255,.06), transparent 60%),
    radial-gradient(800px 500px at 10% 90%, rgba(139,92,246,.08), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg-2) 40%, var(--bg));
  min-height:100vh;
}

a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block}

.ek-container{
  width:min(100% - 2rem, var(--max));
  margin-inline:auto;
}

/* Header */
.ek-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(10px);
  background: linear-gradient(180deg, rgba(6,11,20,.9), rgba(6,11,20,.6));
  border-bottom:1px solid rgba(255,255,255,.04);
}
.ek-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.9rem 0;
}
.ek-brand{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.25rem .2rem;
}
.ek-brand-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
}
.ek-brand-logo{
  height:200px;
}
.ek-brand-sub{
  font-size:.78rem;
  color:var(--muted);
  margin-left:.1rem;
}
.ek-header-phone{
  font-size:.9rem;
}
.ek-header-phone a{
  color:var(--accent);
}

/* Nav */
.ek-nav{display:flex}
.ek-nav-list{
  display:flex;
  align-items:center;
  gap:.25rem;
  list-style:none;
  margin:0; padding:0;
}
.ek-nav-list li{margin:0; padding:0}
.ek-nav-link, .ek-nav-list a{
  position:relative;
  display:inline-flex;
  align-items:center;
  padding:.55rem .85rem;
  border-radius:12px;
  font-size:.95rem;
  color:rgba(255,255,255,.88);
  transition: var(--transition);
  border:1px solid transparent;
}
.ek-nav-link:hover, .ek-nav-list a:hover{
  color:white;
  border-color: rgba(110,231,255,.25);
  background:
    linear-gradient(135deg, rgba(110,231,255,.08), rgba(139,92,246,.10));
  box-shadow:
    0 0 0 1px rgba(110,231,255,.15) inset,
    0 6px 22px rgba(110,231,255,.10),
    0 6px 22px rgba(139,92,246,.10);
}
.ek-nav-link::after, .ek-nav-list a::after{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  bottom:6px;
  height:2px;
  border-radius:2px;
  background: linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);
  opacity:0;
  transform: scaleX(.85);
  transition: var(--transition);
}
.ek-nav-link:hover::after, .ek-nav-list a:hover::after{
  opacity:1;
  transform:scaleX(1);
}

.ek-nav-toggle{
  display:none;
  background: transparent;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:.45rem .55rem;
  cursor:pointer;
}
.ek-nav-toggle span{
  display:block;
  width:22px; height:2px; margin:4px 0;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
}

.ek-mobile-nav{
  border-top:1px solid rgba(255,255,255,.05);
  background: linear-gradient(180deg, rgba(6,11,20,.96), rgba(6,11,20,.9));
  padding: 1rem 0 1.2rem 0;
}
.ek-nav-list-mobile{
  flex-direction:column;
  align-items:flex-start;
  gap:.2rem;
}
.ek-mobile-cta{margin-top:.8rem}

/* Main */
.ek-main{padding-bottom:3rem}

/* Hero */
.ek-hero{
  padding: 3.2rem 0 2.6rem 0;
}
.ek-hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:2.4rem;
  align-items:center;
}
.ek-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .6rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  font-size:.78rem;
  color:var(--muted);
}
.ek-dot{
  width:8px; height:8px; border-radius:50%;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 0 10px rgba(110,231,255,.5);
}
.ek-h1{
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height:1.05;
  margin: .9rem 0 1rem 0;
  letter-spacing:-.5px;
}
.ek-h2{
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  margin: 0 0 .8rem 0;
}
.ek-h3{
  font-size: 1.25rem;
  margin: 0 0 .5rem 0;
}
.ek-lead{
  font-size: 1.08rem;
  color: rgba(255,255,255,.85);
  max-width: 52ch;
}
.ek-gradient{
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.ek-hero-cta{
  display:flex; flex-wrap:wrap;
  gap:.75rem;
  margin: 1.3rem 0 1.1rem 0;
}
.ek-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.85rem 1.1rem;
  border-radius: 14px;
  font-weight:600;
  border:1px solid rgba(255,255,255,.08);
  transition: var(--transition);
  box-shadow: var(--shadow);
}
.ek-btn-primary{
  background: linear-gradient(135deg, rgba(110,231,255,.18), rgba(139,92,246,.22));
  border-color: rgba(110,231,255,.35);
  box-shadow:
    0 0 0 1px rgba(110,231,255,.12) inset,
    0 12px 30px rgba(110,231,255,.12),
    0 12px 30px rgba(139,92,246,.12);
}
.ek-btn-primary:hover{
  transform: translateY(-1px);
  border-color: rgba(110,231,255,.6);
}
.ek-btn-ghost{
  background: rgba(255,255,255,.03);
}
.ek-btn-ghost:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
  transform: translateY(-1px);
}
.ek-link{
  display:inline-flex;
  margin-top:.7rem;
  color: rgba(110,231,255,.95);
}

.ek-hero-badges{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
}
.ek-badge{
  font-size:.75rem;
  color:var(--muted);
  padding:.25rem .5rem;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

.ek-hero-visual{
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(135deg, rgba(110,231,255,.04), rgba(139,92,246,.05));
  padding: 1rem;
}

/* Sections */
.ek-section{
  padding: 3.2rem 0;
}
.ek-section-soft{
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 35%, rgba(255,255,255,.02));
  border-top:1px solid rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.03);
}
.ek-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1.5rem;
  margin-bottom: 1.6rem;
}
.ek-muted{color:var(--muted)}
.ek-small{font-size:.85rem}

/* Cards / grids */
.ek-cards-3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.1rem;
}
.ek-card{
  background: var(--panel);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem 1.15rem;
  box-shadow: var(--shadow);
}
.ek-card-service h3{margin-top:.35rem}
.ek-card-icon{
  width: 86px;
  height: 86px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(110,231,255,.08), rgba(139,92,246,.10));
  border:1px solid rgba(255,255,255,.06);
  padding:.4rem;
}

/* Lists */
.ek-mini-list{
  list-style:none;
  padding:0;
  margin:.9rem 0 0 0;
}
.ek-mini-list li{
  position:relative;
  padding-left:1.1rem;
  margin:.35rem 0;
  color: rgba(255,255,255,.85);
}
.ek-mini-list li::before{
  content:"•";
  position:absolute; left:0; top:0;
  color: var(--accent);
}

/* Split / steps */
.ek-split{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 1.8rem;
}
.ek-steps{
  display:grid; gap:.9rem;
}
.ek-step{
  display:grid;
  grid-template-columns: 52px 1fr;
  gap:.85rem;
  padding: .9rem;
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.ek-step-no{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 52px; height: 52px;
  border-radius: 14px;
  font-weight:700;
  background: linear-gradient(135deg, rgba(110,231,255,.12), rgba(139,92,246,.18));
  border:1px solid rgba(110,231,255,.25);
}

/* Glass card */
.ek-card-glass{
  background:
    linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}

/* Projects */
.ek-projects-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1.1rem;
}
.ek-project-card h3{margin-top:.7rem}
.ek-project-thumb{
  border-radius: 14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
}
.ek-project-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.6rem;
}
.ek-project-meta span{
  font-size:.78rem;
  padding:.2rem .45rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}

/* Pricing */
.ek-pricing-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.1rem;
}
.ek-pricing-card{
  position:relative;
}
.ek-pricing-card-hot{
  border-color: rgba(110,231,255,.4);
  box-shadow:
    0 0 0 1px rgba(110,231,255,.2) inset,
    0 18px 40px rgba(110,231,255,.16),
    0 18px 40px rgba(139,92,246,.14);
}
.ek-pricing-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.25rem .6rem;
  border-radius:999px;
  font-size:.78rem;
  margin-bottom:.5rem;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
}
.ek-pricing-price{
  margin-top:.45rem;
  font-size:1.15rem;
  font-weight:700;
}
.ek-pricing-meta{
  margin-top:.8rem;
  font-size:.88rem;
  color:var(--muted);
}

/* Page layout */
.ek-page{
  max-width: 920px;
}
.ek-page-head{
  margin-bottom: 1.1rem;
}
.ek-page-visual{
  margin: 1.1rem 0 1.6rem 0;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(135deg, rgba(110,231,255,.05), rgba(139,92,246,.07));
  padding: .9rem;
}
.ek-page-visual img{width:100%; height:auto}

/* Prose */
.ek-prose{
  line-height: 1.65;
}
.ek-prose p{margin:.7rem 0}
.ek-prose ul{margin:.6rem 0 .9rem 1.1rem}
.ek-prose h3{margin-top: 1.6rem}
.ek-prose a{color: var(--accent)}

/* Highlight / FAQ / CTA inline */
.ek-highlight{
  padding: 1rem 1rem;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  margin: 1.2rem 0;
}
.ek-faq{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  padding: .8rem .95rem;
  margin: .7rem 0;
}
.ek-faq summary{
  cursor:pointer;
  font-weight:600;
}
.ek-cta-inline{
  display:flex; gap:.7rem; flex-wrap:wrap;
  margin-top: 1.4rem;
}

/* Contact */
.ek-contact-grid{
  display:grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 1.2rem;
  margin: 1.4rem 0 2rem 0;
}
.ek-card-form{
  background: rgba(255,255,255,.05);
}
.ek-form{
  display:grid; gap:.9rem;
}
.ek-form label span{
  display:block;
  font-size:.9rem;
  color: var(--muted);
  margin-bottom:.35rem;
}
.ek-form input[type="text"],
.ek-form input[type="email"],
.ek-form textarea{
  width:100%;
  padding:.85rem .9rem;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.12);
  color: var(--text);
  outline:none;
}
.ek-form input:focus,
.ek-form textarea:focus{
  border-color: rgba(110,231,255,.55);
  box-shadow: 0 0 0 3px rgba(110,231,255,.12);
}
.ek-consent{
  display:flex; gap:.6rem; align-items:flex-start;
  font-size:.92rem;
}
.ek-consent input{margin-top:.2rem}
.ek-hp{
  position:absolute !important;
  left:-9999px !important;
  height:1px !important;
  width:1px !important;
  opacity:0 !important;
}

/* Alerts */
.ek-alert{
  padding: .9rem 1rem;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.1);
  margin: 1rem 0;
}
.ek-alert-success{
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.10);
}
.ek-alert-error{
  border-color: rgba(239,68,68,.35);
  background: rgba(239,68,68,.10);
}

/* Footer */
.ek-footer{
  border-top:1px solid rgba(255,255,255,.05);
  background: linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,.02));
  padding: 2.6rem 0 1.7rem 0;
}
.ek-footer-grid{
  display:grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 1.4rem;
}
.ek-footer h4{
  margin: .2rem 0 .8rem 0;
}
.ek-footer-list{
  list-style:none; margin:0; padding:0;
}
.ek-footer-list li{margin:.35rem 0}
.ek-footer-list a{color: var(--muted)}
.ek-footer-list a:hover{color:white}

.ek-footer-brand{
  display:flex; align-items:center; gap:.5rem;
  margin-bottom:.6rem;
}
.ek-brand-dot{
  width:10px; height:10px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--accent), var(--accent-2));
  box-shadow: 0 0 14px rgba(110,231,255,.45), 0 0 18px rgba(139,92,246,.35);
}
.ek-company-box{
  margin-top:.8rem;
  padding:.6rem .7rem;
  border-radius: 12px;
  background: rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.08);
  font-size:.9rem;
}
.ek-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
  border-top:1px solid rgba(255,255,255,.05);
  margin-top: 1.8rem;
  padding-top: 1rem;
  color: var(--muted);
  font-size:.9rem;
}
.ek-footer-inline{
  display:flex;
  align-items:center;
  gap:.5rem;
}
.ek-sep{opacity:.6}

/* Back to top */
.ek-backtotop{
  position: fixed;
  right: 1.1rem;
  bottom: 1.1rem;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border:1px solid rgba(110,231,255,.25);
  background:
    linear-gradient(135deg, rgba(110,231,255,.14), rgba(139,92,246,.18));
  color:white;
  font-size: 1.2rem;
  cursor:pointer;
  opacity:0;
  transform: translateY(6px);
  pointer-events:none;
  transition: var(--transition);
  box-shadow: var(--shadow);
}
.ek-backtotop.is-visible{
  opacity:1;
  transform: translateY(0);
  pointer-events:auto;
}

/* Search */
.ek-search{
  display:flex;
  gap:.6rem;
  align-items:center;
}
.ek-search-field{
  padding:.7rem .9rem;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.3);
  color:var(--text);
}

/* Responsive */
@media (max-width: 1100px){
  .ek-hero-grid, .ek-split{grid-template-columns: 1fr}
  .ek-section-head{flex-direction:column; align-items:flex-start}
}

@media (max-width: 980px){
  .ek-cards-3{grid-template-columns: 1fr 1fr}
  .ek-footer-grid{grid-template-columns: 1fr 1fr}
  .ek-contact-grid{grid-template-columns: 1fr}
  .ek-pricing-grid{grid-template-columns: 1fr 1fr}
  .ek-projects-grid{grid-template-columns: 1fr 1fr}
}

@media (max-width: 840px){
  .ek-nav{display:none}
  .ek-nav-toggle{display:inline-flex}
  .ek-header-phone{display:none}
}

@media (max-width: 640px){
  .ek-cards-3{grid-template-columns: 1fr}
  .ek-cta-banner{flex-direction:column; align-items:flex-start}
  .ek-footer-grid{grid-template-columns: 1fr}
  .ek-projects-grid{grid-template-columns: 1fr}
  .ek-pricing-grid{grid-template-columns: 1fr}
}


/* =========================
   Horizontal carousels
   ========================= */
.ek-carousel{
  position: relative;
}
.ek-carousel-track{
  display: flex;
  gap: 18px;
  overflow-x: auto;
  padding: 4px 2px 18px 2px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.ek-carousel-track::-webkit-scrollbar{
  height: 8px;
}
.ek-carousel-track > *{
  flex: 0 0 min(360px, 85vw);
  scroll-snap-align: start;
}
@media (min-width: 1100px){
  .ek-carousel-track > *{
    flex-basis: 380px;
  }
}
.ek-carousel-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(6,10,22,0.72);
  color: #EAF2FF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  backdrop-filter: blur(10px);
  transition: transform .15s ease, border-color .15s ease, background .15s ease, opacity .15s ease;
}
.ek-carousel-btn:hover{
  transform: translateY(-50%) scale(1.04);
  border-color: rgba(110,231,255,0.35);
  background: rgba(8,14,30,0.85);
}
.ek-carousel-btn:active{
  transform: translateY(-50%) scale(0.98);
}
.ek-carousel-btn.is-hidden{
  opacity: .25;
  pointer-events: none;
}
.ek-carousel-btn.ek-prev{ left: -8px; }
.ek-carousel-btn.ek-next{ right: -8px; }
@media (max-width: 820px){
  .ek-carousel-btn{
    display: none;
  }
}

/* Reviews */
.ek-review-card{
  padding: 22px;
}
.ek-review-head{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.ek-review-avatar{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(110,231,255,0.18), rgba(139,92,246,0.18));
  border: 1px solid rgba(255,255,255,0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #EAF2FF;
  letter-spacing: .02em;
}
.ek-stars{
  font-size: 14px;
  letter-spacing: 2px;
  color: #FFD36A;
  opacity: .95;
  display: inline-block;
  margin-top: 2px;
}
.ek-review-meta{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ek-review-name{
  font-weight: 600;
}
.ek-review-source{
  font-size: 12px;
  opacity: .65;
}
.ek-google-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  font-size: 12px;
  color: #EAF2FF;
}


/* =========================
   Projects carousel sizing
   ========================= */
.ek-projects-carousel .ek-carousel-track > *{
  flex: 0 0 min(300px, 80vw);
}
@media (min-width: 900px){
  .ek-projects-carousel .ek-carousel-track > *{
    flex-basis: 300px;
  }
}
@media (min-width: 1200px){
  .ek-projects-carousel .ek-carousel-track > *{
    flex-basis: 320px;
  }
}

/* Reduce spacing inside project cards a touch */
.ek-projects-carousel .ek-project-card{
  padding: 18px;
}
.ek-projects-carousel .ek-project-card .ek-project-thumb{
  margin-bottom: 14px;
}
.ek-projects-carousel .ek-project-card h3{
  font-size: 18px;
}
.ek-projects-carousel .ek-project-card p{
  font-size: 13.5px;
}

.ek-projects-carousel .ek-project-thumb img{
  max-height: 160px;
  width: 100%;
  object-fit: cover;
}


/* =========================
   Hide scrollbar for projects carousel
   ========================= */
.ek-projects-carousel .ek-carousel-track{
  scrollbar-width: none;
}
.ek-projects-carousel .ek-carousel-track::-webkit-scrollbar{
  display: none;
}


/* Mini grid inside collaboration card */
.ek-mini-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 14px 0 8px 0;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.02);
}
@media (min-width: 520px){
  .ek-mini-grid{
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 980px){
  .ek-mini-grid{
    grid-template-columns: 1fr;
  }
}
.ek-mini-item{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  font-size: 13px;
  color: #EAF2FF;
}
.ek-mini-item img{
  width: 22px;
  height: 22px;
  opacity: .95;
  flex: 0 0 22px;
}


/* =========================
   Process split layout (home)
   ========================= */
.ek-process-split{
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
}
@media (min-width: 980px){
  .ek-process-split{
    grid-template-columns: 1.4fr 0.9fr;
  }
}
.ek-process-steps{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 680px){
  .ek-process-steps{
    grid-template-columns: 1fr 1fr;
  }
}
.ek-step-card{
  position: relative;
  padding: 22px 22px 20px 22px;
}
.ek-step-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  color: #EAF2FF;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  margin-bottom: 10px;
}
.ek-why-card{
  padding: 26px;
  position: sticky;
  top: 90px;
}
@media (max-width: 979px){
  .ek-why-card{
    position: static;
  }
}
.ek-why-list{
  margin: 12px 0 14px 0;
  padding-left: 18px;
}
.ek-why-mini{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 12px 0 16px 0;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.02);
}


/* Hide scrollbar for reviews carousel */
.ek-reviews-carousel .ek-carousel-track{
  scrollbar-width: none;
}
.ek-reviews-carousel .ek-carousel-track::-webkit-scrollbar{
  display: none;
}


/* Reviews carousel sizing */
.ek-reviews-carousel .ek-carousel-track > *{
  flex: 0 1 min(260px, 82vw);
}
@media (min-width: 900px){
  .ek-reviews-carousel .ek-carousel-track > *{
    flex: 0 1 260px;
  }
}


/* Hide scrollbar for all carousels */
.ek-carousel-track{
  scrollbar-width: none;
}
.ek-carousel-track::-webkit-scrollbar{
  display: none;
}

/* =========================
   Projects carousel fit within container (4 cards on desktop)
   ========================= */
@media (min-width: 900px){
  .ek-projects-carousel .ek-carousel-track > *{
    flex-basis: 260px;
  }
}
@media (min-width: 1200px){
  .ek-projects-carousel .ek-carousel-track > *{
    flex-basis: 260px;
  }
}


/* Featured image hero on subpages */
.ek-page-hero-photo {
  display: block;
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 18px 60px rgba(15,23,42,0.65);
}

@media (max-width: 768px) {
  .ek-page-hero-photo {
    max-height: 260px;
    border-radius: 20px;
  }
}
