:root{
  --ink:#102033;
  --navy:#0f2742;
  --navy2:#14375c;
  --slate:#5f7187;
  --muted:#eef4f8;
  --paper:#ffffff;
  --line:#dbe6ef;
  --teal:#2fb7b0;
  --cyan:#1b9bd7;
  --gold:#d6a84f;
  --shadow:0 22px 55px rgba(15,39,66,.14);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:#f6f9fc;color:var(--ink);line-height:1.65}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,92%);margin:auto}
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.logo{display:flex;align-items:center}.logo img{width:260px;max-width:60vw;height:auto;display:block}
.menu{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:800;color:var(--navy)}
.menu a{position:relative;opacity:.84}.menu a:hover,.menu .active{opacity:1;color:var(--cyan)}
.menu a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--teal);transition:.2s}.menu a:hover::after,.menu .active::after{width:100%}
.nav-cta{padding:11px 16px;border-radius:999px;background:var(--navy);color:#fff!important;box-shadow:0 12px 26px rgba(15,39,66,.18)}
.hero{padding:86px 0 78px;background:linear-gradient(120deg,#f7fbff 0%,#edf6fb 48%,#ffffff 100%);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero:before{content:"";position:absolute;right:-170px;top:-140px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(47,183,176,.22),rgba(27,155,215,.12),transparent 68%)}
.hero:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:9px;background:linear-gradient(90deg,var(--teal),var(--cyan),var(--gold))}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:46px;align-items:center;position:relative}
.eyebrow{display:inline-flex;gap:10px;align-items:center;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy2);font-size:13px;font-weight:900;box-shadow:0 10px 25px rgba(15,39,66,.06)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--teal)}
h1{font-size:clamp(42px,6vw,72px);line-height:1;margin:18px 0 20px;letter-spacing:-.045em;color:var(--navy)}
.grad{color:var(--teal)}
.lead{font-size:20px;max-width:760px;color:var(--slate)}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:12px;font-weight:900;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;box-shadow:0 16px 34px rgba(15,39,66,.18)}.btn.secondary{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}
.glass,.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-card{padding:30px;border-radius:28px;position:relative;overflow:hidden}.hero-card:before{content:"Modernization Roadmap";position:absolute;right:-32px;top:24px;transform:rotate(90deg);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(15,39,66,.22);font-weight:900}.hero-card h2{font-size:28px;margin:0 0 10px;color:var(--navy)}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.stat{padding:18px;border-radius:16px;background:#f6f9fc;border:1px solid var(--line)}.stat strong{display:block;font-size:30px;line-height:1;color:var(--teal)}.stat span{display:block;margin-top:7px;color:var(--slate);font-weight:800;font-size:13px}
.section{padding:72px 0}.section:nth-of-type(even){background:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}.section h2{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:0 0 10px;color:var(--navy);letter-spacing:-.025em}.section p{color:var(--slate)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:26px;border-radius:var(--radius);transition:.2s transform,.2s box-shadow}.card:hover{transform:translateY(-4px);box-shadow:0 26px 65px rgba(15,39,66,.18)}.card h3{margin:10px 0 8px;font-size:21px;color:var(--navy)}.icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,rgba(47,183,176,.14),rgba(27,155,215,.14));color:var(--teal);font-size:0}.icon:before{content:"";width:20px;height:20px;border:3px solid var(--teal);border-radius:6px;box-shadow:8px 8px 0 rgba(27,155,215,.35)}
.pill{display:inline-block;margin-top:10px;padding:8px 11px;border-radius:999px;background:#edf9f8;color:#0c716c;border:1px solid #c8eeeb;font-weight:850;font-size:13px}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:26px;align-items:start}.check{list-style:none;padding:0;margin:0}.check li{padding:12px 0 12px 34px;position:relative;color:var(--ink)}.check li:before{content:"✓";position:absolute;left:0;top:10px;width:22px;height:22px;border-radius:50%;background:#e9f8f6;color:#0b7771;display:grid;place-items:center;font-weight:900;font-size:13px}
.page-hero{padding:62px 0 34px;background:linear-gradient(120deg,#fff,#eef7fb);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(36px,5vw,58px);color:var(--navy)}.content{max-width:920px}.process{counter-reset:p}.step{position:relative;padding-left:62px}.step:before{counter-increment:p;content:counter(p);position:absolute;left:0;top:26px;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--teal),var(--cyan));color:#fff;display:grid;place-items:center;font-weight:950}
.footer{padding:44px 0 32px;background:var(--navy);color:#dce8f3}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px}.footer h3,.footer h4{color:#fff}.footer a{display:block;color:#dce8f3;margin:8px 0}.footer a:hover{color:#7ee2dd}.small{font-size:13px;color:#b8c9d8}
.contact-box{padding:30px;border-radius:var(--radius)}.form{display:grid;gap:12px}.form input,.form textarea,input,textarea,select{width:100%;padding:14px 15px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none}.form input:focus,.form textarea:focus,input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(47,183,176,.12)}.form textarea{min-height:145px}.table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:16px;background:#fff}.table th,.table td{padding:14px;border-bottom:1px solid var(--line);text-align:left}.table th{color:var(--navy);background:#f0f6fa}
@media(max-width:980px){.hero-grid,.split,.grid,.footer-grid{grid-template-columns:1fr}.menu{display:none}.section-head{display:block}.hero{padding-top:56px}.logo img{width:230px}.stat-grid{grid-template-columns:1fr}}

.nav-drop{position:relative;display:flex;align-items:center}.drop-link:after{content:" ▾";font-size:11px}.drop-menu{position:absolute;top:100%;left:-18px;min-width:285px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:12px;display:none}.nav-drop:hover .drop-menu{display:block}.drop-menu a{display:block;padding:10px 12px;border-radius:10px;color:var(--navy);opacity:1}.drop-menu a:hover{background:#f0f6fa;color:var(--cyan)}.drop-menu a:after{display:none!important}.table{margin-top:20px}.page-hero .cta{margin-top:24px}
@media(max-width:980px){.nav-drop{display:none}}


/* Enterprise mega menu for expanded platform migrations */
.mega-wrap{position:static}
.mega-wrap .mega-menu{left:50%;transform:translateX(-50%);width:min(1120px,94vw);max-height:72vh;overflow:auto;display:none;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px;top:calc(100% + 12px)}
.mega-wrap:hover .mega-menu{display:grid}
.mega-col{padding:8px;border-radius:14px;background:#fff}
.mega-col strong{display:block;color:var(--navy);font-size:13px;letter-spacing:.02em;margin:0 0 8px;padding:0 8px;text-transform:uppercase}
.mega-col a{font-size:13px;font-weight:750;line-height:1.25;margin:1px 0;white-space:normal}
.mega-col.featured{background:#f0f7fb;border:1px solid var(--line)}
@media(max-width:1120px){.mega-wrap .mega-menu{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.mega-wrap{display:none}}


/* v2.1 navigation improvements: desktop multi-tier mega menu + mobile menu */
.topbar{z-index:1000;}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 0;}
.logo{flex:0 0 auto;}
.logo img{width:230px;max-width:34vw;height:auto;display:block;}
.desktop-menu{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;font-size:14px;font-weight:850;color:var(--navy);}
.desktop-menu>a,.desktop-menu .drop-link{display:flex;align-items:center;min-height:46px;padding:0 10px;border-radius:999px;opacity:.9;white-space:nowrap;}
.desktop-menu>a:hover,.desktop-menu .drop-link:hover,.desktop-menu .active{background:#eef6fb;color:var(--cyan);opacity:1;}
.desktop-menu a:after{display:none!important;}
.nav-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:12px 17px;border-radius:999px;background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff!important;font-weight:950;box-shadow:0 12px 26px rgba(15,39,66,.16);}
.nav-item{position:relative;display:flex;align-items:center;}
.drop-link:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:8px;margin-top:-4px;display:inline-block;}
.nav-panel{position:absolute;top:calc(100% + 10px);left:0;min-width:280px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;}
.has-panel:hover .nav-panel,.has-panel:focus-within .nav-panel{opacity:1;visibility:visible;transform:translateY(0);}
.nav-panel a{display:block;padding:10px 12px;border-radius:12px;color:var(--navy);font-size:14px;font-weight:800;}
.nav-panel a:hover{background:#f0f6fa;color:var(--cyan);}
.has-mega{position:static;}
.mega-panel{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%,8px);width:min(1180px,94vw);max-height:74vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 70px rgba(15,39,66,.18);padding:18px;opacity:0;visibility:hidden;transition:.18s ease;}
.has-mega:hover .mega-panel,.has-mega:focus-within .mega-panel{opacity:1;visibility:visible;transform:translate(-50%,0);}
.mega-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px 18px;border-bottom:1px solid var(--line);margin-bottom:14px;}
.mega-head strong{display:block;color:var(--navy);font-size:18px;line-height:1.2;}
.mega-head span{display:block;color:var(--slate);font-size:13px;font-weight:700;max-width:760px;margin-top:4px;}
.mini-cta{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#edf9f8;color:#0c716c!important;border:1px solid #c8eeeb;font-size:13px;font-weight:950;white-space:nowrap;}
.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.mega-section{background:#f7fafc;border:1px solid #e3edf4;border-radius:18px;padding:14px;}
.mega-section:first-child{background:linear-gradient(135deg,#eef9f8,#eef6ff);border-color:#cdecea;}
.mega-section h3{margin:0 0 10px;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.06em;}
.mega-section a{display:block;padding:8px 9px;border-radius:10px;color:var(--navy);font-size:13px;font-weight:760;line-height:1.25;}
.mega-section a:hover,.mega-section a.active{background:#fff;color:var(--cyan);box-shadow:0 8px 18px rgba(15,39,66,.06);}
.mobile-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;}
.mobile-toggle span{width:21px;height:2px;background:var(--navy);border-radius:99px;transition:.18s ease;}
.mobile-menu{display:none;}
body.mobile-nav-open{overflow:hidden;}
body.mobile-nav-open .mobile-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.mobile-nav-open .mobile-toggle span:nth-child(2){opacity:0;}
body.mobile-nav-open .mobile-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:1180px){
  .logo img{width:200px;}
  .desktop-menu{gap:2px;font-size:13px;}
  .desktop-menu>a,.desktop-menu .drop-link{padding:0 8px;}
  .nav-cta{padding:11px 13px;font-size:13px;}
  .mega-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:980px){
  .nav-shell{padding:10px 0;position:relative;z-index:1002;background:#fff;}
  .logo img{width:210px;max-width:64vw;}
  .desktop-menu{display:none;}
  .nav-actions .nav-cta{display:none;}
  .mobile-toggle{display:flex;position:relative;z-index:1003;}
  .mobile-menu{position:fixed;left:0;right:0;top:0;height:100dvh;max-height:100dvh;display:block;background:#fff;border-top:1px solid var(--line);padding:88px 4% 26px;overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;pointer-events:none;transform:none;transition:opacity .18s ease,visibility .18s ease;box-shadow:0 20px 60px rgba(15,39,66,.18);z-index:1001;}
  body.mobile-nav-open .mobile-menu{opacity:1;visibility:visible;pointer-events:auto;}
  .mobile-menu a,.mobile-menu summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 12px;border-radius:12px;color:var(--navy);font-weight:900;cursor:pointer;list-style:none;min-height:48px;-webkit-tap-highlight-color:transparent;}
  .mobile-menu summary::-webkit-details-marker{display:none;}
  .mobile-menu summary:after{content:"+";display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:999px;background:#eef6fb;font-size:20px;line-height:1;color:var(--cyan);}
  .mobile-menu details[open]>summary:after{content:"–";}
  .mobile-menu a:hover,.mobile-menu summary:hover{background:#f0f6fa;color:var(--cyan);}
  .mobile-menu details{border-bottom:1px solid var(--line);}
  .mobile-menu details details{border:0;margin-left:0;background:#f7fafc;border-radius:14px;margin:8px 0 10px;padding:4px;}
  .mobile-menu details details summary{font-size:14px;color:var(--navy2);}
  .mobile-menu details details a{font-size:13px;font-weight:780;padding:11px 14px 11px 22px;min-height:42px;}
  .mobile-cta{justify-content:center!important;background:linear-gradient(135deg,var(--navy),var(--cyan));color:#fff!important;margin-top:16px;}
}
@media(max-width:560px){
  .logo img{width:185px;}
  .mobile-menu{padding-top:82px;}
}
