:root{--brand:#ef0558;--brand-hover:#ce064e;--dark:#061225;--text:#101828;--muted:#667085;--bg:#f7f8fc;--surface:#fff;--border:#e7eaf1;--shadow:0 18px 55px rgba(7,19,41,.08);--container:1260px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);line-height:1.55}a{text-decoration:none;color:inherit}img{display:block;max-width:100%;height:auto}.container{width:min(calc(100% - 44px),var(--container));margin-inline:auto}.screen-reader-text,.skip-link{position:absolute;left:-9999px}.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eef0f4}.site-header__inner{min-height:64px;display:flex;align-items:center;gap:26px}.abcode-logo-wrap{width:112px;min-width:112px;margin-right:auto;display:flex;align-items:center}.brand-logo,.custom-logo-link{display:flex;align-items:center;width:112px}.brand-logo img,.custom-logo-link img,.custom-logo{width:112px!important;max-width:112px!important;height:auto!important;max-height:42px!important;object-fit:contain}.primary-nav__menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.primary-nav a{font-size:.82rem;font-weight:760;color:#101828}.primary-nav a:hover{color:var(--brand)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:0 18px;border-radius:7px;font-weight:800;font-size:.84rem;border:1px solid transparent}.button--primary{background:var(--brand);color:#fff}.button--primary:hover{background:var(--brand-hover)}.button--ghost{background:transparent;border-color:rgba(255,255,255,.42);color:#fff}.header-cta{margin-left:14px;min-height:38px;padding-inline:17px;font-size:.78rem}.nav-toggle{display:none;background:none;border:0}.nav-toggle span:not(.screen-reader-text){width:24px;height:2px;background:var(--dark);display:block;margin:4px 0}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 76% 44%,rgba(239,5,88,.16),transparent 30%),linear-gradient(145deg,#061225,#08172b 66%,#10122c);color:#fff;padding:16px 0 18px}.hero__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:46px;align-items:center;min-height:430px}.hero__content{padding-left:42px}.eyebrow,.card-label{color:var(--brand);text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;font-weight:900}.hero h1{max-width:10ch;margin:11px 0 17px;font-size:clamp(2.75rem,4.1vw,4.45rem);line-height:1.02;letter-spacing:-.055em}.hero__lead{max-width:47ch;margin:0;color:rgba(255,255,255,.76);font-size:.95rem}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.play-dot{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;border:1px solid rgba(255,255,255,.8)}.hero__visual img{width:100%;max-height:355px;object-fit:cover;border-radius:12px;box-shadow:0 22px 70px rgba(0,0,0,.24)}.section{padding:56px 0}.section--solutions,.section--products{background:#fff}.section--products{border-top:1px solid #f0f1f4}.section-head{max-width:760px;margin-bottom:30px}.section-head--center{text-align:center;margin-inline:auto}.section-head--compact{margin-bottom:22px}.section-head h2{margin:7px 0 8px;font-size:clamp(1.85rem,2.6vw,2.75rem);line-height:1.06;letter-spacing:-.045em}.section-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:.9rem}.cards-grid{display:grid;gap:13px}.cards-grid--2{grid-template-columns:repeat(2,1fr)}.cards-grid--6{grid-template-columns:repeat(6,1fr)}.solution-card{min-height:235px;display:flex;flex-direction:column;padding:17px;background:#fff;border:1px solid var(--border);border-radius:12px}.solution-card__icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#884bdf,#c15be9);font-size:.84rem}.solution-card:nth-child(2) .solution-card__icon{background:linear-gradient(135deg,#23bd85,#58dfad)}.solution-card:nth-child(3) .solution-card__icon{background:linear-gradient(135deg,#2d7df5,#56a0ff)}.solution-card:nth-child(4) .solution-card__icon{background:linear-gradient(135deg,#ff8b1f,#ffb44f)}.solution-card:nth-child(5) .solution-card__icon{background:linear-gradient(135deg,#e92d70,#ff6497)}.solution-card:nth-child(6) .solution-card__icon{background:linear-gradient(135deg,#17a9c6,#58cddd)}.solution-card h3{margin:13px 0 8px;font-size:.88rem;line-height:1.18}.solution-card p{margin:0 0 16px;color:var(--muted);font-size:.79rem;line-height:1.45}.solution-card .text-link{margin-top:auto}.text-link{color:var(--brand);font-size:.76rem;font-weight:850}.products-case-layout{display:grid;grid-template-columns:1.55fr .9fr;gap:34px;align-items:end}.products-area{padding-right:26px;border-right:1px solid var(--border)}.products-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.product-mini-card{min-height:205px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#fff;display:flex;flex-direction:column}.product-mini-card__icon{width:30px;height:30px;display:grid;place-items:center;color:var(--brand);border:1px solid rgba(239,5,88,.25);border-radius:7px}.product-mini-card h3{margin:11px 0 7px;font-size:.8rem}.product-mini-card p{margin:0 0 12px;color:var(--muted);font-size:.72rem}.product-mini-card .text-link{margin-top:auto}.products-all-link{display:block;width:max-content;margin:15px auto 0;color:var(--brand);font-size:.76rem;font-weight:850}.home-case-card{display:grid;grid-template-columns:1fr .95fr;gap:18px;align-items:center}.home-case-card__copy h3{margin:7px 0 10px;font-size:1.18rem;line-height:1.15}.home-case-card__copy p:not(.eyebrow){margin:0 0 14px;color:var(--muted);font-size:.82rem}.home-case-card__media img{width:100%;height:190px;object-fit:cover;border-radius:10px}.final-cta{display:flex;gap:34px;align-items:center;justify-content:space-between;padding:38px 42px;border-radius:18px;background:linear-gradient(135deg,#071329,#211126);color:#fff}.final-cta h2{max-width:15ch;margin:7px 0 10px;font-size:clamp(1.8rem,3vw,3rem);line-height:1}.final-cta p{max-width:57ch;color:rgba(255,255,255,.66);font-size:.88rem}.site-footer{padding:45px 0 0;background:#fff;border-top:1px solid var(--border)}.site-footer .abcode-logo-wrap{width:100px;min-width:100px;margin-bottom:14px}.site-footer .brand-logo,.site-footer .custom-logo-link{width:100px}.site-footer .brand-logo img,.site-footer .custom-logo-link img,.site-footer .custom-logo{width:100px!important;max-width:100px!important;max-height:38px!important}.footer-grid{display:grid;grid-template-columns:1.4fr .9fr .9fr .9fr 1.15fr;gap:28px}.footer-grid h2{margin:0 0 10px;font-size:.78rem}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:5px 0}.footer-grid a,.footer-grid p{color:#475467;font-size:.72rem}.footer-brand p{max-width:30ch}.footer-social{display:flex;gap:7px;margin-top:13px}.footer-social a{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:#fff;font-size:.6rem}.footer-newsletter form{display:grid;gap:7px}.footer-newsletter input{min-height:36px;padding:0 10px;border:1px solid #d9dee7;border-radius:5px}.footer-newsletter .button{min-height:35px;font-size:.7rem}.footer-legal{margin-top:32px;border-top:1px solid var(--border)}.footer-bottom{min-height:48px;display:flex;align-items:center;justify-content:space-between;color:#667085;font-size:.66rem}
/* keep product page styles from 2.0 by appending minimal compatibility */
.product-hero{padding:32px 0;background:#fff}.product-hero__grid{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:center}.product-hero__visual img{border-radius:14px;box-shadow:var(--shadow)}.breadcrumbs{display:flex;gap:6px;color:#98a2b3;font-size:.7rem;margin-bottom:20px}.product-title-row{display:flex;gap:14px}.product-mark{width:48px;height:48px;border-radius:11px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:900}.product-title-row h1{margin:0;font-size:2.6rem}.product-tagline{font-weight:700}.lead{color:var(--muted)}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}.benefit-icon{width:34px;height:34px;margin:auto;display:grid;place-items:center;border-radius:50%;background:rgba(239,5,88,.08);color:var(--brand)}.product-details-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.module-panel,.feature-panel{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px}.module-panel details{border-bottom:1px solid var(--border);padding:11px 0}.feature-list{list-style:none;padding:0}.feature-list li{padding:5px 0}.demo-box{background:#fff1f5;padding:16px;border-radius:9px}.case-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px}.product-final-cta{padding:40px 0;text-align:center;background:linear-gradient(135deg,#071329,#231126);color:#fff}
@media(max-width:1180px){.cards-grid--6{grid-template-columns:repeat(3,1fr)}.products-mini-grid{grid-template-columns:repeat(2,1fr)}.products-case-layout{grid-template-columns:1fr}.products-area{padding-right:0;border-right:0}.footer-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:940px){.hero__grid,.product-hero__grid,.product-details-grid{grid-template-columns:1fr}.hero__content{padding-left:0}.benefits-grid{grid-template-columns:repeat(2,1fr)}.header-cta{display:none}.nav-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:64px;padding:20px;background:#fff}.primary-nav.is-open{display:block}.primary-nav__menu{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.container{width:min(calc(100% - 28px),var(--container))}.abcode-logo-wrap,.brand-logo,.custom-logo-link{width:96px;min-width:96px}.brand-logo img,.custom-logo-link img,.custom-logo{width:96px!important;max-width:96px!important;max-height:36px!important}.cards-grid--6,.products-mini-grid,.benefits-grid,.cards-grid--2{grid-template-columns:1fr}.home-case-card{grid-template-columns:1fr}.hero{padding:36px 0}.hero__grid{min-height:auto}.section{padding:46px 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}.final-cta{flex-direction:column;align-items:flex-start}.product-title-row{flex-direction:column}}


/* ==========================================================
   ABCODE ENTERPRISE 2.2 — larger 2x3 solution grid + internals
   ========================================================== */

.container--article{max-width:920px}

/* Home solutions: 2 x 3 */
.home-solutions{background:#fff}
.home-solutions__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.home-solution-card{
  min-height:176px;
  display:grid;
  grid-template-columns:62px 1fr;
  gap:20px;
  align-items:flex-start;
  padding:24px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 10px 32px rgba(7,19,41,.035);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.home-solution-card:hover{
  transform:translateY(-3px);
  border-color:#dce1e9;
  box-shadow:0 18px 48px rgba(7,19,41,.075);
}
.home-solution-card__icon{
  width:54px;height:54px;
  display:grid;place-items:center;
  border-radius:13px;
  color:#fff;
  font-size:1.25rem;font-weight:900;
  background:linear-gradient(135deg,#8447e9,#aa65ef);
}
.home-solution-card__icon--2{background:linear-gradient(135deg,#16b978,#4ed7a5)}
.home-solution-card__icon--3{background:linear-gradient(135deg,#287aef,#529bff)}
.home-solution-card__icon--4{background:linear-gradient(135deg,#ff8115,#ffad3e)}
.home-solution-card__icon--5{background:linear-gradient(135deg,#e82769,#fa558b)}
.home-solution-card__icon--6{background:linear-gradient(135deg,#13a4bd,#49c7dc)}
.home-solution-card h3{
  margin:5px 0 9px;
  font-size:1.05rem;
  line-height:1.18;
}
.home-solution-card p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.5;
}
.home-solution-card .text-link{font-size:.79rem}

/* Internal shared */
.internal-hero{
  padding:64px 0;
  background:#fff;
}
.internal-hero--dark{
  color:#fff;
  background:
    radial-gradient(circle at 78% 30%,rgba(239,5,88,.15),transparent 32%),
    linear-gradient(145deg,#061225,#0a1730);
}
.internal-hero__grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:68px;
  align-items:center;
}
.internal-hero h1{
  max-width:11ch;
  margin:10px 0 18px;
  font-size:clamp(3rem,5vw,5.2rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.internal-hero__lead{
  max-width:58ch;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:1.04rem;
}
.breadcrumbs--dark{color:rgba(255,255,255,.52)}
.breadcrumbs--dark a{color:rgba(255,255,255,.72)}

.solution-hero-panel{
  padding:22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.06);
  box-shadow:0 30px 80px rgba(0,0,0,.2);
}
.solution-hero-panel__top{
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.62);
  font-size:.76rem;
}
.solution-flow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:48px 8px;
}
.solution-flow span{
  display:grid;place-items:center;
  min-width:90px;min-height:56px;
  padding:10px;
  border-radius:12px;
  background:#fff;
  color:var(--dark);
  font-size:.78rem;font-weight:850;
}
.solution-flow i{color:var(--brand);font-style:normal;font-weight:900}
.solution-hero-panel__cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.solution-hero-panel__cards div{
  padding:15px;
  border-radius:11px;
  background:rgba(255,255,255,.075);
}
.solution-hero-panel__cards small{
  display:block;color:rgba(255,255,255,.57);font-size:.68rem
}
.solution-hero-panel__cards strong{font-size:1.25rem}

.problem-outcome-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.statement-card{
  padding:34px;
  border-radius:18px;
  border:1px solid var(--border);
  background:#fff;
}
.statement-card h2{margin:8px 0 12px;font-size:2rem;letter-spacing:-.035em}
.statement-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:1rem}
.statement-card--problem{border-top:4px solid #ff8d6d}
.statement-card--outcome{border-top:4px solid #20b981}

.capability-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.capability-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.capability-card{
  min-height:130px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:13px;
  background:#fff;
}
.capability-card span{
  display:block;margin-bottom:22px;
  color:var(--brand);
  font-size:.7rem;font-weight:900;letter-spacing:.12em
}
.capability-card h3{margin:0;font-size:1rem}
.capability-card p{color:var(--muted);font-size:.8rem}

.process-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:56px}
.process-timeline{list-style:none;padding:0;margin:0}
.process-timeline li{
  position:relative;
  display:grid;
  grid-template-columns:160px 1fr;
  gap:25px;
  padding:18px 0 18px 24px;
  border-left:1px solid #dfe3e9;
}
.process-timeline li:before{
  content:"";
  position:absolute;left:-5px;top:25px;
  width:9px;height:9px;border-radius:50%;background:var(--brand)
}
.process-timeline strong{font-size:.92rem}
.process-timeline p{margin:0;color:var(--muted);font-size:.86rem}

.content-editorial-grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:65px;
}
.content-editorial-grid h2{
  margin:8px 0;
  font-size:clamp(2rem,3vw,3.1rem);
  line-height:1.06;
  letter-spacing:-.04em
}

/* Archive pages */
.archive-hero{
  padding:78px 0 62px;
  background:#fff;
  border-bottom:1px solid var(--border)
}
.archive-hero--dark{
  color:#fff;
  background:linear-gradient(145deg,#061225,#10162c);
}
.archive-hero__inner{max-width:950px}
.archive-hero h1{
  max-width:13ch;
  margin:9px 0 16px;
  font-size:clamp(3rem,5.2vw,5.6rem);
  line-height:.97;
  letter-spacing:-.06em
}
.archive-hero p:not(.eyebrow){
  max-width:63ch;
  color:var(--muted);
  font-size:1rem
}
.archive-hero--dark p:not(.eyebrow){color:rgba(255,255,255,.66)}
.archive-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.archive-card-grid--4{grid-template-columns:repeat(4,1fr)}
.archive-card{
  min-height:245px;
  padding:26px;
  display:flex;flex-direction:column;align-items:flex-start;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff
}
.archive-card__index{color:var(--brand);font-size:.72rem;font-weight:900}
.archive-card h2{font-size:1.25rem;line-height:1.15;margin:35px 0 10px}
.archive-card p{color:var(--muted);font-size:.86rem}
.archive-card .text-link{margin-top:auto}
.integration-chip{
  display:grid;place-items:center;width:42px;height:42px;
  border-radius:10px;background:rgba(45,125,245,.09);color:#2d7df5;font-weight:900
}

/* Integrations */
.integration-diagram{
  min-height:360px;
  position:relative;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:20px;
  background:
    radial-gradient(circle at center,rgba(239,5,88,.08),transparent 35%),
    #f9fafb;
}
.integration-core{
  position:absolute;
  width:125px;height:125px;
  display:grid;place-items:center;text-align:center;
  border-radius:50%;
  color:#fff;background:var(--brand);
  font-weight:900;
  box-shadow:0 0 0 20px rgba(239,5,88,.06)
}
.integration-core small{font-size:.62rem}
.integration-node{
  position:absolute;
  padding:11px 17px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  font-size:.78rem;font-weight:800;
  box-shadow:var(--shadow)
}
.integration-node:nth-child(1){top:12%;left:12%}
.integration-node:nth-child(3){top:12%;right:12%}
.integration-node:nth-child(4){bottom:13%;left:12%}
.integration-node:nth-child(5){bottom:13%;right:12%}

/* Case study */
.case-study-hero{
  padding:58px 0;
  color:#fff;
  background:linear-gradient(145deg,#061225,#12172e)
}
.case-study-hero__grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:58px;
  align-items:center
}
.case-study-hero h1{
  margin:8px 0 16px;
  font-size:clamp(3rem,4.7vw,4.9rem);
  line-height:1;
  letter-spacing:-.055em
}
.case-study-hero p:not(.eyebrow){color:rgba(255,255,255,.68)}
.case-study-hero__media img{
  width:100%;max-height:380px;object-fit:cover;
  border-radius:17px;
  box-shadow:0 25px 70px rgba(0,0,0,.25)
}
.case-story-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px
}
.case-story-grid article{
  padding:28px;border:1px solid var(--border);border-radius:14px;background:#fff
}
.case-story-grid h2{margin:7px 0 9px;font-size:1.7rem}
.case-story-grid p:not(.eyebrow){color:var(--muted)}
.case-tech-grid{display:flex;gap:10px;flex-wrap:wrap}
.case-tech-grid span{
  padding:10px 15px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;font-size:.8rem;font-weight:800
}
.case-archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.case-archive-card{
  overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#fff
}
.case-archive-card img{width:100%;height:280px;object-fit:cover}
.case-archive-card>div{padding:25px}
.case-archive-card h2{margin:7px 0;font-size:1.35rem}

/* About */
.about-code-card{
  padding:35px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  box-shadow:0 25px 70px rgba(0,0,0,.18)
}
.about-code-card code{
  display:block;color:rgba(255,255,255,.7);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:1.05rem;line-height:2
}
.about-code-card span{color:#5da8ff}
.about-code-card strong{color:#fff}
.about-intro-grid{
  display:grid;grid-template-columns:.7fr 1.3fr;gap:60px
}
.about-intro-grid h2{font-size:3rem;line-height:1;letter-spacing:-.05em}
.expertise-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:15px
}
.expertise-grid article{
  min-height:200px;padding:22px;border:1px solid var(--border);border-radius:13px;background:#fff
}
.expertise-grid span{color:var(--brand);font-size:.7rem;font-weight:900}
.expertise-grid h3{margin:32px 0 8px;font-size:1rem}
.expertise-grid p{color:var(--muted);font-size:.82rem}

/* Contact */
.contact-hero{padding:66px 0;background:#f8f9fc}
.contact-hero__grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:55px;
  align-items:flex-start
}
.contact-intro h1{
  max-width:11ch;
  margin:9px 0 18px;
  font-size:clamp(3rem,4.5vw,4.8rem);
  line-height:1;
  letter-spacing:-.055em
}
.contact-intro>p{color:var(--muted);max-width:50ch}
.contact-points{margin-top:38px;display:grid;gap:13px}
.contact-points div{
  display:flex;gap:15px;align-items:center;
  padding:13px 0;border-bottom:1px solid var(--border)
}
.contact-points strong{color:var(--brand);font-size:.72rem}
.contact-points span{font-size:.84rem;font-weight:750}
.contact-form-card .abcode-form-wrap{margin-top:0}
.contact-form-card .abcode-contact-form{box-shadow:var(--shadow);border-radius:17px}
.contact-faq-grid{
  display:grid;grid-template-columns:.65fr 1.35fr;gap:65px
}
.contact-faq-grid h2{font-size:2.8rem;line-height:1;letter-spacing:-.045em}
.faq-list details{border-bottom:1px solid var(--border);padding:18px 0}
.faq-list summary{font-size:.94rem;font-weight:800;cursor:pointer}
.faq-list p{color:var(--muted);font-size:.86rem}

/* Blog */
.blog-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px
}
.blog-card{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff
}
.blog-card img{width:100%;height:220px;object-fit:cover}
.blog-card__body{padding:22px}
.blog-card h2{font-size:1.2rem;line-height:1.17;margin:8px 0}
.blog-card p{color:var(--muted);font-size:.83rem}
.article-hero{padding:70px 0 30px;background:#fff}
.article-hero h1{
  margin:9px 0 15px;
  font-size:clamp(3rem,5vw,5.3rem);
  line-height:.98;
  letter-spacing:-.06em
}
.article-meta{color:var(--muted);font-size:.8rem}
.article-cover{margin-top:32px}
.article-cover img{width:100%;max-height:500px;object-fit:cover;border-radius:18px}
.article-body{padding-top:40px}
.article-cta{
  padding:32px;
  border-radius:16px;
  background:#f6f7fb
}
.article-cta h2{max-width:18ch;font-size:2rem;line-height:1.05;letter-spacing:-.04em}

/* Product archive */
.product-archive-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:20px
}
.product-archive-card{
  overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#fff
}
.product-archive-card__media img{width:100%;height:290px;object-fit:cover}
.product-archive-card__body{padding:25px}
.product-archive-card h2{margin:7px 0 10px;font-size:1.45rem}
.product-archive-card p:not(.eyebrow){color:var(--muted)}

/* responsive 2.2 */
@media(max-width:1100px){
  .home-solutions__grid{grid-template-columns:repeat(2,1fr)}
  .capability-grid,.archive-card-grid{grid-template-columns:repeat(2,1fr)}
  .capability-grid--4,.archive-card-grid--4{grid-template-columns:repeat(2,1fr)}
  .expertise-grid{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .internal-hero__grid,
  .case-study-hero__grid,
  .problem-outcome-grid,
  .process-section,
  .content-editorial-grid,
  .about-intro-grid,
  .contact-hero__grid,
  .contact-faq-grid{
    grid-template-columns:1fr
  }
  .case-story-grid{grid-template-columns:1fr}
  .product-archive-grid,.case-archive-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .home-solutions__grid,
  .capability-grid,
  .capability-grid--4,
  .archive-card-grid,
  .archive-card-grid--4,
  .expertise-grid,
  .blog-grid{
    grid-template-columns:1fr
  }
  .home-solution-card{
    grid-template-columns:50px 1fr;
    gap:15px;
    padding:20px
  }
  .home-solution-card__icon{width:46px;height:46px}
  .solution-flow{flex-wrap:wrap;justify-content:center}
  .solution-flow span{min-width:80px}
  .solution-hero-panel__cards{grid-template-columns:1fr}
}

/* ABCODE 2.3 */
.archive-hero--brand{
  position:relative;overflow:hidden;color:#fff;border-bottom:0;
  background:radial-gradient(circle at 80% 35%,rgba(239,5,88,.16),transparent 28%),linear-gradient(145deg,#061225,#09182d 68%,#171026)
}
.archive-hero--brand:after,.contact-hero--dark:after,.product-hero--dark:after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background:repeating-radial-gradient(ellipse at 86% 56%,transparent 0 11px,rgba(239,5,88,.22) 12px 13px,transparent 14px 24px);
  transform:skewY(-3deg)
}
.archive-hero--brand .archive-hero__inner,.contact-hero--dark .container,.product-hero--dark .container{position:relative;z-index:1}
.archive-hero--brand p:not(.eyebrow){color:rgba(255,255,255,.68)}
.archive-hero--brand h1{color:#fff}

.contact-hero--dark{
  position:relative;overflow:hidden;color:#fff;padding:58px 0;
  background:radial-gradient(circle at 76% 34%,rgba(239,5,88,.15),transparent 30%),linear-gradient(145deg,#061225,#0a1730 65%,#171026)
}
.contact-hero--dark .contact-intro>p{color:rgba(255,255,255,.68)}
.contact-points--dark div{border-bottom-color:rgba(255,255,255,.13)}
.contact-points--dark span{color:#fff}
.contact-form-card{position:relative;z-index:2}
.contact-form-missing{padding:24px;border-radius:14px;background:#fff;color:var(--text)}
.contact-after{padding:34px 0 48px;background:#fff;border-bottom:1px solid var(--border)}
.contact-after__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.contact-after__grid article{padding:20px;border:1px solid var(--border);border-radius:12px;background:#fff}
.contact-after__grid span{display:block;color:var(--brand);font-size:.68rem;font-weight:900;letter-spacing:.1em}
.contact-after__grid h3{margin:12px 0 7px;font-size:.9rem}
.contact-after__grid p{margin:0;color:var(--muted);font-size:.76rem}

.product-hero--dark{
  position:relative;overflow:hidden;color:#fff;padding:46px 0 52px;
  background:radial-gradient(circle at 79% 35%,rgba(239,5,88,.15),transparent 31%),linear-gradient(145deg,#061225,#0a1730 65%,#171026)
}
.product-hero--dark .breadcrumbs{color:rgba(255,255,255,.52)}
.product-hero--dark .breadcrumbs a{color:rgba(255,255,255,.72)}
.product-hero--dark .product-tagline{color:rgba(255,255,255,.84)}
.product-hero--dark .lead{color:rgba(255,255,255,.68)}
.product-hero--dark .button--secondary{color:#fff;background:transparent;border-color:rgba(255,255,255,.32)}
.internal-hero--dark .integration-diagram{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}

@media(max-width:900px){
  .contact-after__grid{grid-template-columns:1fr}
  .contact-hero--dark{padding:42px 0}
}

/* ABCODE 2.3.1 contact form refinement */
.contact-hero__grid{grid-template-columns:.68fr 1.32fr;gap:48px}
.contact-form-card{max-width:780px;margin-left:auto;width:100%}
@media(max-width:900px){
  .contact-hero__grid{grid-template-columns:1fr}
  .contact-form-card{max-width:none;margin-left:0}
}

/* =========================================================
   ABCODE ENTERPRISE 2.5 — ACCESSIBILITY WCAG 2.2 AA
   - :focus-visible outline
   - prefers-reduced-motion
   ========================================================= */

:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 2px;
  border-radius: 6px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 2px;
  border-radius: 6px;
  box-shadow: 0 0 0 6px rgba(239,5,88,.18);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  html {
    scroll-behavior: auto !important;
  }

  .solution-card,
  .product-mini-card,
  .home-case-card,
  .case-card,
  .archive-card,
  .button,
  .text-link,
  .home-solution-card,
  .product-archive-card {
    transition: none !important;
    transform: none !important;
  }
}

/* =========================================================
   ABCODE ENTERPRISE 2.6 — PRIMARY NAV: DROPDOWN SUBMENU
   Before this release the theme never used multi-level nav.
   With 7 products + 7 solutions as child pages we need a
   hoverable dropdown.
   ========================================================= */

.primary-nav__menu,
.primary-nav__menu ul,
.primary-nav__menu li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.primary-nav__menu li {
  position: relative;
}

.primary-nav__menu > li {
  display: flex;
  align-items: center;
}

.primary-nav__menu li.menu-item-has-children > a,
.primary-nav__menu li.page_item_has_children > a {
  padding-right: 18px;
}

.primary-nav__menu li.menu-item-has-children > a::after,
.primary-nav__menu li.page_item_has_children > a::after {
  content: "";
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid currentColor;
  opacity: .6;
  pointer-events: none;
}

.primary-nav__menu li > .sub-menu,
.primary-nav__menu li > ul.children {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 260px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(7, 19, 41, .12);
  z-index: 99999;
  flex-direction: column;
  gap: 2px;
  list-style: none !important;
}

.primary-nav__menu li > .sub-menu::before,
.primary-nav__menu li > ul.children::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 12px;
  background: transparent;
}

.primary-nav__menu li:hover > .sub-menu,
.primary-nav__menu li:hover > ul.children,
.primary-nav__menu li:focus-within > .sub-menu,
.primary-nav__menu li:focus-within > ul.children {
  display: flex !important;
}

.primary-nav__menu li > .sub-menu li,
.primary-nav__menu li > ul.children li {
  width: 100%;
  display: block;
  position: relative;
}

.primary-nav__menu li > .sub-menu li > a,
.primary-nav__menu li > ul.children li > a {
  display: block;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: .8rem;
  font-weight: 720;
  line-height: 1.35;
  color: var(--text);
  white-space: normal;
  word-break: break-word;
  transition: background .12s ease, color .12s ease;
}

.primary-nav__menu li > .sub-menu li > a:hover,
.primary-nav__menu li > ul.children li > a:hover,
.primary-nav__menu li > .sub-menu li.current-menu-item > a,
.primary-nav__menu li > ul.children li.current_page_item > a {
  background: rgba(239, 5, 88, .08);
  color: var(--brand);
}

.primary-nav__menu li > .sub-menu li > .sub-menu,
.primary-nav__menu li > ul.children li > ul.children {
  left: calc(100% + 6px);
  top: -10px;
  transform: none;
}

/* Mobile: .primary-nav.is-open is the toggle panel.
   On touch devices hover dropdown is unusable, so we always
   expand submenus inside the mobile panel with an indent. */
@media (max-width: 940px) {
  .primary-nav.is-open .primary-nav__menu li > .sub-menu,
  .primary-nav.is-open .primary-nav__menu li > ul.children {
    display: block !important;
    position: static;
    transform: none;
    min-width: 0;
    width: 100%;
    padding: 6px 0 8px 14px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    flex-direction: column;
  }

  .primary-nav.is-open .primary-nav__menu li.menu-item-has-children > a,
  .primary-nav.is-open .primary-nav__menu li.page_item_has_children > a {
    padding-right: 0;
  }

  .primary-nav.is-open .primary-nav__menu li.menu-item-has-children > a::after,
  .primary-nav.is-open .primary-nav__menu li.page_item_has_children > a::after {
    display: none;
  }

  .primary-nav.is-open .primary-nav__menu li > .sub-menu li > a,
  .primary-nav.is-open .primary-nav__menu li > ul.children li > a {
    padding: 7px 10px;
    font-weight: 660;
    color: #344054;
  }
}

/* Tablet mid-range: keep dropdown, just tighter spacing. */
@media (min-width: 941px) and (max-width: 1180px) {
  .primary-nav__menu {
    gap: 18px;
  }
  .primary-nav__menu li > .sub-menu,
  .primary-nav__menu li > ul.children {
    min-width: 230px;
  }
}

/* ============================================================
   ABCODE ENTERPRISE 2.6.4 — Newsletter form footer (AJAX)
   ============================================================ */

.footer-newsletter form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}

.footer-newsletter form > * {
  width: 100%;
}

.footer-newsletter input[type="email"] {
  width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color: #f3f4f6;
  font-size: 15px;
  line-height: 1.4;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.footer-newsletter input[type="email"]::placeholder {
  color: rgba(243,244,246,0.55);
}

.footer-newsletter input[type="email"]:focus {
  outline: none;
  border-color: #e11d48;
  background: rgba(255,255,255,0.10);
  box-shadow: 0 0 0 3px rgba(225,29,72,0.18);
}

.footer-newsletter input[type="email"]:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}

.footer-newsletter .button.button--primary {
  justify-content: center;
  width: 100%;
}

.footer-newsletter .button.is-loading {
  opacity: 0.7;
  cursor: progress;
  pointer-events: none;
}

.abcode-newsletter-message {
  margin-top: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  min-height: 0;
}

.abcode-newsletter-message.is-success {
  background: rgba(16,185,129,0.14);
  border: 1px solid rgba(16,185,129,0.32);
  color: #6ee7b7;
}

.abcode-newsletter-message.is-error {
  background: rgba(239,68,68,0.12);
  border: 1px solid rgba(239,68,68,0.32);
  color: #fca5a5;
}

.abcode-newsletter-message.is-info {
  background: rgba(59,130,246,0.12);
  border: 1px solid rgba(59,130,246,0.32);
  color: #93c5fd;
}

@media (min-width: 720px) {
  .footer-newsletter form {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }
  .footer-newsletter input[type="email"] {
    flex: 1 1 220px;
  }
  .footer-newsletter .button.button--primary {
    width: auto;
    flex: 0 0 auto;
    padding: 12px 22px;
  }
  .abcode-newsletter-message {
    flex-basis: 100%;
  }
}
