:root{--navy:#062b55;--navy2:#031b38;--blue:#09a9f4;--cyan:#28c8ff;--teal:#0b8f8b;--ink:#082b55;--muted:#617b99;--paper:#f3faff;--line:#d8e7f2;--white:#fff;--max:1180px;--shadow:0 18px 45px rgba(4,42,80,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(var(--max),92%);margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(3,27,56,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center}.brand img{width:142px;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}nav{display:flex;align-items:center;gap:23px}nav a{color:#e7f4ff;font-size:.9rem;font-weight:600}nav a:hover{color:var(--cyan)}.navcta{padding:11px 18px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan));color:#fff!important}.menu{display:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;border-radius:9px;padding:8px 11px;font-size:1rem}
.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#031b38 0%,#063f76 54%,#062b55 100%);color:#fff}.hero:after{content:"";position:absolute;right:-12%;bottom:-35%;width:650px;height:450px;background:radial-gradient(circle,rgba(40,200,255,.23),transparent 68%)}.hero-grid{min-height:560px;display:grid;grid-template-columns:1.03fr .97fr;gap:50px;align-items:center;position:relative;z-index:2}.eyebrow{font-size:.76rem;font-weight:900;letter-spacing:.17em;color:#55d8ff;text-transform:uppercase}.eyebrow.dark{color:#079fe8}h1{font-size:clamp(2.7rem,6vw,5.05rem);line-height:1.02;letter-spacing:-.055em;margin:15px 0 18px}h1 span{color:#29c9ff}h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 13px}h3{line-height:1.2;margin:8px 0}.lead{font-size:1.05rem;color:#cde5f6;max-width:670px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan));color:#fff!important;font-weight:800;border:0;box-shadow:0 10px 28px rgba(9,169,244,.24)}.btn.secondary{background:transparent;border:1px solid #bde9ff;box-shadow:none}.btn.light{background:#fff;color:var(--ink)!important}
.visual{min-height:390px;position:relative;display:flex;align-items:center;justify-content:center}.terminal{width:min(500px,100%);border:1px solid rgba(255,255,255,.2);border-radius:20px;background:linear-gradient(145deg,rgba(10,54,94,.9),rgba(2,20,41,.95));box-shadow:0 35px 80px rgba(0,0,0,.35);padding:0 0 28px;transform:perspective(900px) rotateY(-6deg)}.terminal .bar{padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.1);color:#69dfff}.terminal .bar span{float:right;color:#9fc7dc;font-size:.75rem}.terminal pre{margin:28px;font:600 1rem/2.05 ui-monospace,SFMono-Regular,Menlo,monospace;color:#dff8ff;white-space:pre-wrap}.terminal pre span{color:#51d9ff}.terminal pre em{color:#b8f0ff}.strip{background:#fff;border-bottom:1px solid var(--line)}.stripgrid{display:grid;grid-template-columns:repeat(4,1fr)}.stripgrid>div{padding:22px 25px;border-right:1px solid var(--line)}.stripgrid>div:last-child{border:0}.strip b{display:block;font-size:1rem}.strip small{color:var(--muted)}
section{padding:82px 0}.section{background:#fff}.section.dark{background:linear-gradient(112deg,#052b55,#063f76);color:#fff}.heading{text-align:center;max-width:770px;margin:0 auto 40px}.heading p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;box-shadow:0 8px 25px rgba(6,53,92,.06)}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);transition:.2s}.card.featured{border-top:3px solid var(--blue)}.card i{font-style:normal;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#0aa9f4,#35cbff);color:#fff;font-size:1.2rem;margin-bottom:15px}.card label{display:block;color:#079fe8;font-size:.68rem;font-weight:900;letter-spacing:.12em}.card p{color:var(--muted);font-size:.92rem}.card ul{padding-left:19px;color:#506f89;font-size:.87rem}.card li{padding:4px 0}.back{display:inline-block;margin-top:10px;color:#009fe8;font-weight:800;font-size:.87rem}.about{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.about p{color:#cfe3f1}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metrics>div{padding:25px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.05)}.metrics b{display:block;color:#42d2ff;font-size:2.2rem}.metrics small{color:#c5ddeb}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps>div{border-top:3px solid var(--blue);padding-top:18px}.steps b{color:var(--blue);font-size:1.1rem}.steps p{color:var(--muted)}.cta{background:linear-gradient(110deg,#042b55,#086eae);color:#fff}.ctain{display:flex;align-items:center;justify-content:space-between;gap:25px}.ctain p{color:#c9e5f5;max-width:700px}.contactgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.contact form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:var(--shadow)}label{font-size:.82rem;font-weight:800;display:block;margin-bottom:8px}input,textarea,select{width:100%;padding:13px 14px;border:1px solid #cbdde9;border-radius:9px;font:inherit;color:var(--ink);background:#fbfdff;margin:0 0 15px}textarea{min-height:140px;resize:vertical}.notice{padding:15px;border-radius:11px;background:#eaf7fe;border:1px solid #cde8f4;color:#53718a}.hero-page{padding:78px 0 65px;background:linear-gradient(112deg,#031b38,#07508b);color:#fff}.hero-page p{color:#cce7f7;max-width:760px}.breadcrumb{font-size:.8rem;color:#a9d9ef;margin-bottom:18px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.feature{padding:20px;border:1px solid var(--line);background:#fff;border-radius:12px}.feature p{color:var(--muted);font-size:.88rem}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 10px 30px rgba(6,53,92,.06)}.price-card.featured{border:2px solid var(--blue);transform:translateY(-7px)}.price{font-size:2rem;font-weight:900;color:var(--ink);margin:14px 0}.price-list{list-style:none;padding:0}.price-list li{padding:7px 0;color:#49657f}.price-list li:before{content:"✓";color:var(--blue);font-weight:900;margin-right:8px}.form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.prose{max-width:850px}.prose p,.prose li{color:#506b84}.prose h2{margin-top:38px;font-size:1.7rem}
footer{background:#031b38;color:#b7d0e3;padding:42px 0 24px;border-top:1px solid rgba(255,255,255,.1)}.foot{display:flex;justify-content:space-between;gap:30px;align-items:center}.foot .brand{display:block}.foot .brand img{width:125px;margin-bottom:10px}.footlinks{display:flex;gap:20px;align-items:center;font-size:.82rem}.footlinks a:hover{color:#fff}
@media(max-width:900px){nav{display:none;position:absolute;left:0;right:0;top:78px;background:#041d3b;padding:18px 4%;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu{display:block}.hero-grid,.about,.contactgrid,.form-wrap{grid-template-columns:1fr}.visual{min-height:320px}.stripgrid{grid-template-columns:1fr 1fr}.stripgrid>div:nth-child(2){border-right:0}.cards,.pricing{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.foot{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.nav{height:70px}.brand img{width:120px}nav{top:70px}.hero-grid{min-height:auto;padding:65px 0}.visual{display:none}.stripgrid{grid-template-columns:1fr 1fr}.stripgrid>div{padding:17px 13px}.cards,.pricing,.feature-grid,.steps{grid-template-columns:1fr}.price-card.featured{transform:none}.ctain{flex-direction:column;align-items:flex-start}.footlinks{flex-wrap:wrap}.metrics{grid-template-columns:1fr}}

/* RionSo hero visual v2 */
.terminal{display:none!important}
.tech-visual{width:min(560px,100%);height:430px;position:relative;border:1px solid rgba(120,218,255,.24);border-radius:30px;background:radial-gradient(circle at 50% 50%,rgba(32,198,255,.13),transparent 29%),linear-gradient(145deg,rgba(7,61,105,.95),rgba(2,27,55,.98));box-shadow:0 30px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}
.tech-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(99,220,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(99,220,255,.055) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 92%)}
.visual-glow{position:absolute;width:290px;height:290px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(40,200,255,.2),transparent 68%)}
.visual-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(81,214,255,.22);border-radius:50%}.ring-one{width:290px;height:290px}.ring-two{width:190px;height:190px;border-color:rgba(255,255,255,.16)}
.visual-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:175px;height:120px;border-radius:20px;background:rgba(3,30,57,.95);border:1px solid rgba(109,224,255,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 45px rgba(20,193,255,.13);z-index:4}.visual-core img{width:112px;height:auto;margin-bottom:8px}.visual-core span{font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;color:#9bdcf3;font-weight:800}
.visual-card{position:absolute;min-width:145px;padding:11px 14px;border-radius:12px;background:rgba(4,30,57,.93);border:1px solid rgba(102,216,255,.27);box-shadow:0 12px 30px rgba(0,0,0,.2);z-index:5}.visual-card b{display:block;font-size:.72rem;letter-spacing:.09em;color:#fff}.visual-card small{display:block;color:#8ec6df;font-size:.64rem;margin-top:2px}.vc1{left:24px;top:62px}.vc2{right:24px;top:62px}.vc3{left:24px;bottom:62px}.vc4{right:24px;bottom:62px}
.visual-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#38d0ff,transparent);width:105px;z-index:3;opacity:.65}.line-one{left:145px;top:126px;transform:rotate(18deg)}.line-two{right:145px;top:126px;transform:rotate(-18deg)}.line-three{left:145px;bottom:126px;transform:rotate(-18deg)}.line-four{right:145px;bottom:126px;transform:rotate(18deg)}
@media(max-width:900px){.tech-visual{height:370px}}
@media(max-width:600px){.tech-visual{height:320px;border-radius:22px}.visual-card{min-width:116px;padding:8px 10px}.visual-card small{font-size:.56rem}.vc1,.vc3{left:12px}.vc2,.vc4{right:12px}.vc1,.vc2{top:35px}.vc3,.vc4{bottom:35px}.visual-core{width:150px;height:105px}.ring-one{width:230px;height:230px}.ring-two{width:150px;height:150px}}

/* Launch-candidate polish */
.card,.price-card,.feature,.metrics>div{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card:hover,.price-card:hover,.feature:hover{transform:translateY(-4px);border-color:#b9def1;box-shadow:0 20px 50px rgba(4,42,80,.13)}.btn{transition:transform .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(9,169,244,.3)}.notice a{color:#078fcf;font-weight:800}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px 14px;border-radius:8px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* V1.2 Pricing refresh */
.pricing-hero { text-align:center; }
.pricing-hero p { max-width:760px; margin-left:auto; margin-right:auto; }
.pricing-section { background:linear-gradient(180deg,#f5fbff 0%,#ffffff 100%); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.price-card { position:relative; display:flex; flex-direction:column; padding:32px; border:1px solid rgba(8,43,85,.12); border-radius:22px; background:#fff; box-shadow:0 16px 44px rgba(3,27,56,.08); transition:transform .22s ease,box-shadow .22s ease; }
.price-card:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(3,27,56,.13); }
.price-card-featured { border:2px solid #29c9ff; transform:translateY(-8px); }
.price-card-featured:hover { transform:translateY(-13px); }
.price-card-premium { background:linear-gradient(145deg,#031b38,#062b55); color:#fff; border-color:transparent; }
.price-card-premium h2,.price-card-premium h3,.price-card-premium .plan-label { color:#fff; }
.price-card-premium p,.price-card-premium li { color:#d9ebf8; }
.popular-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:#29c9ff; color:#031b38; font-weight:800; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; padding:7px 14px; border-radius:999px; white-space:nowrap; }
.plan-label { display:inline-block; font-weight:800; color:#0c8e8b; letter-spacing:.04em; margin-bottom:10px; }
.price-card h2 { font-size:clamp(2rem,3vw,2.8rem); line-height:1.05; margin:0 0 14px; color:#082b55; }
.price-card-top p { font-size:1rem; line-height:1.65; margin:0; }
.feature-list { list-style:none; padding:22px 0 8px; margin:20px 0; border-top:1px solid rgba(8,43,85,.10); flex:1; }
.feature-list li { position:relative; padding:9px 0 9px 30px; font-size:.98rem; font-weight:600; line-height:1.45; }
.feature-list li::before { content:"✓"; position:absolute; left:0; top:8px; color:#0c8e8b; font-weight:900; }
.price-card-featured .feature-list li::before { color:#09a9f4; }
.price-card-premium .feature-list { border-top-color:rgba(255,255,255,.15); }
.price-card-premium .feature-list li::before { color:#29c9ff; }
.price-card .btn { width:100%; text-align:center; justify-content:center; margin-top:8px; }
.btn-light { background:#fff; color:#082b55; border:1px solid #fff; }
.btn-light:hover { background:#eef8fe; }
.pricing-note { max-width:850px; margin:30px auto 0; text-align:center; font-size:.92rem; color:#56708f; }
.process-section { background:#fff; }
.centered { text-align:center; max-width:760px; margin:0 auto 38px; }
.process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.process-step { padding:24px; border-radius:18px; background:#eef8fe; border:1px solid rgba(9,169,244,.12); }
.process-step span { display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center; border-radius:50%; background:#062b55; color:#29c9ff; font-weight:800; margin-bottom:16px; }
.process-step h3 { margin:0 0 8px; color:#082b55; font-size:1.18rem; }
.process-step p { margin:0; font-size:.94rem; line-height:1.6; }
@media (max-width:900px) {
  .pricing-grid { grid-template-columns:1fr; }
  .price-card-featured,.price-card-featured:hover { transform:none; }
  .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .price-card { padding:26px 22px; }
  .process-grid { grid-template-columns:1fr; }
}


/* V1.3 website packages + navigation refinement */
.compact-pricing .price-card { min-width:0; }
.pricing-more { text-align:center; margin-top:30px; }
.text-link { color:#087fb9; font-weight:800; text-decoration:none; }
.text-link:hover { text-decoration:underline; }

/* Keep desktop navigation comfortable before switching to the mobile menu */
@media (max-width:1180px) and (min-width:901px) {
  header .container, .site-header .container, .nav-wrap { padding-left:24px; padding-right:24px; }
  nav ul, .nav-links { gap:18px; }
  nav a, .nav-links a { font-size:.92rem; }
  .logo img, .brand img { max-width:150px; height:auto; }
}


/* V1.3.1 — Platinum card contrast fix
   Kept at end of stylesheet so generic pricing/button rules cannot override it. */
.price-card.price-card-premium,
.price-card.price-card-premium .plan-label,
.price-card.price-card-premium h2,
.price-card.price-card-premium h3 {
  color: #ffffff;
}

.price-card.price-card-premium .price-card-top p,
.price-card.price-card-premium .feature-list li {
  color: #d9ebf8;
}

.price-card.price-card-premium .btn.btn-light {
  background: #ffffff;
  color: #082b55;
  border-color: #ffffff;
}

.price-card.price-card-premium .btn.btn-light:hover {
  background: #eef8fe;
  color: #031b38;
}


/* V1.3.2 — definitive Platinum CTA text contrast fix.
   The base .btn rule uses color:#fff!important, so this override must also use !important. */
.price-card.price-card-premium a.btn.btn-light {
  background: #ffffff !important;
  color: #082b55 !important;
  border: 1px solid #ffffff !important;
  -webkit-text-fill-color: #082b55;
}

.price-card.price-card-premium a.btn.btn-light:hover,
.price-card.price-card-premium a.btn.btn-light:focus {
  background: #eef8fe !important;
  color: #031b38 !important;
  -webkit-text-fill-color: #031b38;
}

/* V1.4.0 — secure enquiry form states */
.form-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
#formnote{min-height:1.5em;margin-top:12px;font-weight:600}
#formnote.form-success{color:#087f5b}
#formnote.form-error{color:#b42318}
form button[disabled]{opacity:.7;cursor:wait}


/* V1.5.1 — privacy-first Google Analytics consent */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:16px;background:rgba(5,29,57,.98);color:#fff;box-shadow:0 -8px 28px rgba(0,0,0,.18)}
.cookie-banner__inner{max-width:1180px;margin:0 auto;display:flex;gap:24px;align-items:center;justify-content:space-between}
.cookie-banner__copy{max-width:760px}.cookie-banner__copy strong{font-size:1.05rem}.cookie-banner__copy p{margin:6px 0 0;color:#d9ebf8;line-height:1.5}.cookie-banner__copy a{color:#4fd1ff;text-decoration:underline}
.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-btn{border-radius:999px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}.cookie-btn--primary{border:1px solid #25bdf2;background:#25bdf2;color:#05213d}.cookie-btn--secondary{border:1px solid #8eb1cc;background:transparent;color:#fff}
.cookie-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:760px){.cookie-banner__inner{align-items:flex-start;flex-direction:column;gap:14px}.cookie-banner__actions{width:100%}.cookie-btn{flex:1 1 160px}}
