:root{
  --eka-ink:#111316;
  --eka-muted:#6b7078;
  --eka-line:#dedfdc;
  --eka-paper:#f5f5f1;
  --eka-dark:#111416;
  --eka-accent:#d9ff57;
  --eka-accent-2:#cfe85a;
  --eka-white:#fff;
}

body{
  background:var(--eka-paper);
  color:var(--eka-ink);
  font-family:"DM Sans",sans-serif;
  line-height:1.55;
}
a{ color:inherit; text-decoration:none; }
html{ scroll-behavior:smooth; }

.eka-font-display{ font-family:"Manrope",sans-serif; }

/* ---------- Nav ---------- */
.eka-nav{
  height:82px;
  background:rgba(245,245,241,.98);
  border-bottom:1px solid var(--eka-line);
}
.eka-nav-inner{ padding-left:5vw; padding-right:5vw; }
.eka-brand{
  display:flex;
  align-items:baseline;
  gap:8px;
  font-family:"Manrope",sans-serif;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--eka-ink);
}
.eka-brand span{ font-size:21px; }
.eka-brand small{ font-size:9px; letter-spacing:.18em; color:var(--eka-ink); }

.eka-menu{ row-gap:.25rem; }
.eka-menu .nav-item{ border-bottom:1px solid var(--eka-line); }
.eka-menu .nav-link{
  font-size:15px;
  font-weight:500;
  color:#3d4045;
  padding:.85rem .1rem;
  text-decoration:none;
}
.eka-menu .nav-link:hover,
.eka-menu .nav-link:focus-visible,
.eka-menu .nav-link.active{
  color:var(--eka-ink);
  text-decoration:none;
}

.eka-dropdown-menu{
  border-radius:6px;
  border:1px solid var(--eka-line);
  font-size:13.5px;
  padding:8px;
  box-shadow:0 18px 40px -14px rgba(17,19,22,.2);
}
.eka-dropdown-menu .dropdown-item{
  border-radius:4px;
  padding:.65rem .75rem;
  font-weight:500;
  color:#3d4045;
  text-decoration:none;
}
.eka-dropdown-menu .dropdown-item:hover,
.eka-dropdown-menu .dropdown-item:focus{
  background:var(--eka-paper);
  color:var(--eka-ink);
}

.eka-toggler{
  border:1px solid var(--eka-line);
  border-radius:3px;
}
.eka-toggler:focus{ box-shadow:0 0 0 .2rem rgba(17,19,22,.15); }

.eka-offcanvas{ background:var(--eka-paper); }
@media (max-width:991.98px){
  .eka-offcanvas{ width:320px; max-width:85vw; }
}

/* ---- Desktop menu refinements (lg+) ---- */
@media (min-width:992px){
  .eka-menu{
    flex-wrap:nowrap;
    column-gap:2.1rem;
  }
  .eka-menu .nav-item{ border-bottom:0; }
  .eka-menu .nav-link{
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.045em;
    text-transform:uppercase;
    color:#5b5f63;
    white-space:nowrap;
    padding:.4rem .05rem;
  }
  .eka-menu .dropdown-toggle::after{
    vertical-align:.12em;
    margin-left:.4em;
    transition:transform .2s ease;
  }
  .eka-menu .dropdown-toggle[aria-expanded="true"]::after{ transform:rotate(180deg); }
  .eka-dropdown-menu{ min-width:270px; margin-top:14px !important; }
  .eka-nav-divider{
    width:1px;
    align-self:stretch;
    margin:14px 1.9rem 14px 0;
    background:var(--eka-line);
  }
}
@media (max-width:991.98px){
  .eka-nav-divider{ display:none; }
}

.eka-btn-dark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 19px;
  border-radius:3px;
  font-size:13px;
  font-weight:700;
  background:var(--eka-ink);
  color:#fff;
  border:none;
  transition:.2s;
}
.eka-btn-dark:hover{ transform:translateY(-2px); color:#fff; }

.eka-btn-light{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 19px;
  border-radius:3px;
  font-size:13px;
  font-weight:700;
  background:#fff;
  color:var(--eka-ink);
  border:none;
}

.eka-text-link{ font-weight:700; font-size:13px; }
.eka-text-link:hover{ opacity:.65; }

/* ---------- Hero (home) ---------- */
.eka-hero{ padding:80px 7vw 75px; }
.eka-eyebrow, .eka-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#747871;
}
.eka-hero h1{
  font-family:"Manrope",sans-serif;
  font-size:clamp(40px,5.8vw,82px);
  line-height:1.02;
  letter-spacing:-.055em;
  margin:18px 0 25px;
}
.eka-hero h1 em, .eka-h2 em{ font-style:normal; color:#555b63; }
.eka-hero p.eka-lead-copy{
  font-size:18px;
  line-height:1.65;
  max-width:680px;
  color:#53575d;
}
.eka-proof{ display:flex; gap:40px; margin-top:65px; flex-wrap:wrap; }
.eka-proof div{ display:grid; gap:3px; }
.eka-proof strong{ font-size:13px; }
.eka-proof span{ font-size:11px; color:var(--eka-muted); }

.eka-hero-visual{
  min-height:480px;
  position:relative;
  display:grid;
  place-items:center;
  background:#171a1d;
  overflow:hidden;
  border-radius:2px;
}
.eka-orb{ position:absolute; border-radius:50%; filter:blur(1px); }
.eka-orb-a{ width:330px; height:330px; background:radial-gradient(circle at 35% 35%,var(--eka-accent),transparent 63%); opacity:.85; top:-80px; right:-60px; }
.eka-orb-b{ width:420px; height:420px; background:radial-gradient(circle at 45% 40%,#8790ff,transparent 60%); opacity:.45; bottom:-170px; left:-120px; }
.eka-glass-card{
  position:relative;
  width:78%;
  padding:34px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(18px);
  color:#fff;
}
.eka-card-label{ font-size:10px; letter-spacing:.17em; color:#c7cbc5; }
.eka-glass-card h3{ font:700 28px/1.15 "Manrope",sans-serif; margin:18px 0 30px; }
.eka-glass-card h3 span{ color:var(--eka-accent); }
.eka-flow{ border-top:1px solid rgba(255,255,255,.18); padding-top:20px; display:grid; gap:14px; }
.eka-flow div{ display:grid; gap:3px; }
.eka-flow b{ font-size:13px; letter-spacing:.1em; }
.eka-flow small{ color:#b5bab6; }
.eka-flow .eka-arrow{ font-size:20px; color:var(--eka-accent); }

/* ---------- Page hero (inner pages) ---------- */
.eka-page-hero{ padding:64px 7vw 46px; border-bottom:1px solid var(--eka-line); }
.eka-page-hero h1{
  font-family:"Manrope",sans-serif;
  font-size:clamp(32px,4.4vw,56px);
  letter-spacing:-.045em;
  line-height:1.06;
  margin:14px 0 0;
}
.eka-page-hero p{ font-size:17px; line-height:1.6; color:#53575d; max-width:640px; margin-top:16px; }

/* ---------- Strip ---------- */
.eka-strip{
  display:flex; justify-content:center; gap:24px; flex-wrap:wrap;
  padding:20px 5vw; background:#e8e9e4;
  border-top:1px solid var(--eka-line); border-bottom:1px solid var(--eka-line);
  font-size:10px; font-weight:700; letter-spacing:.14em;
}
.eka-strip i{ font-style:normal; color:#999; }

/* ---------- Sections ---------- */
.eka-section{ padding:110px 7vw; }
.eka-h2{ font:700 clamp(34px,4vw,60px)/1.05 "Manrope",sans-serif; letter-spacing:-.045em; margin:0; }
.eka-lead{ font-size:20px; line-height:1.55; color:#4e5359; margin-top:0; }

.eka-feature-grid{ border-top:1px solid var(--eka-line); }
.eka-feature-grid .eka-feature{ padding:28px 25px 0 0; border-right:1px solid var(--eka-line); }
.eka-feature-grid .eka-feature:last-child{ border-right:0; }
.eka-feature span{ font-size:11px; color:#8b9088; }
.eka-feature h3{ font:700 20px "Manrope",sans-serif; line-height:1.2; margin:20px 0 10px; }
.eka-feature p{ color:var(--eka-muted); font-size:14px; }

.eka-dark{ background:var(--eka-dark); color:#fff; }
.eka-dark .eka-kicker{ color:#a8aea7; }
.eka-dark .eka-lead{ color:#b8bcb8; }

/* Model cards */
.eka-model-card{ border:1px solid var(--eka-line); background:#fff; padding:34px; height:100%; }
.eka-model-card-alt{ background:var(--eka-ink); border-color:var(--eka-ink); color:#fff; }
.eka-model-tag{ font-size:10px; font-weight:700; letter-spacing:.14em; color:#8b9088; }
.eka-model-card-alt .eka-model-tag{ color:var(--eka-accent-2); }
.eka-model-card h3{ font:700 24px "Manrope",sans-serif; letter-spacing:-.02em; margin:16px 0 6px; }
.eka-model-card > p{ color:var(--eka-muted); margin:0 0 18px; }
.eka-model-card-alt > p{ color:#b8bcb8; }
.eka-model-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; border-top:1px solid var(--eka-line); padding-top:16px; }
.eka-model-card-alt ul{ border-top:1px solid #383c3f; }
.eka-model-card li{ font-size:14px; padding-left:16px; position:relative; }
.eka-model-card li::before{ content:"—"; position:absolute; left:0; color:#8b9088; }
.eka-model-card-alt li::before{ color:var(--eka-accent-2); }

/* Steps */
.eka-steps{ border-top:1px solid #383c3f; margin-top:25px; }
.eka-steps .eka-step{ padding:28px 22px 0 0; border-right:1px solid #383c3f; }
.eka-steps .eka-step:last-child{ border-right:0; }
.eka-steps b{ font:700 12px "Manrope",sans-serif; color:#8e948e; }
.eka-steps h4{ font:700 18px "Manrope",sans-serif; margin:18px 0 8px; }
.eka-steps p{ color:#aeb3af; font-size:14px; margin:0 0 28px; }

/* Service list */
.eka-service-list{ border-top:1px solid var(--eka-line); }
.eka-service-list .eka-service{ padding:30px 0; border-bottom:1px solid var(--eka-line); scroll-margin-top:100px; }
.eka-service-list .eka-num{ font:700 13px "Manrope",sans-serif; color:#8e948e; }
.eka-service-list h3{ font:700 27px "Manrope",sans-serif; margin:0 0 7px; color:var(--eka-ink); }
.eka-service-list p{ color:var(--eka-muted); margin:0 0 10px; max-width:700px; }
.eka-service-list span{ font-size:11px; color:#4f572d; letter-spacing:.03em; }

/* Pod */
.eka-pod{ border:1px solid var(--eka-line); }
.eka-pod .eka-pod-item{ padding:28px 20px; min-height:155px; border-right:1px solid var(--eka-line); border-bottom:1px solid var(--eka-line); }
.eka-pod b{ font-size:11px; color:#8b9088; }
.eka-pod h4{ font:700 13px "Manrope",sans-serif; margin:28px 0 8px; }
.eka-pod p{ font-size:12px; color:var(--eka-muted); margin:0; }

/* Case grid */
.eka-case{ background:#fff; border:1px solid var(--eka-line); padding:34px; min-height:280px; display:flex; flex-direction:column; height:100%; }
.eka-case span{ font-size:10px; letter-spacing:.13em; color:#7a8078; font-weight:700; }
.eka-case h3{ font:700 27px "Manrope",sans-serif; letter-spacing:-.02em; margin:40px 0 10px; }
.eka-case p{ color:var(--eka-muted); max-width:500px; }
.eka-case a{ margin-top:auto; font-size:12px; font-weight:700; }
.eka-case a:hover{ opacity:.65; }

/* Industries */
.eka-industry{ border-top:1px solid var(--eka-line); border-left:1px solid var(--eka-line); margin-top:55px; }
.eka-industry-item{ padding:25px; border-right:1px solid var(--eka-line); border-bottom:1px solid var(--eka-line); display:grid; gap:7px; min-height:120px; }
.eka-industry-item b{ font:700 17px "Manrope",sans-serif; }
.eka-industry-item span{ font-size:12px; color:var(--eka-muted); }

/* Quote */
.eka-quote{
  font:600 clamp(22px,3vw,40px)/1.2 "Manrope",sans-serif;
  letter-spacing:-.035em;
  border-left:4px solid var(--eka-ink);
  padding:10px 0 10px 30px;
  max-width:1000px;
}

/* Compare table */
.eka-compare-table{ font-size:14px; }
.eka-compare-table th, .eka-compare-table td{ padding:16px 18px; border-bottom:1px solid #383c3f; vertical-align:top; }
.eka-compare-table thead th{ font:700 11px "Manrope",sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#a8aea7; border-bottom:1px solid #4a4e51; }
.eka-compare-table tbody td:first-child{ color:#dfe2df; font-weight:600; width:22%; }
.eka-compare-table tbody td:nth-child(2){ color:#9ba09a; }
.eka-compare-table tbody td:last-child{ color:#eef7c9; background:rgba(207,232,90,.07); }

/* FAQ */
.eka-faq-list{ border-top:1px solid var(--eka-line); margin-top:10px; }
.eka-faq-item{ border-bottom:1px solid var(--eka-line); padding:22px 0; }
.eka-faq-item summary{
  cursor:pointer; font:700 17px "Manrope",sans-serif; letter-spacing:-.01em;
  list-style:none; display:flex; justify-content:space-between; align-items:center;
}
.eka-faq-item summary::-webkit-details-marker{ display:none; }
.eka-faq-item summary::after{ content:"+"; font-size:20px; color:#8b9088; flex-shrink:0; margin-left:20px; }
.eka-faq-item[open] summary::after{ content:"–"; }
.eka-faq-item p{ color:var(--eka-muted); margin:14px 0 0; max-width:700px; font-size:15px; }

/* CTA */
.eka-cta{ background:var(--eka-accent-2); padding:100px 7vw; }
.eka-cta .eka-kicker{ color:#4f572d; }
.eka-cta h2{ font:700 clamp(38px,6vw,76px)/1.02 "Manrope",sans-serif; letter-spacing:-.055em; margin:22px 0; }
.eka-cta p{ max-width:650px; font-size:18px; color:#4b5231; margin-bottom:30px; }

/* Contact details block (contact page) */
.eka-contact-card{ background:#fff; border:1px solid var(--eka-line); padding:34px; height:100%; }
.eka-contact-card b{ font:700 11px "Manrope",sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#8b9088; display:block; margin-bottom:10px; }
.eka-contact-card p{ margin:0; color:var(--eka-muted); }
.eka-contact-card a.eka-text-link{ display:inline-block; margin-top:14px; }

/* Footer */
.eka-footer{ background:#111416; color:#fff; padding:70px 7vw; }
.eka-footer p, .eka-footer a{ font-size:12px; color:#aeb3af; }
.eka-footer a:hover{ color:#fff; }
.eka-footer-col{ display:grid; align-content:start; gap:9px; }
.eka-brand-light{ margin-bottom:12px; color:#fff; }
.eka-brand-light small{ color:#aeb3af; }
.eka-footer b{ font:700 12px "Manrope",sans-serif; letter-spacing:.08em; text-transform:uppercase; margin-bottom:7px; display:block; }
.eka-copyright{ background:#111416; color:#737975; border-top:1px solid #303437; padding:18px 7vw; font-size:10px; display:flex; justify-content:space-between; }
.eka-legal-note{ background:#111416; color:#5b605c; font-size:10px; padding:0 7vw 20px; margin:0; }

@media (max-width:991.98px){
  .eka-hero{ padding-top:55px; }
  .eka-hero-visual{ min-height:400px; margin-top:2.5rem; }
}
@media (max-width:575.98px){
  .eka-nav-inner{ padding-left:20px; padding-right:20px; }
  .eka-hero, .eka-section, .eka-cta, .eka-page-hero{ padding-left:24px; padding-right:24px; }
  .eka-copyright{ padding:15px 24px; }
  .eka-copyright span{ display:none; }
  .eka-footer{ padding:55px 24px; }
  .eka-legal-note{ padding:0 24px 20px; }
}
