@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@600;700;800&display=swap');


/* =============================================================
   AMZEAL CREATIVES PREMIUM WEBSITE
   Static cPanel-ready build. Fonts: Inter/system fallback.
   ============================================================= */
:root{
  --navy-950:#071126;
  --navy-900:#0b132b;
  --navy-850:#0d1b3d;
  --navy-800:#10234f;
  --blue-700:#1d4ed8;
  --blue-600:#2563eb;
  --blue-500:#1da1ff;
  --cyan-400:#22d3ee;
  --cyan-500:#06b6d4;
  --sky-50:#eff8ff;
  --slate-950:#0f172a;
  --slate-800:#1e293b;
  --slate-700:#334155;
  --slate-600:#475569;
  --slate-500:#64748b;
  --slate-300:#cbd5e1;
  --slate-200:#e2e8f0;
  --slate-100:#f1f5f9;
  --slate-50:#f8fafc;
  --white:#ffffff;
  --success:#10b981;
  --shadow-sm:0 8px 24px rgba(15,23,42,.08);
  --shadow-md:0 18px 50px rgba(15,23,42,.13);
  --shadow-lg:0 28px 90px rgba(15,23,42,.22);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:28px;
  --container:1180px;
  --header-height:82px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:var(--slate-800);
  background:#fff;
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
::selection{background:rgba(34,211,238,.28);color:var(--navy-900)}
.container{width:min(var(--container), calc(100% - 40px));margin-inline:auto}
.container-wide{width:min(1320px, calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:10px 14px;background:#fff;color:var(--navy-900);z-index:9999;border-radius:10px;box-shadow:var(--shadow-md)}

/* Typography scale */
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--blue-600);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:12px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:99px;background:linear-gradient(135deg,var(--blue-600),var(--cyan-400));box-shadow:0 0 0 6px rgba(37,99,235,.08)}
h1,h2,h3,h4{margin:0;color:var(--navy-900);font-family:Manrope, Inter, ui-sans-serif, system-ui, sans-serif;letter-spacing:-.04em;line-height:1.06;text-wrap:balance}
h1{font-size:clamp(42px,4.8vw,72px);font-weight:800}
h2{font-size:clamp(31px,3.1vw,44px);font-weight:750}
h3{font-size:clamp(22px,1.8vw,28px);font-weight:750}
h4{font-size:18px;font-weight:700;letter-spacing:-.015em}
p{margin:0;color:var(--slate-600)}
.lead{font-size:clamp(17px,1.28vw,19px);line-height:1.75;color:#dbeafe}
.section-intro{max-width:760px;margin:0 auto 38px;text-align:center}.section-intro p{font-size:18px}.text-center{text-align:center}.text-white{color:#fff}.text-cyan{color:var(--cyan-400)}
body, p, li, input, select, textarea, .trust-chip, .footer-links a, .contact-item span{font-weight:400}
.section-intro p, .project-copy p, .industry-card p, .testimonial p{font-weight:400}
.link-arrow, .field label, .breadcrumb, .trust-chip, .topbar-item, .metric span{font-weight:600}
.card h3, .project-copy h3, .industry-card h3, .footer-col h4, .contact-item strong, .metric strong{font-family:Manrope, Inter, ui-sans-serif, system-ui, sans-serif}

/* Header */
.site-topbar{background:var(--navy-950);color:rgba(255,255,255,.86);font-size:13px;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}
.topbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.topbar-item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.topbar-item svg{width:15px;height:15px;color:var(--cyan-400)}
.socials{display:flex;align-items:center;gap:12px}.socials a{display:inline-grid;place-items:center;width:24px;height:24px;color:rgba(255,255,255,.88);transition:.2s}.socials a:hover{color:var(--cyan-400);transform:translateY(-1px)}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(18px);box-shadow:0 1px 0 rgba(15,23,42,.08);transition:.25s ease}
.site-header.scrolled{box-shadow:0 12px 36px rgba(15,23,42,.1)}
.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:188px}.brand img{width:170px;height:auto;object-fit:contain}.footer-brand img{width:178px;background:#fff;border-radius:16px;padding:8px;box-shadow:0 16px 38px rgba(0,0,0,.22)}
.nav-wrap{display:flex;align-items:center;gap:26px}.nav-menu{display:flex;align-items:center;gap:26px;list-style:none;padding:0;margin:0}.nav-menu a{position:relative;font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--slate-700);padding:28px 0}.nav-menu a::after{content:"";position:absolute;left:0;right:0;bottom:20px;height:3px;background:linear-gradient(90deg,var(--blue-600),var(--cyan-400));border-radius:99px;transform:scaleX(0);transform-origin:left;transition:.22s ease}.nav-menu a:hover,.nav-menu a.active{color:var(--blue-600)}.nav-menu a:hover::after,.nav-menu a.active::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:12px}.hamburger{display:none;position:relative;width:46px;height:46px;border:1px solid var(--slate-200);border-radius:14px;background:#fff;color:var(--navy-900);cursor:pointer;box-shadow:var(--shadow-sm)}.hamburger span{display:block;width:20px;height:2px;background:currentColor;border-radius:99px;margin:5px auto;transition:.22s ease}.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:14px;border:1px solid transparent;font-weight:700;font-size:14px;letter-spacing:-.01em;transition:.22s ease;cursor:pointer;white-space:nowrap}.btn svg{width:18px;height:18px}.btn-primary{background:linear-gradient(135deg,var(--blue-600),var(--blue-500));color:#fff;box-shadow:0 16px 32px rgba(37,99,235,.25)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 46px rgba(37,99,235,.32)}.btn-secondary{background:#fff;color:var(--navy-900);border-color:rgba(15,23,42,.14);box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:var(--blue-600);color:var(--blue-600);transform:translateY(-2px)}.btn-dark-outline{background:rgba(255,255,255,.04);color:#fff;border-color:rgba(255,255,255,.24)}.btn-dark-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.42);transform:translateY(-2px)}.btn-small{min-height:40px;padding-inline:16px;border-radius:12px;font-size:13px}.link-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue-600);font-weight:850;font-size:14px;margin-top:auto}.link-arrow:hover{gap:12px}

/* Hero */
.hero{position:relative;isolation:isolate;background:radial-gradient(circle at 86% 22%, rgba(34,211,238,.24), transparent 32%),linear-gradient(120deg,var(--navy-950) 0%,var(--navy-900) 45%,#0c2552 100%);color:#fff;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px, transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,#000,transparent 72%);opacity:.5;z-index:-1}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,560px);align-items:center;gap:56px;min-height:700px;padding:84px 0 86px}.hero-copy{max-width:620px}.hero h1{color:#fff;max-width:9.2ch;line-height:.98}.hero h1 span{display:block;color:var(--cyan-400)}.hero .lead{max-width:550px;margin-top:24px}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px}.trusted{margin-top:38px}.trusted p{font-size:12px;color:#93c5fd;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.trust-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.trust-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#e0f2fe;background:rgba(255,255,255,.04);font-size:13px;font-weight:750}.trust-chip svg{width:16px;height:16px;color:var(--cyan-400)}
.hero-visual{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;min-height:620px;padding-left:26px}.hero-image-card{position:relative;overflow:hidden;border-radius:32px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);width:100%;max-width:560px;margin-left:auto}.hero-image-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,38,.35),transparent 42%);pointer-events:none}.hero-image-card img{width:100%;aspect-ratio:1 / 1.02;height:auto;min-height:540px;object-fit:cover;object-position:72% center}.floating-dashboard{position:absolute;left:-34px;bottom:-34px;width:min(420px,60%);border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.28);box-shadow:0 28px 70px rgba(0,0,0,.35);background:#fff}.floating-dashboard img{height:228px;width:100%;object-fit:cover;object-position:center center}.hero-badge{position:absolute;right:18px;bottom:28px;display:grid;gap:4px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.95);color:var(--navy-900);box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}.hero-badge strong{font-size:26px;line-height:1;color:var(--blue-600)}.hero-badge span{font-size:13px;color:var(--slate-600);font-weight:750}
.metric-strip{position:relative;margin-top:-42px;z-index:4}.metrics-card{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-md);border-radius:24px;overflow:hidden}.metric{display:flex;align-items:center;gap:16px;padding:28px 30px;min-height:106px}.metric:not(:last-child){border-right:1px solid var(--slate-200)}.metric-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(37,99,235,.08);color:var(--blue-600)}.metric-icon svg{width:25px;height:25px}.metric strong{display:block;font-size:30px;line-height:1;color:var(--navy-900);letter-spacing:-.04em}.metric span{display:block;font-size:13px;color:var(--slate-600);font-weight:750;margin-top:4px}

/* Sections */
section{padding:96px 0}.section-soft{background:linear-gradient(180deg,#fff 0%,var(--slate-50) 100%)}.section-navy{background:linear-gradient(135deg,var(--navy-950),var(--navy-850));color:#fff}.section-navy h2,.section-navy h3{color:#fff}.section-navy p{color:#cbd5e1}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}.section-head .copy{max-width:680px}.section-head p{font-size:18px;margin-top:14px}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:.25s ease;overflow:hidden}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:rgba(37,99,235,.18)}.card-pad{padding:28px}.icon-box{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.2);margin-bottom:22px}.icon-box svg{width:26px;height:26px}.service-card{min-height:255px;display:flex;flex-direction:column}.service-card h3{font-size:20px;margin-bottom:10px}.service-card p{font-size:15.5px;margin-bottom:18px}.services-dense .service-card{min-height:300px}

/* Portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;box-shadow:var(--shadow-sm);overflow:hidden;transition:.25s ease}.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.project-media{height:214px;overflow:hidden;background:var(--slate-100)}.project-media img{width:100%;height:100%;object-fit:cover;transition:.45s ease}.project-card:hover .project-media img{transform:scale(1.05)}.project-body{padding:22px}.tag{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(37,99,235,.08);color:var(--blue-600);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.project-body h3{font-size:20px;margin-bottom:10px}.project-body p{font-size:15px}.project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.project-meta span{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--slate-50);border:1px solid var(--slate-200);font-size:12px;color:var(--slate-600);font-weight:750}
.filter-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filter-btn{border:1px solid var(--slate-200);background:#fff;color:var(--slate-700);border-radius:999px;padding:10px 16px;font-size:13px;font-weight:850;cursor:pointer;transition:.2s}.filter-btn:hover,.filter-btn.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff}

/* Process */
.process-line{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-top:34px}.process-line::before{content:"";position:absolute;left:9%;right:9%;top:34px;border-top:2px dashed rgba(37,99,235,.26)}.step{position:relative;text-align:center;padding:0 16px}.step-number{position:relative;z-index:2;width:68px;height:68px;margin:0 auto 18px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue-600),var(--cyan-400));color:#fff;font-weight:900;box-shadow:0 16px 32px rgba(37,99,235,.22);border:7px solid #fff}.step h4{margin-bottom:8px}.step p{font-size:14px;line-height:1.6}

/* Split / About */
.split{display:grid;grid-template-columns:1fr .95fr;gap:54px;align-items:center}.image-stack{position:relative}.image-stack .main-img{border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(15,23,42,.08)}.image-stack .main-img img{height:460px;width:100%;object-fit:cover}.proof-card{position:absolute;right:-24px;bottom:-28px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:22px;box-shadow:var(--shadow-md);width:min(290px,80%)}.proof-card h4{margin-bottom:12px}.proof-item{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--slate-200);padding:12px 0}.proof-item:first-of-type{border-top:0}.proof-item strong{color:var(--blue-600);font-size:28px;letter-spacing:-.04em}.proof-item span{font-size:13px;font-weight:800;color:var(--slate-600)}.feature-list{display:grid;gap:16px;margin-top:28px}.feature-row{display:flex;gap:14px;align-items:flex-start}.feature-row svg{flex:0 0 auto;width:24px;height:24px;color:var(--blue-600);margin-top:3px}.feature-row strong{display:block;color:var(--navy-900);margin-bottom:2px}.feature-row p{font-size:15px}.team-grid{grid-template-columns:repeat(4,1fr)}.team-card{padding:18px}.avatar{width:100%;aspect-ratio:1/1;border-radius:18px;background:linear-gradient(135deg,#dbeafe,#f8fafc);display:grid;place-items:center;margin-bottom:14px;color:var(--blue-600)}.avatar svg{width:44px;height:44px}.team-card h4{font-size:16px}.team-card p{font-size:13px}

/* Industries */
.industry-card{position:relative;min-height:248px;border-radius:22px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:24px;isolation:isolate;background:var(--navy-900);box-shadow:var(--shadow-sm)}.industry-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(7,17,38,.88) 100%);z-index:-1}.industry-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:.45s ease}.industry-card:hover img{transform:scale(1.06)}.industry-card h3{color:#fff;font-size:22px;margin-bottom:6px}.industry-card p{color:#dbeafe;font-size:14px}.industry-icon{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.12);display:grid;place-items:center;margin-bottom:14px}.industry-icon svg{width:22px;height:22px;color:var(--cyan-400)}

/* Testimonials */
.testimonial{padding:26px}.quote-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:rgba(37,99,235,.08);color:var(--blue-600);margin-bottom:20px}.testimonial p{font-size:16px;color:var(--slate-700)}.client{display:flex;align-items:center;gap:12px;margin-top:22px}.client-img{width:46px;height:46px;border-radius:999px;background:linear-gradient(135deg,var(--blue-600),var(--cyan-400));display:grid;place-items:center;color:#fff;font-weight:900}.client strong{display:block;color:var(--navy-900)}.client span{font-size:13px;color:var(--slate-500)}

/* Blueprint / tech */
.blueprint-panel{display:grid;grid-template-columns:1fr .8fr;gap:34px;align-items:center;background:linear-gradient(135deg,var(--navy-950),#10234f);border-radius:32px;padding:34px;color:#fff;box-shadow:var(--shadow-lg);overflow:hidden}.blueprint-panel h2{color:#fff}.blueprint-panel p{color:#dbeafe}.blueprint-panel img{border-radius:24px;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 60px rgba(0,0,0,.28)}.design-tokens{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.token{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:16px;padding:16px}.token strong{display:block;color:#fff;margin-bottom:4px}.token span{font-size:13px;color:#bfdbfe}

/* CTA */
.cta-band{position:relative;overflow:hidden;border-radius:30px;background:radial-gradient(circle at 80% 20%, rgba(34,211,238,.3), transparent 34%),linear-gradient(135deg,var(--blue-600),var(--navy-900));padding:42px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow-md)}.cta-band h2{color:#fff;font-size:clamp(28px,3vw,42px)}.cta-band p{color:#dbeafe;font-size:17px;margin-top:10px}.cta-band .btn{background:#fff;color:var(--blue-600)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:start}.contact-card{padding:30px}.contact-list{display:grid;gap:18px;margin-top:28px}.contact-item{display:flex;gap:14px;align-items:flex-start}.contact-item svg{width:24px;height:24px;color:var(--blue-600);flex:0 0 auto}.contact-item strong{display:block;color:var(--navy-900)}.contact-item span{font-size:15px;color:var(--slate-600)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-weight:850;color:var(--slate-800);font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--slate-200);border-radius:14px;background:var(--slate-50);padding:14px 15px;color:var(--slate-800);outline:0;transition:.2s}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-600);background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.1)}.form-note{font-size:13px;color:var(--slate-500);margin-top:14px}

/* Footer */
.site-footer{background:var(--navy-950);color:#cbd5e1;padding-top:70px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr) 1.15fr;gap:34px}.footer-col h4{color:#fff;margin-bottom:16px}.footer-col p{color:#cbd5e1;font-size:15px}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:9px}.footer-links a{color:#cbd5e1;font-size:14px;transition:.2s}.footer-links a:hover{color:var(--cyan-400)}.footer-contact{display:grid;gap:10px}.footer-contact span{display:flex;gap:10px;align-items:flex-start;color:#cbd5e1;font-size:14px}.footer-contact svg{width:18px;height:18px;color:var(--cyan-400);margin-top:2px;flex:0 0 auto}.footer-bottom{margin-top:56px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#94a3b8;font-size:13px}.footer-bottom a{color:#cbd5e1;margin-left:16px}.footer-bottom a:hover{color:var(--cyan-400)}

/* Page hero */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 0%, rgba(34,211,238,.18), transparent 35%),linear-gradient(135deg,var(--navy-950),var(--navy-850));padding:92px 0;color:#fff}.page-hero h1{color:#fff;max-width:860px}.page-hero p{color:#dbeafe;font-size:18px;max-width:760px;margin-top:18px}.breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:18px;color:#93c5fd;font-size:14px;font-weight:800}.breadcrumb a{color:#fff}

/* Utility */
.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}.mb-0{margin-bottom:0}.hide{display:none!important}.reveal{opacity:0;transform:translateY(18px);transition:.55s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}

@media (max-width:1100px){
  :root{--header-height:76px}.topbar-inner{justify-content:center}.socials{display:none}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:70px 0 104px}.hero-copy{max-width:850px}.hero-visual{min-height:auto;padding-left:0}.hero-image-card{max-width:none}.hero-image-card img{min-height:470px;aspect-ratio:auto}.floating-dashboard{left:24px}.grid-4{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.process-line{grid-template-columns:1fr;gap:22px}.process-line::before{display:none}.step{display:grid;grid-template-columns:68px 1fr;text-align:left;gap:18px;padding:18px;border:1px solid var(--slate-200);border-radius:18px;background:#fff}.step-number{margin:0}.split{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.contact-grid{grid-template-columns:1fr}.blueprint-panel{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .container,.container-wide{width:min(100% - 28px, var(--container))}.site-topbar{display:none}.header-inner{height:74px}.brand img{width:150px}.hamburger{display:inline-block}.nav-wrap{position:fixed;left:14px;right:14px;top:84px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-lg);border-radius:22px;padding:16px;display:none;z-index:999}.nav-wrap.open{display:block}.nav-menu{display:grid;gap:0}.nav-menu a{display:block;padding:14px 12px;border-radius:12px}.nav-menu a::after{display:none}.nav-menu a:hover,.nav-menu a.active{background:var(--slate-50)}.header-actions .desktop-only{display:none}.hero h1{font-size:42px}.hero-grid{gap:32px;padding:54px 0 80px}.hero-visual{padding-left:0}.hero-image-card img{min-height:380px;aspect-ratio:auto;object-position:center center}.floating-dashboard{position:relative;left:auto;bottom:auto;width:100%;margin-top:16px}.floating-dashboard img{height:210px}.hero-badge{right:14px;bottom:14px}.metrics-card{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric{padding:22px}.grid-3,.grid-4{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.section-head{display:block}.section-head .btn{margin-top:20px}.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.cta-band{display:block;padding:30px}.cta-band .btn{margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom div:last-child{margin-top:12px}.proof-card{position:relative;right:auto;bottom:auto;margin-top:18px;width:100%}.image-stack .main-img img{height:360px}.page-hero{padding:66px 0}.design-tokens{grid-template-columns:1fr}
}
@media (max-width:560px){
  body{font-size:15px}.hero h1{font-size:36px}.hero .lead{font-size:16px}.hero-actions .btn{width:100%}.hero-image-card img{min-height:320px;aspect-ratio:auto;object-position:center center}.metrics-card{grid-template-columns:1fr}.metric{border-right:0!important;border-bottom:1px solid var(--slate-200)}.metric:last-child{border-bottom:0}section{padding:70px 0}.footer-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.project-media{height:200px}.industry-card{min-height:220px}.footer-bottom a{margin-left:0;margin-right:14px;display:inline-block;margin-top:8px}.blueprint-panel{padding:24px;border-radius:24px}.cta-band{border-radius:22px}.btn{width:auto}.header-actions .btn-small{display:none}.brand{min-width:auto}.brand img{width:138px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* =============================================================
   V3 HOMEPAGE MOCKUP ALIGNMENT FIX
   Goal: match the approved homepage mockup more closely:
   compact premium hero, integrated right image/dashboard, sharp fonts,
   lighter typography weights, balanced cards, responsive hamburger.
   ============================================================= */

:root{
  --mockup-container: 1260px;
}

body{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-weight: 400;
  letter-spacing: -0.006em;
}
h1,h2,h3,h4,
.metric strong,
.project-body h3,
.service-card h3,
.footer-col h4{
  font-family: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.035em;
}
h1{font-weight:700}
h2{font-weight:700}
h3{font-weight:700}
.btn,.nav-menu a,.tag,.link-arrow{font-weight:650}

.site-header{background:rgba(255,255,255,.96)}
.header-inner{height:72px}
.brand img{width:174px}
.nav-menu{gap:30px}
.nav-menu a{font-size:14px;padding:25px 0}
.nav-menu a::after{bottom:17px}
.btn-small{min-height:42px;padding-inline:18px;border-radius:9px}

.hero{
  background:
    linear-gradient(90deg, rgba(7,17,38,.98) 0%, rgba(7,17,38,.96) 32%, rgba(7,17,38,.72) 55%, rgba(12,37,82,.96) 100%),
    radial-gradient(circle at 85% 12%, rgba(34,211,238,.18), transparent 32%),
    var(--navy-950);
}
.hero::before{opacity:.35}
.hero-grid{
  width:min(var(--mockup-container), calc(100% - 44px));
  grid-template-columns:410px minmax(0,1fr);
  gap:34px;
  min-height:505px;
  padding:34px 0 42px;
  align-items:stretch;
}
.hero-copy{
  max-width:410px;
  align-self:center;
  padding-top:4px;
  position:relative;
  z-index:4;
}
.hero .eyebrow{
  font-size:11px;
  letter-spacing:.15em;
  margin-bottom:16px;
  color:#60a5fa;
  border:1px solid rgba(96,165,250,.28);
  border-radius:999px;
  padding:6px 13px;
  background:rgba(37,99,235,.08);
}
.hero .eyebrow::before{
  width:6px;
  height:6px;
  box-shadow:none;
}
.hero h1{
  max-width:10.4ch;
  font-size:clamp(39px,4.05vw,56px);
  line-height:1.02;
  color:#fff;
}
.hero h1 span{color:#1da1ff}
.hero .lead{
  max-width:390px;
  margin-top:18px;
  font-size:15.8px;
  line-height:1.62;
  color:rgba(226,232,240,.92);
}
.hero-actions{margin-top:24px;gap:12px}
.hero-actions .btn{
  min-height:44px;
  padding-inline:18px;
  border-radius:10px;
}
.trusted{margin-top:28px}
.trusted p{
  font-size:10.5px;
  line-height:1.55;
  color:#bfdbfe;
  letter-spacing:.15em;
  max-width:350px;
}
.trust-chips{gap:8px;margin-top:12px}
.trust-chip{
  padding:6px 10px;
  font-size:12px;
  border-color:rgba(255,255,255,.20);
  background:rgba(255,255,255,.055);
}
.trust-chip svg{width:15px;height:15px}

.hero-visual{
  min-height:505px;
  padding-left:0;
  display:block;
  position:relative;
  overflow:visible;
}
.hero-image-card{
  position:absolute;
  top:-34px;
  right:-12px;
  width:min(760px,100%);
  max-width:none;
  height:380px;
  margin:0;
  border-radius:0 0 0 36px;
  border:0;
  box-shadow:none;
  background:transparent;
}
.hero-image-card::after{
  background:
    linear-gradient(90deg, rgba(7,17,38,.92) 0%, rgba(7,17,38,.55) 24%, rgba(7,17,38,.05) 60%),
    linear-gradient(180deg, rgba(7,17,38,.08) 0%, rgba(7,17,38,.35) 100%);
}
.hero-image-card img{
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:64% 34%;
}

.floating-dashboard{
  left:20px;
  right:auto;
  bottom:4px;
  width:min(620px,72%);
  border-radius:20px;
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 26px 65px rgba(0,0,0,.38);
  z-index:3;
}
.floating-dashboard img{
  height:220px;
  object-fit:cover;
  object-position:center center;
}
.hero-badge{
  right:8px;
  bottom:42px;
  min-width:118px;
  min-height:104px;
  justify-content:center;
  text-align:center;
  border-radius:18px;
  z-index:4;
  padding:16px;
}
.hero-badge strong{font-size:24px}
.hero-badge span{
  max-width:92px;
  margin:0 auto;
  line-height:1.3;
}

.metric-strip{
  width:min(var(--mockup-container), calc(100% - 44px));
  margin-top:-38px;
}
.metrics-card{border-radius:18px}
.metric{
  min-height:86px;
  padding:20px 28px;
}
.metric-icon{
  width:43px;
  height:43px;
  border-radius:13px;
}
.metric strong{font-size:27px}
.metric span{
  font-size:12px;
  line-height:1.25;
}

section{padding:72px 0}
.metric-strip + section{padding-top:54px}
.section-intro{margin-bottom:26px}
.section-intro .eyebrow{
  margin-bottom:8px;
  font-size:10px;
  letter-spacing:.14em;
}
.section-intro h2{font-size:clamp(29px,2.6vw,36px)}
.section-intro p{
  font-size:15px;
  line-height:1.55;
  max-width:650px;
  margin:8px auto 0;
}
.grid{gap:18px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card{
  min-height:158px;
  padding:20px;
  border-radius:14px;
  box-shadow:0 7px 22px rgba(15,23,42,.045);
}
.service-card .icon-box{
  width:48px;
  height:48px;
  border-radius:50%;
  margin-bottom:14px;
}
.service-card .icon-box svg{
  width:22px;
  height:22px;
}
.service-card h3{
  font-size:15.5px;
  margin-bottom:6px;
}
.service-card p{
  font-size:12.5px;
  line-height:1.45;
  margin-bottom:8px;
}
.link-arrow{font-size:12px}

.portfolio-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.project-card{border-radius:14px}
.project-media{height:122px}
.project-body{padding:13px 13px 15px}
.tag{
  font-size:9px;
  padding:5px 8px;
  margin-bottom:7px;
}
.project-body h3{
  font-size:14px;
  line-height:1.15;
  margin-bottom:6px;
}
.project-body p{
  font-size:12px;
  line-height:1.45;
}
.process-line{margin-top:20px}
.process-line::before{top:21px}
.step-number{
  width:43px;
  height:43px;
  border-width:4px;
  margin-bottom:10px;
  font-size:12px;
}
.step h4{
  font-size:13px;
  margin-bottom:5px;
}
.step p{
  font-size:11.5px;
  line-height:1.45;
}

.testimonial{padding:18px}
.testimonial p{
  font-size:13px;
  line-height:1.5;
}
.client{margin-top:14px}
.client-img{
  width:40px;
  height:40px;
}
.client strong{font-size:13px}
.client span{font-size:11.5px}
.cta-band{
  border-radius:0;
  padding:30px 44px;
}
.cta-band h2{font-size:clamp(24px,2.4vw,32px)}
.cta-band p{font-size:14px}
.site-footer{padding-top:48px}
.footer-brand img{width:160px}
.footer-grid{gap:28px}
.footer-col p,.footer-links a,.footer-contact span{font-size:13px}
.footer-bottom{margin-top:34px}

@media (max-width:1180px){
  .hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
    padding:56px 0 88px;
  }
  .hero-copy{max-width:720px}
  .hero h1{max-width:12ch}
  .hero-visual{
    min-height:430px;
    margin-top:12px;
  }
  .hero-image-card{
    top:0;
    right:0;
    left:0;
    width:100%;
    height:360px;
    border-radius:28px;
    overflow:hidden;
  }
  .floating-dashboard{
    left:22px;
    bottom:0;
    width:min(560px,70%);
  }
  .hero-badge{
    right:20px;
    bottom:24px;
  }
  .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .header-inner{height:72px}
  .brand img{width:148px}
  .nav-wrap{top:82px}
  .hero-grid{
    width:min(100% - 28px, var(--container));
    padding:42px 0 76px;
  }
  .hero h1{
    font-size:40px;
    max-width:11ch;
  }
  .hero .lead{font-size:15.5px}
  .hero-visual{min-height:auto}
  .hero-image-card{
    position:relative;
    height:auto;
    border-radius:24px;
  }
  .hero-image-card img{
    height:320px;
    object-position:center center;
  }
  .floating-dashboard{
    position:relative;
    left:auto;
    bottom:auto;
    width:100%;
    margin-top:14px;
  }
  .floating-dashboard img{height:210px}
  .hero-badge{
    right:14px;
    bottom:150px;
    min-height:86px;
    min-width:100px;
  }
  .metric-strip{width:min(100% - 28px, var(--container))}
  .metrics-card{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-media{height:160px}
  .process-line{grid-template-columns:1fr}
  .step{grid-template-columns:50px 1fr}
}
@media (max-width:560px){
  .hero h1{
    font-size:34px;
    max-width:100%;
  }
  .hero .eyebrow{font-size:9.5px}
  .hero-actions .btn{width:100%}
  .trust-chips{
    display:grid;
    grid-template-columns:repeat(2,1fr);
  }
  .hero-image-card img{height:280px}
  .hero-badge{
    position:static;
    margin-top:14px;
    width:100%;
  }
  .grid-4,.portfolio-grid,.metrics-card{grid-template-columns:1fr}
  .service-card{min-height:auto}
  .project-media{height:190px}
  .cta-band{
    padding:28px 20px;
    border-radius:0;
  }
}

/* =============================================================
   V4 HERO FIT FINAL — APPROVED MOCKUP MATCH
   Fixes: wider headline lines, image starts at top of hero,
   dashboard overlaps the team image like the approved mockup,
   compact hero height and cache-busted stylesheet.
   ============================================================= */
:root{--mockup-container:1260px;}

.hero{overflow:visible;min-height:570px;background:linear-gradient(90deg,rgba(7,17,38,.99) 0%,rgba(7,17,38,.98) 35%,rgba(7,17,38,.72) 52%,rgba(12,37,82,.98) 100%);}
.hero::before{opacity:.18;}
.hero-grid{width:min(var(--mockup-container),calc(100% - 44px));grid-template-columns:500px minmax(0,1fr);gap:22px;min-height:525px;padding:0 0 66px;align-items:start;position:relative;}
.hero-copy{max-width:500px;align-self:start;padding-top:48px;z-index:6;}
.hero .eyebrow{font-size:10.5px;letter-spacing:.16em;margin-bottom:18px;padding:6px 14px;border-radius:999px;border:1px solid rgba(96,165,250,.28);background:rgba(37,99,235,.08);color:#60a5fa;}
.hero .eyebrow::before{width:6px;height:6px;box-shadow:none;}
.hero h1{max-width:500px;font-size:clamp(42px,3.35vw,56px);line-height:1.05;font-weight:700;color:#fff;letter-spacing:-.04em;}
.hero h1 span{color:#1da1ff;display:block;}
.hero .lead{max-width:430px;margin-top:18px;font-size:15px;line-height:1.58;color:rgba(226,232,240,.92);}
.hero-actions{margin-top:24px;gap:12px;}
.hero-actions .btn{min-height:44px;padding-inline:18px;border-radius:10px;font-size:13.5px;}
.trusted{margin-top:28px;}
.trusted p{font-size:10.3px;line-height:1.55;letter-spacing:.15em;max-width:400px;color:#bfdbfe;}
.trust-chips{gap:8px;margin-top:12px;}
.trust-chip{padding:6px 10px;font-size:11.8px;border-color:rgba(255,255,255,.20);background:rgba(255,255,255,.055);}
.trust-chip svg{width:15px;height:15px;}

.hero-visual{position:relative;display:block;min-height:525px;padding-left:0;overflow:visible;z-index:2;}
.hero-image-card{position:absolute;top:0;right:0;width:100%;height:388px;max-width:none;margin:0;border:0;border-radius:0 0 0 34px;box-shadow:none;background:transparent;overflow:hidden;}
.hero-image-card::after{background:linear-gradient(90deg,rgba(7,17,38,.94) 0%,rgba(7,17,38,.58) 20%,rgba(7,17,38,.08) 55%,rgba(7,17,38,.02) 100%),linear-gradient(180deg,rgba(7,17,38,0) 0%,rgba(7,17,38,.42) 100%);}
.hero-image-card img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:66% 35%;}
.floating-dashboard{position:absolute;left:-18px;bottom:50px;width:min(615px,83%);border-radius:18px;border:1px solid rgba(255,255,255,.34);box-shadow:0 26px 70px rgba(0,0,0,.40);z-index:5;background:#fff;overflow:hidden;}
.floating-dashboard img{height:214px;width:100%;object-fit:cover;object-position:center center;}
.hero-badge{right:6px;bottom:76px;min-width:118px;min-height:104px;padding:16px 14px;border-radius:17px;z-index:7;text-align:center;justify-content:center;background:rgba(255,255,255,.96);}
.hero-badge strong{font-size:24px;}
.hero-badge span{line-height:1.25;max-width:94px;margin-inline:auto;}

.metric-strip{width:min(var(--mockup-container),calc(100% - 44px));margin-top:-48px;z-index:10;}
.metrics-card{border-radius:18px;box-shadow:0 16px 46px rgba(15,23,42,.13);}
.metric{min-height:86px;padding:20px 34px;}
.metric-icon{width:44px;height:44px;border-radius:13px;}
.metric strong{font-size:27px;}
.metric span{font-size:12px;line-height:1.25;}

@media (min-width:1500px){
  .hero-grid{grid-template-columns:520px minmax(0,1fr);}
  .hero h1{max-width:520px;font-size:58px;}
  .hero-image-card{height:398px;}
  .floating-dashboard{width:min(650px,84%);bottom:48px;}
}
@media (max-width:1180px){
  .hero{min-height:auto;overflow:hidden;}
  .hero-grid{grid-template-columns:1fr;min-height:auto;padding:44px 0 86px;gap:28px;}
  .hero-copy{max-width:740px;padding-top:0;}
  .hero h1{max-width:680px;}
  .hero-visual{min-height:450px;}
  .hero-image-card{top:0;left:0;right:0;width:100%;height:360px;border-radius:28px;}
  .floating-dashboard{left:22px;bottom:0;width:min(560px,70%);}
  .hero-badge{right:22px;bottom:24px;}
}
@media (max-width:860px){
  .hero-grid{width:min(100% - 28px,var(--container));padding:38px 0 78px;}
  .hero h1{font-size:40px;max-width:100%;}
  .hero .lead{font-size:15.5px;}
  .hero-visual{min-height:auto;}
  .hero-image-card{position:relative;height:auto;border-radius:24px;}
  .hero-image-card img{height:320px;object-position:center center;}
  .floating-dashboard{position:relative;left:auto;bottom:auto;width:100%;margin-top:14px;}
  .floating-dashboard img{height:210px;}
  .hero-badge{position:absolute;right:14px;bottom:150px;min-height:86px;min-width:100px;}
}
@media (max-width:560px){
  .hero h1{font-size:34px;}
  .hero .eyebrow{font-size:9.5px;}
  .hero-actions .btn{width:100%;}
  .trust-chips{display:grid;grid-template-columns:repeat(2,1fr);}
  .hero-image-card img{height:280px;}
  .hero-badge{position:static;margin-top:14px;width:100%;}
}

/* =============================================================
   V5 HERO RIGHT FIT EXACT TUNE
   Uses the generated approved-style composite hero visual so the
   right-side image fits the hero exactly like the mockup.
   ============================================================= */
.hero{overflow:visible}
.hero-grid{
  width:min(1260px, calc(100% - 44px));
  grid-template-columns: 410px minmax(0,1fr);
  gap: 30px;
  min-height: 505px;
  padding: 30px 0 36px;
  align-items: stretch;
}
.hero-copy{
  max-width: 410px;
  align-self: center;
  padding-top: 2px;
  position: relative;
  z-index: 5;
}
.hero h1{
  font-size: clamp(39px,4vw,57px);
  line-height: 1.02;
  max-width: 10.6ch;
}
.hero .lead{
  max-width: 392px;
  margin-top: 16px;
  font-size: 15.8px;
  line-height: 1.58;
}
.hero-actions{margin-top:22px}
.trusted{margin-top:26px}
.trusted p{max-width:360px}
.hero-visual{
  position: relative;
  min-height: 510px;
  display:block;
  overflow: visible;
}
.hero-composite-card{
  position:absolute;
  inset:0 0 0 0;
  width:100%;
  height:100%;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.hero-composite-card::after{display:none}
.hero-composite-card img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:right top;
}
.floating-dashboard{display:none !important}
.hero-badge{
  right: 16px;
  bottom: 96px;
  min-width: 118px;
  min-height: 104px;
  padding: 16px;
  border-radius: 18px;
  z-index: 6;
}
.metric-strip{
  width:min(1260px, calc(100% - 44px));
  margin-top: -44px;
  position: relative;
  z-index: 7;
}
.metrics-card{border-radius:18px}
.metric{min-height: 90px; padding: 20px 28px}

@media (max-width:1180px){
  .hero-grid{grid-template-columns:1fr; min-height:auto; padding:42px 0 80px}
  .hero-copy{max-width:740px}
  .hero h1{max-width:12ch}
  .hero-visual{min-height:430px; margin-top:8px}
  .hero-composite-card{position:relative; height:430px}
  .hero-composite-card img{object-position:center top}
  .hero-badge{right:18px; bottom:18px}
}
@media (max-width:860px){
  .hero-grid{padding:38px 0 70px}
  .hero h1{font-size:40px; max-width:11ch}
  .hero-visual{min-height:auto}
  .hero-composite-card{height:auto}
  .hero-composite-card img{height:auto; object-fit:contain}
  .hero-badge{position:static; margin-top:14px; width:100%; max-width:220px}
  .metric-strip{width:min(100% - 28px, var(--container)); margin-top:-34px}
}
@media (max-width:560px){
  .hero h1{font-size:34px; max-width:100%}
  .hero-composite-card img{width:100%; height:auto}
  .hero-badge{max-width:none}
}


/* =============================================================
   V6 EXACT MOCKUP HERO REBUILD
   This rebuild fixes the previous "off" hero by using a single
   generated right-side composite image and exact line breaks.
   ============================================================= */

:root{
  --home-max: 1500px;
}

/* Header sizing closer to approved mockup */
.site-header{
  background:#fff;
  backdrop-filter:none;
}
.header-inner{
  width:min(var(--home-max), calc(100% - 76px));
  height:74px;
}
.brand img{width:178px}
.nav-menu{gap:32px}
.nav-menu a{
  font-size:14px;
  font-weight:650;
  padding:25px 0;
}
.nav-menu a::after{bottom:17px}
.site-topbar .container-wide{
  width:min(var(--home-max), calc(100% - 76px));
}

/* Hero base */
.hero{
  overflow:visible;
  background:
    linear-gradient(90deg, #071126 0%, #071126 36%, #0a1734 58%, #0d2a5a 100%);
}
.hero::before{
  opacity:.28;
}
.hero-grid{
  width:min(var(--home-max), calc(100% - 76px));
  display:grid;
  grid-template-columns: 500px minmax(0,1fr);
  gap:0;
  min-height:570px;
  padding:0;
  align-items:stretch;
}

/* Left content exact line control */
.hero-copy{
  max-width:500px;
  align-self:center;
  padding:34px 0 64px;
  position:relative;
  z-index:5;
}
.hero .eyebrow{
  font-size:11px;
  letter-spacing:.15em;
  line-height:1;
  color:#73b7ff;
  border:1px solid rgba(96,165,250,.35);
  background:rgba(37,99,235,.07);
  border-radius:999px;
  padding:8px 15px;
  margin-bottom:20px;
}
.hero .eyebrow::before{
  width:6px;
  height:6px;
  box-shadow:none;
}
.hero h1{
  color:#fff;
  max-width:none;
  font-family:Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
  font-size:clamp(44px,3.75vw,58px);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.045em;
}
.hero-line,
.hero-highlight{
  display:block;
}
.hero-highlight{
  color:#1da1ff;
}
.hero .lead{
  max-width:430px;
  margin-top:20px;
  font-size:16px;
  line-height:1.58;
  color:rgba(226,232,240,.92);
}
.hero-actions{
  margin-top:26px;
  gap:14px;
}
.hero-actions .btn{
  min-height:48px;
  padding-inline:22px;
  border-radius:10px;
  font-weight:650;
}
.trusted{
  margin-top:34px;
}
.trusted p{
  max-width:395px;
  font-size:11px;
  line-height:1.55;
  color:#c6ddff;
  letter-spacing:.15em;
}
.trust-chips{
  gap:10px;
  margin-top:14px;
}
.trust-chip{
  padding:7px 11px;
  font-size:12.5px;
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.18);
}
.trust-chip svg{
  width:15px;
  height:15px;
}

/* Right side: one fitted image, full height, no awkward separate boxes */
.hero-visual{
  position:relative;
  min-height:570px;
  display:block;
  overflow:visible;
}
.hero-composite-card{
  position:absolute;
  inset:0 0 0 -34px;
  width:calc(100% + 34px);
  height:100%;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  overflow:hidden;
}
.hero-composite-card::after{
  display:none;
}
.hero-composite-card img{
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:right top;
}
.floating-dashboard{
  display:none !important;
}
.hero-badge{
  right:26px;
  bottom:116px;
  z-index:7;
  min-width:126px;
  min-height:102px;
  padding:16px;
  display:grid;
  place-items:center;
  text-align:center;
  border-radius:18px;
  background:rgba(255,255,255,.96);
}
.hero-badge strong{
  font-size:26px;
}
.hero-badge span{
  max-width:92px;
  line-height:1.28;
}

/* Metrics pull into hero like mockup */
.metric-strip{
  width:min(var(--home-max), calc(100% - 76px));
  margin-top:-60px;
  position:relative;
  z-index:8;
}
.metrics-card{
  border-radius:20px;
  box-shadow:0 18px 44px rgba(15,23,42,.12);
}
.metric{
  min-height:104px;
  padding:24px 34px;
}
.metric-icon{
  width:48px;
  height:48px;
  border-radius:14px;
}
.metric strong{
  font-size:30px;
  font-weight:700;
}
.metric span{
  font-size:12.5px;
  line-height:1.25;
}

/* Keep homepage sections compact like the mockup */
.metric-strip + section{padding-top:58px}
section{padding:74px 0}
.section-intro{margin-bottom:28px}
.section-intro .eyebrow{
  margin-bottom:8px;
  font-size:10px;
}
.section-intro h2{
  font-size:clamp(30px,2.5vw,36px);
}
.section-intro p{
  max-width:650px;
  font-size:15px;
  line-height:1.55;
  margin:8px auto 0;
}
.grid{gap:18px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card{
  min-height:166px;
  padding:20px;
  border-radius:15px;
}
.service-card .icon-box{
  width:48px;
  height:48px;
  border-radius:50%;
  margin-bottom:14px;
}
.service-card h3{
  font-size:15.5px;
}
.service-card p{
  font-size:12.5px;
  line-height:1.44;
}
.link-arrow{font-size:12px}
.portfolio-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.project-card{border-radius:14px}
.project-media{height:124px}
.project-body{padding:13px}
.project-body h3{
  font-size:14px;
  line-height:1.15;
}
.project-body p{
  font-size:12px;
  line-height:1.42;
}
.tag{
  font-size:9px;
  padding:5px 8px;
  margin-bottom:7px;
}
.process-line{margin-top:22px}
.process-line::before{top:21px}
.step-number{
  width:43px;
  height:43px;
  border-width:4px;
  margin-bottom:10px;
}
.step h4{font-size:13px}
.step p{
  font-size:11.5px;
  line-height:1.42;
}
.cta-band{
  border-radius:0;
  padding:30px 76px;
}
.site-footer{padding-top:48px}
.footer-grid{
  width:min(var(--home-max), calc(100% - 76px));
}

@media (max-width:1180px){
  .header-inner,
  .site-topbar .container-wide,
  .hero-grid,
  .metric-strip,
  .footer-grid{
    width:min(100% - 44px, var(--container));
  }
  .hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-copy{
    max-width:780px;
    padding:48px 0 28px;
  }
  .hero h1{
    font-size:clamp(40px,6vw,58px);
  }
  .hero-visual{
    min-height:430px;
  }
  .hero-composite-card{
    inset:0;
    width:100%;
    border-radius:28px;
  }
  .hero-badge{
    right:18px;
    bottom:18px;
  }
  .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .header-inner{height:72px}
  .brand img{width:148px}
  .nav-wrap{top:82px}
  .hero-grid{
    width:min(100% - 28px, var(--container));
  }
  .hero-copy{
    padding:40px 0 24px;
  }
  .hero h1{
    font-size:40px;
  }
  .hero .lead{
    font-size:15.5px;
  }
  .hero-visual{
    min-height:auto;
  }
  .hero-composite-card{
    position:relative;
    display:block;
    height:auto;
    border-radius:24px;
  }
  .hero-composite-card img{
    height:auto;
    object-fit:contain;
  }
  .hero-badge{
    position:static;
    margin-top:14px;
    width:100%;
    min-height:auto;
  }
  .metric-strip{
    width:min(100% - 28px, var(--container));
    margin-top:-34px;
  }
  .metrics-card{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-media{height:160px}
  .process-line{grid-template-columns:1fr}
  .step{grid-template-columns:50px 1fr}
}
@media (max-width:560px){
  .hero h1{font-size:34px}
  .hero-actions .btn{width:100%}
  .trust-chips{
    display:grid;
    grid-template-columns:repeat(2,1fr);
  }
  .grid-4,
  .portfolio-grid,
  .metrics-card{grid-template-columns:1fr}
  .service-card{min-height:auto}
  .project-media{height:190px}
  .cta-band{padding:28px 20px}
}

/* =============================================================
   V7 FULL BACKGROUND HERO
   Use hero-team.webp as full hero background with text over it.
   ============================================================= */
.hero.hero-full-bg{
  position: relative;
  overflow: visible;
  background:
    linear-gradient(90deg, rgba(7,17,38,.92) 0%, rgba(7,17,38,.82) 28%, rgba(7,17,38,.56) 52%, rgba(7,17,38,.38) 100%),
    linear-gradient(180deg, rgba(7,17,38,.12) 0%, rgba(7,17,38,.32) 100%),
    url('../images/hero-team.webp') center center / cover no-repeat;
}
.hero.hero-full-bg::before{
  opacity: .18;
  mask-image:none;
}
.hero-grid.hero-grid-single{
  width:min(1500px, calc(100% - 76px));
  min-height: 660px;
  display:block;
  position:relative;
  padding: 72px 0 112px;
}
.hero-grid.hero-grid-single .hero-copy{
  max-width: 560px;
  padding-top: 18px;
  position:relative;
  z-index:3;
}
.hero-grid.hero-grid-single .hero-copy .eyebrow{
  margin-bottom: 22px;
  font-size: 11px;
  letter-spacing: .16em;
  line-height: 1;
  color: #93c5fd;
  border: 1px solid rgba(147,197,253,.34);
  background: rgba(8,47,73,.18);
  padding: 9px 16px;
}
.hero-grid.hero-grid-single .hero-copy .eyebrow::before{
  width: 6px;
  height: 6px;
  box-shadow:none;
}
.hero-grid.hero-grid-single h1{
  max-width:none;
  color:#fff;
  font-family: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(48px, 4.2vw, 66px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.045em;
}
.hero-grid.hero-grid-single .hero-line,
.hero-grid.hero-grid-single .hero-highlight{
  display:block;
}
.hero-grid.hero-grid-single .hero-highlight{
  color:#1da1ff;
}
.hero-grid.hero-grid-single .lead{
  max-width: 485px;
  margin-top: 24px;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(241,245,249,.96);
}
.hero-grid.hero-grid-single .hero-actions{
  margin-top: 28px;
  gap: 14px;
}
.hero-grid.hero-grid-single .hero-actions .btn{
  min-height: 50px;
  padding-inline: 22px;
  border-radius: 11px;
  font-weight: 650;
}
.hero-grid.hero-grid-single .trusted{
  margin-top: 34px;
}
.hero-grid.hero-grid-single .trusted p{
  max-width: 430px;
  font-size: 11px;
  line-height: 1.55;
  color: #d6e8ff;
  letter-spacing: .15em;
}
.hero-grid.hero-grid-single .trust-chips{
  gap: 10px;
  margin-top: 14px;
}
.hero-grid.hero-grid-single .trust-chip{
  padding: 8px 11px;
  font-size: 12.5px;
  color: #f8fbff;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  backdrop-filter: blur(6px);
}
.hero-grid.hero-grid-single .trust-chip svg{
  width:15px;height:15px;
}
.hero-grid.hero-grid-single .hero-badge{
  position:absolute;
  right: 26px;
  bottom: 130px;
  z-index: 4;
  min-width: 126px;
  min-height: 106px;
  padding: 18px 16px;
  display:grid;
  place-items:center;
  text-align:center;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 44px rgba(15,23,42,.16);
}
.hero-grid.hero-grid-single .hero-badge strong{font-size: 26px;}
.hero-grid.hero-grid-single .hero-badge span{max-width: 92px; line-height:1.28;}
.metric-strip{
  width:min(1500px, calc(100% - 76px));
  margin-top: -56px;
  position:relative;
  z-index:8;
}
.metrics-card{border-radius:20px; box-shadow:0 18px 44px rgba(15,23,42,.12);}
.metric{min-height:104px; padding:24px 34px;}
.metric strong{font-size:30px;}
.metric span{font-size:12.5px;line-height:1.25;}
.metric-strip + section{padding-top:60px;}

@media (max-width: 1180px){
  .hero-grid.hero-grid-single,
  .metric-strip,
  .header-inner,
  .site-topbar .container-wide,
  .footer-grid{
    width:min(100% - 44px, var(--container));
  }
  .hero-grid.hero-grid-single{
    min-height: 620px;
    padding: 64px 0 108px;
  }
  .hero-grid.hero-grid-single .hero-copy{
    max-width: 560px;
  }
  .hero-grid.hero-grid-single h1{font-size: clamp(42px, 6vw, 58px);}
  .hero-grid.hero-grid-single .lead{font-size:17px;}
}
@media (max-width: 860px){
  .hero.hero-full-bg{
    background-position: 68% center;
  }
  .hero-grid.hero-grid-single,
  .metric-strip{
    width:min(100% - 28px, var(--container));
  }
  .hero-grid.hero-grid-single{
    min-height: 560px;
    padding: 42px 0 88px;
  }
  .hero-grid.hero-grid-single .hero-copy{
    max-width: 100%;
    padding-top: 0;
  }
  .hero-grid.hero-grid-single h1{font-size: 40px;}
  .hero-grid.hero-grid-single .lead{
    max-width: 520px;
    font-size: 16px;
  }
  .hero-grid.hero-grid-single .hero-badge{
    right: 18px;
    bottom: 100px;
  }
  .metrics-card{grid-template-columns: repeat(2,1fr);}
}
@media (max-width: 560px){
  .hero.hero-full-bg{
    background-position: 72% center;
  }
  .hero-grid.hero-grid-single{
    min-height: 540px;
    padding: 36px 0 82px;
  }
  .hero-grid.hero-grid-single h1{font-size: 34px;}
  .hero-grid.hero-grid-single .lead{
    font-size: 15.5px;
    max-width: 100%;
  }
  .hero-grid.hero-grid-single .hero-actions .btn{width:100%;}
  .hero-grid.hero-grid-single .trust-chips{display:grid;grid-template-columns:repeat(2,1fr);}
  .hero-grid.hero-grid-single .hero-badge{
    position: static;
    margin-top: 16px;
    width: 100%;
    max-width: none;
    min-height: auto;
  }
  .metrics-card{grid-template-columns:1fr;}
}

/* =============================================================
   V8 HERO IMAGE FRONT FIX
   Make hero-team.webp visibly appear over the dark hero background,
   with text overlay sitting clearly on top.
   ============================================================= */
.hero.hero-full-bg{
  position:relative;
  overflow:visible;
  background:linear-gradient(90deg, #03102a 0%, #041433 38%, #0a2250 100%);
  isolation:isolate;
}
.hero.hero-full-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:url('../images/hero-team.webp') 72% center / cover no-repeat;
  z-index:0;
  opacity:1;
}
.hero.hero-full-bg::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(3,16,42,.90) 0%, rgba(3,16,42,.84) 24%, rgba(3,16,42,.60) 46%, rgba(3,16,42,.26) 67%, rgba(3,16,42,.20) 100%),
    linear-gradient(180deg, rgba(3,16,42,.10) 0%, rgba(3,16,42,.22) 100%);
  opacity:1;
  mask-image:none;
}
.hero-grid.hero-grid-single{
  position:relative;
  z-index:3;
  width:min(1500px, calc(100% - 76px));
  min-height:660px;
  padding:72px 0 112px;
}
.hero-grid.hero-grid-single .hero-copy{
  max-width:560px;
  padding-top:18px;
  position:relative;
  z-index:3;
}
.hero-grid.hero-grid-single h1{
  color:#fff;
  font-size:clamp(48px,4.2vw,66px);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-.045em;
}
.hero-grid.hero-grid-single .hero-highlight{color:#1da1ff;display:block}
.hero-grid.hero-grid-single .hero-line{display:block}
.hero-grid.hero-grid-single .lead{
  max-width:485px;
  margin-top:24px;
  font-size:18px;
  line-height:1.6;
  color:rgba(241,245,249,.97);
}
.hero-grid.hero-grid-single .hero-badge{
  position:absolute;
  right:26px;
  bottom:130px;
  z-index:4;
}
.metric-strip{
  position:relative;
  z-index:4;
}
@media (max-width:1180px){
  .hero-grid.hero-grid-single{width:min(100% - 44px, var(--container));}
  .metric-strip,.header-inner,.site-topbar .container-wide,.footer-grid{width:min(100% - 44px, var(--container));}
  .hero.hero-full-bg::after{background-position:68% center;}
}
@media (max-width:860px){
  .hero-grid.hero-grid-single,.metric-strip{width:min(100% - 28px, var(--container));}
  .hero-grid.hero-grid-single{min-height:560px;padding:42px 0 88px;}
  .hero.hero-full-bg::after{background-position:64% center;}
  .hero-grid.hero-grid-single h1{font-size:40px;}
  .hero-grid.hero-grid-single .lead{font-size:16px;max-width:520px;}
}
@media (max-width:560px){
  .hero.hero-full-bg::after{background-position:62% center;}
  .hero-grid.hero-grid-single{min-height:540px;padding:36px 0 82px;}
  .hero-grid.hero-grid-single h1{font-size:34px;}
  .hero-grid.hero-grid-single .lead{font-size:15.5px;max-width:100%;}
}



/* =============================================================
   V9 SERVICES SECTION POLISH
   Fixes the oversized arrow issue and upgrades the service cards.
   ============================================================= */

/* General card link icon fix */
.link-arrow svg,
.service-card .link-arrow svg{
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  flex: 0 0 14px !important;
  stroke-width: 2.5;
}

/* Services section layout */
.metric-strip + section{
  padding-top: 72px;
}

.metric-strip + section .section-intro{
  max-width: 760px;
  margin-bottom: 34px;
}

.metric-strip + section .section-intro .eyebrow{
  font-size: 11px;
  letter-spacing: .16em;
  margin-bottom: 10px;
  color: var(--blue-600);
}

.metric-strip + section .section-intro h2{
  font-size: clamp(32px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -.04em;
  color: var(--navy-900);
}

.metric-strip + section .section-intro p{
  max-width: 680px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--slate-600);
}

/* Premium compact service cards */
.service-card{
  position: relative;
  min-height: 245px !important;
  padding: 28px 26px 24px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(15,23,42,.08) !important;
  background:
    radial-gradient(circle at 90% 12%, rgba(37,99,235,.06), transparent 34%),
    #ffffff !important;
  box-shadow: 0 12px 34px rgba(15,23,42,.055) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  overflow: hidden;
}

.service-card:hover{
  transform: translateY(-5px);
  border-color: rgba(37,99,235,.22) !important;
  box-shadow: 0 22px 56px rgba(15,23,42,.105) !important;
}

.service-card::after{
  content: "";
  position: absolute;
  right: -38px;
  bottom: -38px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: rgba(37,99,235,.045);
  pointer-events: none;
}

.service-card .icon-box{
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  border-radius: 17px !important;
  margin: 0 0 20px !important;
  background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
  box-shadow: 0 14px 28px rgba(37,99,235,.20) !important;
}

.service-card .icon-box svg{
  width: 25px !important;
  height: 25px !important;
}

.service-card h3{
  font-family: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 19px !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  letter-spacing: -.025em;
  color: var(--navy-900);
  margin-bottom: 10px !important;
}

.service-card p{
  font-size: 14.5px !important;
  line-height: 1.62 !important;
  color: var(--slate-600);
  margin-bottom: 18px !important;
}

.service-card .link-arrow{
  margin-top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  width: fit-content !important;
  font-size: 13.5px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: var(--blue-600) !important;
  position: relative;
  z-index: 2;
}

.service-card .link-arrow:hover{
  gap: 10px !important;
}

/* Make 4-column desktop grid balanced */
.grid-4{
  gap: 22px !important;
}

/* Responsive service cards */
@media (max-width: 1100px){
  .grid-4{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .service-card{
    min-height: 230px !important;
  }
}

@media (max-width: 640px){
  .metric-strip + section{
    padding-top: 58px;
  }
  .metric-strip + section .section-intro h2{
    font-size: 30px;
  }
  .grid-4{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .service-card{
    min-height: auto !important;
    padding: 24px 22px !important;
    border-radius: 18px !important;
  }
  .service-card h3{
    font-size: 18px !important;
  }
  .service-card p{
    font-size: 14px !important;
  }
}

/* =============================================================
   V11 HERO TEXT FIT AND ANIMATION
   Tightens hero copy width and typography so the wording fits better
   within the left composition area, and adds subtle premium entrance
   animation.
   ============================================================= */

.hero.hero-full-bg::before{
  background:
    linear-gradient(90deg, rgba(3,16,42,.92) 0%, rgba(3,16,42,.86) 22%, rgba(3,16,42,.66) 42%, rgba(3,16,42,.30) 64%, rgba(3,16,42,.18) 100%),
    linear-gradient(180deg, rgba(3,16,42,.10) 0%, rgba(3,16,42,.22) 100%);
}

.hero-grid.hero-grid-single{
  min-height: 650px;
  padding: 62px 0 106px;
}

.hero-grid.hero-grid-single .hero-copy{
  max-width: 760px;
  width: min(760px, 100%);
  padding: 26px 28px 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(5,18,43,.36), rgba(5,18,43,.12));
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: 0 18px 55px rgba(2,12,27,.14);
}

.hero-grid.hero-grid-single h1{
  max-width: 760px;
  font-size: clamp(42px, 4.2vw, 60px);
  line-height: 1.02;
  letter-spacing: -.048em;
  margin: 0;
  text-wrap: balance;
}

.hero-grid.hero-grid-single .hero-line,
.hero-grid.hero-grid-single .hero-highlight{
  display: block;
}

.hero-grid.hero-grid-single .lead{
  max-width: 620px;
  margin-top: 18px;
  font-size: 16.8px;
  line-height: 1.62;
  color: rgba(241,245,249,.96);
}

.hero-grid.hero-grid-single .hero-actions{
  margin-top: 24px;
}

.hero-grid.hero-grid-single .trusted{
  margin-top: 28px;
}

.hero-grid.hero-grid-single .trusted p{
  max-width: 560px;
}

.hero-grid.hero-grid-single .trust-chips{
  gap: 9px;
  flex-wrap: wrap;
}

.hero-grid.hero-grid-single .trust-chip{
  padding: 8px 12px;
}

/* Professional animation */
.hero-grid.hero-grid-single .hero-copy .eyebrow,
.hero-grid.hero-grid-single .hero-copy h1,
.hero-grid.hero-grid-single .hero-copy .lead,
.hero-grid.hero-grid-single .hero-copy .hero-actions,
.hero-grid.hero-grid-single .hero-copy .trusted,
.hero-grid.hero-grid-single .hero-badge{
  opacity: 0;
  transform: translateY(22px);
  animation: heroFadeUp .8s cubic-bezier(.22,.61,.36,1) forwards;
}
.hero-grid.hero-grid-single .hero-copy h1{animation-delay:.08s}
.hero-grid.hero-grid-single .hero-copy .lead{animation-delay:.18s}
.hero-grid.hero-grid-single .hero-copy .hero-actions{animation-delay:.28s}
.hero-grid.hero-grid-single .hero-copy .trusted{animation-delay:.38s}
.hero-grid.hero-grid-single .hero-badge{animation-delay:.32s}

@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}

/* Subtle emphasis for title */
.hero-grid.hero-grid-single h1 .hero-highlight{
  text-shadow: 0 8px 30px rgba(29,161,255,.18);
}

@media (max-width: 1180px){
  .hero-grid.hero-grid-single{
    min-height: 610px;
    padding: 54px 0 98px;
  }
  .hero-grid.hero-grid-single .hero-copy{
    max-width: 680px;
    padding: 24px 24px 26px;
  }
  .hero-grid.hero-grid-single h1{
    font-size: clamp(40px, 5vw, 54px);
    max-width: 680px;
  }
  .hero-grid.hero-grid-single .lead{
    max-width: 560px;
    font-size: 16px;
  }
}

@media (max-width: 860px){
  .hero-grid.hero-grid-single{
    min-height: 560px;
    padding: 42px 0 84px;
  }
  .hero-grid.hero-grid-single .hero-copy{
    max-width: 100%;
    width: 100%;
    padding: 20px 20px 22px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(5,18,43,.44), rgba(5,18,43,.18));
  }
  .hero-grid.hero-grid-single h1{
    font-size: 38px;
    max-width: 100%;
  }
  .hero-grid.hero-grid-single .lead{
    max-width: 100%;
    font-size: 15.6px;
  }
}

@media (max-width: 560px){
  .hero-grid.hero-grid-single .hero-copy{
    padding: 18px 16px 20px;
    border-radius: 18px;
  }
  .hero-grid.hero-grid-single h1{
    font-size: 32px;
    line-height: 1.04;
  }
  .hero-grid.hero-grid-single .lead{
    font-size: 15px;
    line-height: 1.58;
  }
  .hero-grid.hero-grid-single .hero-actions .btn{
    width: 100%;
  }
}



/* =============================================================
   V12 HERO TEXT VISIBILITY FIX
   Fixes disappeared hero wording caused by the parent .reveal state.
   Keeps the hero text visible while preserving the professional animation.
   ============================================================= */

/* Critical fix: parent container must stay visible */
.hero-grid.hero-grid-single .hero-copy.reveal,
.hero-grid.hero-grid-single .hero-copy.reveal.is-visible,
.hero-full-bg .hero-copy.reveal,
.hero-full-bg .hero-copy.reveal.is-visible{
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Ensure all text pieces are visible even if JS animation delays fail */
.hero-grid.hero-grid-single .hero-copy .eyebrow,
.hero-grid.hero-grid-single .hero-copy h1,
.hero-grid.hero-grid-single .hero-copy .lead,
.hero-grid.hero-grid-single .hero-copy .hero-actions,
.hero-grid.hero-grid-single .hero-copy .trusted{
  visibility: visible !important;
}

/* Refined hero wording fit */
.hero-grid.hero-grid-single .hero-copy{
  max-width: 760px;
  width: min(760px, 100%);
  padding: 26px 28px 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(5,18,43,.42), rgba(5,18,43,.16));
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: 0 18px 55px rgba(2,12,27,.14);
  position: relative;
  z-index: 5;
}

.hero-grid.hero-grid-single h1{
  max-width: 760px;
  font-size: clamp(42px, 4.2vw, 60px);
  line-height: 1.02;
  letter-spacing: -.048em;
  color: #ffffff !important;
  margin: 0;
}

.hero-grid.hero-grid-single .hero-line,
.hero-grid.hero-grid-single .hero-highlight{
  display: block;
}

.hero-grid.hero-grid-single .hero-highlight{
  color: #1da1ff !important;
  text-shadow: 0 8px 30px rgba(29,161,255,.18);
}

.hero-grid.hero-grid-single .lead{
  max-width: 620px;
  margin-top: 18px;
  font-size: 16.8px;
  line-height: 1.62;
  color: rgba(241,245,249,.96) !important;
}

.hero-grid.hero-grid-single .hero-actions{
  margin-top: 24px;
}

.hero-grid.hero-grid-single .trusted{
  margin-top: 28px;
}

.hero-grid.hero-grid-single .trusted p{
  max-width: 560px;
  color: #d6e8ff !important;
}

/* Safe professional animation that does not hide content permanently */
.hero-grid.hero-grid-single .hero-copy .eyebrow,
.hero-grid.hero-grid-single .hero-copy h1,
.hero-grid.hero-grid-single .hero-copy .lead,
.hero-grid.hero-grid-single .hero-copy .hero-actions,
.hero-grid.hero-grid-single .hero-copy .trusted{
  animation: heroTextVisibleUp .7s cubic-bezier(.22,.61,.36,1) both;
}

.hero-grid.hero-grid-single .hero-copy h1{animation-delay:.06s}
.hero-grid.hero-grid-single .hero-copy .lead{animation-delay:.12s}
.hero-grid.hero-grid-single .hero-copy .hero-actions{animation-delay:.18s}
.hero-grid.hero-grid-single .hero-copy .trusted{animation-delay:.24s}

@keyframes heroTextVisibleUp{
  0%{opacity:0; transform:translateY(16px)}
  100%{opacity:1; transform:translateY(0)}
}

@media (max-width: 860px){
  .hero-grid.hero-grid-single .hero-copy{
    max-width: 100%;
    width: 100%;
    padding: 20px 20px 22px;
    border-radius: 22px;
  }
  .hero-grid.hero-grid-single h1{
    font-size: 38px;
  }
  .hero-grid.hero-grid-single .lead{
    max-width: 100%;
    font-size: 15.6px;
  }
}

@media (max-width: 560px){
  .hero-grid.hero-grid-single .hero-copy{
    padding: 18px 16px 20px;
    border-radius: 18px;
  }
  .hero-grid.hero-grid-single h1{
    font-size: 32px;
    line-height: 1.04;
  }
  .hero-grid.hero-grid-single .lead{
    font-size: 15px;
    line-height: 1.58;
  }
}



/* =============================================================
   V13 HERO TEXT ALWAYS VISIBLE FIX
   Bulletproof fix: hero wording no longer depends on .reveal JS.
   The hero copy is always visible and then gently animates in.
   ============================================================= */

/* Make sure the hero text container is always visible */
.hero-copy-always-visible,
.hero-copy-always-visible *,
.hero-full-bg .hero-copy-always-visible,
.hero-full-bg .hero-copy-always-visible *{
  visibility: visible !important;
}

.hero-copy-always-visible,
.hero-full-bg .hero-copy-always-visible{
  opacity: 1 !important;
  transform: none !important;
  display: block !important;
  position: relative !important;
  z-index: 20 !important;
}

/* Hero background stays behind the text */
.hero.hero-full-bg{
  position: relative !important;
  isolation: isolate;
  overflow: visible;
  background: linear-gradient(90deg, #03102a 0%, #041433 38%, #0a2250 100%) !important;
}

.hero.hero-full-bg::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: url('../images/hero-team.webp') 72% center / cover no-repeat !important;
  z-index: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.hero.hero-full-bg::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg, rgba(3,16,42,.92) 0%, rgba(3,16,42,.86) 22%, rgba(3,16,42,.66) 42%, rgba(3,16,42,.30) 64%, rgba(3,16,42,.18) 100%),
    linear-gradient(180deg, rgba(3,16,42,.08) 0%, rgba(3,16,42,.24) 100%) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* Hero layout */
.hero-grid.hero-grid-single{
  position: relative !important;
  z-index: 5 !important;
  width: min(1500px, calc(100% - 76px));
  min-height: 650px;
  display: block !important;
  padding: 62px 0 106px;
}

.hero-grid.hero-grid-single .hero-copy-always-visible{
  max-width: 760px;
  width: min(760px, 100%);
  padding: 26px 28px 28px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(5,18,43,.46), rgba(5,18,43,.18));
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: 0 18px 55px rgba(2,12,27,.16);
}

/* Text appearance */
.hero-copy-always-visible .eyebrow{
  color: #93c5fd !important;
  opacity: 1 !important;
  transform: none !important;
}

.hero-copy-always-visible h1{
  display: block !important;
  max-width: 760px;
  margin: 0 !important;
  font-family: Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(42px, 4.2vw, 60px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -.048em !important;
  color: #ffffff !important;
  opacity: 1 !important;
  transform: none !important;
}

.hero-copy-always-visible .hero-line,
.hero-copy-always-visible .hero-highlight{
  display: block !important;
}

.hero-copy-always-visible .hero-highlight{
  color: #1da1ff !important;
  text-shadow: 0 8px 30px rgba(29,161,255,.20);
}

.hero-copy-always-visible .lead{
  display: block !important;
  max-width: 620px;
  margin-top: 18px !important;
  font-size: 16.8px !important;
  line-height: 1.62 !important;
  color: rgba(241,245,249,.97) !important;
  opacity: 1 !important;
  transform: none !important;
}

.hero-copy-always-visible .hero-actions{
  display: flex !important;
  margin-top: 24px !important;
  opacity: 1 !important;
  transform: none !important;
}

.hero-copy-always-visible .trusted{
  display: block !important;
  margin-top: 28px !important;
  opacity: 1 !important;
  transform: none !important;
}

.hero-copy-always-visible .trusted p{
  max-width: 560px;
  color: #d6e8ff !important;
}

/* Safe animation: content stays visible even if animation fails */
.hero-copy-always-visible .eyebrow,
.hero-copy-always-visible h1,
.hero-copy-always-visible .lead,
.hero-copy-always-visible .hero-actions,
.hero-copy-always-visible .trusted{
  animation-name: heroSafeFadeUp;
  animation-duration: .65s;
  animation-timing-function: cubic-bezier(.22,.61,.36,1);
  animation-fill-mode: both;
}

.hero-copy-always-visible h1{ animation-delay: .06s; }
.hero-copy-always-visible .lead{ animation-delay: .12s; }
.hero-copy-always-visible .hero-actions{ animation-delay: .18s; }
.hero-copy-always-visible .trusted{ animation-delay: .24s; }

@keyframes heroSafeFadeUp{
  0%{ opacity: .01; transform: translateY(14px); }
  100%{ opacity: 1; transform: translateY(0); }
}

/* Badge must remain visible */
.hero-grid.hero-grid-single .hero-badge{
  z-index: 30 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Responsive */
@media (max-width: 1180px){
  .hero-grid.hero-grid-single{
    width: min(100% - 44px, var(--container));
    min-height: 610px;
    padding: 54px 0 98px;
  }
  .hero-grid.hero-grid-single .hero-copy-always-visible{
    max-width: 680px;
    width: min(680px, 100%);
    padding: 24px 24px 26px;
  }
  .hero-copy-always-visible h1{
    font-size: clamp(40px, 5vw, 54px) !important;
    max-width: 680px;
  }
  .hero-copy-always-visible .lead{
    max-width: 560px;
    font-size: 16px !important;
  }
}

@media (max-width: 860px){
  .hero-grid.hero-grid-single{
    width: min(100% - 28px, var(--container));
    min-height: 560px;
    padding: 42px 0 84px;
  }
  .hero-grid.hero-grid-single .hero-copy-always-visible{
    max-width: 100%;
    width: 100%;
    padding: 20px 20px 22px;
    border-radius: 22px;
  }
  .hero-copy-always-visible h1{
    font-size: 38px !important;
  }
  .hero-copy-always-visible .lead{
    max-width: 100%;
    font-size: 15.6px !important;
  }
}

@media (max-width: 560px){
  .hero-grid.hero-grid-single .hero-copy-always-visible{
    padding: 18px 16px 20px;
    border-radius: 18px;
  }
  .hero-copy-always-visible h1{
    font-size: 32px !important;
    line-height: 1.04 !important;
  }
  .hero-copy-always-visible .lead{
    font-size: 15px !important;
    line-height: 1.58 !important;
  }
  .hero-copy-always-visible .hero-actions .btn{
    width: 100%;
  }
}



/* =============================================================
   V14 HOMEPAGE PROFESSIONAL POLISH
   Professional spacing, responsive refinements, cleaner homepage cards,
   and smoother animation while preserving the working visible hero text.
   ============================================================= */

/* Page rhythm */
body{
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

main{
  background:#fff;
}

section{
  padding: 76px 0;
}

.section-soft{
  background:
    radial-gradient(circle at 15% 0%, rgba(37,99,235,.045), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.section-intro{
  margin-bottom: 32px;
}

.section-intro .eyebrow{
  margin-bottom: 10px;
}

.section-intro h2{
  letter-spacing: -.04em;
}

.section-intro p{
  max-width: 720px;
  margin: 10px auto 0;
  line-height: 1.65;
}

/* Header polish */
.site-topbar{
  min-height: 34px;
}

.topbar-inner{
  min-height: 34px;
}

.site-header{
  box-shadow: 0 1px 0 rgba(15,23,42,.08);
}

.header-inner{
  height: 72px;
}

.brand img{
  width: 170px;
}

.nav-menu{
  gap: 30px;
}

.nav-menu a{
  font-weight: 650;
  color: #24324a;
}

.nav-menu a:hover,
.nav-menu a.active{
  color: var(--blue-600);
}

/* Hero: reduce empty space while keeping strong premium composition */
.hero-grid.hero-grid-single{
  min-height: 610px !important;
  padding: 50px 0 92px !important;
}

.hero-grid.hero-grid-single .hero-copy-always-visible{
  max-width: 700px;
  width: min(700px, 100%);
  padding: 24px 26px 26px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(5,18,43,.44), rgba(5,18,43,.14));
}

.hero-copy-always-visible h1{
  font-size: clamp(40px, 3.75vw, 56px) !important;
  line-height: 1.03 !important;
}

.hero-copy-always-visible .lead{
  max-width: 585px;
  font-size: 16.2px !important;
  line-height: 1.58 !important;
}

.hero-copy-always-visible .hero-actions{
  margin-top: 22px !important;
}

.hero-copy-always-visible .trusted{
  margin-top: 24px !important;
}

.hero-copy-always-visible .trust-chip{
  backdrop-filter: blur(8px);
}

.hero-grid.hero-grid-single .hero-badge{
  bottom: 104px !important;
}

.metric-strip{
  margin-top: -50px !important;
}

.metrics-card{
  border-radius: 18px;
  overflow: hidden;
}

.metric{
  min-height: 94px !important;
  padding: 22px 28px !important;
}

/* Services section: premium compact grid */
.metric-strip + section{
  padding-top: 62px !important;
}

.grid-4{
  gap: 20px !important;
}

.service-card{
  min-height: 225px !important;
  padding: 24px 24px 22px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 90% 10%, rgba(29,161,255,.08), transparent 32%),
    #ffffff !important;
}

.service-card .icon-box{
  width: 50px !important;
  height: 50px !important;
  border-radius: 16px !important;
  margin-bottom: 18px !important;
}

.service-card h3{
  font-size: 18px !important;
  margin-bottom: 8px !important;
}

.service-card p{
  font-size: 14.2px !important;
  line-height: 1.58 !important;
  margin-bottom: 16px !important;
}

.service-card .link-arrow{
  font-size: 13px !important;
}

.service-card .link-arrow svg{
  width: 14px !important;
  height: 14px !important;
}

/* Portfolio section: tighter professional cards */
.portfolio-grid{
  gap: 18px !important;
}

.project-card{
  border-radius: 18px;
  background: #fff;
}

.project-media{
  height: 175px;
}

.project-body{
  padding: 18px 18px 20px;
}

.project-body h3{
  font-size: 17px;
  line-height: 1.2;
}

.project-body p{
  font-size: 13.8px;
  line-height: 1.55;
}

.project-meta{
  margin-top: 14px;
}

/* Process section */
.process-line{
  margin-top: 28px;
}

.step{
  padding-inline: 10px;
}

.step-number{
  width: 54px;
  height: 54px;
  border-width: 5px;
  margin-bottom: 14px;
}

.step h4{
  font-size: 15px;
}

.step p{
  font-size: 13px;
  line-height: 1.5;
}

/* Lower cards and testimonials */
.testimonial{
  border-radius: 18px;
  padding: 22px;
}

.testimonial p{
  font-size: 14px;
  line-height: 1.6;
}

.client{
  margin-top: 18px;
}

.cta-band{
  border-radius: 24px;
  padding: 36px 42px;
  margin-top: 4px;
}

.cta-band h2{
  font-size: clamp(26px,2.5vw,36px);
}

/* Footer */
.site-footer{
  padding-top: 58px;
}

.footer-grid{
  gap: 30px;
}

.footer-bottom{
  margin-top: 42px;
}

/* Better reveal animation */
.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease;
}

.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.card,
.project-card,
.metric,
.testimonial,
.step{
  will-change: transform;
}

.card:hover,
.project-card:hover{
  transform: translateY(-5px);
}

/* Mobile/tablet spacing fixes */
@media (max-width: 1180px){
  section{
    padding: 68px 0;
  }

  .hero-grid.hero-grid-single{
    min-height: 580px !important;
    padding: 44px 0 86px !important;
  }

  .hero-grid.hero-grid-single .hero-copy-always-visible{
    max-width: 660px;
  }

  .portfolio-grid{
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }

  .project-media{
    height: 165px;
  }
}

@media (max-width: 860px){
  .site-topbar{
    display:none;
  }

  .header-inner{
    height: 70px;
  }

  .brand img{
    width: 148px;
  }

  .nav-wrap{
    top: 80px;
  }

  .hero-grid.hero-grid-single{
    min-height: 530px !important;
    padding: 36px 0 76px !important;
  }

  .hero-grid.hero-grid-single .hero-copy-always-visible{
    padding: 20px;
    border-radius: 20px;
  }

  .hero-copy-always-visible h1{
    font-size: 36px !important;
  }

  .hero-copy-always-visible .lead{
    font-size: 15.4px !important;
  }

  .metric-strip{
    margin-top: -34px !important;
  }

  .metrics-card{
    grid-template-columns: repeat(2,1fr) !important;
  }

  .grid-4{
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .service-card{
    min-height: 210px !important;
  }

  .portfolio-grid{
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .project-media{
    height: 170px;
  }

  .cta-band{
    display:block;
    padding: 30px 26px;
  }

  .cta-band .btn{
    margin-top: 22px;
  }
}

@media (max-width: 560px){
  section{
    padding: 56px 0;
  }

  .hero-grid.hero-grid-single{
    min-height: 510px !important;
    padding: 30px 0 70px !important;
  }

  .hero-grid.hero-grid-single .hero-copy-always-visible{
    padding: 18px 16px;
    border-radius: 18px;
  }

  .hero-copy-always-visible h1{
    font-size: 31px !important;
  }

  .hero-copy-always-visible .lead{
    font-size: 14.8px !important;
  }

  .hero-copy-always-visible .hero-actions{
    display:grid !important;
    grid-template-columns:1fr;
  }

  .hero-copy-always-visible .trust-chips{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .metrics-card,
  .grid-4,
  .portfolio-grid{
    grid-template-columns:1fr !important;
  }

  .metric{
    min-height: auto !important;
    padding: 20px !important;
  }

  .service-card{
    min-height: auto !important;
  }

  .project-media{
    height: 190px;
  }

  .cta-band{
    border-radius: 20px;
    padding: 26px 20px;
  }

  .footer-grid{
    gap: 24px;
  }
}

@media (prefers-reduced-motion: reduce){
  .reveal,
  .hero-copy-always-visible .eyebrow,
  .hero-copy-always-visible h1,
  .hero-copy-always-visible .lead,
  .hero-copy-always-visible .hero-actions,
  .hero-copy-always-visible .trusted{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    transition:none !important;
  }
}

/* =============================================================
   V15 INNER PAGE HERO BACKGROUNDS
   Adds professional, page-relevant visual backgrounds to the dark
   header hero section across About, Services, Portfolio, Industries,
   and Contact pages.
   ============================================================= */
.page-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding: 88px 0 92px;
  min-height: 420px;
  display:flex;
  align-items:center;
  color:#fff;
  background: linear-gradient(135deg, var(--navy-950), var(--navy-850));
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  transform:scale(1.02);
  z-index:0;
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(3,16,42,.90) 0%, rgba(3,16,42,.84) 25%, rgba(3,16,42,.64) 46%, rgba(3,16,42,.36) 68%, rgba(3,16,42,.24) 100%),
    linear-gradient(180deg, rgba(2,6,23,.18) 0%, rgba(2,6,23,.36) 100%);
  z-index:1;
}
.page-hero .container{
  position:relative;
  z-index:2;
}
.page-hero .breadcrumb{
  display:inline-flex;
  gap:10px;
  align-items:center;
  margin-bottom:24px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#d8ecff;
  backdrop-filter: blur(10px);
}
.page-hero .breadcrumb a{color:#fff}
.page-hero .eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  color:#dff1ff;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:13px;
}
.page-hero .eyebrow::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--blue-500), var(--cyan-400));
  box-shadow:0 0 0 6px rgba(56,189,248,.12);
}
.page-hero h1{
  color:#fff;
  max-width: 780px;
  margin:0;
  font-size: clamp(42px, 5vw, 74px);
  line-height: 1.03;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.page-hero p:last-child{
  color:#e8f2ff;
  max-width: 760px;
  font-size: 18px;
  line-height: 1.62;
  margin-top:20px;
}
.page-hero .container > .breadcrumb,
.page-hero .container > .eyebrow,
.page-hero .container > h1,
.page-hero .container > p:last-child{
  opacity:0;
  transform: translateY(18px);
  animation: innerHeroReveal .7s cubic-bezier(.22,.61,.36,1) forwards;
}
.page-hero .container > .eyebrow{animation-delay:.08s}
.page-hero .container > h1{animation-delay:.15s}
.page-hero .container > p:last-child{animation-delay:.24s}
@keyframes innerHeroReveal{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

.page-hero-about::before{background-image:url('../images/page-hero-about.webp'); background-position:72% center;}
.page-hero-services::before{background-image:url('../images/page-hero-services.webp'); background-position:78% center;}
.page-hero-portfolio::before{background-image:url('../images/page-hero-portfolio.webp'); background-position:78% center;}
.page-hero-industries::before{background-image:url('../images/page-hero-industries.webp'); background-position:center center;}
.page-hero-contact::before{background-image:url('../images/page-hero-contact.webp'); background-position:72% center;}

/* Page-specific overlay tuning */
.page-hero-services::after,
.page-hero-portfolio::after{
  background:
    linear-gradient(90deg, rgba(3,16,42,.92) 0%, rgba(3,16,42,.86) 26%, rgba(3,16,42,.62) 44%, rgba(3,16,42,.40) 66%, rgba(3,16,42,.30) 100%),
    linear-gradient(180deg, rgba(2,6,23,.20) 0%, rgba(2,6,23,.42) 100%);
}
.page-hero-contact::after{
  background:
    linear-gradient(90deg, rgba(3,16,42,.90) 0%, rgba(3,16,42,.84) 27%, rgba(3,16,42,.58) 48%, rgba(3,16,42,.36) 68%, rgba(3,16,42,.24) 100%),
    linear-gradient(180deg, rgba(2,6,23,.18) 0%, rgba(2,6,23,.38) 100%);
}

@media (max-width: 1180px){
  .page-hero{padding:74px 0 78px; min-height:380px}
  .page-hero h1{max-width:720px; font-size: clamp(36px,4.8vw,58px)}
  .page-hero p:last-child{max-width:680px; font-size:17px}
}
@media (max-width: 860px){
  .page-hero{padding:62px 0 66px; min-height:340px}
  .page-hero::before{background-position:65% center}
  .page-hero .breadcrumb{margin-bottom:18px; font-size:13px; padding:8px 12px}
  .page-hero .eyebrow{font-size:12px; margin-bottom:14px}
  .page-hero h1{font-size: 38px; max-width:100%}
  .page-hero p:last-child{font-size:16px; max-width:100%}
}
@media (max-width: 560px){
  .page-hero{padding:52px 0 56px; min-height:310px}
  .page-hero::before{background-position:62% center}
  .page-hero::after{
    background:
      linear-gradient(90deg, rgba(3,16,42,.94) 0%, rgba(3,16,42,.88) 34%, rgba(3,16,42,.64) 58%, rgba(3,16,42,.42) 78%, rgba(3,16,42,.32) 100%),
      linear-gradient(180deg, rgba(2,6,23,.20) 0%, rgba(2,6,23,.40) 100%);
  }
  .page-hero .breadcrumb{flex-wrap:wrap}
  .page-hero h1{font-size:32px; line-height:1.06}
  .page-hero p:last-child{font-size:15px; line-height:1.58; margin-top:16px}
}
@media (prefers-reduced-motion: reduce){
  .page-hero .container > .breadcrumb,
  .page-hero .container > .eyebrow,
  .page-hero .container > h1,
  .page-hero .container > p:last-child{opacity:1; transform:none; animation:none}
}

/* =============================================================
   V16 SIMPLE UNIQUE PHOTOS
   Replaces inner page hero backgrounds with cleaner and simpler
   unique photos for a more refined, less busy look.
   ============================================================= */
.page-hero{
  min-height: 390px;
  padding: 82px 0 86px;
}
.page-hero::before{
  filter: none;
}
.page-hero::after{
  background:
    linear-gradient(90deg, rgba(3,16,42,.90) 0%, rgba(3,16,42,.84) 27%, rgba(3,16,42,.62) 48%, rgba(3,16,42,.36) 70%, rgba(3,16,42,.22) 100%),
    linear-gradient(180deg, rgba(2,6,23,.18) 0%, rgba(2,6,23,.34) 100%);
}
.page-hero h1{
  max-width: 760px;
  font-size: clamp(40px, 4.6vw, 68px);
}
.page-hero p:last-child{
  max-width: 720px;
  font-size: 17px;
}
.page-hero-about::before{background-image:url('../images/page-hero-about.webp'); background-position:72% center;}
.page-hero-services::before{background-image:url('../images/page-hero-services.webp'); background-position:75% center;}
.page-hero-portfolio::before{background-image:url('../images/page-hero-portfolio.webp'); background-position:78% center;}
.page-hero-industries::before{background-image:url('../images/page-hero-industries.webp'); background-position:72% center;}
.page-hero-contact::before{background-image:url('../images/page-hero-contact.webp'); background-position:74% center;}

@media (max-width: 1180px){
  .page-hero{min-height:360px; padding:72px 0 76px;}
  .page-hero h1{font-size: clamp(36px, 4.8vw, 58px);}
}
@media (max-width: 860px){
  .page-hero{min-height:330px; padding:58px 0 62px;}
  .page-hero h1{font-size: 36px;}
  .page-hero p:last-child{font-size: 15.8px;}
  .page-hero::before{background-position:66% center;}
}
@media (max-width: 560px){
  .page-hero{min-height:300px; padding:48px 0 52px;}
  .page-hero h1{font-size: 31px;}
  .page-hero p:last-child{font-size: 15px;}
  .page-hero::before{background-position:64% center;}
}

/* =============================================================
   V17 TECHNOLOGY BACKGROUND ACROSS SYSTEM
   Uses one unified technology background across the inner page
   hero/header sections for a cleaner and more consistent visual system.
   ============================================================= */
.page-hero-about::before,
.page-hero-services::before,
.page-hero-portfolio::before,
.page-hero-industries::before,
.page-hero-contact::before{
  background-image:url('../images/page-hero-tech-unified.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
}

.page-hero{
  min-height: 400px;
  padding: 84px 0 88px;
}

.page-hero::after{
  background:
    linear-gradient(90deg, rgba(3,16,42,.92) 0%, rgba(3,16,42,.86) 26%, rgba(3,16,42,.62) 48%, rgba(3,16,42,.36) 70%, rgba(3,16,42,.24) 100%),
    linear-gradient(180deg, rgba(2,6,23,.18) 0%, rgba(2,6,23,.36) 100%) !important;
}

.page-hero h1{
  max-width: 760px;
}

.page-hero p:last-child{
  max-width: 720px;
}

@media (max-width: 860px){
  .page-hero{
    min-height: 340px;
    padding: 60px 0 64px;
  }
}

@media (max-width: 560px){
  .page-hero{
    min-height: 300px;
    padding: 48px 0 52px;
  }
}

/* =============================================================
   V18 IT INFRASTRUCTURE ANIMATED HERO
   Replaces the inner-page hero background with a more suitable IT
   infrastructure / systems-process visual and subtle animated layers.
   ============================================================= */
.page-hero-about::before,
.page-hero-services::before,
.page-hero-portfolio::before,
.page-hero-industries::before,
.page-hero-contact::before{
  background-image:url('../images/page-hero-it-infrastructure.webp') !important;
  background-position: right center !important;
  background-size: cover !important;
}

.page-hero{
  min-height: 410px;
  padding: 84px 0 88px;
}

.page-hero::before{
  transform: scale(1.01);
  filter: saturate(1.02);
}

.page-hero::after{
  background:
    linear-gradient(90deg, rgba(2,12,31,.94) 0%, rgba(2,12,31,.90) 23%, rgba(2,12,31,.72) 42%, rgba(2,12,31,.48) 64%, rgba(2,12,31,.34) 100%),
    linear-gradient(180deg, rgba(2,6,23,.16) 0%, rgba(2,6,23,.40) 100%) !important;
}

/* Animated technology overlays */
.page-hero .container{
  overflow: visible;
}
.page-hero .container::before,
.page-hero .container::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:1;
}

/* moving process lines */
.page-hero .container::before{
  right: clamp(18px, 4vw, 60px);
  top: 64px;
  width: min(520px, 42vw);
  height: min(250px, 24vw);
  border-radius: 24px;
  opacity: .45;
  background:
    linear-gradient(90deg, transparent 0%, rgba(56,189,248,.14) 14%, transparent 16%, transparent 32%, rgba(59,130,246,.18) 34%, transparent 36%, transparent 58%, rgba(34,211,238,.16) 60%, transparent 62%, transparent 100%),
    repeating-linear-gradient(0deg, rgba(148,163,184,.12) 0px, rgba(148,163,184,.12) 1px, transparent 1px, transparent 36px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.10) 0px, rgba(148,163,184,.10) 1px, transparent 1px, transparent 44px);
  box-shadow: inset 0 0 0 1px rgba(96,165,250,.10), 0 18px 36px rgba(2,12,31,.16);
  animation: heroTechFlow 16s linear infinite, heroTechFloat 6s ease-in-out infinite;
}

/* glowing nodes / hub */
.page-hero .container::after{
  right: clamp(28px, 6vw, 96px);
  bottom: 38px;
  width: min(360px, 28vw);
  height: min(360px, 28vw);
  border-radius: 50%;
  opacity: .42;
  background:
    radial-gradient(circle at 50% 50%, rgba(96,165,250,.22) 0 10%, transparent 11% 100%),
    radial-gradient(circle at 25% 26%, rgba(34,211,238,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 72% 30%, rgba(59,130,246,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 66% 72%, rgba(14,165,233,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 34% 74%, rgba(56,189,248,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 50% 50%, transparent 0 34%, rgba(96,165,250,.28) 34.5% 35.4%, transparent 35.6% 49%, rgba(56,189,248,.18) 49.4% 50.2%, transparent 50.4% 100%);
  filter: drop-shadow(0 0 20px rgba(56,189,248,.18));
  animation: heroNodePulse 6.5s ease-in-out infinite;
}

.page-hero .breadcrumb,
.page-hero .eyebrow,
.page-hero h1,
.page-hero p:last-child{
  position: relative;
  z-index: 3;
}

@keyframes heroTechFlow{
  from{background-position: 0 0, 0 0, 0 0}
  to{background-position: 130px 0, 0 36px, 44px 0}
}
@keyframes heroTechFloat{
  0%,100%{transform: translateY(0)}
  50%{transform: translateY(-8px)}
}
@keyframes heroNodePulse{
  0%,100%{transform: scale(1); opacity:.38}
  50%{transform: scale(1.03); opacity:.5}
}

@media (max-width: 1180px){
  .page-hero{min-height:380px; padding:74px 0 78px}
  .page-hero .container::before{width:min(420px,38vw); height:min(220px,23vw); top:58px}
  .page-hero .container::after{width:min(300px,25vw); height:min(300px,25vw)}
}
@media (max-width: 860px){
  .page-hero{min-height:340px; padding:58px 0 62px}
  .page-hero-about::before,
  .page-hero-services::before,
  .page-hero-portfolio::before,
  .page-hero-industries::before,
  .page-hero-contact::before{background-position: 72% center !important;}
  .page-hero .container::before{right:12px; top:48px; width:min(280px,42vw); height:min(160px,24vw); opacity:.32}
  .page-hero .container::after{right:8px; bottom:18px; width:min(180px,28vw); height:min(180px,28vw); opacity:.28}
}
@media (max-width: 560px){
  .page-hero{min-height:300px; padding:48px 0 52px}
  .page-hero::after{
    background:
      linear-gradient(90deg, rgba(2,12,31,.95) 0%, rgba(2,12,31,.92) 36%, rgba(2,12,31,.70) 64%, rgba(2,12,31,.48) 100%),
      linear-gradient(180deg, rgba(2,6,23,.18) 0%, rgba(2,6,23,.38) 100%) !important;
  }
  .page-hero .container::before,
  .page-hero .container::after{display:none}
}
@media (prefers-reduced-motion: reduce){
  .page-hero .container::before,
  .page-hero .container::after{animation:none}
}



/* =============================================================
   V19 GENERATED TECH INFRASTRUCTURE BACKGROUND
   Uses the newly generated no-text IT infrastructure / cloud / server
   background across all inner-page hero sections.
   ============================================================= */

.page-hero-about::before,
.page-hero-services::before,
.page-hero-portfolio::before,
.page-hero-industries::before,
.page-hero-contact::before{
  background-image: url('../images/page-hero-it-infrastructure-generated.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
}

/* Refined overlay for the new generated image */
.page-hero{
  min-height: 410px;
  padding: 84px 0 88px;
  background: linear-gradient(135deg, #020817, #081a3f);
}

.page-hero::before{
  transform: scale(1.01);
  filter: saturate(1.05) contrast(1.02);
}

.page-hero::after{
  background:
    linear-gradient(90deg, rgba(2,8,23,.96) 0%, rgba(2,8,23,.90) 25%, rgba(2,8,23,.68) 47%, rgba(2,8,23,.42) 70%, rgba(2,8,23,.30) 100%),
    linear-gradient(180deg, rgba(2,6,23,.12) 0%, rgba(2,6,23,.38) 100%) !important;
}

/* Keep page text crisp and readable */
.page-hero h1{
  max-width: 780px;
  text-shadow: 0 14px 35px rgba(0,0,0,.22);
}

.page-hero p:last-child{
  max-width: 720px;
  color: #e8f2ff !important;
}

/* Subtle animated infrastructure overlay */
.page-hero .container::before{
  right: clamp(18px, 4vw, 60px);
  top: 62px;
  width: min(520px, 42vw);
  height: min(250px, 24vw);
  border-radius: 24px;
  opacity: .30;
  background:
    linear-gradient(90deg, transparent 0%, rgba(56,189,248,.14) 14%, transparent 16%, transparent 32%, rgba(59,130,246,.18) 34%, transparent 36%, transparent 58%, rgba(34,211,238,.16) 60%, transparent 62%, transparent 100%),
    repeating-linear-gradient(0deg, rgba(148,163,184,.12) 0px, rgba(148,163,184,.12) 1px, transparent 1px, transparent 36px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.10) 0px, rgba(148,163,184,.10) 1px, transparent 1px, transparent 44px);
  box-shadow: inset 0 0 0 1px rgba(96,165,250,.10);
  animation: heroTechFlow 16s linear infinite, heroTechFloat 6s ease-in-out infinite;
}

.page-hero .container::after{
  right: clamp(28px, 6vw, 96px);
  bottom: 38px;
  width: min(340px, 27vw);
  height: min(340px, 27vw);
  border-radius: 50%;
  opacity: .30;
  background:
    radial-gradient(circle at 50% 50%, rgba(96,165,250,.22) 0 10%, transparent 11% 100%),
    radial-gradient(circle at 25% 26%, rgba(34,211,238,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 72% 30%, rgba(59,130,246,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 66% 72%, rgba(14,165,233,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 34% 74%, rgba(56,189,248,.95) 0 4px, transparent 5px),
    radial-gradient(circle at 50% 50%, transparent 0 34%, rgba(96,165,250,.28) 34.5% 35.4%, transparent 35.6% 49%, rgba(56,189,248,.18) 49.4% 50.2%, transparent 50.4% 100%);
  filter: drop-shadow(0 0 20px rgba(56,189,248,.18));
  animation: heroNodePulse 6.5s ease-in-out infinite;
}

@media (max-width: 1180px){
  .page-hero{
    min-height: 380px;
    padding: 74px 0 78px;
  }
}

@media (max-width: 860px){
  .page-hero{
    min-height: 340px;
    padding: 58px 0 62px;
  }

  .page-hero-about::before,
  .page-hero-services::before,
  .page-hero-portfolio::before,
  .page-hero-industries::before,
  .page-hero-contact::before{
    background-position: 64% center !important;
  }

  .page-hero .container::before{
    opacity: .22;
  }

  .page-hero .container::after{
    opacity: .20;
  }
}

@media (max-width: 560px){
  .page-hero{
    min-height: 300px;
    padding: 48px 0 52px;
  }

  .page-hero::after{
    background:
      linear-gradient(90deg, rgba(2,8,23,.97) 0%, rgba(2,8,23,.92) 38%, rgba(2,8,23,.74) 66%, rgba(2,8,23,.52) 100%),
      linear-gradient(180deg, rgba(2,6,23,.16) 0%, rgba(2,6,23,.38) 100%) !important;
  }

  .page-hero .container::before,
  .page-hero .container::after{
    display: none;
  }
}



/* =============================================================
   V20 REMOVE INNER HERO AMZEAL LABEL
   Removes the "Amzeal Creatives" eyebrow/label from inner-page hero
   sections and cleans the spacing around the breadcrumb/title.
   ============================================================= */

.page-hero .container > .eyebrow{
  display: none !important;
}

.page-hero .breadcrumb{
  margin-bottom: 26px;
}

.page-hero h1{
  margin-top: 0;
}

/* Update animation sequence after removing eyebrow */
.page-hero .container > .breadcrumb{
  animation-delay: .02s;
}

.page-hero .container > h1{
  animation-delay: .10s;
}

.page-hero .container > p:last-child{
  animation-delay: .20s;
}

@media (max-width: 860px){
  .page-hero .breadcrumb{
    margin-bottom: 20px;
  }
}



/* =============================================================
   V21 SERVICES INFOGRAPHICS AND SAFE LINKS
   Professional service write-up, mini infographics, aligned cards,
   and safe internal Learn More links to services.html anchors.
   ============================================================= */

.services-pro-grid{
  align-items: stretch;
}

/* Service cards with compact infographic elements */
.service-card-pro{
  min-height: 320px !important;
  padding: 24px 24px 22px !important;
  border-radius: 22px !important;
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(14,165,233,.10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}

.service-card-pro::before{
  content: "";
  position: absolute;
  inset: auto -42px -42px auto;
  width: 124px;
  height: 124px;
  border-radius: 999px;
  background: rgba(37,99,235,.055);
  pointer-events: none;
}

.service-card-pro::after{
  content: "";
  position: absolute;
  right: 20px;
  top: 22px;
  width: 88px;
  height: 48px;
  opacity: .16;
  background:
    linear-gradient(90deg, transparent 0 10px, rgba(37,99,235,.45) 10px 12px, transparent 12px 100%),
    linear-gradient(0deg, transparent 0 10px, rgba(6,182,212,.55) 10px 12px, transparent 12px 100%);
  background-size: 22px 22px;
  pointer-events: none;
}

.service-card-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
}

.service-card-pro .icon-box{
  margin: 0 !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 17px !important;
}

.service-mini-stat{
  text-align: right;
  max-width: 138px;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(37,99,235,.055);
  border: 1px solid rgba(37,99,235,.09);
}

.service-mini-stat strong{
  display: block;
  color: var(--blue-600);
  font-family: Manrope, Inter, sans-serif;
  font-size: 18px;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.service-mini-stat span{
  display: block;
  margin-top: 3px;
  color: var(--slate-600);
  font-size: 11px;
  line-height: 1.2;
}

.service-card-pro h3{
  position: relative;
  z-index: 2;
  margin-bottom: 9px !important;
  font-size: 19px !important;
  line-height: 1.18 !important;
}

.service-card-pro p{
  position: relative;
  z-index: 2;
  font-size: 14px !important;
  line-height: 1.58 !important;
  color: var(--slate-600);
  margin-bottom: 16px !important;
}

.service-tags{
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 16px;
}

.service-tags span{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f1f7ff;
  border: 1px solid rgba(37,99,235,.10);
  color: #31507a;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1;
}

.service-card-pro .link-arrow{
  position: relative;
  z-index: 3;
  width: fit-content;
  margin-top: auto !important;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(37,99,235,.075);
  color: var(--blue-600) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  transition: .22s ease;
}

.service-card-pro .link-arrow:hover{
  background: var(--blue-600);
  color: #fff !important;
  gap: 11px !important;
}

.service-card-pro .link-arrow svg{
  width: 14px !important;
  height: 14px !important;
}

/* Services page flow infographic */
.service-roadmap-section{
  padding: 74px 0 52px;
}

.service-flow{
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 14px;
  margin-top: 34px;
}

.flow-step{
  position: relative;
  min-height: 170px;
  padding: 24px 22px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 95% 8%, rgba(29,161,255,.09), transparent 32%),
    #fff;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
}

.flow-step span{
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 14px;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  color: #fff;
  font-weight: 800;
  font-size: 12px;
}

.flow-step strong{
  display: block;
  color: var(--navy-900);
  font-size: 17px;
  letter-spacing: -.02em;
}

.flow-step p{
  margin-top: 8px;
  font-size: 13.5px;
  line-height: 1.55;
}

.flow-arrow{
  display: grid;
  place-items: center;
  color: var(--blue-600);
  font-size: 26px;
  font-weight: 800;
}

/* Anchor target safety */
.anchor-offset,
.service-card[id]{
  scroll-margin-top: 110px;
}

.service-target-highlight{
  animation: serviceHighlight 1.8s ease;
}

@keyframes serviceHighlight{
  0%{box-shadow: 0 0 0 0 rgba(37,99,235,.35)}
  35%{box-shadow: 0 0 0 8px rgba(37,99,235,.12)}
  100%{box-shadow: var(--shadow-sm)}
}

/* Responsive */
@media (max-width: 1180px){
  .service-card-pro{
    min-height: 300px !important;
  }
  .service-flow{
    grid-template-columns: 1fr 1fr;
  }
  .flow-arrow{
    display: none;
  }
}

@media (max-width: 860px){
  .service-card-pro{
    min-height: auto !important;
  }
  .service-card-top{
    align-items: center;
  }
  .service-mini-stat{
    text-align: left;
  }
  .service-flow{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px){
  .service-card-top{
    display: grid;
  }
  .service-mini-stat{
    max-width: none;
    width: 100%;
  }
  .service-tags span{
    font-size: 11px;
  }
  .service-card-pro .link-arrow{
    width: 100%;
    justify-content: center;
  }
  .service-roadmap-section{
    padding: 58px 0 40px;
  }
}



/* =============================================================
   V22 DETAILED SERVICE PAGES
   Creates a non-repetitive service journey:
   homepage summary cards -> dedicated detailed service pages.
   ============================================================= */

.service-overview-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}
.service-overview-card{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
  align-items:start;
  padding:26px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:
    radial-gradient(circle at 96% 8%, rgba(29,161,255,.08), transparent 28%),
    #fff;
  box-shadow:0 14px 36px rgba(15,23,42,.055);
  transition:.22s ease;
}
.service-overview-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 58px rgba(15,23,42,.11);
  border-color:rgba(37,99,235,.20);
}
.service-overview-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
  box-shadow:0 16px 34px rgba(37,99,235,.22);
}
.service-overview-icon svg{width:27px;height:27px}
.service-overview-card span{
  display:inline-block;
  margin-bottom:6px;
  color:var(--blue-600);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.service-overview-card h3{
  font-size:22px;
  line-height:1.18;
  margin-bottom:8px;
}
.service-overview-card p{
  font-size:15px;
  line-height:1.6;
  max-width:620px;
}
.service-overview-card .link-arrow{margin-top:18px}

/* Detail page */
.service-detail-hero h1{max-width:850px}
.service-detail-section{padding:82px 0}
.service-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:34px;
  align-items:start;
}
.service-detail-main,
.service-detail-side .side-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 42px rgba(15,23,42,.06);
}
.service-detail-main{padding:34px}
.service-detail-main h2{
  margin-top:0;
  margin-bottom:16px;
  font-size:clamp(28px,2.6vw,38px);
}
.service-detail-main h2:not(:first-of-type){margin-top:34px}
.service-detail-lead{
  font-size:17px;
  line-height:1.75;
  color:var(--slate-600);
  max-width:820px;
}
.detail-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:30px 0 8px;
}
.detail-feature-card{
  padding:20px;
  border-radius:20px;
  background:
    radial-gradient(circle at 90% 10%, rgba(37,99,235,.08), transparent 30%),
    var(--slate-50);
  border:1px solid rgba(15,23,42,.06);
}
.detail-feature-card h3{font-size:18px;margin-bottom:8px}
.detail-feature-card p{font-size:14px;line-height:1.6}
.detail-check-list,
.side-card ul{
  display:grid;
  gap:12px;
  padding:0;
  margin:0;
  list-style:none;
}
.detail-check-list li,
.side-card li{
  position:relative;
  padding-left:30px;
  color:var(--slate-700);
  line-height:1.55;
}
.detail-check-list li::before,
.side-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.35em;
  width:18px;
  height:18px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
  box-shadow:0 8px 18px rgba(37,99,235,.18);
}
.detail-check-list li::after,
.side-card li::after{
  content:"";
  position:absolute;
  left:6px;
  top:.66em;
  width:6px;
  height:3px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}
.service-detail-side{
  display:grid;
  gap:18px;
  position:sticky;
  top:104px;
}
.side-card{padding:26px}
.side-card h3{font-size:20px;margin-bottom:18px}
.side-card-blue{
  background:
    radial-gradient(circle at 100% 0%, rgba(34,211,238,.22), transparent 34%),
    linear-gradient(135deg,var(--navy-950),var(--navy-850)) !important;
  color:#fff;
}
.side-card-blue h3{color:#fff}
.side-card-blue li{color:#dbeafe}
.service-process-detail{padding:76px 0}
.detail-process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}
.detail-process-step{
  min-height:178px;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.055);
}
.detail-process-step span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
  color:#fff;
  font-weight:800;
}
.detail-process-step p{font-size:14.5px;line-height:1.6}
.service-detail-cta{padding:70px 0}
.related-services-section{padding:0 0 78px}
.related-service-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.related-service-links a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  color:var(--slate-700);
  font-weight:700;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.related-service-links a:hover{
  color:#fff;
  background:var(--blue-600);
  border-color:var(--blue-600);
}
.anchor-offset,
.service-overview-card[id],
.service-detail-main{scroll-margin-top:110px}

@media (max-width:1100px){
  .service-detail-grid{grid-template-columns:1fr}
  .service-detail-side{position:static;grid-template-columns:1fr 1fr}
  .detail-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .service-overview-grid{grid-template-columns:1fr}
  .service-detail-section{padding:64px 0}
  .service-detail-main{padding:26px}
  .detail-feature-grid{grid-template-columns:1fr}
  .service-detail-side{grid-template-columns:1fr}
}
@media (max-width:560px){
  .service-overview-card{grid-template-columns:1fr;padding:22px}
  .service-detail-main{padding:22px;border-radius:22px}
  .detail-process-grid{grid-template-columns:1fr}
  .service-detail-cta{padding:54px 0}
  .related-services-section{padding-bottom:58px}
  .related-service-links a{width:100%;justify-content:center}
}



/* =============================================================
   V23 HOMEPAGE FLOW CLEANUP
   Removes the repeated homepage services-card block and replaces it
   with a strategic homepage flow: positioning -> proof -> strategy map
   -> portfolio -> process -> industries/testimonials -> CTA.
   ============================================================= */

/* Remove any accidental duplicated home service card block */
.home-services-removed,
section:has(.services-pro-grid.homepage-only-remove){
  display:none !important;
}

/* New strategy section replacing the repeated service cards */
.home-strategy-section{
  padding: 74px 0 70px;
  background:
    radial-gradient(circle at 12% 0%, rgba(37,99,235,.06), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.home-strategy-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 520px;
  gap:44px;
  align-items:center;
}

.home-strategy-copy{
  max-width:720px;
}

.home-strategy-copy h2{
  font-size:clamp(34px,3.4vw,48px);
  line-height:1.08;
  letter-spacing:-.045em;
  margin-bottom:18px;
}

.home-strategy-copy p:not(.eyebrow){
  max-width:660px;
  font-size:17px;
  line-height:1.72;
  color:var(--slate-600);
}

.home-strategy-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

/* Professional infographic map */
.home-strategy-map{
  position:relative;
  min-height:420px;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  background:
    radial-gradient(circle at 50% 50%, rgba(37,99,235,.13), transparent 22%),
    radial-gradient(circle at 88% 12%, rgba(34,211,238,.14), transparent 26%),
    linear-gradient(135deg, #071126, #0b1d42);
  box-shadow:0 22px 60px rgba(15,23,42,.14);
}

.home-strategy-map::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.24;
  background:
    repeating-linear-gradient(0deg, rgba(148,163,184,.12) 0px, rgba(148,163,184,.12) 1px, transparent 1px, transparent 34px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.10) 0px, rgba(148,163,184,.10) 1px, transparent 1px, transparent 40px);
}

.home-strategy-map::after{
  content:"";
  position:absolute;
  inset:42px;
  border-radius:50%;
  border:1px dashed rgba(125,211,252,.28);
  animation: strategyOrbit 18s linear infinite;
}

.map-center{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:154px;
  height:154px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  padding:18px;
  color:#fff;
  font-family:Manrope, Inter, sans-serif;
  font-weight:800;
  line-height:1.15;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
  box-shadow:0 0 0 12px rgba(37,99,235,.12), 0 24px 50px rgba(14,165,233,.20);
}

.map-node{
  position:absolute;
  z-index:4;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:8px 12px;
  border-radius:999px;
  color:#eaf6ff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  font-size:13px;
  font-weight:700;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

.map-node span{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  color:#fff;
  background:rgba(37,99,235,.95);
  font-size:10px;
  font-weight:800;
}

.node-1{left:42px; top:70px}
.node-2{right:42px; top:82px}
.node-3{right:36px; top:50%; transform:translateY(-50%)}
.node-4{left:40px; top:50%; transform:translateY(-50%)}
.node-5{left:80px; bottom:70px}
.node-6{right:70px; bottom:72px}

@keyframes strategyOrbit{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

/* Improve homepage flow after removal */
.home-strategy-section + section,
.home-strategy-section + .section-soft{
  padding-top:72px;
}

.portfolio-grid{
  margin-top:30px;
}

/* Ensure content below has good spacing and does not look empty */
.process-line{
  margin-top:34px;
}

.cta-band{
  margin-top:0;
}

/* Responsive */
@media (max-width:1100px){
  .home-strategy-grid{
    grid-template-columns:1fr;
  }
  .home-strategy-map{
    min-height:390px;
  }
}

@media (max-width:760px){
  .home-strategy-section{
    padding:58px 0 56px;
  }
  .home-strategy-copy h2{
    font-size:32px;
  }
  .home-strategy-copy p:not(.eyebrow){
    font-size:15.8px;
  }
  .home-strategy-actions .btn{
    width:100%;
  }
  .home-strategy-map{
    min-height:520px;
    border-radius:24px;
  }
  .map-center{
    width:132px;
    height:132px;
    font-size:15px;
  }
  .map-node{
    left:22px !important;
    right:22px !important;
    width:auto;
    justify-content:flex-start;
    transform:none !important;
  }
  .node-1{top:34px}
  .node-2{top:102px}
  .node-3{top:170px}
  .node-4{top:238px}
  .node-5{top:306px; bottom:auto}
  .node-6{top:374px; bottom:auto}
}

@media (prefers-reduced-motion: reduce){
  .home-strategy-map::after{
    animation:none;
  }
}



/* =============================================================
   V24 PREMIUM RESPONSIVE HOMEPAGE
   Creative, professional homepage flow with stronger presentation,
   less repetition, and full responsive layout.
   ============================================================= */

/* Homepage rhythm */
.home-strategy-section,
.home-command-section,
.home-service-gateway,
.home-trust-band{
  position:relative;
}

.home-strategy-section{
  padding: 78px 0;
}

.home-strategy-grid{
  gap: 52px;
}

.home-strategy-map{
  min-height: 440px;
}

/* Command/value section */
.home-command-section{
  padding: 78px 0;
  background:
    radial-gradient(circle at 10% 0%, rgba(34,211,238,.10), transparent 28%),
    radial-gradient(circle at 95% 20%, rgba(37,99,235,.12), transparent 30%),
    linear-gradient(135deg, var(--navy-950), #0b1d42);
  color:#fff;
  overflow:hidden;
}

.home-command-section::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background:
    repeating-linear-gradient(0deg, rgba(148,163,184,.14) 0px, rgba(148,163,184,.14) 1px, transparent 1px, transparent 40px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.10) 0px, rgba(148,163,184,.10) 1px, transparent 1px, transparent 46px);
}

.home-command-shell{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap:36px;
  align-items:center;
}

.home-command-copy h2{
  color:#fff;
  font-size:clamp(34px,3.3vw,48px);
  line-height:1.08;
  letter-spacing:-.045em;
  margin-bottom:18px;
}

.home-command-copy p:not(.eyebrow){
  color:#dbeafe;
  font-size:17px;
  line-height:1.7;
  max-width:620px;
}

.command-board{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.command-card{
  min-height:178px;
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
  box-shadow:0 20px 50px rgba(0,0,0,.12);
  transition:.22s ease;
}

.command-card:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.10);
}

.command-card span{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:16px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
  color:#fff;
  font-weight:800;
  font-size:12px;
}

.command-card strong{
  display:block;
  color:#fff;
  font-size:20px;
  letter-spacing:-.02em;
}

.command-card p{
  margin-top:8px;
  color:#cfe7ff;
  font-size:14px;
  line-height:1.58;
}

.command-card-primary{
  background:linear-gradient(135deg,rgba(37,99,235,.45),rgba(6,182,212,.22));
}

/* Gateway section */
.home-service-gateway{
  padding: 76px 0;
}

.gateway-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:30px;
}

.gateway-item{
  display:flex;
  min-height:220px;
  flex-direction:column;
  justify-content:flex-start;
  padding:24px;
  border-radius:24px;
  background:
    radial-gradient(circle at 94% 10%, rgba(29,161,255,.10), transparent 28%),
    #fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.055);
  color:var(--slate-700);
  transition:.22s ease;
}

.gateway-item:hover{
  transform:translateY(-5px);
  border-color:rgba(37,99,235,.22);
  box-shadow:0 24px 58px rgba(15,23,42,.11);
}

.gateway-item span{
  display:inline-flex;
  width:fit-content;
  margin-bottom:18px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
  color:var(--blue-600);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.gateway-item strong{
  color:var(--navy-900);
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.025em;
}

.gateway-item small{
  display:block;
  margin-top:12px;
  color:var(--slate-600);
  font-size:14px;
  line-height:1.55;
}

/* Portfolio flow after new sections */
.home-service-gateway + section{
  padding-top: 78px;
}

/* Trust band */
.home-trust-band{
  padding: 20px 0 70px;
}

.trust-band-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:34px;
  padding:34px;
  border-radius:28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(34,211,238,.18), transparent 32%),
    linear-gradient(135deg,var(--navy-950),var(--navy-850));
  box-shadow:0 22px 60px rgba(15,23,42,.15);
}

.trust-band-grid h2{
  color:#fff;
  max-width:720px;
  font-size:clamp(28px,2.8vw,40px);
}

.trust-band-points{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:12px;
}

.trust-band-points span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 15px;
  border-radius:999px;
  color:#eaf6ff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  font-weight:700;
}

/* Stronger responsive flow */
@media (max-width:1180px){
  .home-command-shell{
    grid-template-columns:1fr;
  }

  .gateway-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .trust-band-grid{
    grid-template-columns:1fr;
  }

  .trust-band-points{
    justify-content:flex-start;
  }
}

@media (max-width:860px){
  .home-strategy-section,
  .home-command-section,
  .home-service-gateway{
    padding:62px 0;
  }

  .home-strategy-grid{
    gap:32px;
  }

  .home-strategy-map{
    min-height:520px;
  }

  .command-board{
    grid-template-columns:1fr;
  }

  .command-card{
    min-height:auto;
  }
}

@media (max-width:560px){
  .home-strategy-section,
  .home-command-section,
  .home-service-gateway{
    padding:54px 0;
  }

  .gateway-grid{
    grid-template-columns:1fr;
  }

  .gateway-item{
    min-height:auto;
  }

  .trust-band-grid{
    padding:24px;
    border-radius:22px;
  }

  .trust-band-points span{
    width:100%;
    justify-content:center;
  }
}



/* =============================================================
   V25 RESPONSIVE STRATEGY INFOGRAPHIC FIX
   Replaces the scattered orbit graphic with a clean responsive
   ecosystem panel that stays organized on desktop, tablet and mobile.
   ============================================================= */

.home-strategy-grid{
  grid-template-columns:minmax(0, 1fr) minmax(420px, 560px);
  gap:48px;
  align-items:center;
}

/* Disable the old orbit styles safely */
.home-strategy-map.ecosystem-panel::after,
.home-strategy-map.ecosystem-panel .map-center,
.home-strategy-map.ecosystem-panel .map-node{
  display:none !important;
}

.home-strategy-map.ecosystem-panel{
  min-height:auto !important;
  padding:28px;
  border-radius:30px;
  overflow:hidden;
  display:block;
  background:
    radial-gradient(circle at 82% 10%, rgba(34,211,238,.18), transparent 30%),
    radial-gradient(circle at 20% 85%, rgba(37,99,235,.16), transparent 32%),
    linear-gradient(135deg, #061127, #0b1d42);
}

.home-strategy-map.ecosystem-panel::before{
  opacity:.20;
}

.ecosystem-header{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.10);
  margin-bottom:22px;
}

.ecosystem-header span{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:0 11px;
  border-radius:999px;
  background:rgba(37,99,235,.22);
  color:#9bdcff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}

.ecosystem-header strong{
  color:#fff;
  max-width:260px;
  text-align:right;
  font-size:18px;
  line-height:1.25;
}

.ecosystem-body{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:22px;
  align-items:stretch;
}

.ecosystem-core{
  min-height:310px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:22px;
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  box-shadow:0 18px 45px rgba(14,165,233,.18), inset 0 0 0 1px rgba(255,255,255,.16);
}

.ecosystem-core span{
  color:#dff6ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.ecosystem-core strong{
  color:#fff;
  font-size:23px;
  line-height:1.08;
  letter-spacing:-.03em;
}

.ecosystem-core small{
  display:block;
  margin-top:12px;
  color:#e9fbff;
  font-size:12px;
  line-height:1.4;
}

.ecosystem-items{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.ecosystem-item{
  min-height:92px;
  display:grid;
  grid-template-columns:36px 1fr;
  gap:10px 12px;
  align-items:start;
  padding:16px;
  border-radius:18px;
  color:#eaf6ff;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  transition:.22s ease;
}

.ecosystem-item:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.11);
  border-color:rgba(125,211,252,.25);
}

.ecosystem-item span{
  grid-row:span 2;
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:13px;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
  color:#fff;
  font-size:11px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(37,99,235,.22);
}

.ecosystem-item strong{
  color:#fff;
  font-size:15px;
  line-height:1.2;
  letter-spacing:-.015em;
}

.ecosystem-item small{
  color:#b9d6f5;
  font-size:12px;
  line-height:1.42;
}

/* Tablet and smaller screens */
@media (max-width:1180px){
  .home-strategy-grid{
    grid-template-columns:1fr;
  }

  .home-strategy-map.ecosystem-panel{
    max-width:760px;
    width:100%;
  }
}

@media (max-width:760px){
  .home-strategy-map.ecosystem-panel{
    padding:22px;
    border-radius:24px;
  }

  .ecosystem-header{
    display:grid;
    justify-items:start;
  }

  .ecosystem-header strong{
    text-align:left;
    max-width:100%;
  }

  .ecosystem-body{
    grid-template-columns:1fr;
  }

  .ecosystem-core{
    min-height:auto;
    padding:24px;
  }

  .ecosystem-items{
    grid-template-columns:1fr;
  }

  .ecosystem-item{
    min-height:auto;
  }
}

@media (max-width:480px){
  .home-strategy-map.ecosystem-panel{
    padding:18px;
    border-radius:20px;
  }

  .ecosystem-item{
    grid-template-columns:32px 1fr;
    padding:14px;
  }

  .ecosystem-item span{
    width:30px;
    height:30px;
    border-radius:11px;
  }
}



/* =============================================================
   V26 HOMEPAGE DUPLICATE CLEANUP
   Removes repeated homepage sections and tightens the final flow:
   Hero -> Metrics -> Digital Ecosystem -> Portfolio -> Process
   -> Industries -> Testimonials -> CTA -> Footer.
   ============================================================= */

/* Hide old repeated sections defensively if a cached block remains */
.home-command-section,
.home-service-gateway,
.home-trust-band{
  display:none !important;
}

/* Tighten homepage rhythm after removing repetitive blocks */
.home-strategy-section{
  padding: 76px 0 72px;
}

.home-strategy-section + section{
  padding-top: 76px;
}

.home-strategy-copy h2{
  max-width: 760px;
}

.home-strategy-copy p:not(.eyebrow){
  max-width: 680px;
}

/* Make the ecosystem panel feel like the single clear homepage capabilities overview */
.ecosystem-panel{
  box-shadow: 0 22px 60px rgba(15,23,42,.13);
}

.ecosystem-item{
  text-decoration: none;
}

/* Portfolio comes immediately after strategy; spacing should not feel empty */
.home-strategy-section + .section-soft,
.home-strategy-section + section.section-soft{
  background:
    radial-gradient(circle at 80% 0%, rgba(37,99,235,.045), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

/* Stronger separation for process after portfolio */
.process-line{
  margin-top: 34px;
}

/* Final CTA should not feel separated by a repeated trust band */
.cta-band{
  margin-top: 0;
}

/* Better mobile flow after cleanup */
@media (max-width: 860px){
  .home-strategy-section{
    padding: 60px 0 58px;
  }

  .home-strategy-section + section{
    padding-top: 60px;
  }
}

@media (max-width: 560px){
  .home-strategy-section{
    padding: 52px 0 50px;
  }

  .home-strategy-section + section{
    padding-top: 54px;
  }
}



/* =============================================================
   V27 CLEAN STRATEGY PANEL
   Replaces the crowded right-side ecosystem panel with a cleaner,
   professional and fully responsive Digital Growth Stack.
   ============================================================= */

/* Disable previous ecosystem/orbit styles on the new panel */
.solution-stack-panel::after,
.solution-stack-panel .map-center,
.solution-stack-panel .map-node,
.solution-stack-panel .ecosystem-header,
.solution-stack-panel .ecosystem-body,
.solution-stack-panel .ecosystem-core,
.solution-stack-panel .ecosystem-items,
.solution-stack-panel .ecosystem-item{
  display:none !important;
}

.home-strategy-grid{
  grid-template-columns:minmax(0, 1fr) minmax(420px, 560px);
  gap:52px;
  align-items:center;
}

.solution-stack-panel{
  position:relative;
  min-height:auto !important;
  padding:30px;
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  background:
    radial-gradient(circle at 92% 10%, rgba(34,211,238,.18), transparent 28%),
    radial-gradient(circle at 8% 90%, rgba(37,99,235,.16), transparent 30%),
    linear-gradient(135deg, #061127 0%, #0b1d42 100%);
  box-shadow:0 24px 64px rgba(15,23,42,.14);
}

.solution-stack-panel::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.16;
  background:
    repeating-linear-gradient(0deg, rgba(148,163,184,.14) 0px, rgba(148,163,184,.14) 1px, transparent 1px, transparent 36px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.10) 0px, rgba(148,163,184,.10) 1px, transparent 1px, transparent 42px);
  pointer-events:none;
}

.solution-panel-header{
  position:relative;
  z-index:2;
  display:grid;
  gap:12px;
  padding-bottom:22px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.solution-panel-header span{
  width:fit-content;
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  background:rgba(37,99,235,.24);
  color:#9bdcff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.solution-panel-header strong{
  color:#fff;
  max-width:460px;
  font-size:22px;
  line-height:1.25;
  letter-spacing:-.025em;
}

.solution-stack{
  position:relative;
  z-index:2;
  display:grid;
  gap:12px;
}

.solution-stack::before{
  content:"";
  position:absolute;
  left:23px;
  top:24px;
  bottom:24px;
  width:2px;
  background:linear-gradient(180deg, var(--blue-600), var(--cyan-500));
  opacity:.40;
  border-radius:999px;
}

.solution-stack-row{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:start;
  padding:16px;
  border-radius:20px;
  text-decoration:none;
  color:#dbeafe;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  transition:.22s ease;
}

.solution-stack-row:hover{
  transform:translateX(4px);
  background:rgba(255,255,255,.11);
  border-color:rgba(125,211,252,.25);
}

.stack-number{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  color:#fff;
  font-weight:800;
  font-size:12px;
  box-shadow:0 12px 28px rgba(37,99,235,.24);
}

.solution-stack-row strong{
  display:block;
  color:#fff;
  font-size:17px;
  line-height:1.22;
  letter-spacing:-.015em;
}

.solution-stack-row p{
  margin-top:6px;
  color:#b9d6f5;
  font-size:13px;
  line-height:1.5;
}

.solution-panel-footer{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-top:18px;
}

.solution-panel-footer div{
  min-height:72px;
  padding:13px 12px;
  border-radius:18px;
  text-align:center;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
}

.solution-panel-footer strong{
  display:block;
  color:#fff;
  font-size:22px;
  line-height:1.1;
  letter-spacing:-.025em;
}

.solution-panel-footer span{
  display:block;
  margin-top:4px;
  color:#b9d6f5;
  font-size:11.5px;
  line-height:1.25;
}

/* Responsive layout */
@media (max-width:1180px){
  .home-strategy-grid{
    grid-template-columns:1fr;
  }

  .solution-stack-panel{
    max-width:760px;
    width:100%;
  }
}

@media (max-width:760px){
  .solution-stack-panel{
    padding:24px;
    border-radius:24px;
  }

  .solution-panel-header strong{
    font-size:20px;
  }

  .solution-stack-row{
    grid-template-columns:44px 1fr;
    padding:15px;
  }

  .stack-number{
    width:38px;
    height:38px;
    border-radius:14px;
  }

  .solution-panel-footer{
    grid-template-columns:1fr;
  }

  .solution-panel-footer div{
    min-height:auto;
  }
}

@media (max-width:480px){
  .solution-stack-panel{
    padding:18px;
    border-radius:20px;
  }

  .solution-stack::before{
    left:19px;
  }

  .solution-stack-row{
    grid-template-columns:38px 1fr;
    gap:12px;
    padding:14px;
  }

  .stack-number{
    width:34px;
    height:34px;
    border-radius:12px;
    font-size:11px;
  }

  .solution-stack-row strong{
    font-size:16px;
  }

  .solution-stack-row p{
    font-size:12.5px;
  }
}



/* =============================================================
   V28 REMOVE STRATEGY PANEL STATS
   Removes the repeated stats row from the Digital Growth Stack panel.
   ============================================================= */

.solution-panel-footer{
  display: none !important;
}

.solution-stack-panel{
  padding-bottom: 30px;
}

.solution-stack{
  margin-bottom: 0;
}

@media (max-width: 760px){
  .solution-stack-panel{
    padding-bottom: 24px;
  }
}

@media (max-width: 480px){
  .solution-stack-panel{
    padding-bottom: 18px;
  }
}



/* =============================================================
   V29 COMPACT SERVICES SECTION POLISH
   Cleaner, lighter and more compact homepage core services section.
   ============================================================= */

.core-services-section{
  padding: 58px 0 62px;
  background:
    radial-gradient(circle at 8% 0%, rgba(37,99,235,.05), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.section-head-compact{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:24px;
}

.section-head-compact .copy h2{
  max-width:760px;
  font-size:clamp(30px, 3vw, 40px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin-bottom:10px;
}

.section-head-compact .copy p:not(.eyebrow){
  max-width:720px;
  color:var(--slate-600);
  line-height:1.65;
}

.core-services-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}

.core-service-card{
  display:flex;
  flex-direction:column;
  min-height:250px;
  padding:20px;
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 100%, rgba(37,99,235,.05), transparent 22%),
    #fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 30px rgba(15,23,42,.055);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.core-service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(37,99,235,.18);
  box-shadow:0 18px 44px rgba(15,23,42,.09);
}

.core-service-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:16px;
}

.service-icon-pill{
  min-width:54px;
  height:54px;
  padding:0 12px;
  border-radius:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  box-shadow:0 14px 28px rgba(37,99,235,.16);
}

.service-micro-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
  color:var(--blue-700);
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}

.core-service-card h3{
  color:var(--navy-900);
  font-size:17px;
  line-height:1.24;
  letter-spacing:-.02em;
  margin-bottom:10px;
}

.core-service-card p{
  color:var(--slate-600);
  font-size:14px;
  line-height:1.58;
  margin-bottom:14px;
}

.service-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
  margin-bottom:16px;
}

.service-tags span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#f7faff;
  border:1px solid rgba(59,130,246,.12);
  color:var(--slate-600);
  font-size:12px;
  font-weight:600;
}

.service-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:fit-content;
  color:var(--blue-600);
  text-decoration:none;
  font-size:14px;
  font-weight:800;
}

.service-link span{
  transition:transform .18s ease;
}

.service-link:hover span{
  transform:translateX(3px);
}

@media (max-width:1200px){
  .core-services-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:860px){
  .core-services-section{
    padding:52px 0 56px;
  }

  .section-head-compact{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:640px){
  .core-services-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .core-service-card{
    min-height:auto;
    padding:18px;
    border-radius:20px;
  }

  .service-icon-pill{
    min-width:48px;
    height:48px;
    border-radius:16px;
    font-size:11px;
  }

  .section-head-compact .btn{
    width:100%;
  }
}



/* =============================================================
   V30 DARK ANIMATED PROCESS SECTION
   Converts the homepage process section into a premium dark navy
   section with strong readability and animated moving process lines.
   ============================================================= */

.process-section-dark{
  position: relative;
  overflow: hidden;
  padding: 86px 0 94px;
  background:
    radial-gradient(circle at 12% 0%, rgba(34,211,238,.16), transparent 28%),
    radial-gradient(circle at 92% 28%, rgba(37,99,235,.18), transparent 30%),
    linear-gradient(135deg, #061127 0%, #0b1d42 55%, #071126 100%);
  color: #fff;
}

.process-section-dark::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background:
    repeating-linear-gradient(0deg, rgba(148,163,184,.16) 0px, rgba(148,163,184,.16) 1px, transparent 1px, transparent 42px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.11) 0px, rgba(148,163,184,.11) 1px, transparent 1px, transparent 48px);
  pointer-events:none;
}

.process-section-dark::after{
  content:"";
  position:absolute;
  inset:auto -20% -45% -20%;
  height:360px;
  background: radial-gradient(circle, rgba(14,165,233,.18), transparent 62%);
  pointer-events:none;
}

.process-section-dark .container{
  position:relative;
  z-index:2;
}

.process-section-dark .section-intro{
  margin-bottom: 44px;
}

.process-section-dark .section-intro .eyebrow{
  color:#8ddcff;
}

.process-section-dark .section-intro .eyebrow::before{
  box-shadow: 0 0 0 7px rgba(56,189,248,.13);
}

.process-section-dark .section-intro h2{
  color:#ffffff;
  text-shadow:0 12px 32px rgba(0,0,0,.22);
}

.process-section-dark .section-intro p{
  max-width:780px;
  color:#d9eaff;
}

/* Process timeline */
.process-section-dark .process-line{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:18px;
  margin-top: 38px;
}

.process-section-dark .process-line::before{
  content:"";
  position:absolute;
  left:9%;
  right:9%;
  top:34px;
  height:3px;
  border-radius:999px;
  background:
    linear-gradient(90deg, rgba(56,189,248,.15), rgba(56,189,248,.70), rgba(37,99,235,.95), rgba(56,189,248,.70), rgba(56,189,248,.15));
  box-shadow:0 0 22px rgba(56,189,248,.28);
  overflow:hidden;
  z-index:0;
}

.process-section-dark .process-line::after{
  content:"";
  position:absolute;
  left:9%;
  right:9%;
  top:31px;
  height:9px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.0) 30%, rgba(255,255,255,.8) 50%, rgba(255,255,255,.0) 70%, transparent 100%);
  width:22%;
  animation: processLineMove 3.2s linear infinite;
  filter:blur(.2px);
  z-index:1;
}

@keyframes processLineMove{
  0%{transform:translateX(-60%)}
  100%{transform:translateX(430%)}
}

.process-section-dark .step{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  text-align:center;
  padding:0 10px;
}

.process-section-dark .step-number{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:50%;
  margin:0 auto 18px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  border:6px solid rgba(255,255,255,.92);
  box-shadow:
    0 0 0 8px rgba(37,99,235,.13),
    0 18px 36px rgba(14,165,233,.20);
  animation: processNodePulse 2.8s ease-in-out infinite;
}

.process-section-dark .step:nth-child(2) .step-number{animation-delay:.25s}
.process-section-dark .step:nth-child(3) .step-number{animation-delay:.5s}
.process-section-dark .step:nth-child(4) .step-number{animation-delay:.75s}
.process-section-dark .step:nth-child(5) .step-number{animation-delay:1s}

@keyframes processNodePulse{
  0%,100%{
    transform:translateY(0);
    box-shadow:0 0 0 8px rgba(37,99,235,.13), 0 18px 36px rgba(14,165,233,.20);
  }
  50%{
    transform:translateY(-4px);
    box-shadow:0 0 0 12px rgba(56,189,248,.18), 0 22px 44px rgba(14,165,233,.28);
  }
}

.process-section-dark .step h4{
  color:#ffffff;
  font-size:17px;
  line-height:1.2;
  margin-bottom:8px;
}

.process-section-dark .step p{
  color:#cfe1f8;
  font-size:14px;
  line-height:1.55;
  max-width:220px;
  margin:0 auto;
}

/* Responsive timeline */
@media (max-width: 1000px){
  .process-section-dark{
    padding:76px 0 82px;
  }

  .process-section-dark .process-line{
    grid-template-columns:1fr;
    gap:18px;
    max-width:720px;
    margin-inline:auto;
  }

  .process-section-dark .process-line::before{
    left:34px;
    right:auto;
    top:26px;
    bottom:26px;
    width:3px;
    height:auto;
    background:linear-gradient(180deg, rgba(56,189,248,.15), rgba(56,189,248,.70), rgba(37,99,235,.95), rgba(56,189,248,.70), rgba(56,189,248,.15));
  }

  .process-section-dark .process-line::after{
    left:31px;
    right:auto;
    top:26px;
    width:9px;
    height:110px;
    background:linear-gradient(180deg, transparent 0%, rgba(255,255,255,.0) 28%, rgba(255,255,255,.85) 50%, rgba(255,255,255,.0) 72%, transparent 100%);
    animation: processLineMoveVertical 3.2s linear infinite;
  }

  @keyframes processLineMoveVertical{
    0%{transform:translateY(-60%)}
    100%{transform:translateY(420%)}
  }

  .process-section-dark .step{
    grid-template-columns:72px 1fr;
    align-items:center;
    justify-items:start;
    text-align:left;
    padding:18px 20px;
    border-radius:22px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.11);
    backdrop-filter:blur(10px);
  }

  .process-section-dark .step-number{
    width:56px;
    height:56px;
    margin:0;
    border-width:5px;
  }

  .process-section-dark .step p{
    max-width:none;
    margin:0;
  }
}

@media (max-width: 560px){
  .process-section-dark{
    padding:62px 0 68px;
  }

  .process-section-dark .section-intro{
    margin-bottom:32px;
  }

  .process-section-dark .step{
    grid-template-columns:60px 1fr;
    padding:16px;
    border-radius:18px;
  }

  .process-section-dark .step-number{
    width:48px;
    height:48px;
    font-size:13px;
  }

  .process-section-dark .step h4{
    font-size:16px;
  }

  .process-section-dark .step p{
    font-size:13.5px;
  }
}

@media (prefers-reduced-motion: reduce){
  .process-section-dark .process-line::after,
  .process-section-dark .step-number{
    animation:none !important;
  }
}



/* =============================================================
   V31 ANIMATED DOTTED PROCESS LINE
   Changes the process timeline into a professional animated dotted
   line moving left-to-right on desktop and top-to-bottom on mobile.
   ============================================================= */

/* Desktop horizontal animated dotted line */
.process-section-dark .process-line::before{
  content:"" !important;
  position:absolute !important;
  left:9% !important;
  right:9% !important;
  top:34px !important;
  height:4px !important;
  border-radius:999px !important;
  z-index:0 !important;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(125,211,252,.92) 0 10px,
      rgba(125,211,252,.92) 10px 12px,
      transparent 12px 24px
    ) !important;
  background-size: 48px 4px !important;
  box-shadow:
    0 0 18px rgba(56,189,248,.26),
    0 0 38px rgba(37,99,235,.16) !important;
  animation: processDottedLineMove 1.35s linear infinite !important;
}

/* Moving light sweep on top of the dotted line */
.process-section-dark .process-line::after{
  content:"" !important;
  position:absolute !important;
  left:9% !important;
  right:9% !important;
  top:29px !important;
  height:14px !important;
  width:24% !important;
  border-radius:999px !important;
  z-index:1 !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.92), transparent 22%),
    linear-gradient(90deg, transparent 0%, rgba(34,211,238,.0) 15%, rgba(34,211,238,.70) 50%, rgba(34,211,238,.0) 85%, transparent 100%) !important;
  filter: blur(.2px) drop-shadow(0 0 14px rgba(56,189,248,.42)) !important;
  animation: processDottedSweep 3s cubic-bezier(.45,0,.2,1) infinite !important;
}

@keyframes processDottedLineMove{
  from{ background-position: 0 0; }
  to{ background-position: 48px 0; }
}

@keyframes processDottedSweep{
  0%{ transform: translateX(-75%); opacity:0; }
  12%{ opacity:.95; }
  82%{ opacity:.95; }
  100%{ transform: translateX(410%); opacity:0; }
}

/* Make nodes appear connected to the animated dotted rail */
.process-section-dark .step-number{
  position:relative;
  z-index:3;
}

.process-section-dark .step-number::after{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:50%;
  border:1px solid rgba(125,211,252,.24);
  opacity:.55;
  animation: processNodeRing 2.8s ease-in-out infinite;
}

@keyframes processNodeRing{
  0%,100%{ transform:scale(.92); opacity:.28; }
  50%{ transform:scale(1.08); opacity:.58; }
}

/* Tablet/mobile vertical dotted line */
@media (max-width: 1000px){
  .process-section-dark .process-line::before{
    left:34px !important;
    right:auto !important;
    top:26px !important;
    bottom:26px !important;
    width:4px !important;
    height:auto !important;
    background:
      repeating-linear-gradient(
        180deg,
        rgba(125,211,252,.92) 0 10px,
        rgba(125,211,252,.92) 10px 12px,
        transparent 12px 24px
      ) !important;
    background-size: 4px 48px !important;
    animation: processDottedLineMoveVertical 1.35s linear infinite !important;
  }

  .process-section-dark .process-line::after{
    left:29px !important;
    right:auto !important;
    top:26px !important;
    width:14px !important;
    height:110px !important;
    background:
      radial-gradient(circle at 50% 50%, rgba(255,255,255,.92), transparent 22%),
      linear-gradient(180deg, transparent 0%, rgba(34,211,238,.0) 15%, rgba(34,211,238,.70) 50%, rgba(34,211,238,.0) 85%, transparent 100%) !important;
    animation: processDottedSweepVertical 3s cubic-bezier(.45,0,.2,1) infinite !important;
  }

  @keyframes processDottedLineMoveVertical{
    from{ background-position: 0 0; }
    to{ background-position: 0 48px; }
  }

  @keyframes processDottedSweepVertical{
    0%{ transform: translateY(-75%); opacity:0; }
    12%{ opacity:.95; }
    82%{ opacity:.95; }
    100%{ transform: translateY(420%); opacity:0; }
  }
}

@media (max-width: 560px){
  .process-section-dark .process-line::before{
    left:28px !important;
  }

  .process-section-dark .process-line::after{
    left:23px !important;
    height:92px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .process-section-dark .process-line::before,
  .process-section-dark .process-line::after,
  .process-section-dark .step-number::after{
    animation:none !important;
  }
}



/* =============================================================
   V32 CSS ONLY PROCESS ANIMATION FIX
   No JavaScript required. This makes the process line movement
   clearer using a strong CSS-only animated dotted track.
   ============================================================= */

/* Make sure the process line has visible animation on desktop */
.process-section-dark .process-line::before{
  content:"" !important;
  position:absolute !important;
  left:9% !important;
  right:9% !important;
  top:34px !important;
  height:5px !important;
  z-index:1 !important;
  border-radius:999px !important;
  background-image:
    repeating-linear-gradient(
      90deg,
      rgba(125,211,252,1) 0 12px,
      transparent 12px 24px
    ) !important;
  background-size:48px 5px !important;
  background-repeat:repeat-x !important;
  background-position:0 0 !important;
  box-shadow:
    0 0 16px rgba(56,189,248,.45),
    0 0 34px rgba(37,99,235,.25) !important;
  animation: amzealMoveDotsHorizontal .8s linear infinite !important;
}

/* A brighter travelling highlight so the line visibly flows */
.process-section-dark .process-line::after{
  content:"" !important;
  position:absolute !important;
  left:9% !important;
  right:9% !important;
  top:27px !important;
  width:18% !important;
  height:19px !important;
  z-index:2 !important;
  border-radius:999px !important;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(255,255,255,.05) 12%,
      rgba(255,255,255,.85) 48%,
      rgba(34,211,238,.78) 56%,
      rgba(255,255,255,.05) 86%,
      transparent 100%
    ) !important;
  filter: blur(.3px) drop-shadow(0 0 16px rgba(56,189,248,.55)) !important;
  animation: amzealSweepHorizontal 2.2s linear infinite !important;
}

@keyframes amzealMoveDotsHorizontal{
  0%{ background-position:0 0; }
  100%{ background-position:48px 0; }
}

@keyframes amzealSweepHorizontal{
  0%{ transform:translateX(-95%); opacity:0; }
  8%{ opacity:1; }
  88%{ opacity:1; }
  100%{ transform:translateX(520%); opacity:0; }
}

/* Keep nodes above the moving line */
.process-section-dark .step{
  position:relative;
  z-index:4;
}

.process-section-dark .step-number{
  position:relative;
  z-index:5;
}

/* Tablet/mobile: convert the same CSS-only dotted animation vertically */
@media (max-width:1000px){
  .process-section-dark .process-line::before{
    left:34px !important;
    right:auto !important;
    top:26px !important;
    bottom:26px !important;
    width:5px !important;
    height:auto !important;
    background-image:
      repeating-linear-gradient(
        180deg,
        rgba(125,211,252,1) 0 12px,
        transparent 12px 24px
      ) !important;
    background-size:5px 48px !important;
    background-repeat:repeat-y !important;
    animation: amzealMoveDotsVertical .8s linear infinite !important;
  }

  .process-section-dark .process-line::after{
    left:27px !important;
    right:auto !important;
    top:26px !important;
    width:19px !important;
    height:18% !important;
    background:
      linear-gradient(
        180deg,
        transparent 0%,
        rgba(255,255,255,.05) 12%,
        rgba(255,255,255,.85) 48%,
        rgba(34,211,238,.78) 56%,
        rgba(255,255,255,.05) 86%,
        transparent 100%
      ) !important;
    animation: amzealSweepVertical 2.2s linear infinite !important;
  }

  @keyframes amzealMoveDotsVertical{
    0%{ background-position:0 0; }
    100%{ background-position:0 48px; }
  }

  @keyframes amzealSweepVertical{
    0%{ transform:translateY(-95%); opacity:0; }
    8%{ opacity:1; }
    88%{ opacity:1; }
    100%{ transform:translateY(520%); opacity:0; }
  }
}

@media (max-width:560px){
  .process-section-dark .process-line::before{
    left:28px !important;
  }

  .process-section-dark .process-line::after{
    left:21px !important;
  }
}

/* Only stop motion for users who explicitly prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  .process-section-dark .process-line::before,
  .process-section-dark .process-line::after{
    animation:none !important;
  }
}



/* =============================================================
   V33 REAL PROCESS FLOW ANIMATION
   Replaces the ugly static-looking dotted effect with a cleaner,
   visible animated progress-flow timeline.
   ============================================================= */

/* Remove/neutralize previous pseudo line effects */
.process-section-dark .process-line-real::before,
.process-section-dark .process-line-real::after{
  display:none !important;
  content:none !important;
}

.process-section-dark .process-line-real{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:18px;
  margin-top:42px;
  --process-active: 0;
}

/* Real track layer */
.process-flow-track{
  position:absolute;
  left:9%;
  right:9%;
  top:34px;
  height:8px;
  z-index:0;
  pointer-events:none;
}

.process-track-base{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(125,211,252,.68) 0 8px,
      transparent 8px 18px
    );
  opacity:.55;
  box-shadow:0 0 18px rgba(56,189,248,.22);
}

.process-track-progress{
  position:absolute;
  left:0;
  top:2px;
  height:4px;
  width:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(37,99,235,.30), rgba(34,211,238,.95), rgba(255,255,255,.82), rgba(34,211,238,.95));
  transform-origin:left center;
  transform:scaleX(calc((var(--process-active) + 1) / 5));
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
  box-shadow:0 0 22px rgba(56,189,248,.48);
}

.process-pulse{
  position:absolute;
  top:50%;
  left:0;
  width:18px;
  height:18px;
  margin-top:-9px;
  border-radius:999px;
  background:radial-gradient(circle, #ffffff 0 20%, #7dd3fc 36%, rgba(37,99,235,.10) 72%);
  box-shadow:0 0 18px rgba(125,211,252,.75), 0 0 38px rgba(37,99,235,.42);
  animation: processPulseTravel 3.4s linear infinite;
}

.process-pulse-2{
  animation-delay:1.7s;
  opacity:.75;
}

@keyframes processPulseTravel{
  0%{ transform:translateX(0) scale(.76); opacity:0; }
  8%{ opacity:1; }
  50%{ transform:translateX(calc((100vw - 420px) * .42)) scale(1); opacity:1; }
  92%{ opacity:1; }
  100%{ transform:translateX(calc(100% + 760px)) scale(.76); opacity:0; }
}

/* Cleaner step cards/nodes */
.process-section-dark .process-line-real .step{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  text-align:center;
  padding:0 10px;
  transition:transform .35s ease, opacity .35s ease;
}

.process-section-dark .process-line-real .step-number{
  position:relative;
  z-index:3;
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:50%;
  margin:0 auto 18px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg, #2563eb, #06b6d4);
  border:6px solid rgba(255,255,255,.92);
  box-shadow:
    0 0 0 8px rgba(37,99,235,.12),
    0 18px 36px rgba(14,165,233,.20);
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}

.process-section-dark .process-line-real .step-number::after{
  display:none !important;
}

.process-section-dark .process-line-real .step.is-active{
  transform:translateY(-5px);
}

.process-section-dark .process-line-real .step.is-active .step-number{
  background:linear-gradient(135deg, #0ea5e9, #22d3ee);
  box-shadow:
    0 0 0 10px rgba(34,211,238,.16),
    0 0 28px rgba(125,211,252,.55),
    0 24px 48px rgba(14,165,233,.30);
}

.process-section-dark .process-line-real .step.is-passed .step-number{
  background:linear-gradient(135deg, #2563eb, #14b8a6);
}

.process-section-dark .process-line-real .step h4{
  color:#ffffff;
}

.process-section-dark .process-line-real .step p{
  color:#cfe1f8;
}

/* Responsive vertical real timeline */
@media (max-width:1000px){
  .process-section-dark .process-line-real{
    grid-template-columns:1fr;
    max-width:760px;
    margin-inline:auto;
    gap:16px;
  }

  .process-flow-track{
    left:34px;
    right:auto;
    top:26px;
    bottom:26px;
    width:8px;
    height:auto;
  }

  .process-track-base{
    background:
      repeating-linear-gradient(
        180deg,
        rgba(125,211,252,.68) 0 8px,
        transparent 8px 18px
      );
  }

  .process-track-progress{
    top:0;
    left:2px;
    width:4px;
    height:100%;
    transform-origin:top center;
    transform:scaleY(calc((var(--process-active) + 1) / 5));
    background:linear-gradient(180deg, rgba(37,99,235,.30), rgba(34,211,238,.95), rgba(255,255,255,.82), rgba(34,211,238,.95));
  }

  .process-pulse{
    left:50%;
    top:0;
    margin-left:-9px;
    margin-top:0;
    animation: processPulseTravelVertical 3.4s linear infinite;
  }

  @keyframes processPulseTravelVertical{
    0%{ transform:translateY(0) scale(.76); opacity:0; }
    8%{ opacity:1; }
    92%{ opacity:1; }
    100%{ transform:translateY(520px) scale(.76); opacity:0; }
  }

  .process-section-dark .process-line-real .step{
    grid-template-columns:72px 1fr;
    align-items:center;
    justify-items:start;
    text-align:left;
    padding:18px 20px;
    border-radius:22px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.11);
    backdrop-filter:blur(10px);
  }

  .process-section-dark .process-line-real .step.is-active{
    transform:translateX(5px);
    border-color:rgba(125,211,252,.26);
    background:rgba(255,255,255,.10);
  }

  .process-section-dark .process-line-real .step-number{
    width:56px;
    height:56px;
    margin:0;
    border-width:5px;
  }
}

@media (max-width:560px){
  .process-flow-track{
    left:28px;
  }

  .process-section-dark .process-line-real .step{
    grid-template-columns:60px 1fr;
    padding:16px;
    border-radius:18px;
  }

  .process-section-dark .process-line-real .step-number{
    width:48px;
    height:48px;
    font-size:13px;
  }
}

@media (prefers-reduced-motion: reduce){
  .process-pulse,
  .process-track-progress,
  .process-section-dark .process-line-real .step,
  .process-section-dark .process-line-real .step-number{
    animation:none !important;
    transition:none !important;
  }
}



/* =============================================================
   V34 STRAIGHT DOTTED PROCESS LINE
   Keeps the process timeline perfectly straight and aligned through
   the center of the numbered nodes.
   ============================================================= */

/* Stop older pseudo line effects */
.process-section-dark .process-line-real::before,
.process-section-dark .process-line-real::after{
  display:none !important;
  content:none !important;
}

/* Keep the process layout straight on desktop */
.process-section-dark .process-line-real{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:18px;
  align-items:start;
  margin-top:42px;
}

/* Straight horizontal dotted rail */
.process-flow-track{
  position:absolute !important;
  left:9% !important;
  right:9% !important;
  top:34px !important;
  height:6px !important;
  z-index:1 !important;
  pointer-events:none !important;
  transform:none !important;
}

.process-track-base{
  position:absolute !important;
  inset:0 !important;
  height:6px !important;
  border-radius:999px !important;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(125,211,252,.95) 0 9px,
      transparent 9px 18px
    ) !important;
  background-size:36px 6px !important;
  background-repeat:repeat-x !important;
  animation: amzealStraightDots 1.1s linear infinite !important;
  box-shadow:
    0 0 12px rgba(56,189,248,.35),
    0 0 26px rgba(37,99,235,.18) !important;
  opacity:.85 !important;
}

/* Straight progress layer, no bending/glow block */
.process-track-progress{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  height:6px !important;
  width:100% !important;
  border-radius:999px !important;
  transform-origin:left center !important;
  transform:scaleX(calc((var(--process-active) + 1) / 5)) !important;
  transition:transform .65s cubic-bezier(.22,.61,.36,1) !important;
  background:
    repeating-linear-gradient(
      90deg,
      #ffffff 0 9px,
      transparent 9px 18px
    ) !important;
  background-size:36px 6px !important;
  animation: amzealStraightDots 1.1s linear infinite !important;
  filter:drop-shadow(0 0 10px rgba(125,211,252,.55)) !important;
}

/* Clean moving pulse along the same straight rail */
.process-pulse{
  position:absolute !important;
  top:50% !important;
  left:0 !important;
  width:14px !important;
  height:14px !important;
  margin-top:-7px !important;
  border-radius:50% !important;
  background:#ffffff !important;
  box-shadow:
    0 0 0 5px rgba(125,211,252,.16),
    0 0 18px rgba(125,211,252,.78),
    0 0 32px rgba(37,99,235,.42) !important;
  animation: amzealStraightPulse 3s linear infinite !important;
}

.process-pulse-2{
  animation-delay:1.5s !important;
  opacity:.75 !important;
}

@keyframes amzealStraightDots{
  from{background-position:0 0}
  to{background-position:36px 0}
}

@keyframes amzealStraightPulse{
  0%{left:0; transform:translateX(-50%) scale(.78); opacity:0}
  8%{opacity:1}
  92%{opacity:1}
  100%{left:100%; transform:translateX(-50%) scale(.78); opacity:0}
}

/* Ensure nodes sit exactly above the straight line */
.process-section-dark .process-line-real .step{
  position:relative;
  z-index:3;
  display:grid;
  justify-items:center;
  text-align:center;
  padding:0 10px;
}

.process-section-dark .process-line-real .step-number{
  position:relative;
  z-index:4;
  margin-top:0 !important;
}

/* Tablet/mobile remains a straight vertical dotted line */
@media (max-width:1000px){
  .process-section-dark .process-line-real{
    grid-template-columns:1fr;
    max-width:760px;
    margin-inline:auto;
    gap:16px;
  }

  .process-flow-track{
    left:34px !important;
    right:auto !important;
    top:26px !important;
    bottom:26px !important;
    width:6px !important;
    height:auto !important;
  }

  .process-track-base{
    width:6px !important;
    height:100% !important;
    background:
      repeating-linear-gradient(
        180deg,
        rgba(125,211,252,.95) 0 9px,
        transparent 9px 18px
      ) !important;
    background-size:6px 36px !important;
    background-repeat:repeat-y !important;
    animation: amzealStraightDotsVertical 1.1s linear infinite !important;
  }

  .process-track-progress{
    left:0 !important;
    top:0 !important;
    width:6px !important;
    height:100% !important;
    transform-origin:top center !important;
    transform:scaleY(calc((var(--process-active) + 1) / 5)) !important;
    background:
      repeating-linear-gradient(
        180deg,
        #ffffff 0 9px,
        transparent 9px 18px
      ) !important;
    background-size:6px 36px !important;
    animation: amzealStraightDotsVertical 1.1s linear infinite !important;
  }

  .process-pulse{
    left:50% !important;
    top:0 !important;
    margin-left:-7px !important;
    margin-top:0 !important;
    animation: amzealStraightPulseVertical 3s linear infinite !important;
  }

  @keyframes amzealStraightDotsVertical{
    from{background-position:0 0}
    to{background-position:0 36px}
  }

  @keyframes amzealStraightPulseVertical{
    0%{top:0; transform:translateY(-50%) scale(.78); opacity:0}
    8%{opacity:1}
    92%{opacity:1}
    100%{top:100%; transform:translateY(-50%) scale(.78); opacity:0}
  }
}

@media (max-width:560px){
  .process-flow-track{
    left:28px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .process-track-base,
  .process-track-progress,
  .process-pulse{
    animation:none !important;
  }
}



/* =============================================================
   V35 REMOVE STATIC BLUE DOTTED LINE
   Removes the static blue dotted base line and keeps only the animated
   process flow line/pulse.
   ============================================================= */

/* Hide the non-moving blue dotted rail */
.process-section-dark .process-flow-track .process-track-base{
  display: none !important;
  opacity: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* Keep the animated line visible and clean */
.process-section-dark .process-flow-track .process-track-progress{
  opacity: 1 !important;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.95) 0 9px,
      transparent 9px 18px
    ) !important;
  background-size:36px 6px !important;
  filter:drop-shadow(0 0 12px rgba(125,211,252,.65)) !important;
}

/* Keep the travelling pulse as the main animation */
.process-section-dark .process-flow-track .process-pulse{
  opacity: 1;
}

/* Mobile vertical animated line only */
@media (max-width:1000px){
  .process-section-dark .process-flow-track .process-track-progress{
    background:
      repeating-linear-gradient(
        180deg,
        rgba(255,255,255,.95) 0 9px,
        transparent 9px 18px
      ) !important;
    background-size:6px 36px !important;
  }
}



/* =============================================================
   V37 INDUSTRY LANDING PAGES
   Dedicated landing pages for footer industry links:
   Healthcare, Education, Real Estate, Agriculture, NGOs and
   Professional Services.
   ============================================================= */

.industry-detail-hero h1{
  max-width: 900px;
}

.industry-detail-intro{
  padding: 82px 0;
}

.industry-detail-grid{
  display:grid;
  grid-template-columns: minmax(0,1fr) 480px;
  gap:44px;
  align-items:center;
}

.industry-detail-copy h2{
  font-size:clamp(34px,3.5vw,48px);
  line-height:1.08;
  letter-spacing:-.045em;
  margin-bottom:18px;
}

.industry-detail-copy p:not(.eyebrow){
  color:var(--slate-600);
  font-size:17px;
  line-height:1.75;
  max-width:740px;
}

.industry-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.industry-detail-visual{
  position:relative;
  min-height:420px;
  border-radius:30px;
  overflow:hidden;
  background:var(--navy-950);
  box-shadow:0 24px 64px rgba(15,23,42,.14);
}

.industry-detail-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 35%, rgba(3,16,42,.52) 100%);
}

.industry-detail-visual img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  display:block;
}

.visual-stat{
  position:absolute;
  z-index:2;
  left:24px;
  bottom:24px;
  min-width:138px;
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 42px rgba(15,23,42,.16);
}

.visual-stat strong{
  display:block;
  color:var(--blue-600);
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
}

.visual-stat span{
  display:block;
  color:var(--slate-600);
  font-weight:700;
  margin-top:4px;
}

.industry-solutions-section{
  padding:76px 0;
}

.industry-solution-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:32px;
}

.industry-solution-card{
  min-height:190px;
  padding:24px;
  border-radius:24px;
  background:
    radial-gradient(circle at 96% 10%, rgba(37,99,235,.08), transparent 30%),
    #fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.055);
  transition:.22s ease;
}

.industry-solution-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 54px rgba(15,23,42,.10);
  border-color:rgba(37,99,235,.18);
}

.industry-solution-card h3{
  font-size:20px;
  line-height:1.2;
  margin-bottom:10px;
}

.industry-solution-card p{
  color:var(--slate-600);
  font-size:14.5px;
  line-height:1.62;
}

.industry-outcomes-section{
  padding:82px 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(34,211,238,.12), transparent 28%),
    linear-gradient(135deg,var(--navy-950),var(--navy-850));
  color:#fff;
}

.industry-outcomes-grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:24px;
  align-items:stretch;
}

.industry-outcomes-card,
.industry-process-card{
  padding:30px;
  border-radius:28px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
}

.industry-outcomes-card h2,
.industry-process-card h2{
  color:#fff;
  font-size:clamp(28px,2.6vw,38px);
  margin-bottom:22px;
}

.industry-outcomes-card .eyebrow,
.industry-process-card .eyebrow{
  color:#8ddcff;
}

.industry-check-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:0;
  margin:0;
  list-style:none;
}

.industry-check-list li{
  position:relative;
  padding-left:28px;
  color:#dbeafe;
  line-height:1.55;
}

.industry-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.35em;
  width:18px;
  height:18px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
}

.industry-check-list li::after{
  content:"";
  position:absolute;
  left:6px;
  top:.67em;
  width:6px;
  height:3px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}

.industry-process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.industry-process-step{
  min-height:142px;
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.10);
}

.industry-process-step span{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:14px;
  border-radius:14px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
}

.industry-process-step p{
  color:#dbeafe;
  font-size:13.5px;
  line-height:1.55;
}

.industry-detail-cta{
  padding:70px 0;
}

.related-industries-section{
  padding:0 0 78px;
}

.related-industry-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.related-industry-links a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  color:var(--slate-700);
  font-weight:700;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}

.related-industry-links a:hover{
  color:#fff;
  background:var(--blue-600);
  border-color:var(--blue-600);
}

@media (max-width:1100px){
  .industry-detail-grid,
  .industry-outcomes-grid{
    grid-template-columns:1fr;
  }

  .industry-detail-visual{
    max-width:760px;
  }

  .industry-solution-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .industry-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .industry-detail-intro,
  .industry-solutions-section,
  .industry-outcomes-section{
    padding:62px 0;
  }

  .industry-detail-actions .btn{
    width:100%;
  }

  .industry-solution-grid,
  .industry-check-list,
  .industry-process-grid{
    grid-template-columns:1fr;
  }

  .industry-detail-visual,
  .industry-detail-visual img{
    min-height:320px;
  }

  .industry-outcomes-card,
  .industry-process-card{
    padding:24px;
    border-radius:22px;
  }

  .related-industry-links a{
    width:100%;
    justify-content:center;
  }
}



/* =============================================================
   V38 INDUSTRY CARD BUTTONS AND PAGE NAV
   Adds Learn More buttons to industry cards and professional
   section navigation to each industry landing page.
   ============================================================= */

/* Industries page card buttons */
.industry-card{
  position: relative;
}

.industry-card > div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.industry-card p{
  margin-bottom: 16px;
}

.industry-learn-btn{
  position:relative;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--blue-600);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  transition:.22s ease;
}

.industry-learn-btn span{
  transition:transform .2s ease;
}

.industry-learn-btn:hover{
  background:var(--blue-600);
  color:#fff;
  transform:translateY(-2px);
}

.industry-learn-btn:hover span{
  transform:translateX(3px);
}

/* Detail page sticky navigation */
.industry-page-nav{
  position:sticky;
  top:86px;
  z-index:20;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(15,23,42,.08);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 30px rgba(15,23,42,.04);
}

.industry-page-nav-inner{
  display:flex;
  align-items:center;
  gap:10px;
  overflow-x:auto;
  padding-top:12px;
  padding-bottom:12px;
  scrollbar-width:none;
}

.industry-page-nav-inner::-webkit-scrollbar{
  display:none;
}

.industry-page-nav a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:#f4f8ff;
  border:1px solid rgba(37,99,235,.10);
  color:var(--slate-700);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  transition:.2s ease;
}

.industry-page-nav a:hover{
  background:var(--blue-600);
  color:#fff;
  border-color:var(--blue-600);
}

/* Smooth anchor movement and offset */
html{
  scroll-behavior:smooth;
}

#overview,
#solutions,
#outcomes,
#process,
#consultation{
  scroll-margin-top:150px;
}

/* Bottom navigation */
.industry-bottom-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(15,23,42,.08);
}

.industry-bottom-nav a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  color:var(--slate-700);
  font-weight:800;
  font-size:13px;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}

.industry-bottom-nav a:hover{
  background:var(--blue-600);
  border-color:var(--blue-600);
  color:#fff;
}

/* Compact improvements for industries card grid */
.industry-card{
  min-height:300px;
}

.industry-card img{
  transition:transform .45s ease;
}

.industry-card:hover img{
  transform:scale(1.04);
}

@media (max-width:980px){
  .industry-page-nav{
    top:72px;
  }

  #overview,
  #solutions,
  #outcomes,
  #process,
  #consultation{
    scroll-margin-top:130px;
  }
}

@media (max-width:640px){
  .industry-learn-btn{
    min-height:38px;
    padding:0 12px;
  }

  .industry-page-nav{
    top:64px;
  }

  .industry-page-nav-inner{
    padding-top:10px;
    padding-bottom:10px;
  }

  .industry-page-nav a{
    min-height:36px;
    font-size:12px;
  }

  .industry-bottom-nav a{
    width:100%;
    justify-content:center;
  }
}



/* =============================================================
   V39 ALL INDUSTRY CARD BUTTONS FIX
   Ensures every industry card shows the same professional Learn More
   button and links to its detailed landing page.
   ============================================================= */

.industry-card .industry-learn-btn{
  margin-top: 14px;
  position: relative;
  z-index: 6;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 15px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: var(--blue-600);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  transition: transform .22s ease, background .22s ease, color .22s ease;
}

.industry-card .industry-learn-btn span{
  transition: transform .2s ease;
}

.industry-card .industry-learn-btn:hover{
  background: var(--blue-600);
  color: #fff;
  transform: translateY(-2px);
}

.industry-card .industry-learn-btn:hover span{
  transform: translateX(3px);
}

/* Keep industry-card text balanced after adding buttons */
.industry-card > div{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.industry-card p{
  margin-bottom: 0;
}

/* Improve button visibility on cards with lighter images */
.industry-card::after{
  background:
    linear-gradient(180deg, rgba(2,8,23,.10) 0%, rgba(2,8,23,.55) 48%, rgba(2,8,23,.86) 100%) !important;
}

@media (max-width: 640px){
  .industry-card .industry-learn-btn{
    min-height: 38px;
    padding: 0 13px;
    font-size: 12.5px;
  }
}



/* =============================================================
   V40 PRIVACY POLICY AND TERMS PAGES
   Professional landing pages for Privacy Policy and Terms of Service.
   ============================================================= */

.page-hero-legal{
  position:relative;
  min-height:420px;
  padding:86px 0 92px;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 18%, rgba(34,211,238,.16), transparent 30%),
    radial-gradient(circle at 12% 0%, rgba(37,99,235,.20), transparent 32%),
    linear-gradient(135deg,var(--navy-950),var(--navy-850));
  color:#fff;
}

.page-hero-legal::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background:
    repeating-linear-gradient(0deg, rgba(148,163,184,.16) 0px, rgba(148,163,184,.16) 1px, transparent 1px, transparent 42px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.10) 0px, rgba(148,163,184,.10) 1px, transparent 1px, transparent 48px);
}

.page-hero-legal .container{
  position:relative;
  z-index:2;
}

.page-hero-legal h1{
  color:#fff;
  max-width:850px;
}

.page-hero-legal p{
  color:#dbeafe;
  max-width:760px;
}

.page-hero-legal .breadcrumb,
.page-hero-legal .breadcrumb a{
  color:#dbeafe;
}

.legal-page-nav{
  position:sticky;
  top:86px;
  z-index:20;
  background:rgba(255,255,255,.90);
  border-bottom:1px solid rgba(15,23,42,.08);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 30px rgba(15,23,42,.04);
}

.legal-page-nav-inner{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-top:12px;
  padding-bottom:12px;
  scrollbar-width:none;
}

.legal-page-nav-inner::-webkit-scrollbar{
  display:none;
}

.legal-page-nav a{
  flex:0 0 auto;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  background:#f4f8ff;
  border:1px solid rgba(37,99,235,.10);
  color:var(--slate-700);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  transition:.2s ease;
}

.legal-page-nav a:hover{
  background:var(--blue-600);
  color:#fff;
  border-color:var(--blue-600);
}

.legal-intro-section{
  padding:74px 0 44px;
}

.legal-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:34px;
  align-items:stretch;
}

.legal-intro-copy h2{
  max-width:760px;
  font-size:clamp(32px,3.2vw,46px);
  line-height:1.08;
  letter-spacing:-.045em;
  margin-bottom:16px;
}

.legal-intro-copy p:not(.eyebrow){
  max-width:760px;
  color:var(--slate-600);
  font-size:17px;
  line-height:1.72;
}

.legal-summary-card{
  padding:26px;
  border-radius:26px;
  background:
    radial-gradient(circle at 100% 0%, rgba(34,211,238,.12), transparent 34%),
    linear-gradient(135deg,var(--navy-950),var(--navy-850));
  color:#fff;
  box-shadow:0 20px 54px rgba(15,23,42,.13);
}

.legal-summary-card span{
  display:block;
  color:#8ddcff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.legal-summary-card strong{
  display:block;
  color:#fff;
  font-size:30px;
  letter-spacing:-.04em;
}

.legal-summary-card p{
  margin-top:12px;
  color:#dbeafe;
  line-height:1.62;
}

.legal-main-section{
  padding:34px 0 78px;
}

.legal-main-grid{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.legal-side-nav{
  position:sticky;
  top:158px;
  padding:20px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.055);
}

.legal-side-nav h3{
  font-size:16px;
  margin-bottom:14px;
}

.legal-side-nav a{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:0 12px;
  border-radius:12px;
  color:var(--slate-700);
  font-size:13px;
  font-weight:750;
  text-decoration:none;
}

.legal-side-nav a:hover{
  background:#f1f7ff;
  color:var(--blue-600);
}

.legal-content{
  display:grid;
  gap:18px;
}

.legal-content-card{
  padding:28px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.055);
}

.legal-content-card h2{
  font-size:24px;
  line-height:1.2;
  margin-bottom:12px;
}

.legal-content-card p{
  color:var(--slate-600);
  line-height:1.75;
}

.legal-check-list{
  display:grid;
  gap:10px;
  padding:0;
  margin:16px 0 0;
  list-style:none;
}

.legal-check-list li{
  position:relative;
  padding-left:28px;
  color:var(--slate-700);
  line-height:1.58;
}

.legal-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.35em;
  width:18px;
  height:18px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
}

.legal-check-list li::after{
  content:"";
  position:absolute;
  left:6px;
  top:.67em;
  width:6px;
  height:3px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
}

.legal-anchor{
  scroll-margin-top:160px;
  height:0;
}

.legal-cta-section{
  padding:0 0 78px;
}

.footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:center;
  padding:18px 0;
}

@media (max-width:980px){
  .legal-page-nav{
    top:72px;
  }

  .legal-intro-grid,
  .legal-main-grid{
    grid-template-columns:1fr;
  }

  .legal-side-nav{
    position:relative;
    top:auto;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .legal-side-nav h3{
    width:100%;
  }

  .legal-side-nav a{
    background:#f6f9ff;
  }
}

@media (max-width:640px){
  .page-hero-legal{
    min-height:340px;
    padding:58px 0 64px;
  }

  .legal-page-nav{
    top:64px;
  }

  .legal-page-nav a{
    min-height:36px;
    font-size:12px;
  }

  .legal-intro-section{
    padding:58px 0 32px;
  }

  .legal-main-section{
    padding:28px 0 58px;
  }

  .legal-content-card{
    padding:22px;
    border-radius:20px;
  }

  .legal-content-card h2{
    font-size:21px;
  }

  .legal-summary-card{
    border-radius:22px;
  }
}



/* =============================================================
   V41 ANIMATED COUNTUP METRICS
   Premium homepage proof strip with professional count-up numbers.
   ============================================================= */

.metric-strip-premium{
  position: relative;
  z-index: 8;
  margin-top: -58px;
}

.metrics-card-premium{
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 28px;
  background:
    radial-gradient(circle at 10% 0%, rgba(37,99,235,.075), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.985), rgba(255,255,255,.945));
  border: 1px solid rgba(15,23,42,.08);
  box-shadow:
    0 26px 70px rgba(15,23,42,.12),
    0 1px 0 rgba(255,255,255,.92) inset;
  backdrop-filter: blur(14px);
}

.metrics-card-premium::before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, var(--blue-600), var(--cyan-500), transparent);
  opacity:.9;
}

.metric-card-premium{
  position: relative;
  min-height: 138px;
  display: grid !important;
  grid-template-columns: 64px 1fr;
  align-items: center;
  gap: 18px;
  padding: 26px 32px !important;
  background: transparent;
  transition: transform .24s ease, background .24s ease;
}

.metric-card-premium:not(:last-child){
  border-right: 1px solid rgba(15,23,42,.10);
}

.metric-card-premium:hover{
  transform: translateY(-2px);
  background: rgba(37,99,235,.035);
}

.metric-card-premium::after{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:22px;
  opacity:0;
  background:radial-gradient(circle at 20% 50%, rgba(34,211,238,.10), transparent 42%);
  transition:opacity .24s ease;
  pointer-events:none;
}

.metric-card-premium:hover::after{
  opacity:1;
}

.metric-card-premium .metric-icon{
  width: 58px !important;
  height: 58px !important;
  display: grid;
  place-items: center;
  border-radius: 18px !important;
  color: var(--blue-600);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.95), transparent 26%),
    linear-gradient(135deg, rgba(37,99,235,.10), rgba(34,211,238,.08));
  border: 1px solid rgba(37,99,235,.10);
  box-shadow: 0 14px 32px rgba(37,99,235,.09);
}

.metric-card-premium .metric-icon svg{
  width: 27px;
  height: 27px;
}

.metric-card-premium strong{
  display:block;
  color: var(--navy-950);
  font-size: clamp(31px, 2.7vw, 44px) !important;
  line-height: .95;
  letter-spacing: -.055em;
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.metric-card-premium span:not(.count-up){
  display:block;
  margin-top: 8px;
  color: var(--slate-700);
  font-size: 15px;
  line-height: 1.28;
  font-weight: 780;
}

.count-up{
  display:inline-block;
  min-width: 2.2ch;
  will-change: contents;
}

.metric-strip-premium.countup-complete .metric-card-premium .metric-icon{
  animation: metricIconPop .65s ease both;
}

.metric-strip-premium.countup-complete .metric-card-premium:nth-child(2) .metric-icon{ animation-delay:.08s; }
.metric-strip-premium.countup-complete .metric-card-premium:nth-child(3) .metric-icon{ animation-delay:.16s; }
.metric-strip-premium.countup-complete .metric-card-premium:nth-child(4) .metric-icon{ animation-delay:.24s; }

@keyframes metricIconPop{
  0%{ transform:scale(.92); box-shadow:0 0 0 0 rgba(37,99,235,.0); }
  55%{ transform:scale(1.06); box-shadow:0 0 0 9px rgba(37,99,235,.08); }
  100%{ transform:scale(1); box-shadow:0 14px 32px rgba(37,99,235,.09); }
}

/* Responsive metrics */
@media (max-width: 1100px){
  .metrics-card-premium{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .metric-card-premium:nth-child(2){
    border-right: 0;
  }

  .metric-card-premium:nth-child(1),
  .metric-card-premium:nth-child(2){
    border-bottom: 1px solid rgba(15,23,42,.10);
  }
}

@media (max-width: 640px){
  .metric-strip-premium{
    margin-top: -34px;
  }

  .metrics-card-premium{
    grid-template-columns: 1fr;
    border-radius: 22px;
  }

  .metric-card-premium{
    min-height: auto;
    grid-template-columns: 54px 1fr;
    gap: 15px;
    padding: 20px !important;
  }

  .metric-card-premium:not(:last-child){
    border-right: 0;
    border-bottom: 1px solid rgba(15,23,42,.09);
  }

  .metric-card-premium .metric-icon{
    width: 50px !important;
    height: 50px !important;
    border-radius: 16px !important;
  }

  .metric-card-premium .metric-icon svg{
    width: 24px;
    height: 24px;
  }

  .metric-card-premium strong{
    font-size: 34px !important;
  }

  .metric-card-premium span:not(.count-up){
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce){
  .metric-card-premium,
  .metric-card-premium .metric-icon{
    animation:none !important;
    transition:none !important;
  }
}



/* =============================================================
   V42 BOLD VISIBLE COUNTUP METRICS
   Makes count-up numbers large, clear and premium.
   ============================================================= */

.metrics-card-premium{
  border-radius: 30px;
}

.metric-card-premium{
  grid-template-columns: 70px 1fr;
  gap: 22px;
  min-height: 150px;
  padding: 28px 34px !important;
}

.metric-card-premium .metric-icon{
  width: 64px !important;
  height: 64px !important;
  border-radius: 20px !important;
  color: var(--blue-600);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,1), transparent 28%),
    linear-gradient(135deg, rgba(37,99,235,.13), rgba(34,211,238,.10));
  box-shadow:
    0 16px 34px rgba(37,99,235,.12),
    inset 0 1px 0 rgba(255,255,255,.85);
}

.metric-card-premium .metric-icon svg{
  width: 30px;
  height: 30px;
}

/* Force the counter to be the dominant text, overriding older .metric span rules */
.metric-card-premium strong,
.metrics-card-premium .metric strong{
  display:block !important;
  margin:0 0 8px !important;
  color: var(--navy-950) !important;
  font-family: Manrope, Inter, system-ui, sans-serif !important;
  font-size: clamp(44px, 4.2vw, 64px) !important;
  line-height: .88 !important;
  letter-spacing: -.075em !important;
  font-weight: 900 !important;
  font-variant-numeric: tabular-nums !important;
}

.metric-card-premium strong .count-up,
.metrics-card-premium .metric strong .count-up{
  display:inline-block !important;
  color: var(--navy-950) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  font-weight: inherit !important;
  min-width: auto !important;
}

/* Metric label should be readable but secondary */
.metric-card-premium span:not(.count-up),
.metrics-card-premium .metric span:not(.count-up){
  display:block !important;
  margin-top: 0 !important;
  color: var(--slate-700) !important;
  font-size: 16px !important;
  line-height: 1.28 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}

.metric-card-premium:hover strong .count-up{
  color: var(--blue-600) !important;
}

/* Better balance inside the strip */
.metrics-card-premium::before{
  height:4px;
  left:26px;
  right:26px;
}

.metric-card-premium:not(:last-child){
  border-right-color: rgba(15,23,42,.09);
}

/* Small desktop / tablet */
@media (max-width: 1200px){
  .metric-card-premium{
    grid-template-columns: 62px 1fr;
    gap: 18px;
    padding: 24px 26px !important;
  }

  .metric-card-premium strong,
  .metrics-card-premium .metric strong{
    font-size: clamp(40px, 5vw, 56px) !important;
  }

  .metric-card-premium span:not(.count-up),
  .metrics-card-premium .metric span:not(.count-up){
    font-size: 15px !important;
  }
}

/* Mobile */
@media (max-width: 640px){
  .metric-card-premium{
    grid-template-columns: 58px 1fr;
    gap: 16px;
    padding: 22px !important;
  }

  .metric-card-premium .metric-icon{
    width: 54px !important;
    height: 54px !important;
    border-radius: 17px !important;
  }

  .metric-card-premium .metric-icon svg{
    width: 26px;
    height: 26px;
  }

  .metric-card-premium strong,
  .metrics-card-premium .metric strong{
    font-size: 46px !important;
    line-height: .9 !important;
  }

  .metric-card-premium span:not(.count-up),
  .metrics-card-premium .metric span:not(.count-up){
    font-size: 14.5px !important;
    line-height: 1.3 !important;
  }
}



/* =============================================================
   V43 HERO HEADLINE FIT AND ANIMATION
   Makes the homepage hero headline fit cleanly inside the left panel,
   increases size, and adds subtle professional animation.
   ============================================================= */

/* Controlled two-line hero title */
.hero-title-fit{
  max-width: 920px !important;
  margin: 22px 0 22px !important;
  color: var(--cyan-400, #20b8ff) !important;
  font-family: Manrope, Inter, system-ui, sans-serif !important;
  font-size: clamp(56px, 5.15vw, 86px) !important;
  line-height: .98 !important;
  letter-spacing: -0.072em !important;
  font-weight: 850 !important;
  text-wrap: balance;
}

.hero-title-fit .hero-title-line{
  display:block;
  width:100%;
  color: transparent;
  background:
    linear-gradient(92deg, #20a8ff 0%, #26d4ff 42%, #1f8fff 78%, #20a8ff 100%);
  background-size: 240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  text-shadow: 0 18px 44px rgba(0,0,0,.20);
  opacity:0;
  transform: translateY(18px);
  animation:
    heroTitleReveal .72s cubic-bezier(.2,.8,.2,1) forwards,
    heroGradientMove 7s ease-in-out infinite;
}

.hero-title-fit .hero-title-line-two{
  animation-delay: .14s, .14s;
}

/* Keep the line from becoming too long on medium screens */
.hero-title-fit .hero-title-line-one,
.hero-title-fit .hero-title-line-two{
  white-space: nowrap;
}

@keyframes heroTitleReveal{
  0%{
    opacity:0;
    transform:translateY(20px);
    filter:blur(5px);
  }
  100%{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@keyframes heroGradientMove{
  0%,100%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
}

/* Ensure the supporting paragraph sits properly inside the marked area */
.hero-copy p,
.hero-content p,
.hero-panel p{
  max-width: 760px;
}

/* Better hero left-panel containment without affecting other pages */
.hero .hero-copy,
.hero .hero-content,
.hero .hero-panel{
  overflow: visible;
}

/* Desktop refinement for the marked area */
@media (min-width: 1280px){
  .hero-title-fit{
    max-width: 980px !important;
    font-size: clamp(62px, 5vw, 88px) !important;
  }
}

/* Laptop / smaller desktop: keep it clean and inside the panel */
@media (max-width: 1180px){
  .hero-title-fit{
    max-width: 760px !important;
    font-size: clamp(46px, 5.3vw, 66px) !important;
    letter-spacing: -0.064em !important;
  }
}

/* Tablet: allow controlled wrapping so it never breaks the layout */
@media (max-width: 900px){
  .hero-title-fit{
    max-width: 100% !important;
    font-size: clamp(42px, 8vw, 62px) !important;
    line-height:1.02 !important;
  }

  .hero-title-fit .hero-title-line-one,
  .hero-title-fit .hero-title-line-two{
    white-space: normal;
  }
}

/* Mobile: readable and compact */
@media (max-width: 560px){
  .hero-title-fit{
    font-size: clamp(36px, 10.2vw, 48px) !important;
    line-height:1.04 !important;
    letter-spacing:-.052em !important;
    margin: 18px 0 !important;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .hero-title-fit .hero-title-line{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    animation:none !important;
  }
}



/* =============================================================
   V44 HERO LAPTOP CLIPPING FIX
   Prevents homepage hero headline from being cut on laptop screens.
   The title now uses shorter adaptive lines and safe responsive sizing.
   ============================================================= */

/* Make the hero title fit within the left content panel safely */
.hero-title-safe,
.hero-title-fit.hero-title-safe{
  width: 100% !important;
  max-width: min(100%, 760px) !important;
  overflow: visible !important;
  margin: 20px 0 20px !important;
  font-size: clamp(48px, 4.45vw, 74px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  font-weight: 850 !important;
  text-wrap: balance;
}

/* No forced single-line overflow */
.hero-title-safe .hero-title-line{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Make the final growth line stand out cleanly */
.hero-title-safe .hero-title-line-three{
  background:
    linear-gradient(92deg, #23c9ff 0%, #1f8fff 44%, #23c9ff 100%) !important;
  background-size: 220% 100% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

/* Ensure the text panel itself does not clip the heading */
.hero,
.hero .container,
.hero .hero-copy,
.hero .hero-content,
.hero .hero-panel,
.hero-text,
.hero-copy-inner{
  overflow: visible !important;
}

/* Laptop screens: reduce just enough to avoid cutting */
@media (min-width: 1024px) and (max-width: 1440px){
  .hero-title-safe,
  .hero-title-fit.hero-title-safe{
    max-width: 720px !important;
    font-size: clamp(50px, 4.15vw, 64px) !important;
    line-height: 1.0 !important;
    letter-spacing: -0.058em !important;
  }

  .hero-title-safe .hero-title-line-one{
    max-width: 720px !important;
  }
}

/* Smaller laptops/tablets */
@media (max-width: 1180px){
  .hero-title-safe,
  .hero-title-fit.hero-title-safe{
    max-width: 680px !important;
    font-size: clamp(42px, 5vw, 58px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.052em !important;
  }
}

/* Tablet and mobile: keep readable and stacked */
@media (max-width: 900px){
  .hero-title-safe,
  .hero-title-fit.hero-title-safe{
    max-width: 100% !important;
    font-size: clamp(40px, 8vw, 58px) !important;
    line-height: 1.04 !important;
  }
}

@media (max-width: 560px){
  .hero-title-safe,
  .hero-title-fit.hero-title-safe{
    font-size: clamp(34px, 10vw, 46px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    margin: 16px 0 18px !important;
  }
}

/* If browser supports it, prevent accidental clipping by the text block */
@supports (contain: paint){
  .hero-title-safe{
    contain: none !important;
  }
}



/* =============================================================
   V45 HERO CONTENT POSITION ADJUSTMENT
   Pushes the homepage hero write-up area slightly upward without
   breaking the fixed laptop headline layout.
   ============================================================= */

/* Move the hero text group up a little on desktop/laptop */
@media (min-width: 901px){
  .hero .hero-copy,
  .hero .hero-content,
  .hero .hero-panel{
    transform: translateY(-26px);
  }

  .hero-title-safe,
  .hero-title-fit.hero-title-safe{
    margin-top: 14px !important;
    margin-bottom: 18px !important;
  }
}

/* Slightly less upward movement on smaller laptops */
@media (min-width: 901px) and (max-width: 1180px){
  .hero .hero-copy,
  .hero .hero-content,
  .hero .hero-panel{
    transform: translateY(-18px);
  }
}

/* Tablet and mobile should remain naturally stacked */
@media (max-width: 900px){
  .hero .hero-copy,
  .hero .hero-content,
  .hero .hero-panel{
    transform: none !important;
  }
}



/* =============================================================
   V46 HERO WRITEUP START POSITION
   Moves the homepage hero write-up higher so it starts closer to
   the marked green position on laptop/desktop screens.
   ============================================================= */

/* Desktop/laptop: push the whole hero text panel upward */
@media (min-width: 1181px){
  .hero .hero-copy,
  .hero .hero-content,
  .hero .hero-panel{
    transform: translateY(-108px) !important;
  }

  .hero-title-safe,
  .hero-title-fit.hero-title-safe{
    margin-top: 14px !important;
    margin-bottom: 18px !important;
  }
}

/* Standard laptops: move up, but slightly less to protect content spacing */
@media (min-width: 901px) and (max-width: 1180px){
  .hero .hero-copy,
  .hero .hero-content,
  .hero .hero-panel{
    transform: translateY(-78px) !important;
  }

  .hero-title-safe,
  .hero-title-fit.hero-title-safe{
    margin-top: 12px !important;
    margin-bottom: 16px !important;
  }
}

/* Prevent the moved content from being clipped */
.hero,
.hero .container,
.hero .hero-copy,
.hero .hero-content,
.hero .hero-panel{
  overflow: visible !important;
}

/* Keep mobile/tablet natural and safe */
@media (max-width: 900px){
  .hero .hero-copy,
  .hero .hero-content,
  .hero .hero-panel{
    transform: none !important;
  }
}



/* =============================================================
   V47 RESPONSIVE FOOTER POLISH
   Professional footer layout with responsive grid, better spacing,
   clean mobile stacking, and legal bottom bar.
   ============================================================= */

.footer-premium{
  position: relative;
  overflow: hidden;
  padding: 68px 0 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(34,211,238,.10), transparent 30%),
    radial-gradient(circle at 90% 20%, rgba(37,99,235,.12), transparent 34%),
    linear-gradient(135deg, #061127 0%, #081b3a 52%, #051024 100%);
  color: #eaf6ff;
}

.footer-premium::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.14;
  background:
    repeating-linear-gradient(0deg, rgba(148,163,184,.15) 0px, rgba(148,163,184,.15) 1px, transparent 1px, transparent 44px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.10) 0px, rgba(148,163,184,.10) 1px, transparent 1px, transparent 52px);
  pointer-events:none;
}

.footer-premium .container{
  position: relative;
  z-index: 2;
}

.footer-grid{
  display: grid;
  grid-template-columns: minmax(260px, 1.35fr) minmax(150px, .8fr) minmax(190px, .9fr) minmax(190px, .9fr);
  gap: 44px;
  align-items: start;
}

.footer-column{
  min-width: 0;
}

.footer-brand{
  max-width: 380px;
}

.footer-logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 210px);
  min-height: 94px;
  padding: 14px 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 44px rgba(0,0,0,.18);
}

.footer-logo img{
  display:block;
  max-width: 178px;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.footer-brand p{
  max-width: 360px;
  margin: 24px 0 0;
  color: #dbeafe;
  font-size: 15.5px;
  line-height: 1.75;
}

.footer-socials{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}

.footer-socials a{
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #eaf6ff;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  font-weight: 800;
  text-decoration: none;
  transition: .22s ease;
}

.footer-socials a:hover{
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--blue-600), var(--cyan-500));
  border-color: transparent;
  color: #fff;
}

.footer-column h3{
  color: #ffffff;
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 20px;
  letter-spacing: -.025em;
}

.footer-links{
  display: grid;
  gap: 12px;
}

.footer-links a{
  width: fit-content;
  color: #dbeafe;
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
  transition: .18s ease;
}

.footer-links a:hover{
  color: #38d5ff;
  transform: translateX(3px);
}

.footer-bottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 54px;
  padding: 22px 0;
  border-top: 1px solid rgba(255,255,255,.11);
}

.footer-bottom p{
  margin: 0;
  color: #b9d6f5;
  font-size: 13.5px;
}

.footer-legal{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-legal a,
.footer-legal span{
  color: #b9d6f5;
  font-size: 13.5px;
  text-decoration: none;
}

.footer-legal a:hover{
  color: #38d5ff;
}

/* Tablet layout */
@media (max-width: 1100px){
  .footer-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 44px;
  }

  .footer-brand{
    max-width: none;
  }

  .footer-brand p{
    max-width: 560px;
  }
}

/* Mobile layout */
@media (max-width: 680px){
  .footer-premium{
    padding-top: 54px;
  }

  .footer-grid{
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .footer-brand{
    text-align: center;
  }

  .footer-logo{
    margin-inline: auto;
    max-width: 180px;
    min-height: 82px;
    border-radius: 20px;
  }

  .footer-logo img{
    max-width: 150px;
  }

  .footer-brand p{
    margin-inline: auto;
    max-width: 420px;
    font-size: 15px;
  }

  .footer-socials{
    justify-content: center;
  }

  .footer-column{
    text-align: center;
  }

  .footer-column h3{
    margin-bottom: 16px;
  }

  .footer-links{
    justify-items: center;
    gap: 10px;
  }

  .footer-links a{
    width: auto;
  }

  .footer-bottom{
    flex-direction: column;
    justify-content: center;
    text-align: center;
    margin-top: 40px;
    padding: 20px 0;
  }

  .footer-legal{
    justify-content: center;
  }
}

/* Very small phones */
@media (max-width: 420px){
  .footer-logo{
    max-width: 160px;
    min-height: 76px;
  }

  .footer-logo img{
    max-width: 136px;
  }

  .footer-socials a{
    width: 36px;
    height: 36px;
  }

  .footer-column h3{
    font-size: 17px;
  }

  .footer-links a{
    font-size: 14.5px;
  }
}



/* =============================================================
   V48 PROFESSIONAL CONTACT PAGE
   Cleaner, focused and responsive contact page with irrelevant
   details removed.
   ============================================================= */

.contact-hero-clean{
  position:relative;
  min-height:460px;
  padding:88px 0 96px;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg, rgba(3,15,38,.92) 0%, rgba(7,20,52,.80) 44%, rgba(7,20,52,.62) 100%),
    url('../images/tech-infrastructure-bg.webp') center/cover no-repeat;
}

.contact-hero-clean::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background:
    repeating-linear-gradient(0deg, rgba(148,163,184,.14) 0px, rgba(148,163,184,.14) 1px, transparent 1px, transparent 42px),
    repeating-linear-gradient(90deg, rgba(148,163,184,.10) 0px, rgba(148,163,184,.10) 1px, transparent 1px, transparent 48px);
  pointer-events:none;
}

.contact-hero-clean .container{
  position:relative;
  z-index:2;
}

.contact-hero-clean h1{
  max-width:900px;
  color:#fff;
  font-size:clamp(42px,5vw,72px);
  line-height:1.02;
  letter-spacing:-.06em;
}

.contact-hero-clean p{
  max-width:760px;
  color:#dbeafe;
  font-size:18px;
  line-height:1.7;
}

.contact-hero-clean .breadcrumb,
.contact-hero-clean .breadcrumb a{
  color:#dbeafe;
}

.contact-main-section{
  padding:84px 0;
  background:
    radial-gradient(circle at 10% 0%, rgba(37,99,235,.045), transparent 30%),
    #fff;
}

.contact-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) 420px;
  gap:30px;
  align-items:start;
}

.contact-form-card,
.contact-info-card,
.contact-response-card{
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.075);
}

.contact-form-card{
  padding:34px;
}

.contact-card-head{
  margin-bottom:24px;
}

.contact-card-head h2{
  font-size:clamp(30px,3vw,42px);
  line-height:1.1;
  letter-spacing:-.04em;
  margin-bottom:10px;
}

.contact-card-head p{
  color:var(--slate-600);
  line-height:1.7;
  max-width:720px;
}

.contact-form{
  display:grid;
  gap:18px;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.contact-form label{
  display:grid;
  gap:8px;
}

.contact-form label span{
  color:var(--navy-900);
  font-size:13px;
  font-weight:800;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  min-height:52px;
  padding:0 15px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.12);
  background:#f8fbff;
  color:var(--navy-900);
  font:inherit;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.contact-form textarea{
  min-height:150px;
  padding-top:14px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:rgba(37,99,235,.55);
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
  background:#fff;
}

.contact-form .btn{
  width:fit-content;
  border:0;
  cursor:pointer;
}

.contact-info-panel{
  display:grid;
  gap:18px;
}

.contact-info-primary{
  padding:28px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 0%, rgba(34,211,238,.17), transparent 32%),
    linear-gradient(135deg,var(--navy-950),var(--navy-850));
}

.contact-info-primary h2{
  color:#fff;
  font-size:30px;
  line-height:1.12;
  letter-spacing:-.04em;
  margin-bottom:22px;
}

.contact-info-list{
  display:grid;
  gap:12px;
}

.contact-info-list a,
.contact-info-list div{
  display:block;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.11);
  text-decoration:none;
}

.contact-info-list span{
  display:block;
  color:#8ddcff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:5px;
}

.contact-info-list strong{
  display:block;
  color:#fff;
  font-size:15px;
  line-height:1.45;
}

.contact-response-card{
  padding:26px;
}

.contact-response-card h3{
  font-size:22px;
  margin-bottom:16px;
}

.contact-response-card ol{
  display:grid;
  gap:12px;
  margin:0;
  padding-left:20px;
  color:var(--slate-700);
  line-height:1.55;
}

.contact-services-section{
  padding:78px 0;
}

.contact-service-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:32px;
}

.contact-service-item{
  display:block;
  min-height:230px;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.055);
  color:var(--slate-700);
  text-decoration:none;
  transition:.22s ease;
}

.contact-service-item:hover{
  transform:translateY(-4px);
  border-color:rgba(37,99,235,.18);
  box-shadow:0 24px 54px rgba(15,23,42,.10);
}

.contact-service-item span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:18px;
  border-radius:15px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
}

.contact-service-item h3{
  color:var(--navy-900);
  font-size:20px;
  line-height:1.2;
  margin-bottom:10px;
}

.contact-service-item p{
  color:var(--slate-600);
  font-size:14.5px;
  line-height:1.62;
}

.contact-cta-section{
  padding:0 0 78px;
}

@media (max-width:1100px){
  .contact-main-grid{
    grid-template-columns:1fr;
  }

  .contact-info-panel{
    grid-template-columns:1fr 1fr;
  }

  .contact-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .contact-hero-clean{
    min-height:380px;
    padding:64px 0 70px;
  }

  .contact-main-section,
  .contact-services-section{
    padding:60px 0;
  }

  .contact-form-card{
    padding:24px;
    border-radius:22px;
  }

  .form-grid,
  .contact-info-panel,
  .contact-service-grid{
    grid-template-columns:1fr;
  }

  .contact-form .btn{
    width:100%;
  }

  .contact-info-card,
  .contact-response-card{
    border-radius:22px;
  }

  .contact-service-item{
    min-height:auto;
    border-radius:20px;
  }
}



/* =============================================================
   V49 FOOTER LOGO DISPLAY FIX
   Restores the footer logo display while preserving the responsive
   footer layout from V47/V48.
   ============================================================= */

.footer-premium .footer-logo{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 212px !important;
  min-height: 96px !important;
  padding: 14px 18px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 44px rgba(0,0,0,.18) !important;
  overflow: hidden !important;
}

.footer-premium .footer-logo img{
  display: block !important;
  width: auto !important;
  max-width: 178px !important;
  max-height: 68px !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

/* Keep the brand area balanced */
.footer-premium .footer-brand{
  display: block;
}

.footer-premium .footer-brand p{
  margin-top: 24px;
}

/* Tablet */
@media (max-width: 1100px){
  .footer-premium .footer-logo{
    width: 198px !important;
    min-height: 90px !important;
  }

  .footer-premium .footer-logo img{
    max-width: 166px !important;
    max-height: 64px !important;
  }
}

/* Mobile */
@media (max-width: 680px){
  .footer-premium .footer-logo{
    width: 180px !important;
    min-height: 82px !important;
    margin-inline: auto !important;
    border-radius: 20px !important;
  }

  .footer-premium .footer-logo img{
    max-width: 150px !important;
    max-height: 58px !important;
  }
}

@media (max-width: 420px){
  .footer-premium .footer-logo{
    width: 164px !important;
    min-height: 76px !important;
  }

  .footer-premium .footer-logo img{
    max-width: 138px !important;
    max-height: 52px !important;
  }
}



/* =============================================================
   V50 PROJECT INQUIRY MODAL
   Turns Project Inquiry into a professional button and step-by-step
   popup modal form.
   ============================================================= */

.contact-inquiry-card{
  padding:34px;
  border-radius:28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(37,99,235,.08), transparent 34%),
    #fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.075);
}

.inquiry-highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:26px 0;
}

.inquiry-highlights div{
  min-height:142px;
  padding:18px;
  border-radius:20px;
  background:#f8fbff;
  border:1px solid rgba(37,99,235,.10);
}

.inquiry-highlights span{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:14px;
  border-radius:14px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
}

.inquiry-highlights strong{
  display:block;
  color:var(--navy-900);
  font-size:16px;
  margin-bottom:6px;
}

.inquiry-highlights p{
  color:var(--slate-600);
  font-size:13.5px;
  line-height:1.5;
}

.inquiry-modal-open{
  border:0;
  cursor:pointer;
}

/* Modal */
body.modal-open{
  overflow:hidden;
}

.project-inquiry-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.project-inquiry-modal[aria-hidden="false"]{
  display:flex;
}

.project-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,8,23,.72);
  backdrop-filter:blur(10px);
}

.project-modal-dialog{
  position:relative;
  z-index:2;
  width:min(100%, 860px);
  max-height:min(92vh, 820px);
  overflow:auto;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 34px 90px rgba(0,0,0,.34);
}

.project-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:4;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  cursor:pointer;
  background:#f1f7ff;
  color:var(--navy-900);
  font-size:28px;
  line-height:1;
  transition:.2s ease;
}

.project-modal-close:hover{
  background:var(--blue-600);
  color:#fff;
}

.project-modal-header{
  padding:32px 34px 22px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 0%, rgba(34,211,238,.18), transparent 34%),
    linear-gradient(135deg,var(--navy-950),var(--navy-850));
}

.project-modal-header h2{
  color:#fff;
  font-size:clamp(28px,3vw,42px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin-bottom:10px;
}

.project-modal-header p:not(.eyebrow){
  color:#dbeafe;
  line-height:1.65;
  max-width:680px;
}

.project-modal-progress{
  display:grid;
  grid-template-columns:42px 1fr 42px 1fr 42px;
  align-items:center;
  gap:10px;
  padding:24px 34px 4px;
}

.project-modal-progress span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--blue-600);
  font-weight:900;
  background:#f1f7ff;
  border:1px solid rgba(37,99,235,.12);
}

.project-modal-progress span.is-active,
.project-modal-progress span.is-complete{
  color:#fff;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
  box-shadow:0 14px 30px rgba(37,99,235,.16);
}

.project-modal-progress i{
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(37,99,235,.18),rgba(34,211,238,.38));
}

.project-step-form{
  padding:24px 34px 34px;
}

.project-form-step{
  display:none;
  border:0;
  padding:0;
  margin:0;
}

.project-form-step.is-active{
  display:grid;
  gap:18px;
  animation:modalStepIn .28s ease both;
}

@keyframes modalStepIn{
  from{opacity:0; transform:translateY(10px)}
  to{opacity:1; transform:translateY(0)}
}

.project-form-step legend{
  color:var(--navy-900);
  font-size:22px;
  font-weight:850;
  letter-spacing:-.025em;
  margin-bottom:18px;
}

.project-step-form label{
  display:grid;
  gap:8px;
}

.project-step-form label span{
  color:var(--navy-900);
  font-size:13px;
  font-weight:800;
}

.project-step-form input,
.project-step-form select,
.project-step-form textarea{
  width:100%;
  min-height:52px;
  padding:0 15px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.12);
  background:#f8fbff;
  color:var(--navy-900);
  font:inherit;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.project-step-form textarea{
  min-height:150px;
  padding-top:14px;
  resize:vertical;
}

.project-step-form input:focus,
.project-step-form select:focus,
.project-step-form textarea:focus{
  border-color:rgba(37,99,235,.55);
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
  background:#fff;
}

.service-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}

.service-choice-grid label{
  position:relative;
  display:block;
  cursor:pointer;
}

.service-choice-grid input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.service-choice-grid span{
  display:flex;
  align-items:center;
  min-height:58px;
  padding:0 16px;
  border-radius:18px;
  background:#f8fbff;
  border:1px solid rgba(37,99,235,.12);
  color:var(--slate-700);
  font-weight:800;
  transition:.2s ease;
}

.service-choice-grid input:checked + span{
  color:#fff;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
  border-color:transparent;
  box-shadow:0 14px 30px rgba(37,99,235,.16);
}

.consent-check{
  display:grid !important;
  grid-template-columns:22px 1fr;
  align-items:start;
  gap:10px !important;
  padding:14px;
  border-radius:16px;
  background:#f8fbff;
  border:1px solid rgba(15,23,42,.08);
}

.consent-check input{
  width:18px;
  min-height:18px;
  margin-top:2px;
}

.consent-check span{
  color:var(--slate-700) !important;
  line-height:1.5;
}

.project-modal-actions{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-top:24px;
  margin-top:24px;
  border-top:1px solid rgba(15,23,42,.08);
}

.project-modal-actions .btn{
  border:0;
  cursor:pointer;
}

.project-modal-actions .btn[disabled]{
  opacity:.45;
  cursor:not-allowed;
}

.project-form-success{
  text-align:center;
  padding:28px 18px 8px;
}

.success-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  margin:0 auto 16px;
  border-radius:50%;
  color:#fff;
  font-size:30px;
  font-weight:900;
  background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));
}

.project-form-success h3{
  font-size:28px;
  margin-bottom:10px;
}

.project-form-success p{
  max-width:620px;
  margin:0 auto 20px;
  color:var(--slate-600);
  line-height:1.65;
}

@media (max-width:860px){
  .inquiry-highlights{
    grid-template-columns:1fr;
  }

  .project-modal-dialog{
    border-radius:24px;
  }

  .project-modal-header,
  .project-step-form{
    padding-left:24px;
    padding-right:24px;
  }

  .project-modal-progress{
    padding-left:24px;
    padding-right:24px;
  }

  .service-choice-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:560px){
  .project-inquiry-modal{
    padding:12px;
    align-items:flex-end;
  }

  .project-modal-dialog{
    max-height:94vh;
    border-radius:22px 22px 0 0;
  }

  .project-modal-close{
    top:12px;
    right:12px;
  }

  .project-modal-progress{
    grid-template-columns:36px 1fr 36px 1fr 36px;
  }

  .project-modal-progress span{
    width:36px;
    height:36px;
  }

  .project-modal-actions{
    flex-direction:column;
  }

  .project-modal-actions .btn{
    width:100%;
  }

  .contact-inquiry-card{
    padding:24px;
    border-radius:22px;
  }
}



/* =============================================================
   V51 CLICKABLE EMAIL PHONE LINKS
   Makes visible email addresses and phone numbers clickable and
   professionally styled across the website.
   ============================================================= */

.contact-click-link{
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
  border-bottom: 1px solid rgba(56,189,248,.45);
  transition: color .18s ease, border-color .18s ease;
}

.contact-click-link:hover{
  color: #38d5ff;
  border-bottom-color: currentColor;
}

/* Contact detail cards should show clickable links cleanly */
.contact-info-list a .contact-click-link,
.contact-info-list strong .contact-click-link{
  color: #ffffff;
  border-bottom-color: rgba(255,255,255,.35);
}

.contact-info-list a:hover .contact-click-link,
.contact-info-list strong .contact-click-link:hover{
  color: #8ddcff;
  border-bottom-color: #8ddcff;
}

/* Footer and dark sections */
.footer-premium .contact-click-link,
.page-hero .contact-click-link,
.cta-band .contact-click-link{
  color: inherit;
  border-bottom-color: rgba(255,255,255,.35);
}

.footer-premium .contact-click-link:hover,
.page-hero .contact-click-link:hover,
.cta-band .contact-click-link:hover{
  color: #38d5ff;
  border-bottom-color: #38d5ff;
}



/* =============================================================
   V52 WORKING EMAIL REDIRECT LINKS
   Email clicks now open Gmail compose in a new tab instead of relying
   only on mailto, which may fail on laptops without a default mail app.
   ============================================================= */

[data-email-compose-link],
[data-phone-dial-link]{
  cursor: pointer;
}

[data-email-compose-link]:hover,
[data-phone-dial-link]:hover{
  text-decoration-thickness: 2px;
}



/* =============================================================
   V53 SECURE PROJECT INQUIRY MAIL PORTAL
   Adds real PHP mail submission, hidden anti-spam field styling and
   improved modal submission states.
   ============================================================= */

.form-honeypot{
  position:absolute !important;
  left:-9999px !important;
  opacity:0 !important;
  height:0 !important;
  width:0 !important;
  pointer-events:none !important;
}

.project-modal-actions .btn:disabled{
  opacity:.65;
  cursor:wait;
}

.project-form-success .btn{
  border:0;
  cursor:pointer;
}



/* =============================================================
   V54 DEFAULT WEBSITE MAIL SETTINGS
   Public site CSS version bump. Secure mail portal defaults now use
   website@amzealcreatives.com for SMTP/from/recipient setup.
   ============================================================= */



/* =============================================================
   V55 REAL INQUIRY EMAIL SUBMISSION FIX
   Removes old fake success behavior and shows real server submission
   success/error status from api/send-inquiry.php.
   ============================================================= */

.project-form-error{
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
  font-weight: 750;
  line-height: 1.55;
}

.project-form-success p{
  max-width: 620px;
}

.project-modal-actions .btn:disabled{
  opacity: .7;
  cursor: wait;
}



/* =============================================================
   V56 PROFESSIONAL INQUIRY FORM LOADING REDIRECT
   Polishes the Project Inquiry form UX, adds loading animation after
   sending, and redirects back to contact page after success.
   ============================================================= */

.project-modal-dialog{
  width: min(100%, 900px);
}

.project-modal-header{
  padding: 34px 38px 24px;
}

.project-modal-header h2{
  max-width: 720px;
}

.project-modal-header p:not(.eyebrow){
  max-width: 760px;
}

.project-step-form{
  padding: 26px 38px 38px;
}

.project-form-step legend{
  margin-bottom: 8px;
}

.project-step-helper{
  margin: 0 0 20px;
  color: var(--slate-600);
  line-height: 1.6;
  font-size: 14.5px;
}

.project-step-form .form-grid{
  gap: 18px;
}

.project-step-form label span{
  font-size: 13.5px;
  letter-spacing: -.01em;
}

.project-step-form input,
.project-step-form select,
.project-step-form textarea{
  border-radius: 18px;
  min-height: 54px;
  background: #fbfdff;
}

.project-step-form textarea{
  min-height: 170px;
  line-height: 1.65;
}

.service-choice-grid{
  gap: 14px;
}

.service-choice-grid span{
  min-height: 62px;
  border-radius: 20px;
}

.consent-check{
  margin-top: 4px;
  border-radius: 18px;
}

.project-form-step.is-submitted-hidden{
  display: none !important;
}

.project-form-loading{
  text-align: center;
  padding: 38px 18px 20px;
  animation: modalStepIn .28s ease both;
}

.loading-orb{
  width: 86px;
  height: 86px;
  margin: 0 auto 18px;
  border-radius: 50%;
  position: relative;
  background:
    conic-gradient(from 0deg, var(--blue-600), var(--cyan-500), var(--blue-600));
  animation: inquirySpin 1.05s linear infinite;
  box-shadow: 0 18px 40px rgba(37,99,235,.18);
}

.loading-orb::after{
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  background: #ffffff;
}

.project-form-loading h3{
  font-size: 28px;
  margin: 0 0 10px;
  color: var(--navy-900);
  letter-spacing: -.035em;
}

.project-form-loading p{
  max-width: 520px;
  margin: 0 auto 22px;
  color: var(--slate-600);
  line-height: 1.65;
}

.loading-progress,
.success-redirect-progress{
  width: min(100%, 420px);
  height: 10px;
  overflow: hidden;
  margin: 0 auto;
  border-radius: 999px;
  background: #eaf2ff;
}

.loading-progress span{
  display: block;
  width: 44%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue-600), var(--cyan-500));
  animation: inquiryLoadingBar 1.25s ease-in-out infinite;
}

@keyframes inquirySpin{
  to{ transform: rotate(360deg); }
}

@keyframes inquiryLoadingBar{
  0%{ transform: translateX(-110%); }
  100%{ transform: translateX(260%); }
}

.btn-spinner{
  width: 18px;
  height: 18px;
  display: inline-block;
  margin-right: 8px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #ffffff;
  animation: inquirySpin .8s linear infinite;
  vertical-align: -3px;
}

.project-form-success-polished{
  padding: 38px 18px 14px;
  animation: modalStepIn .3s ease both;
}

.project-form-success-polished .success-icon{
  width: 76px;
  height: 76px;
  font-size: 34px;
  margin-bottom: 18px;
  box-shadow: 0 18px 40px rgba(37,99,235,.18);
}

.project-form-success-polished h3{
  margin: 0 0 10px;
  font-size: clamp(28px, 3vw, 36px);
  letter-spacing: -.04em;
}

.project-form-success-polished p{
  max-width: 620px;
  margin: 0 auto 20px;
  color: var(--slate-600);
  line-height: 1.7;
}

.success-redirect-box{
  max-width: 520px;
  margin: 22px auto 24px;
  padding: 16px;
  border-radius: 18px;
  background: #f8fbff;
  border: 1px solid rgba(37,99,235,.10);
}

.success-redirect-box span{
  display: block;
  margin-bottom: 12px;
  color: var(--navy-900);
  font-weight: 800;
  font-size: 14px;
}

.success-redirect-progress i{
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--blue-600), var(--cyan-500));
  transform-origin: left center;
  animation: successRedirectProgress 4.2s linear forwards;
}

@keyframes successRedirectProgress{
  from{ transform: scaleX(0); }
  to{ transform: scaleX(1); }
}

.success-actions{
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.success-actions .btn{
  min-width: 158px;
}

.project-form-error{
  margin-top: 18px;
}

.project-modal-actions{
  align-items: center;
}

@media (max-width: 860px){
  .project-modal-header,
  .project-step-form{
    padding-left: 24px;
    padding-right: 24px;
  }

  .project-modal-progress{
    padding-left: 24px;
    padding-right: 24px;
  }

  .project-step-form .form-grid{
    grid-template-columns: 1fr;
  }

  .project-form-loading{
    padding-top: 30px;
  }
}

@media (max-width: 560px){
  .project-modal-header{
    padding: 28px 20px 20px;
  }

  .project-step-form{
    padding: 22px 20px 28px;
  }

  .project-step-helper{
    font-size: 14px;
  }

  .project-step-form input,
  .project-step-form select,
  .project-step-form textarea{
    min-height: 52px;
    border-radius: 16px;
  }

  .project-form-loading h3{
    font-size: 24px;
  }

  .loading-orb{
    width: 72px;
    height: 72px;
  }

  .success-actions{
    flex-direction: column;
  }

  .success-actions .btn{
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce){
  .loading-orb,
  .loading-progress span,
  .success-redirect-progress i,
  .btn-spinner{
    animation: none !important;
  }
}



/* =============================================================
   V57 MAIL CONFIG AND FORM UI FIX
   Fixes configuration fallback, hidden button behavior and improves
   Project Inquiry form usability.
   ============================================================= */

/* Critical: buttons with hidden attribute must actually disappear */
[hidden],
.project-modal-actions [hidden],
.project-step-form [hidden],
button[hidden],
.btn[hidden]{
  display: none !important;
}

/* Cleaner form spacing and professional layout */
.project-modal-dialog{
  width: min(100%, 920px);
}

.project-modal-header{
  padding: 34px 38px 24px;
}

.project-modal-progress{
  padding-top: 26px;
  padding-bottom: 8px;
}

.project-step-form{
  padding: 24px 38px 38px;
}

.project-form-step.is-active{
  gap: 20px;
}

.project-form-step legend{
  font-size: 24px;
  margin-bottom: 8px;
}

.project-step-helper{
  margin: -2px 0 18px;
  color: var(--slate-600);
  line-height: 1.65;
  font-size: 14.5px;
}

.project-step-form .form-grid{
  gap: 18px;
}

.project-step-form label{
  gap: 8px;
}

.project-step-form label span{
  font-size: 13.5px;
  color: var(--navy-900);
}

.project-step-form input,
.project-step-form select,
.project-step-form textarea{
  min-height: 54px;
  border-radius: 18px;
  background: #fbfdff;
  border-color: rgba(15,23,42,.13);
}

.project-step-form textarea{
  min-height: 170px;
  line-height: 1.65;
}

.service-choice-grid{
  gap: 14px;
}

.service-choice-grid span{
  min-height: 62px;
  border-radius: 20px;
  padding: 0 18px;
}

.project-modal-actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.project-modal-actions .btn{
  min-width: 148px;
}

.project-modal-actions .btn:not([hidden]){
  display: inline-flex !important;
}

.project-modal-actions [data-prev-step]{
  background: #eff6ff;
  color: #1e3a8a;
}

.project-modal-actions [data-submit-step]{
  background: linear-gradient(135deg, #047857, #22c55e);
}

.project-form-error{
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
  font-weight: 750;
  line-height: 1.55;
}

.project-form-loading,
.project-form-success-polished{
  padding: 38px 18px 18px;
}

/* Better mobile form buttons */
@media (max-width: 860px){
  .project-modal-header,
  .project-step-form{
    padding-left: 24px;
    padding-right: 24px;
  }

  .project-step-form .form-grid,
  .service-choice-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px){
  .project-modal-actions{
    flex-direction: column-reverse;
  }

  .project-modal-actions .btn{
    width: 100%;
  }

  .project-modal-header{
    padding: 28px 20px 20px;
  }

  .project-step-form{
    padding: 22px 20px 28px;
  }

  .project-form-step legend{
    font-size: 22px;
  }
}



/* =============================================================
   V58 MANUAL MAIL CREDENTIALS SECTION
   Adds a real /config/mail-settings.php file with clear credential
   entry comments so the Project Inquiry form no longer reports
   "Mail settings are not configured" when the file is uploaded.
   ============================================================= */


/* V59 Mail Diagnostics package version. */



/* =============================================================
   V60 PERFORMANCE, SEO, SECURITY AND WHATSAPP ENHANCEMENTS
   - Branded animated page loader
   - Floating WhatsApp button
   - Lazy media fade-in
   - Contact CTA border glow
   - Mobile polish and accessibility focus states
   ============================================================= */

:root{
  --amzeal-whatsapp:#25d366;
  --amzeal-whatsapp-dark:#128c7e;
  --amzeal-loader-navy:#061127;
  --amzeal-loader-blue:#2563eb;
  --amzeal-loader-cyan:#22d3ee;
}

/* Branded page loading overlay */
.amzeal-page-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 15%, rgba(34,211,238,.28), transparent 32%),
    radial-gradient(circle at 80% 70%, rgba(37,99,235,.28), transparent 36%),
    linear-gradient(135deg, #061127 0%, #0b2b5f 52%, #071633 100%);
  opacity:1;
  visibility:visible;
  transition:opacity .65s ease, visibility .65s ease;
}

.amzeal-page-ready .amzeal-page-loader{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.loader-wave-bg,
.loader-wave-bg span{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.loader-wave-bg span{
  width:150%;
  height:150%;
  left:-25%;
  top:-25%;
  border:1px solid rgba(34,211,238,.14);
  border-radius:38% 62% 55% 45%;
  animation: loaderWaveSpin 12s linear infinite;
}

.loader-wave-bg span:nth-child(2){
  border-color:rgba(37,99,235,.18);
  animation-duration:16s;
  animation-direction:reverse;
  transform:scale(.82);
}

.loader-wave-bg span:nth-child(3){
  border-color:rgba(255,255,255,.10);
  animation-duration:20s;
  transform:scale(.66);
}

.loader-wave-bg span:nth-child(4){
  border-color:rgba(34,211,238,.22);
  animation-duration:9s;
  transform:scale(.48);
}

.loader-card{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  gap:16px;
  width:min(88vw, 420px);
  padding:34px 28px;
  border-radius:30px;
  background:rgba(255,255,255,.93);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 32px 90px rgba(0,0,0,.34);
  text-align:center;
}

.loader-card img{
  width:min(170px, 52vw);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 14px 26px rgba(15,23,42,.16));
  animation: loaderLogoFloat 2.4s ease-in-out infinite;
}

.loader-card p{
  margin:0;
  color:#334155;
  font-weight:800;
  letter-spacing:.01em;
}

.loader-it-waves{
  display:flex;
  align-items:end;
  justify-content:center;
  gap:6px;
  height:42px;
}

.loader-it-waves i{
  display:block;
  width:7px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--amzeal-loader-cyan), var(--amzeal-loader-blue));
  animation: itWaveBar 1.05s ease-in-out infinite;
}

.loader-it-waves i:nth-child(2){animation-delay:.11s;height:28px}
.loader-it-waves i:nth-child(3){animation-delay:.22s;height:38px}
.loader-it-waves i:nth-child(4){animation-delay:.33s;height:28px}
.loader-it-waves i:nth-child(5){animation-delay:.44s;height:18px}

@keyframes loaderWaveSpin{
  from{transform:rotate(0deg) scale(1)}
  to{transform:rotate(360deg) scale(1)}
}

@keyframes loaderLogoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

@keyframes itWaveBar{
  0%,100%{transform:scaleY(.55);opacity:.65}
  50%{transform:scaleY(1.12);opacity:1}
}

/* Floating WhatsApp CTA */
.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9998;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:10px 18px 10px 12px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  background:linear-gradient(135deg, var(--amzeal-whatsapp), var(--amzeal-whatsapp-dark));
  box-shadow:0 18px 45px rgba(18,140,126,.42), 0 0 0 8px rgba(37,211,102,.10);
  transform:translateZ(0);
  isolation:isolate;
  animation: whatsappFloat 3.4s ease-in-out infinite;
}

.whatsapp-float:hover{
  color:#fff;
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 24px 58px rgba(18,140,126,.52), 0 0 0 10px rgba(37,211,102,.14);
}

.whatsapp-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);
}

.whatsapp-icon svg{
  width:28px;
  height:28px;
  fill:#fff;
}

.whatsapp-label{
  font-weight:900;
  font-size:14px;
  white-space:nowrap;
  letter-spacing:-.01em;
}

.whatsapp-ripple{
  position:absolute;
  inset:-8px;
  border-radius:999px;
  border:2px solid rgba(37,211,102,.42);
  opacity:.75;
  animation: whatsappRipple 2s ease-out infinite;
  z-index:-1;
}

.whatsapp-float.is-clicked{
  animation: whatsappClicked .9s ease both;
}

@keyframes whatsappFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -7px}
}

@keyframes whatsappRipple{
  0%{transform:scale(.88);opacity:.75}
  80%,100%{transform:scale(1.24);opacity:0}
}

@keyframes whatsappClicked{
  0%{transform:scale(1)}
  45%{transform:scale(.92) rotate(-2deg)}
  100%{transform:scale(1)}
}

/* Native lazy loading visual polish */
.lazy-media{
  opacity:.01;
  filter:blur(10px);
  transform:scale(1.015);
  transition:opacity .65s ease, filter .65s ease, transform .65s ease;
}

.lazy-media-loaded{
  opacity:1;
  filter:blur(0);
  transform:none;
}

/* More visible animated Start Project Inquiry button */
.inquiry-modal-open{
  position:relative;
  isolation:isolate;
  margin-top:20px;
  border:0;
  overflow:visible;
  box-shadow:0 18px 45px rgba(37,99,235,.26), 0 0 0 7px rgba(34,211,238,.08);
  animation: inquiryCtaFloat 3.2s ease-in-out infinite;
}

.inquiry-modal-open::before{
  content:"";
  position:absolute;
  inset:-9px;
  z-index:-1;
  border-radius:999px;
  border:2px solid rgba(34,211,238,.50);
  animation: inquiryCtaRing 1.8s ease-out infinite;
}

.inquiry-modal-open::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(34,211,238,.55), rgba(37,99,235,.50), rgba(34,211,238,.55));
  filter:blur(13px);
  opacity:.55;
  animation: inquiryCtaGlow 2.6s ease-in-out infinite;
}

.inquiry-modal-open:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 58px rgba(37,99,235,.34), 0 0 0 9px rgba(34,211,238,.12);
}

@keyframes inquiryCtaRing{
  0%{transform:scale(.95);opacity:.85}
  85%,100%{transform:scale(1.15);opacity:0}
}

@keyframes inquiryCtaGlow{
  0%,100%{opacity:.34}
  50%{opacity:.72}
}

@keyframes inquiryCtaFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -5px}
}

/* Clean keyboard focus without hurting visual design */
.keyboard-focus a:focus,
.keyboard-focus button:focus,
.keyboard-focus input:focus,
.keyboard-focus select:focus,
.keyboard-focus textarea:focus{
  outline:3px solid rgba(34,211,238,.75);
  outline-offset:4px;
}

/* Responsiveness and safe spacing */
@media (max-width: 760px){
  .whatsapp-float{
    right:16px;
    bottom:16px;
    min-height:58px;
    padding:9px 12px;
  }

  .whatsapp-label{
    display:none;
  }

  .whatsapp-icon{
    width:42px;
    height:42px;
  }

  .loader-card{
    width:min(90vw, 360px);
    padding:28px 20px;
    border-radius:24px;
  }

  .inquiry-modal-open{
    width:100%;
    justify-content:center;
    margin-top:18px;
  }
}

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

  .amzeal-page-loader{
    display:none;
  }
}


/* V61: Dedicated visible page loader moved to assets/css/loader-v61.css. */



/* =============================================================
   V62 PREMIUM MOBILE HAMBURGER MENU
   Clean app-style mobile navigation with icons, active states,
   CTA buttons, backdrop blur, smooth animations and responsive polish.
   ============================================================= */

.premium-menu-toggle{
  width:54px;
  height:54px;
  border:1px solid rgba(226,232,240,.9);
  border-radius:18px;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.92);
  color:#061127;
  box-shadow:0 14px 34px rgba(15,23,42,.12);
  cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position:relative;
  z-index:10001;
}

.premium-menu-toggle:hover{
  transform:translateY(-2px);
  border-color:rgba(34,211,238,.55);
  box-shadow:0 18px 42px rgba(37,99,235,.18);
}

.premium-menu-toggle-lines{
  width:24px;
  display:grid;
  gap:5px;
}

.premium-menu-toggle-lines i{
  display:block;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#061127,#2563eb);
  transition:transform .25s ease, opacity .25s ease;
}

.premium-menu-toggle-lines i:nth-child(2){
  width:18px;
  margin-left:auto;
}

body.mobile-menu-open .premium-menu-toggle-lines i:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}
body.mobile-menu-open .premium-menu-toggle-lines i:nth-child(2){
  opacity:0;
}
body.mobile-menu-open .premium-menu-toggle-lines i:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}

.premium-mobile-menu{
  position:fixed;
  inset:0;
  z-index:10000;
  pointer-events:none;
  visibility:hidden;
}

.premium-mobile-menu.is-open{
  pointer-events:auto;
  visibility:visible;
}

.premium-mobile-menu-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,6,23,.58);
  opacity:0;
  backdrop-filter:blur(10px);
  transition:opacity .32s ease;
}

.premium-mobile-menu.is-open .premium-mobile-menu-backdrop{
  opacity:1;
}

.premium-mobile-menu-panel{
  position:absolute;
  top:12px;
  right:12px;
  bottom:12px;
  width:min(92vw, 430px);
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:20px;
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 0%, rgba(34,211,238,.16), transparent 34%),
    radial-gradient(circle at 5% 78%, rgba(37,99,235,.12), transparent 38%),
    rgba(255,255,255,.98);
  border:1px solid rgba(226,232,240,.88);
  box-shadow:0 32px 95px rgba(2,6,23,.32);
  transform:translateX(110%) scale(.985);
  transition:transform .42s cubic-bezier(.22,1,.36,1);
}

.premium-mobile-menu.is-open .premium-mobile-menu-panel{
  transform:translateX(0) scale(1);
}

.premium-mobile-menu-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(6px);
  opacity:.38;
  pointer-events:none;
  animation:premiumMenuOrb 6s ease-in-out infinite;
}

.premium-mobile-menu-orb.orb-one{
  width:160px;
  height:160px;
  right:-55px;
  top:100px;
  background:rgba(34,211,238,.30);
}

.premium-mobile-menu-orb.orb-two{
  width:140px;
  height:140px;
  left:-55px;
  bottom:90px;
  background:rgba(37,99,235,.20);
  animation-delay:1.3s;
}

@keyframes premiumMenuOrb{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(12px,-16px,0) scale(1.08)}
}

.premium-mobile-menu-head{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.premium-mobile-menu-brand{
  display:inline-flex;
  align-items:center;
  min-width:0;
}

.premium-mobile-menu-brand img{
  width:170px;
  max-width:55vw;
  height:auto;
  object-fit:contain;
}

.premium-mobile-menu-close{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid #dbe7f5;
  border-radius:18px;
  background:#fff;
  color:#061127;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(15,23,42,.10);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.premium-mobile-menu-close:hover{
  transform:rotate(90deg);
  border-color:rgba(37,99,235,.35);
  box-shadow:0 16px 34px rgba(37,99,235,.16);
}

.premium-mobile-menu-close svg{
  width:24px;
  height:24px;
  fill:currentColor;
}

.premium-mobile-menu-intro{
  position:relative;
  z-index:2;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(135deg,#061127,#0b2b5f);
  color:#fff;
  box-shadow:0 20px 44px rgba(6,17,39,.20);
}

.premium-mobile-menu-intro span{
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(34,211,238,.14);
  color:#a5f3fc;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.premium-mobile-menu-intro strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.025em;
}

.premium-mobile-menu-nav{
  position:relative;
  z-index:2;
  display:grid;
  gap:10px;
  padding:4px;
  overflow:auto;
  scrollbar-width:thin;
}

.premium-mobile-menu-link{
  min-height:62px;
  display:grid;
  grid-template-columns:48px 1fr auto;
  align-items:center;
  gap:12px;
  padding:8px 14px 8px 8px;
  border-radius:20px;
  color:#13223a;
  text-decoration:none;
  background:rgba(248,251,255,.84);
  border:1px solid rgba(219,231,245,.80);
  font-weight:850;
  box-shadow:0 8px 20px rgba(15,23,42,.045);
  transform:translateX(22px);
  opacity:0;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease;
}

.premium-mobile-menu.is-open .premium-mobile-menu-link{
  animation:premiumMenuLinkIn .46s ease both;
}

.premium-mobile-menu.is-open .premium-mobile-menu-link:nth-child(1){animation-delay:.05s}
.premium-mobile-menu.is-open .premium-mobile-menu-link:nth-child(2){animation-delay:.09s}
.premium-mobile-menu.is-open .premium-mobile-menu-link:nth-child(3){animation-delay:.13s}
.premium-mobile-menu.is-open .premium-mobile-menu-link:nth-child(4){animation-delay:.17s}
.premium-mobile-menu.is-open .premium-mobile-menu-link:nth-child(5){animation-delay:.21s}
.premium-mobile-menu.is-open .premium-mobile-menu-link:nth-child(6){animation-delay:.25s}

@keyframes premiumMenuLinkIn{
  to{transform:translateX(0);opacity:1}
}

.premium-mobile-menu-link:hover,
.premium-mobile-menu-link.is-active{
  color:#0b4edb;
  background:#eef6ff;
  border-color:rgba(37,99,235,.25);
  box-shadow:0 14px 32px rgba(37,99,235,.12);
  transform:translateX(0) translateY(-2px);
}

.mobile-menu-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(34,211,238,.16),rgba(37,99,235,.10));
  color:#2563eb;
}

.premium-mobile-menu-link.is-active .mobile-menu-icon{
  background:linear-gradient(135deg,#2563eb,#22d3ee);
  color:#fff;
  box-shadow:0 14px 28px rgba(37,99,235,.25);
}

.mobile-menu-icon svg{
  width:23px;
  height:23px;
  fill:currentColor;
}

.mobile-menu-text{
  min-width:0;
  line-height:1.1;
}

.mobile-menu-arrow{
  font-size:26px;
  color:#94a3b8;
  transition:transform .22s ease, color .22s ease;
}

.premium-mobile-menu-link:hover .mobile-menu-arrow,
.premium-mobile-menu-link.is-active .mobile-menu-arrow{
  transform:translateX(4px);
  color:#2563eb;
}

.premium-mobile-menu-actions{
  position:relative;
  z-index:2;
  display:grid;
  gap:10px;
  margin-top:auto;
  padding-top:8px;
}

.premium-mobile-menu-cta,
.premium-mobile-menu-whatsapp{
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  text-decoration:none;
  font-weight:950;
}

.premium-mobile-menu-cta{
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#22d3ee);
  box-shadow:0 18px 42px rgba(37,99,235,.25);
}

.premium-mobile-menu-cta svg{
  width:22px;
  height:22px;
  fill:currentColor;
}

.premium-mobile-menu-whatsapp{
  color:#047857;
  background:#ecfdf5;
  border:1px solid #bbf7d0;
}

body.mobile-menu-open{
  overflow:hidden;
}

/* Hide the old oversized mobile menu visual if any source class remains */
.mobile-menu.premium-mobile-menu ul,
.mobile-menu.premium-mobile-menu li{
  list-style:none;
  margin:0;
  padding:0;
}

@media (max-width: 980px){
  .premium-menu-toggle{
    display:inline-flex;
  }
}

@media (min-width: 981px){
  .premium-mobile-menu{
    display:none !important;
  }
}

@media (max-width: 520px){
  .premium-mobile-menu-panel{
    inset:8px;
    width:auto;
    border-radius:26px;
    padding:16px;
  }

  .premium-mobile-menu-brand img{
    width:150px;
  }

  .premium-mobile-menu-intro{
    padding:16px;
  }

  .premium-mobile-menu-intro strong{
    font-size:16px;
  }

  .premium-mobile-menu-link{
    min-height:58px;
    grid-template-columns:44px 1fr auto;
    border-radius:18px;
  }

  .mobile-menu-icon{
    width:42px;
    height:42px;
    border-radius:14px;
  }
}

@media (prefers-reduced-motion: reduce){
  .premium-mobile-menu-panel,
  .premium-mobile-menu-backdrop,
  .premium-mobile-menu-link,
  .premium-mobile-menu-orb{
    animation:none !important;
    transition:none !important;
  }

  .premium-mobile-menu-link{
    opacity:1;
    transform:none;
  }
}




/* V62.1 Compatibility patch:
   Supports older menu scripts that toggle active/open/show/is-active
   instead of the new is-open class. */
.premium-mobile-menu.active,
.premium-mobile-menu.open,
.premium-mobile-menu.show,
.premium-mobile-menu.is-active,
.mobile-menu.premium-mobile-menu.active,
.mobile-menu.premium-mobile-menu.open,
.mobile-menu.premium-mobile-menu.show,
.mobile-menu.premium-mobile-menu.is-active{
  pointer-events:auto !important;
  visibility:visible !important;
}

.premium-mobile-menu.active .premium-mobile-menu-backdrop,
.premium-mobile-menu.open .premium-mobile-menu-backdrop,
.premium-mobile-menu.show .premium-mobile-menu-backdrop,
.premium-mobile-menu.is-active .premium-mobile-menu-backdrop{
  opacity:1 !important;
}

.premium-mobile-menu.active .premium-mobile-menu-panel,
.premium-mobile-menu.open .premium-mobile-menu-panel,
.premium-mobile-menu.show .premium-mobile-menu-panel,
.premium-mobile-menu.is-active .premium-mobile-menu-panel{
  transform:translateX(0) scale(1) !important;
}

.premium-mobile-menu.active .premium-mobile-menu-link,
.premium-mobile-menu.open .premium-mobile-menu-link,
.premium-mobile-menu.show .premium-mobile-menu-link,
.premium-mobile-menu.is-active .premium-mobile-menu-link{
  animation:premiumMenuLinkIn .46s ease both;
}

/* Override old full white mobile menu appearance */
.mobile-menu.premium-mobile-menu{
  background:transparent !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  overflow:visible !important;
}

.mobile-menu.premium-mobile-menu > a,
.mobile-menu.premium-mobile-menu > ul,
.mobile-menu.premium-mobile-menu > li,
.mobile-menu.premium-mobile-menu > .nav-link{
  display:none !important;
}

/* Better visibility for toggle on dark or light headers */
.premium-menu-toggle{
  flex:0 0 auto;
}

.site-header .premium-menu-toggle,
.header .premium-menu-toggle,
.navbar .premium-menu-toggle{
  margin-left:auto;
}



/* =============================================================
   V63 CLEAN LEFT MOBILE MENU
   Clean, light, left-side drawer. Removes dark intro card,
   avoids thick fonts, shows all menu items at a glance,
   and hides floating WhatsApp while menu is open.
   ============================================================= */

/* Clean hamburger button */
.premium-menu-toggle{
  width:48px !important;
  height:48px !important;
  display:none;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  border:1px solid rgba(226,232,240,.95) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.96) !important;
  color:#172033 !important;
  box-shadow:0 10px 28px rgba(15,23,42,.10) !important;
  cursor:pointer;
  position:relative;
  z-index:10001;
  overflow:hidden;
}

.premium-menu-toggle::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(135deg, transparent, rgba(34,211,238,.18), transparent);
  transform:translateX(-80%);
  transition:transform .55s ease;
}

.premium-menu-toggle:hover::before{
  transform:translateX(80%);
}

.premium-menu-toggle-lines{
  width:22px;
  display:grid;
  gap:4px;
  position:relative;
  z-index:2;
}

.premium-menu-toggle-lines i{
  display:block;
  height:2px !important;
  border-radius:999px;
  background:#0f2a56 !important;
  transition:transform .24s ease, opacity .24s ease;
}

.premium-menu-toggle-lines i:nth-child(2){
  width:16px;
  margin-left:auto;
}

body.mobile-menu-open .premium-menu-toggle-lines i:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
body.mobile-menu-open .premium-menu-toggle-lines i:nth-child(2){
  opacity:0;
}
body.mobile-menu-open .premium-menu-toggle-lines i:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

/* Menu shell */
.premium-mobile-menu{
  position:fixed !important;
  inset:0 !important;
  z-index:10000 !important;
  display:block !important;
  pointer-events:none;
  visibility:hidden;
  background:transparent !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  overflow:visible !important;
}

.premium-mobile-menu.is-open,
.premium-mobile-menu.active,
.premium-mobile-menu.open,
.premium-mobile-menu.show,
.premium-mobile-menu.is-active{
  pointer-events:auto !important;
  visibility:visible !important;
}

.premium-mobile-menu-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,15,30,.42);
  backdrop-filter:blur(8px);
  opacity:0;
  transition:opacity .28s ease;
}

.premium-mobile-menu.is-open .premium-mobile-menu-backdrop,
.premium-mobile-menu.active .premium-mobile-menu-backdrop,
.premium-mobile-menu.open .premium-mobile-menu-backdrop,
.premium-mobile-menu.show .premium-mobile-menu-backdrop,
.premium-mobile-menu.is-active .premium-mobile-menu-backdrop{
  opacity:1 !important;
}

/* Left drawer panel */
.premium-mobile-menu-panel{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  right:auto !important;
  bottom:10px !important;
  width:min(88vw, 360px) !important;
  max-width:360px !important;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(34,211,238,.14), transparent 34%),
    linear-gradient(180deg,#ffffff 0%, #f8fbff 100%) !important;
  border:1px solid rgba(219,231,245,.95) !important;
  box-shadow:0 24px 80px rgba(2,6,23,.28) !important;
  transform:translateX(-110%) scale(.99) !important;
  transition:transform .34s cubic-bezier(.22,1,.36,1) !important;
}

.premium-mobile-menu.is-open .premium-mobile-menu-panel,
.premium-mobile-menu.active .premium-mobile-menu-panel,
.premium-mobile-menu.open .premium-mobile-menu-panel,
.premium-mobile-menu.show .premium-mobile-menu-panel,
.premium-mobile-menu.is-active .premium-mobile-menu-panel{
  transform:translateX(0) scale(1) !important;
}

/* Remove the old dark intro completely */
.premium-mobile-menu-intro,
.premium-mobile-menu-orb{
  display:none !important;
}

.premium-mobile-menu-head{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:6px;
}

.premium-mobile-menu-brand img{
  width:150px !important;
  max-width:58vw;
  height:auto;
  object-fit:contain;
}

.premium-mobile-menu-close{
  width:46px !important;
  height:46px !important;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid #dbe7f5 !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#172033 !important;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
}

.premium-mobile-menu-close:hover{
  transform:rotate(90deg);
}

.premium-mobile-menu-close svg{
  width:22px;
  height:22px;
  fill:currentColor;
}

/* Compact nav: all items visible at a glance */
.premium-mobile-menu-nav{
  position:relative;
  z-index:2;
  display:grid !important;
  gap:8px !important;
  padding:4px 0 !important;
  overflow:visible !important;
  scrollbar-width:none;
}

.premium-mobile-menu-nav::-webkit-scrollbar{
  display:none;
}

.premium-mobile-menu-link{
  min-height:50px !important;
  display:grid !important;
  grid-template-columns:40px 1fr auto !important;
  align-items:center !important;
  gap:10px !important;
  padding:6px 12px 6px 6px !important;
  border-radius:16px !important;
  color:#1e293b !important;
  text-decoration:none !important;
  background:#ffffff !important;
  border:1px solid rgba(219,231,245,.88) !important;
  font-weight:650 !important;
  letter-spacing:-.01em !important;
  box-shadow:0 8px 18px rgba(15,23,42,.045) !important;
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease, transform .22s ease !important;
}

.premium-mobile-menu-link:hover,
.premium-mobile-menu-link.is-active{
  color:#155eef !important;
  background:#f1f7ff !important;
  border-color:rgba(37,99,235,.28) !important;
  box-shadow:0 10px 24px rgba(37,99,235,.10) !important;
  transform:translateX(2px) !important;
}

.mobile-menu-icon{
  width:38px !important;
  height:38px !important;
  display:grid;
  place-items:center;
  border-radius:13px !important;
  background:#eaf6ff !important;
  color:#2563eb !important;
  box-shadow:none !important;
}

.premium-mobile-menu-link.is-active .mobile-menu-icon{
  background:linear-gradient(135deg,#2d7ff9,#18b7df) !important;
  color:#fff !important;
}

.mobile-menu-icon svg{
  width:20px !important;
  height:20px !important;
  fill:currentColor;
}

.mobile-menu-text{
  font-size:15px !important;
  line-height:1.1;
  font-weight:650 !important;
}

.mobile-menu-arrow{
  font-size:22px !important;
  color:#94a3b8 !important;
  line-height:1;
}

/* Bottom actions kept compact */
.premium-mobile-menu-actions{
  position:relative;
  z-index:2;
  display:grid;
  gap:8px !important;
  margin-top:auto !important;
  padding-top:4px !important;
}

.premium-mobile-menu-cta,
.premium-mobile-menu-whatsapp{
  min-height:48px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:16px !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:-.01em;
}

.premium-mobile-menu-cta{
  color:#fff !important;
  background:linear-gradient(135deg,#2b77f3,#18b7df) !important;
  box-shadow:0 14px 30px rgba(37,99,235,.20) !important;
}

.premium-mobile-menu-cta svg{
  width:19px;
  height:19px;
  fill:currentColor;
}

.premium-mobile-menu-whatsapp{
  color:#08734f !important;
  background:#effdf6 !important;
  border:1px solid #bbf7d0 !important;
  box-shadow:none !important;
}

body.mobile-menu-open{
  overflow:hidden !important;
}

/* Hide floating WhatsApp button while drawer is open to avoid overlap */
body.mobile-menu-open .whatsapp-float{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) scale(.9) !important;
}

/* Hide old menu raw children if old markup remains */
.mobile-menu.premium-mobile-menu > a,
.mobile-menu.premium-mobile-menu > ul,
.mobile-menu.premium-mobile-menu > li,
.mobile-menu.premium-mobile-menu > .nav-link{
  display:none !important;
}

@media (max-width: 980px){
  .premium-menu-toggle{
    display:inline-flex !important;
  }
}

@media (min-width: 981px){
  .premium-mobile-menu{
    display:none !important;
  }
}

@media (max-width: 420px){
  .premium-mobile-menu-panel{
    inset:8px auto 8px 8px !important;
    width:calc(100vw - 16px) !important;
    max-width:none !important;
    padding:14px !important;
    border-radius:22px !important;
  }

  .premium-mobile-menu-brand img{
    width:138px !important;
  }

  .premium-mobile-menu-link{
    min-height:48px !important;
  }
}

@media (max-height: 720px){
  .premium-mobile-menu-panel{
    gap:8px !important;
    padding:12px !important;
  }

  .premium-mobile-menu-brand img{
    width:132px !important;
  }

  .premium-mobile-menu-link{
    min-height:45px !important;
    border-radius:14px !important;
  }

  .mobile-menu-icon{
    width:34px !important;
    height:34px !important;
  }

  .premium-mobile-menu-cta,
  .premium-mobile-menu-whatsapp{
    min-height:44px !important;
  }
}



/* =============================================================
   V64 CTA EDGE ANIMATION AND INQUIRY BACKUP
   Strong visible Start Project Inquiry CTA with animated edge only.
   No inner glow/blur inside the button.
   ============================================================= */

.inquiry-modal-open{
  position:relative !important;
  isolation:isolate !important;
  overflow:visible !important;
  margin-top:22px !important;
  padding:17px 30px !important;
  border-radius:18px !important;
  border:0 !important;
  background:linear-gradient(135deg,#2563eb 0%,#00a7e7 100%) !important;
  color:#061127 !important;
  font-weight:750 !important;
  box-shadow:0 12px 24px rgba(37,99,235,.18) !important;
  transform:translateZ(0);
  animation:amzealCtaAttention 2.8s ease-in-out infinite !important;
}

.inquiry-modal-open::before{
  content:"" !important;
  position:absolute !important;
  inset:-4px !important;
  z-index:-1 !important;
  border-radius:22px !important;
  background:conic-gradient(from var(--amzeal-edge-angle,0deg),#00a7e7,#22d3ee,#22d3ee,#2563eb,#00a7e7) !important;
  animation:amzealCtaEdgeRotate 2.2s linear infinite !important;
}

.inquiry-modal-open::after{
  content:"" !important;
  position:absolute !important;
  inset:2px !important;
  z-index:-1 !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,#2563eb 0%,#00a7e7 100%) !important;
  filter:none !important;
  opacity:1 !important;
  animation:none !important;
}

.inquiry-modal-open:hover{
  color:#061127 !important;
  transform:translateY(-3px) !important;
  box-shadow:0 16px 28px rgba(37,99,235,.22) !important;
}

.inquiry-modal-open:hover::before{
  animation-duration:1.05s !important;
}

@keyframes amzealCtaEdgeRotate{
  from{--amzeal-edge-angle:0deg}
  to{--amzeal-edge-angle:360deg}
}

@property --amzeal-edge-angle{
  syntax:'<angle>';
  initial-value:0deg;
  inherits:false;
}

@keyframes amzealCtaAttention{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

/* Ensure the CTA remains clean on small screens */
@media (max-width:760px){
  .inquiry-modal-open{
    width:100% !important;
    justify-content:center !important;
  }
}



/* =============================================================
   V65 BRAND CTA AND DUAL EMAIL DELIVERY
   CTA uses Amzeal brand blue/cyan instead of orange.
   Edge animation only; no internal glow/blur.
   ============================================================= */

.inquiry-modal-open{
  position:relative !important;
  isolation:isolate !important;
  overflow:visible !important;
  margin-top:22px !important;
  padding:17px 30px !important;
  border-radius:18px !important;
  border:0 !important;
  background:linear-gradient(135deg,#2563eb 0%,#00a7e7 58%,#22d3ee 100%) !important;
  color:#ffffff !important;
  font-weight:720 !important;
  letter-spacing:-.01em !important;
  box-shadow:0 13px 28px rgba(37,99,235,.22) !important;
  transform:translateZ(0);
  animation:amzealBrandCtaLift 2.7s ease-in-out infinite !important;
}

.inquiry-modal-open::before{
  content:"" !important;
  position:absolute !important;
  inset:-4px !important;
  z-index:-1 !important;
  border-radius:22px !important;
  background:conic-gradient(from var(--amzeal-brand-edge-angle,0deg),#22d3ee,#2563eb,#051b48,#2563eb,#22d3ee) !important;
  animation:amzealBrandCtaEdgeRotate 2s linear infinite !important;
}

.inquiry-modal-open::after{
  content:"" !important;
  position:absolute !important;
  inset:2px !important;
  z-index:-1 !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,#2563eb 0%,#00a7e7 58%,#22d3ee 100%) !important;
  filter:none !important;
  opacity:1 !important;
  animation:none !important;
}

.inquiry-modal-open:hover{
  color:#ffffff !important;
  transform:translateY(-3px) !important;
  box-shadow:0 17px 32px rgba(37,99,235,.28) !important;
}

.inquiry-modal-open:hover::before{
  animation-duration:.9s !important;
}

@keyframes amzealBrandCtaEdgeRotate{
  from{--amzeal-brand-edge-angle:0deg}
  to{--amzeal-brand-edge-angle:360deg}
}

@property --amzeal-brand-edge-angle{
  syntax:'<angle>';
  initial-value:0deg;
  inherits:false;
}

@keyframes amzealBrandCtaLift{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

@media (max-width:760px){
  .inquiry-modal-open{
    width:100% !important;
    justify-content:center !important;
  }
}




/* V65.1 FINAL BRAND COLOR OVERRIDE - no orange */
.inquiry-modal-open{
  background:linear-gradient(135deg,#051b48 0%,#2563eb 48%,#22d3ee 100%) !important;
  color:#ffffff !important;
  box-shadow:0 13px 28px rgba(37,99,235,.22) !important;
}
.inquiry-modal-open::before{
  background:conic-gradient(from var(--amzeal-brand-edge-angle,0deg),#22d3ee,#2563eb,#051b48,#2563eb,#22d3ee) !important;
}
.inquiry-modal-open::after{
  background:linear-gradient(135deg,#051b48 0%,#2563eb 48%,#22d3ee 100%) !important;
  filter:none !important;
  opacity:1 !important;
}



/* =============================================================
   V66 PREMIUM RESPONSIVE PROJECT INQUIRY FORM
   Lighter typography, fully responsive modal, clean spacing,
   visible red Submit Request button, and better mobile UX.
   ============================================================= */

.project-inquiry-modal,
.project-modal,
#projectInquiryModal{
  font-family:Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
}

.project-modal-dialog{
  width:min(94vw, 860px) !important;
  max-height:min(92vh, 760px) !important;
  overflow:hidden !important;
  border-radius:28px !important;
  background:#ffffff !important;
  box-shadow:0 28px 88px rgba(15,23,42,.22) !important;
}

.project-modal-header{
  padding:24px 28px 18px !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(34,211,238,.16), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  border-bottom:1px solid #e7eef8 !important;
}

.project-modal-header h2,
.project-modal-title,
.project-modal-dialog h2{
  color:#061127 !important;
  font-weight:680 !important;
  letter-spacing:-.035em !important;
  line-height:1.08 !important;
}

.project-modal-header p,
.project-modal-dialog p,
.project-step-helper{
  color:#475569 !important;
  font-weight:430 !important;
  line-height:1.62 !important;
}

.project-modal-progress{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:10px !important;
  padding:16px 28px 10px !important;
  background:#fff !important;
}

.project-modal-progress span,
.project-modal-progress [data-step-indicator]{
  min-height:7px !important;
  border-radius:999px !important;
  background:#e5edf7 !important;
  font-size:0 !important;
  overflow:hidden !important;
}

.project-modal-progress .is-active,
.project-modal-progress .is-complete,
.project-modal-progress [data-step-indicator].is-active,
.project-modal-progress [data-step-indicator].is-complete{
  background:linear-gradient(90deg,#2563eb,#22d3ee) !important;
}

.project-step-form{
  max-height:calc(92vh - 170px) !important;
  overflow-y:auto !important;
  padding:20px 28px 24px !important;
  scrollbar-width:thin;
  scrollbar-color:#bfdbfe transparent;
}

.project-step-form::-webkit-scrollbar{
  width:8px;
}

.project-step-form::-webkit-scrollbar-thumb{
  background:#bfdbfe;
  border-radius:999px;
}

.project-form-step{
  min-height:auto !important;
}

.project-form-step legend{
  color:#061127 !important;
  font-size:clamp(22px,3.2vw,30px) !important;
  line-height:1.08 !important;
  font-weight:680 !important;
  letter-spacing:-.035em !important;
  margin-bottom:8px !important;
}

.project-step-form label span,
.project-step-form .field-label{
  color:#1f2f46 !important;
  font-size:13px !important;
  font-weight:620 !important;
  letter-spacing:.005em !important;
}

.project-step-form input,
.project-step-form select,
.project-step-form textarea{
  min-height:52px !important;
  border-radius:16px !important;
  border:1px solid #dbe7f5 !important;
  background:#fbfdff !important;
  color:#172033 !important;
  font-size:15px !important;
  font-weight:430 !important;
  box-shadow:none !important;
}

.project-step-form textarea{
  min-height:142px !important;
  resize:vertical !important;
}

.project-step-form input:focus,
.project-step-form select:focus,
.project-step-form textarea:focus{
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.10) !important;
  background:#fff !important;
}

.project-step-form .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}

.service-choice-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

.service-choice-grid label,
.service-choice-grid .service-choice{
  min-height:auto !important;
}

.service-choice-grid span{
  min-height:54px !important;
  border-radius:16px !important;
  font-weight:560 !important;
  color:#1f2f46 !important;
  background:#f8fbff !important;
  border:1px solid #dbe7f5 !important;
}

.project-modal-actions{
  position:sticky !important;
  bottom:0 !important;
  z-index:4 !important;
  margin:18px -28px -24px !important;
  padding:16px 28px !important;
  background:rgba(255,255,255,.96) !important;
  border-top:1px solid #e7eef8 !important;
  backdrop-filter:blur(12px);
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}

.project-modal-actions .btn{
  min-height:52px !important;
  border-radius:16px !important;
  padding:0 22px !important;
  font-weight:650 !important;
  letter-spacing:-.01em !important;
}

.project-modal-actions [data-prev-step]{
  background:#eef6ff !important;
  color:#1e3a8a !important;
  border:1px solid #dbeafe !important;
  box-shadow:none !important;
}

.project-modal-actions [data-next-step]{
  background:linear-gradient(135deg,#2563eb,#22d3ee) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(37,99,235,.20) !important;
}

/* Requested red final Submit button */
.project-modal-actions [data-submit-step],
.project-step-form [data-submit-step],
button[data-submit-step]{
  background:linear-gradient(135deg,#dc2626,#ef4444) !important;
  color:#ffffff !important;
  border:0 !important;
  box-shadow:0 14px 30px rgba(220,38,38,.26) !important;
  position:relative !important;
  overflow:hidden !important;
  animation:submitRedPulse 2.2s ease-in-out infinite !important;
}

.project-modal-actions [data-submit-step]::after,
.project-step-form [data-submit-step]::after,
button[data-submit-step]::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent) !important;
  transform:translateX(-120%) !important;
  animation:submitRedShine 1.8s linear infinite !important;
}

@keyframes submitRedPulse{
  0%,100%{transform:translateY(0);box-shadow:0 14px 30px rgba(220,38,38,.24)}
  50%{transform:translateY(-2px);box-shadow:0 18px 36px rgba(220,38,38,.34)}
}

@keyframes submitRedShine{
  to{transform:translateX(120%)}
}

.project-form-error{
  border-radius:14px !important;
  font-weight:520 !important;
}

/* Loading and success states inside modal */
.project-form-loading,
.project-form-success-polished,
.project-form-success{
  padding:32px 18px !important;
}

.project-form-success h3,
.project-form-loading h3{
  font-weight:680 !important;
  color:#061127 !important;
}

/* Mobile and small device optimization */
@media (max-width:760px){
  .project-modal-dialog{
    width:calc(100vw - 20px) !important;
    max-height:calc(100vh - 20px) !important;
    border-radius:24px !important;
  }

  .project-modal-header{
    padding:22px 20px 14px !important;
  }

  .project-modal-progress{
    padding:14px 20px 8px !important;
  }

  .project-step-form{
    max-height:calc(100vh - 150px) !important;
    padding:18px 20px 22px !important;
  }

  .project-step-form .form-grid,
  .service-choice-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .project-modal-actions{
    margin:16px -20px -22px !important;
    padding:14px 20px !important;
  }
}

@media (max-width:480px){
  .project-modal-dialog{
    width:100vw !important;
    height:100vh !important;
    max-height:100vh !important;
    border-radius:0 !important;
  }

  .project-step-form{
    max-height:calc(100vh - 146px) !important;
  }

  .project-modal-header h2,
  .project-modal-title{
    font-size:24px !important;
  }

  .project-form-step legend{
    font-size:23px !important;
  }

  .project-step-form input,
  .project-step-form select,
  .project-step-form textarea{
    min-height:50px !important;
    font-size:14.5px !important;
  }

  .project-modal-actions{
    flex-direction:column-reverse !important;
  }

  .project-modal-actions .btn{
    width:100% !important;
  }
}

@media (max-height:680px){
  .project-modal-header{
    padding-top:18px !important;
    padding-bottom:12px !important;
  }

  .project-modal-progress{
    padding-top:10px !important;
  }

  .project-step-form{
    padding-top:14px !important;
  }

  .project-step-form textarea{
    min-height:110px !important;
  }
}



/* =============================================================
   V67 CLEAN MOVING PROJECT INQUIRY FORM
   Fixes step movement, removes extra popup icons, reduces title
   size and keeps a clean premium responsive layout.
   ============================================================= */

/* Important step visibility fix */
#projectInquiryModal .project-form-step{
  display:none !important;
}

#projectInquiryModal .project-form-step.is-active{
  display:block !important;
}

#projectInquiryModal .project-form-step.is-submitted-hidden{
  display:none !important;
}

/* Remove additional popup icons/decorative visuals */
#projectInquiryModal .project-step-icon,
#projectInquiryModal .modal-icon,
#projectInquiryModal .form-icon,
#projectInquiryModal .project-modal-icon,
#projectInquiryModal .service-icon,
#projectInquiryModal .choice-icon,
#projectInquiryModal .project-form-step svg:not(.keep-icon),
#projectInquiryModal .service-choice-grid svg,
#projectInquiryModal .project-modal-progress svg{
  display:none !important;
}

/* Clean premium modal */
#projectInquiryModal .project-modal-dialog,
.project-modal-dialog{
  width:min(94vw, 820px) !important;
  max-height:min(92vh, 720px) !important;
  border-radius:26px !important;
  overflow:hidden !important;
  background:#ffffff !important;
  box-shadow:0 28px 80px rgba(15,23,42,.20) !important;
  font-family:Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif !important;
}

#projectInquiryModal .project-modal-header{
  padding:22px 26px 14px !important;
  border-bottom:1px solid #e7eef8 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
}

/* Reduced title font */
#projectInquiryModal .project-modal-header h2,
#projectInquiryModal .project-modal-title,
#projectInquiryModal h2{
  font-size:clamp(21px,2.4vw,28px) !important;
  line-height:1.12 !important;
  font-weight:620 !important;
  letter-spacing:-.025em !important;
  color:#061127 !important;
  margin-bottom:8px !important;
}

#projectInquiryModal .project-modal-header p,
#projectInquiryModal p,
#projectInquiryModal .project-step-helper{
  color:#475569 !important;
  font-size:14px !important;
  line-height:1.6 !important;
  font-weight:400 !important;
}

/* Minimal progress bar */
#projectInquiryModal .project-modal-progress{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:9px !important;
  padding:14px 26px 8px !important;
  background:#fff !important;
}

#projectInquiryModal .project-modal-progress [data-step-indicator],
#projectInquiryModal .project-modal-progress span{
  min-height:6px !important;
  border-radius:999px !important;
  background:#e5edf7 !important;
  font-size:0 !important;
  overflow:hidden !important;
}

#projectInquiryModal .project-modal-progress .is-active,
#projectInquiryModal .project-modal-progress .is-complete,
#projectInquiryModal .project-modal-progress [data-step-indicator].is-active,
#projectInquiryModal .project-modal-progress [data-step-indicator].is-complete{
  background:linear-gradient(90deg,#2563eb,#22d3ee) !important;
}

/* Form body */
#projectInquiryModal .project-step-form{
  max-height:calc(92vh - 154px) !important;
  overflow-y:auto !important;
  padding:18px 26px 22px !important;
  scrollbar-width:thin;
  scrollbar-color:#bfdbfe transparent;
}

#projectInquiryModal .project-step-form::-webkit-scrollbar{
  width:8px;
}

#projectInquiryModal .project-step-form::-webkit-scrollbar-thumb{
  background:#bfdbfe;
  border-radius:999px;
}

#projectInquiryModal .project-form-step legend{
  font-size:clamp(19px,2.2vw,24px) !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  color:#061127 !important;
  letter-spacing:-.02em !important;
  margin:0 0 7px !important;
}

#projectInquiryModal .project-step-form .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:13px !important;
}

#projectInquiryModal .project-step-form label span,
#projectInquiryModal .field-label{
  font-size:13px !important;
  font-weight:560 !important;
  color:#24364f !important;
}

#projectInquiryModal .project-step-form input,
#projectInquiryModal .project-step-form select,
#projectInquiryModal .project-step-form textarea{
  min-height:50px !important;
  border-radius:15px !important;
  border:1px solid #dbe7f5 !important;
  background:#fbfdff !important;
  color:#172033 !important;
  font-size:14.5px !important;
  font-weight:400 !important;
  box-shadow:none !important;
}

#projectInquiryModal .project-step-form textarea{
  min-height:130px !important;
  resize:vertical !important;
  line-height:1.55 !important;
}

#projectInquiryModal .project-step-form input:focus,
#projectInquiryModal .project-step-form select:focus,
#projectInquiryModal .project-step-form textarea:focus{
  background:#fff !important;
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.10) !important;
}

/* Service choices without extra icons */
#projectInquiryModal .service-choice-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:11px !important;
}

#projectInquiryModal .service-choice-grid span{
  min-height:50px !important;
  border-radius:15px !important;
  padding:0 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:#f8fbff !important;
  border:1px solid #dbe7f5 !important;
  color:#24364f !important;
  font-size:14px !important;
  font-weight:500 !important;
}

/* Sticky footer actions */
#projectInquiryModal .project-modal-actions{
  position:sticky !important;
  bottom:0 !important;
  z-index:5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:17px -26px -22px !important;
  padding:14px 26px !important;
  background:rgba(255,255,255,.97) !important;
  border-top:1px solid #e7eef8 !important;
  backdrop-filter:blur(12px);
}

#projectInquiryModal .project-modal-actions .btn{
  min-height:50px !important;
  border-radius:15px !important;
  padding:0 20px !important;
  font-size:14.5px !important;
  font-weight:600 !important;
}

/* Back and Next */
#projectInquiryModal [data-prev-step]{
  background:#eef6ff !important;
  color:#1e3a8a !important;
  border:1px solid #dbeafe !important;
  box-shadow:none !important;
}

#projectInquiryModal [data-next-step]{
  background:linear-gradient(135deg,#2563eb,#22d3ee) !important;
  color:#fff !important;
}

/* Red submit button remains requested */
#projectInquiryModal [data-submit-step]{
  background:linear-gradient(135deg,#dc2626,#ef4444) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 14px 28px rgba(220,38,38,.26) !important;
  position:relative !important;
  overflow:hidden !important;
  animation:submitRedPulseV67 2.2s ease-in-out infinite !important;
}

#projectInquiryModal [data-submit-step]::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent) !important;
  transform:translateX(-120%) !important;
  animation:submitRedShineV67 1.8s linear infinite !important;
}

@keyframes submitRedPulseV67{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}

@keyframes submitRedShineV67{
  to{transform:translateX(120%)}
}

/* Error, loading, success text lighter */
#projectInquiryModal .project-form-error{
  font-weight:450 !important;
  border-radius:14px !important;
}

#projectInquiryModal .project-form-success h3,
#projectInquiryModal .project-form-loading h3{
  font-size:22px !important;
  font-weight:600 !important;
  color:#061127 !important;
}

/* Mobile responsiveness */
@media (max-width:760px){
  #projectInquiryModal .project-modal-dialog,
  .project-modal-dialog{
    width:calc(100vw - 20px) !important;
    max-height:calc(100vh - 20px) !important;
    border-radius:22px !important;
  }

  #projectInquiryModal .project-modal-header{
    padding:20px 20px 13px !important;
  }

  #projectInquiryModal .project-modal-progress{
    padding:12px 20px 8px !important;
  }

  #projectInquiryModal .project-step-form{
    max-height:calc(100vh - 145px) !important;
    padding:16px 20px 20px !important;
  }

  #projectInquiryModal .project-step-form .form-grid,
  #projectInquiryModal .service-choice-grid{
    grid-template-columns:1fr !important;
  }

  #projectInquiryModal .project-modal-actions{
    margin:16px -20px -20px !important;
    padding:13px 20px !important;
  }
}

@media (max-width:480px){
  #projectInquiryModal .project-modal-dialog,
  .project-modal-dialog{
    width:100vw !important;
    height:100vh !important;
    max-height:100vh !important;
    border-radius:0 !important;
  }

  #projectInquiryModal .project-modal-header h2,
  #projectInquiryModal .project-modal-title{
    font-size:22px !important;
  }

  #projectInquiryModal .project-form-step legend{
    font-size:20px !important;
  }

  #projectInquiryModal .project-step-form{
    max-height:calc(100vh - 138px) !important;
  }

  #projectInquiryModal .project-modal-actions{
    flex-direction:column-reverse !important;
  }

  #projectInquiryModal .project-modal-actions .btn{
    width:100% !important;
  }
}

@media (max-height:680px){
  #projectInquiryModal .project-modal-header{
    padding-top:16px !important;
    padding-bottom:10px !important;
  }

  #projectInquiryModal .project-step-form textarea{
    min-height:100px !important;
  }
}


/* =============================================================
   V68 MULTI SERVICE FORM EMAIL FIX
   ============================================================= */

#projectInquiryModal .project-modal-progress{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;border:0!important}
#projectInquiryModal .project-modal-header{padding-bottom:16px!important}
#projectInquiryModal .project-step-form{max-height:calc(92vh - 126px)!important;padding-top:20px!important}
#projectInquiryModal .project-form-step{display:none!important}
#projectInquiryModal .project-form-step.is-active{display:block!important}
#projectInquiryModal .project-form-step.is-submitted-hidden{display:none!important}
#projectInquiryModal .project-form-step legend{font-size:clamp(19px,2.1vw,23px)!important;font-weight:580!important;letter-spacing:-.018em!important;color:#061127!important}

#projectInquiryModal .service-choice-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important}
#projectInquiryModal .service-choice-card{position:relative!important;display:block!important;margin:0!important;cursor:pointer!important}
#projectInquiryModal .service-choice-card input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
#projectInquiryModal .service-choice-card span{min-height:54px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;padding:0 16px!important;border-radius:16px!important;background:#f8fbff!important;border:1px solid #dbe7f5!important;color:#24364f!important;font-size:14px!important;font-weight:500!important;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease!important}
#projectInquiryModal .service-choice-card:hover span{background:#eff6ff!important;border-color:#bfdbfe!important;transform:translateY(-1px)!important}
#projectInquiryModal .service-choice-card input:checked + span,
#projectInquiryModal .service-choice-card.is-selected span{color:#fff!important;background:linear-gradient(135deg,#2563eb,#22d3ee)!important;border-color:#2563eb!important;box-shadow:0 12px 24px rgba(37,99,235,.20)!important}
#projectInquiryModal .service-choice-card input:checked + span::after,
#projectInquiryModal .service-choice-card.is-selected span::after{content:"✓"!important;margin-left:auto!important;width:24px!important;height:24px!important;display:grid!important;place-items:center!important;border-radius:999px!important;background:rgba(255,255,255,.20)!important;color:#fff!important;font-weight:700!important}

#projectInquiryModal .other-service-field{margin-top:14px!important}
#projectInquiryModal .other-service-field[hidden]{display:none!important}
#projectInquiryModal .other-service-field label span{font-size:13px!important;font-weight:560!important;color:#24364f!important}
#projectInquiryModal .other-service-field input{width:100%!important;min-height:50px!important;border-radius:15px!important;border:1px solid #dbe7f5!important;background:#fbfdff!important;padding:0 14px!important;color:#172033!important}

#projectInquiryModal .project-success-landing{padding:42px 24px!important;text-align:center!important;display:grid!important;justify-items:center!important;gap:14px!important}
#projectInquiryModal .project-success-landing[hidden]{display:none!important}
#projectInquiryModal .success-check-wrap{position:relative!important;width:150px!important;height:150px!important;display:grid!important;place-items:center!important}
#projectInquiryModal .success-ring{position:absolute!important;border-radius:50%!important;border:1px solid rgba(34,197,94,.24)!important;animation:successOrbitV68 2.4s linear infinite!important}
#projectInquiryModal .success-ring-one{inset:0!important}
#projectInquiryModal .success-ring-two{inset:22px!important;border-color:rgba(37,99,235,.24)!important;animation-direction:reverse!important}
#projectInquiryModal .success-check{width:86px!important;height:86px!important;display:grid!important;place-items:center!important;border-radius:50%!important;color:#fff!important;background:linear-gradient(135deg,#16a34a,#22c55e)!important;box-shadow:0 18px 42px rgba(34,197,94,.28)!important;animation:successCheckPopV68 .62s ease both!important}
#projectInquiryModal .success-check svg{width:44px!important;height:44px!important;fill:currentColor!important;display:block!important}
#projectInquiryModal .project-success-landing h3{margin:0!important;color:#061127!important;font-size:clamp(22px,3vw,30px)!important;font-weight:620!important;letter-spacing:-.025em!important}
#projectInquiryModal .project-success-landing p{max-width:520px!important;margin:0!important;color:#475569!important;font-size:15px!important;line-height:1.6!important;font-weight:400!important}
#projectInquiryModal .success-home-loader{width:min(100%,320px)!important;height:9px!important;border-radius:999px!important;overflow:hidden!important;background:#e5edf7!important;margin-top:8px!important}
#projectInquiryModal .success-home-loader span{display:block!important;width:45%!important;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#2563eb,#22d3ee)!important;animation:successHomeLoadV68 1.25s ease-in-out infinite!important}
#projectInquiryModal .success-home-link{margin-top:6px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:0 18px!important;border-radius:999px!important;background:#eff6ff!important;color:#1e3a8a!important;text-decoration:none!important;font-weight:600!important}

@keyframes successCheckPopV68{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
@keyframes successOrbitV68{from{transform:rotate(0deg) scale(.94)}to{transform:rotate(360deg) scale(.94)}}
@keyframes successHomeLoadV68{0%{transform:translateX(-100%)}100%{transform:translateX(240%)}}

@media (max-width:760px){
  #projectInquiryModal .project-step-form{max-height:calc(100vh - 120px)!important}
  #projectInquiryModal .service-choice-grid{grid-template-columns:1fr!important}
}
@media (max-width:480px){
  #projectInquiryModal .project-success-landing{min-height:calc(100vh - 120px)!important;align-content:center!important}
}


/* =============================================================
   AMZEAL CREATIVES V82 HARD HAMBURGER MENU FIX
   Purpose:
   - Remove borders/cards from normal mobile menu options
   - Show border ONLY on current/selected page
   - Professional CTA and WhatsApp buttons with clean icons
   ============================================================= */

/* Drawer surface remains premium */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-panel{
  background:
    radial-gradient(circle at 10% 0%, rgba(34,211,238,.08), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
}

/* NORMAL MENU OPTIONS: no visible border, no card box */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link{
  background:transparent !important;
  border:2px solid transparent !important;
  box-shadow:none !important;
  color:#172033 !important;
  border-radius:18px !important;
  min-height:54px !important;
  padding:7px 12px 7px 7px !important;
}

/* NORMAL HOVER: light clean background only, still no border */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link:not(.is-active):not(.active):not([aria-current="page"]):hover{
  background:#f4f9ff !important;
  border-color:transparent !important;
  box-shadow:none !important;
  transform:translateX(2px) !important;
}

/* NORMAL ICONS */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link .mobile-menu-icon{
  background:#edf8ff !important;
  color:#2563eb !important;
  box-shadow:none !important;
  border:0 !important;
}

/* SELECTED/CURRENT MENU OPTION ONLY: keep border so current page is obvious */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.is-active,
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.active,
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[aria-current="page"]{
  background:linear-gradient(180deg,#f8fcff 0%,#edf7ff 100%) !important;
  border:2px solid #72c3ff !important;
  color:#155eef !important;
  box-shadow:0 12px 26px rgba(37,99,235,.12), inset 0 0 0 1px rgba(255,255,255,.82) !important;
  transform:none !important;
}

/* SELECTED ICON */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.is-active .mobile-menu-icon,
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.active .mobile-menu-icon,
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[aria-current="page"] .mobile-menu-icon{
  background:linear-gradient(135deg,#2563eb 0%,#1bb9e9 100%) !important;
  color:#ffffff !important;
  box-shadow:0 12px 24px rgba(37,99,235,.24) !important;
}

/* Arrows become subtle */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link .mobile-menu-arrow{
  color:#94a3b8 !important;
  opacity:.72 !important;
}

#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.is-active .mobile-menu-arrow,
#mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[aria-current="page"] .mobile-menu-arrow{
  color:#64748b !important;
  opacity:1 !important;
}

/* CTA area spacing */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-actions{
  display:grid !important;
  gap:14px !important;
  margin-top:auto !important;
  padding-top:18px !important;
}

/* Clean professional Start Project Inquiry button */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-cta{
  min-height:62px !important;
  border-radius:22px !important;
  border:0 !important;
  background:linear-gradient(135deg,#2563eb 0%,#18b7df 100%) !important;
  color:#ffffff !important;
  font-size:16px !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  box-shadow:0 18px 40px rgba(37,99,235,.26) !important;
  text-decoration:none !important;
  position:relative !important;
  overflow:hidden !important;
}

#mobileMenu.premium-mobile-menu .premium-mobile-menu-cta:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 46px rgba(37,99,235,.32) !important;
}

/* Remove old arrow svg inside CTA to avoid duplicate icon */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-cta > svg{
  display:none !important;
}

/* New professional CTA icon */
#mobileMenu.premium-mobile-menu .mobile-cta-icon{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.17) !important;
  color:#ffffff !important;
}

#mobileMenu.premium-mobile-menu .mobile-cta-icon svg{
  width:18px !important;
  height:18px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
}

/* Clean professional WhatsApp button */
#mobileMenu.premium-mobile-menu .premium-mobile-menu-whatsapp{
  min-height:60px !important;
  border-radius:22px !important;
  border:1px solid rgba(34,197,94,.28) !important;
  background:linear-gradient(180deg,#f0fdf4 0%,#ecfdf5 100%) !important;
  color:#047857 !important;
  font-size:16px !important;
  font-weight:850 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  box-shadow:0 14px 30px rgba(16,185,129,.11) !important;
  text-decoration:none !important;
}

#mobileMenu.premium-mobile-menu .premium-mobile-menu-whatsapp:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(34,197,94,.48) !important;
  box-shadow:0 18px 38px rgba(16,185,129,.16) !important;
}

#mobileMenu.premium-mobile-menu .mobile-whatsapp-icon{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#16a34a !important;
  color:#ffffff !important;
}

#mobileMenu.premium-mobile-menu .mobile-whatsapp-icon svg{
  width:18px !important;
  height:18px !important;
  fill:currentColor !important;
}

/* Safety: if old class state remains on the wrong link, JS will correct it. */


/* =============================================================
   AMZEAL CREATIVES V83 SINGLE ACTIVE MOBILE MENU FIX
   Fix: Home must NOT remain selected when another page is open.
   Only one item gets the active border, controlled by body[data-current-page].
   ============================================================= */

/* 1. Reset every mobile menu item, including any old active/is-active classes */
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link,
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.active,
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.is-active,
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[aria-current="page"]{
  background:transparent !important;
  border:2px solid transparent !important;
  box-shadow:none !important;
  color:#172033 !important;
  transform:none !important;
}

/* 2. Reset every icon too */
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link .mobile-menu-icon,
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.active .mobile-menu-icon,
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link.is-active .mobile-menu-icon,
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[aria-current="page"] .mobile-menu-icon{
  background:#edf8ff !important;
  color:#2563eb !important;
  box-shadow:none !important;
  border:0 !important;
}

/* 3. Clean hover only for non-current links */
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link:hover{
  background:#f5faff !important;
  border-color:transparent !important;
}

/* 4. Apply the selected style ONLY by page key. This overrides all old active classes. */
body[data-current-page="home"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="home"],
body[data-current-page="about"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="about"],
body[data-current-page="services"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="services"],
body[data-current-page="portfolio"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="portfolio"],
body[data-current-page="industries"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="industries"],
body[data-current-page="contact"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="contact"]{
  background:linear-gradient(180deg,#f8fcff 0%,#edf7ff 100%) !important;
  border:2px solid #72c3ff !important;
  color:#155eef !important;
  box-shadow:0 12px 26px rgba(37,99,235,.12), inset 0 0 0 1px rgba(255,255,255,.82) !important;
}

/* 5. Apply the selected icon ONLY by page key */
body[data-current-page="home"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="home"] .mobile-menu-icon,
body[data-current-page="about"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="about"] .mobile-menu-icon,
body[data-current-page="services"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="services"] .mobile-menu-icon,
body[data-current-page="portfolio"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="portfolio"] .mobile-menu-icon,
body[data-current-page="industries"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="industries"] .mobile-menu-icon,
body[data-current-page="contact"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="contact"] .mobile-menu-icon{
  background:linear-gradient(135deg,#2563eb 0%,#1bb9e9 100%) !important;
  color:#ffffff !important;
  box-shadow:0 12px 24px rgba(37,99,235,.24) !important;
}

/* 6. Current page hover should stay selected, not add a second visual */
body[data-current-page="home"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="home"]:hover,
body[data-current-page="about"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="about"]:hover,
body[data-current-page="services"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="services"]:hover,
body[data-current-page="portfolio"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="portfolio"]:hover,
body[data-current-page="industries"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="industries"]:hover,
body[data-current-page="contact"] #mobileMenu.premium-mobile-menu .premium-mobile-menu-nav .premium-mobile-menu-link[data-menu-key="contact"]:hover{
  background:linear-gradient(180deg,#f8fcff 0%,#edf7ff 100%) !important;
  border-color:#72c3ff !important;
}

/* 7. Keep CTA buttons clean from V82 */
body #mobileMenu.premium-mobile-menu .premium-mobile-menu-cta{
  min-height:62px !important;
  border-radius:22px !important;
  border:0 !important;
  background:linear-gradient(135deg,#2563eb 0%,#18b7df 100%) !important;
  color:#ffffff !important;
  font-size:16px !important;
  font-weight:850 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  box-shadow:0 18px 40px rgba(37,99,235,.26) !important;
  text-decoration:none !important;
}

body #mobileMenu.premium-mobile-menu .premium-mobile-menu-whatsapp{
  min-height:60px !important;
  border-radius:22px !important;
  border:1px solid rgba(34,197,94,.28) !important;
  background:linear-gradient(180deg,#f0fdf4 0%,#ecfdf5 100%) !important;
  color:#047857 !important;
  font-size:16px !important;
  font-weight:850 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  box-shadow:0 14px 30px rgba(16,185,129,.11) !important;
  text-decoration:none !important;
}

body #mobileMenu.premium-mobile-menu .mobile-cta-icon{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.17) !important;
  color:#ffffff !important;
}

body #mobileMenu.premium-mobile-menu .mobile-whatsapp-icon{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#16a34a !important;
  color:#ffffff !important;
}
