/* Modern AI Transformation Theme */
:root {
  --bg-dark:#0d1117;
  --bg-light:#ffffff;
  --brand-accent:#ff6a00;
  --brand-accent-alt:#ff9440;
  --gradient-hero:linear-gradient(135deg,#0d1f33 0%,#13385c 50%,#1d5d7f 100%);
  --gradient-card:linear-gradient(135deg,#f9fbfc 0%,#eef4f9 100%);
  --text-heading:#0e2b3d;
  --text-body:#243b4d;
  --radius-lg:22px;
  --radius-md:12px;
  --shadow-sm:0 4px 14px rgba(0,0,0,.08);
  --shadow-md:0 10px 28px -4px rgba(0,0,0,.15);
  --shadow-glow:0 0 0 1px rgba(255,255,255,.08),0 8px 32px -6px rgba(0,0,0,.35);
  --transition: all .28s cubic-bezier(.4,.2,.2,1);
}
html { scroll-behavior:smooth; }
body { font-family:'Open Sans', Arial, sans-serif; color:var(--text-body); background:#fafcfd; }
a { color:var(--brand-accent); text-decoration:none; transition:var(--transition); }
a:hover { color:var(--brand-accent-alt); }
.wrapper { max-width:1220px; margin:0 auto; padding:0 42px; }
.section { padding:70px 0; }
.section-tight { padding:40px 0; }
.hero { background:var(--gradient-hero); color:#fff; position:relative; overflow:hidden; }
.hero::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 75% 25%,rgba(255,255,255,.08),transparent 60%); pointer-events:none; }
.hero-inner { padding:120px 0 90px; }
.hero h1 { font-size:58px; line-height:1.05; margin:0 0 24px; font-weight:700; letter-spacing:.5px; }
.hero p.lead { font-size:22px; max-width:780px; margin:0 0 36px; line-height:1.3; font-weight:400; }
.badge-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.badge { background:rgba(255,255,255,.12); color:#fff; padding:7px 14px; font-size:12px; letter-spacing:.6px; font-weight:600; border-radius:30px; backdrop-filter:blur(6px); }
.cta-primary { background:var(--brand-accent); color:#fff; padding:18px 42px; border-radius:50px; font-size:15px; font-weight:700; letter-spacing:.8px; box-shadow:0 8px 24px -6px rgba(0,0,0,.45); display:inline-block; position:relative; }
.cta-primary:hover { background:var(--brand-accent-alt); transform:translateY(-2px); box-shadow:0 12px 32px -6px rgba(0,0,0,.5); }
.sub-cta { margin-left:18px; font-size:15px; font-weight:600; color:#fff; border-bottom:2px solid transparent; }
.sub-cta:hover { border-color:var(--brand-accent-alt); }
.navbar { position:sticky; top:0; z-index:50; backdrop-filter:blur(20px); background:rgba(255,255,255,.9); box-shadow:0 4px 24px -8px rgba(0,0,0,.15); }
.navbar-inner { display:flex; align-items:center; justify-content:space-between; height:76px; }
.navbar ul { list-style:none; display:flex; margin:0; padding:0; gap:34px; }
.navbar a { font-weight:600; font-size:14px; letter-spacing:.6px; color:#123; position:relative; }
.navbar a:hover::after, .navbar a.active::after { content:''; position:absolute; left:0; bottom:-10px; height:3px; width:100%; background:var(--brand-accent); border-radius:3px; }
.pillars { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; }
.pillar { background:#fff; padding:24px 22px 26px; border-radius:var(--radius-md); box-shadow:var(--shadow-sm); position:relative; }
.pillar h4 { margin:0 0 10px; font-size:15px; text-transform:uppercase; letter-spacing:.7px; color:#0e2b3d; }
.pillar p { font-size:13px; line-height:1.5; margin:0; }
.pillar::before { content:''; position:absolute; top:-6px; left:22px; width:44px; height:6px; border-radius:6px; background:var(--brand-accent); }
.card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:30px; }
.card { background:var(--gradient-card); padding:34px 30px 38px; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); position:relative; overflow:hidden; }
.card h3 { margin:0 0 14px; font-size:20px; font-weight:700; letter-spacing:.4px; color:var(--text-heading); }
.card p { margin:0; font-size:14px; line-height:1.55; }
.card::after { content:''; position:absolute; right:-40px; top:-40px; width:140px; height:140px; background:radial-gradient(circle at center,rgba(255,106,0,.35),transparent 70%); transform:rotate(25deg); }
.timeline { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:18px; counter-reset:step; }
.step { background:#fff; padding:18px 16px 20px; border-radius:16px; box-shadow:var(--shadow-sm); position:relative; min-height:140px; }
.step h5 { margin:0 0 6px; font-size:14px; font-weight:700; letter-spacing:.5px; }
.step p { margin:0; font-size:12px; line-height:1.4; }
.step::before { counter-increment:step; content:counter(step); position:absolute; top:-10px; left:16px; width:36px; height:36px; background:var(--brand-accent); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; box-shadow:0 4px 14px -4px rgba(0,0,0,.3); }
/* Hide orange circles & numbers in framework timeline */
.timeline .step::before { content:""; display:none; }
.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:30px; }
.service { background:#fff; padding:28px 24px 30px; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); border:1px solid #e3e9ed; position:relative; }
.service h6 { margin:0 0 10px; font-size:14px; text-transform:uppercase; letter-spacing:.8px; color:#0e2b3d; }
.service p { margin:0; font-size:13px; line-height:1.5; }
.service:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.case { background:#fff; border-radius:var(--radius-lg); padding:40px 34px 46px; box-shadow:var(--shadow-sm); display:grid; gap:26px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.case-block h5 { margin:0 0 8px; font-size:15px; letter-spacing:.6px; text-transform:uppercase; }
.case-block ul { margin:0; padding-left:18px; font-size:13px; }
.case-block ul li { margin:4px 0; }
.key-insight { margin-top:20px; background:#0e2b3d; color:#fff; padding:28px 30px; border-radius:16px; font-size:14px; line-height:1.5; box-shadow:var(--shadow-md); }
.roi-cta { background:#0e2b3d; color:#fff; padding:64px 0; position:relative; overflow:hidden; }
.roi-cta::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 80%,rgba(255,106,0,.4),transparent 70%); opacity:.55; }
.roi-box { position:relative; max-width:880px; margin:0 auto; text-align:center; }
.roi-box h2 { font-size:38px; margin:0 0 18px; }
.metrics { display:flex; flex-wrap:wrap; gap:26px; justify-content:center; margin:24px 0 32px; }
.metric { background:rgba(255,255,255,.12); padding:14px 18px 16px; border-radius:14px; font-size:13px; letter-spacing:.6px; backdrop-filter:blur(6px); min-width:150px; }
.contact { background:#fff; padding:60px 50px; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); max-width:880px; margin:0 auto; }
.contact h3 { margin:0 0 24px; font-size:26px; }
.form-grid { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.form-grid .full { grid-column:1/-1; }
.contact label { display:block; font-size:12px; font-weight:600; letter-spacing:.5px; margin-bottom:6px; text-transform:uppercase; }
.contact input, .contact textarea { width:100%; padding:12px 14px; border:1px solid #d2dbe2; border-radius:10px; font-size:14px; font-family:inherit; background:#f9fbfd; transition:var(--transition); }
.contact input:focus, .contact textarea:focus { outline:none; border-color:var(--brand-accent); background:#fff; box-shadow:0 0 0 3px rgba(255,106,0,.15); }
.contact textarea { resize:vertical; min-height:130px; }
.button-submit { background:var(--brand-accent); color:#fff; padding:16px 30px; border:none; font-weight:700; font-size:14px; letter-spacing:.7px; border-radius:12px; cursor:pointer; transition:var(--transition); }
.button-submit:hover { background:var(--brand-accent-alt); transform:translateY(-2px); }
.footer { padding:40px 0 60px; background:#0d1117; color:#d2dbe2; font-size:13px; }
.footer a { color:#fff; }
.footer a:hover { color:var(--brand-accent); }
/* Unified logo sizing */
.brand-logo {height:56px; width:auto; border-radius:8px; background:#fff; padding:8px;}
.navbar .brand-logo {height:50px; border-radius:6px; background: none;}
@media (max-width:640px){ .navbar .brand-logo {height:42px;} .brand-logo {height:50px;} }
@media (max-width:980px) { .hero h1 { font-size:46px; } .hero-inner { padding:100px 0 80px; } }
@media (max-width:640px) { .hero h1 { font-size:38px; } .hero p.lead { font-size:18px; } .cta-primary { width:100%; text-align:center; } .sub-cta { display:block; margin:26px 0 0; } }
.contact .field-inline-group {display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; margin-bottom:6px;}
@media (max-width:760px){ .contact .field-inline-group {grid-template-columns:1fr; gap:16px;} }
.section.alt-grey {background:#f0f3f6;}
