:root{--blue-dark:#0033cc;--blue-light:#00d2ff;--orange:#ff6600;--gold:#ffcc00;--ink:#08112b;--ink-soft:#1a2540;--muted:#64748b;--surface:#f4f7ff;--white:#ffffff;--grad-blue:linear-gradient(135deg,#00d2ff 0%,#0033cc 100%);--grad-orange:linear-gradient(135deg,#ff6600 0%,#ffcc00 100%)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Roboto',sans-serif;background:var(--white);color:var(--ink);overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Roboto',sans-serif;font-weight:900}
.gt-blue{background:var(--grad-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.gt-orange{background:var(--grad-orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Section helpers */
.section-eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.28em;margin-bottom:.9rem;display:block}
.section-title{font-size:clamp(1.9rem,3.5vw,2.8rem);line-height:1.08}
.section-sub{color:var(--muted);line-height:1.8;font-size:1rem}

/* Buttons */
.btn-primary-q{background:var(--grad-blue);color:#fff;font-family:'Roboto',sans-serif;font-weight:700;border:none;padding:.85rem 2rem;border-radius:.9rem;box-shadow:0 10px 28px rgba(0,51,204,.22);transition:transform .3s,box-shadow .3s;font-size:.97rem;text-decoration:none;display:inline-block}
.btn-primary-q:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,51,204,.35);color:#fff}
.btn-outline-q{border:2px solid var(--blue-dark);color:var(--blue-dark);font-family:'Roboto',sans-serif;font-weight:700;background:transparent;padding:.83rem 2rem;border-radius:.9rem;transition:all .3s;font-size:.97rem;text-decoration:none;display:inline-block}
.btn-outline-q:hover{background:var(--blue-dark);color:#fff}
.btn-cta-primary{background:var(--grad-blue);color:#fff;font-family:'Roboto',sans-serif;font-weight:700;border:none;padding:.9rem 2.2rem;border-radius:1rem;box-shadow:0 10px 30px rgba(0,51,204,.3);transition:transform .3s,box-shadow .3s;font-size:.97rem;text-decoration:none;display:inline-block}
.btn-cta-primary:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,51,204,.42);color:#fff}
.btn-cta-outline{border:2px solid rgba(255,255,255,.2);color:#fff;font-family:'Roboto',sans-serif;font-weight:700;background:transparent;padding:.88rem 2.2rem;border-radius:1rem;transition:all .3s;font-size:.97rem;text-decoration:none;display:inline-block}
.btn-cta-outline:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.42);color:#fff}

/* Hero */
.hero{padding-top:9rem;padding-bottom:6rem;background:var(--ink);position:relative;overflow:hidden}
.hero-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(0,210,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,210,255,.055) 1px,transparent 1px);background-size:64px 64px}
.hero-orb-1{position:absolute;top:-140px;right:-80px;width:580px;height:580px;border-radius:50%;background:radial-gradient(circle,rgba(0,51,204,.4) 0%,transparent 68%);filter:blur(70px);pointer-events:none}
.hero-orb-2{position:absolute;bottom:-100px;left:-60px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(0,210,255,.18) 0%,transparent 70%);filter:blur(55px);pointer-events:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;background:rgba(0,210,255,.12);border:1px solid rgba(0,210,255,.28);border-radius:100px;padding:.35rem 1.1rem;font-size:.76rem;font-weight:700;color:var(--blue-light);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.6rem}
.hero-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--blue-light);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.hero-title{font-size:clamp(2.4rem,5vw,4.2rem);color:#fff;line-height:1.06;margin-bottom:1.4rem}
.hero-desc{color:#94a3b8;font-size:1.1rem;line-height:1.8;max-width:540px;margin-bottom:2.5rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:1.75rem;margin-top:1.75rem;border-top:1px solid rgba(255,255,255,.06)}
.hmeta-item .n{font-size:1.7rem;font-weight:900;color:#fff;line-height:1}
.hmeta-item .l{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-top:.2rem}
.breadcrumb-wrap{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.8rem}
.breadcrumb-wrap a{color:var(--blue-light);text-decoration:none}
.breadcrumb-wrap a:hover{color:#fff}
.breadcrumb-wrap i{font-size:.65rem}

/* Panel tags & features */
.panel-tag{display:inline-block;font-size:.7rem;font-weight:700;padding:.22rem .8rem;border-radius:100px;background:rgba(0,51,204,.08);color:var(--blue-dark);margin-right:.4rem;margin-bottom:.4rem;letter-spacing:.04em}
.panel-feature{display:flex;align-items:flex-start;gap:.9rem;padding:.85rem 0;border-bottom:1px solid #f1f5f9}
.panel-feature:last-child{border-bottom:none}
.pf-icon{width:2.2rem;height:2.2rem;border-radius:.55rem;flex-shrink:0;background:linear-gradient(135deg,rgba(0,210,255,.15),rgba(0,51,204,.1));color:var(--blue-dark);display:flex;align-items:center;justify-content:center;font-size:.9rem;margin-top:.1rem}
.pf-text strong{font-size:.92rem;color:var(--ink);font-weight:700;display:block;margin-bottom:.2rem}
.pf-text span{font-size:.82rem;color:var(--muted);line-height:1.6}

/* Step cards */
.process-section{padding:7rem 0;background:var(--white)}
.step-card{position:relative;background:#fff;border-radius:1.75rem;border:1px solid #e8edf5;padding:2.2rem;height:100%;transition:all .4s;overflow:hidden}
.step-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--grad-blue);opacity:0;transition:opacity .35s}
.step-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(0,51,204,.1);border-color:transparent}
.step-card:hover::before{opacity:1}
.step-number{position:absolute;top:1.2rem;right:1.5rem;font-size:4.5rem;font-weight:900;color:#f1f5f9;line-height:1;user-select:none;transition:color .4s}
.step-card:hover .step-number{color:#e8edf5}
.step-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:linear-gradient(135deg,rgba(0,210,255,.15),rgba(0,51,204,.1));color:var(--blue-dark);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.4rem;transition:all .4s;position:relative;z-index:1}
.step-card:hover .step-icon{background:var(--grad-blue);color:#fff}
.step-card h4{font-size:1.1rem;margin-bottom:.65rem;position:relative;z-index:1}
.step-card p{font-size:.87rem;color:var(--muted);line-height:1.72;margin:0;position:relative;z-index:1}

/* Pricing */
.pricing-section{padding:7rem 0;background:var(--surface)}
.pkg-card{border-radius:2rem;border:2px solid #e8edf5;padding:2.5rem;height:100%;transition:all .4s;position:relative;overflow:hidden;background:#fff}
.pkg-card:hover{border-color:rgba(0,51,204,.3);box-shadow:0 24px 60px rgba(0,51,204,.1);transform:translateY(-6px)}
.pkg-card.featured{background:var(--ink);border-color:transparent;box-shadow:0 30px 80px rgba(0,51,204,.3)}
.pkg-card.featured:hover{transform:translateY(-8px);box-shadow:0 40px 90px rgba(0,51,204,.4)}
.pkg-badge{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.25rem .85rem;border-radius:100px;margin-bottom:1.5rem}
.pkg-badge.popular{background:var(--grad-blue);color:#fff}
.pkg-badge.basic{background:rgba(0,51,204,.08);color:var(--blue-dark)}
.pkg-badge.custom{background:rgba(255,102,0,.1);color:var(--orange)}
.pkg-name{font-size:1.3rem;margin-bottom:.5rem;color:var(--ink)}
.pkg-card.featured .pkg-name{color:#fff}
.pkg-desc{font-size:.85rem;color:var(--muted);margin-bottom:1.75rem;line-height:1.65}
.pkg-card.featured .pkg-desc{color:#64748b}
.pkg-divider{border:none;border-top:1px solid #f1f5f9;margin:1.5rem 0}
.pkg-card.featured .pkg-divider{border-color:rgba(255,255,255,.08)}
.pkg-feature{display:flex;align-items:center;gap:.75rem;font-size:.86rem;color:var(--muted);margin-bottom:.85rem}
.pkg-card.featured .pkg-feature{color:#94a3b8}
.pkg-feature i.ok{color:#22c55e;font-size:1rem;flex-shrink:0}
.pkg-feature i.off{color:#e2e8f0;font-size:1rem;flex-shrink:0}
.pkg-card.featured .pkg-feature i.off{color:rgba(255,255,255,.15)}

/* FAQ */
.faq-section{padding:7rem 0;background:var(--surface)}
.faq-item{background:#fff;border-radius:1.25rem;border:1px solid #e8edf5;margin-bottom:.75rem;overflow:hidden;transition:border-color .3s}
.faq-item.open{border-color:rgba(0,51,204,.25)}
.faq-btn{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 1.75rem;cursor:pointer;font-family:'Roboto',sans-serif;font-weight:700;font-size:.97rem;color:var(--ink);text-align:left;transition:color .3s}
.faq-item.open .faq-btn{color:var(--blue-dark)}
.faq-icon{width:2rem;height:2rem;border-radius:.6rem;flex-shrink:0;background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .35s}
.faq-item.open .faq-icon{background:var(--grad-blue);color:#fff;transform:rotate(45deg)}
.faq-body{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s;padding:0 1.75rem}
.faq-body.show{max-height:300px;padding-bottom:1.5rem}
.faq-body p{font-size:.9rem;color:var(--muted);line-height:1.8;margin:0}

/* CTA */
.cta-section{padding:5rem 0}
.cta-banner{border-radius:2.5rem;background:var(--ink);padding:5rem 3rem;position:relative;overflow:hidden;text-align:center}
.cta-banner-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(0,210,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,210,255,.045) 1px,transparent 1px);background-size:52px 52px}
.cta-glow{position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:680px;height:380px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,51,204,.5) 0%,transparent 70%);filter:blur(60px);pointer-events:none}
.cta-banner h2{font-size:clamp(2rem,4vw,3.1rem);color:#fff;line-height:1.1;margin-bottom:1.1rem;position:relative;z-index:1}
.cta-banner p{color:#94a3b8;max-width:500px;margin:0 auto 2.5rem;line-height:1.8;position:relative;z-index:1}
.cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;position:relative;z-index:1}

/* ─── Overview cards ─── */
.overview-section{padding:7rem 0;background:var(--white)}
.overview-card{background:var(--surface);border-radius:1.75rem;border:1px solid #e8edf5;padding:2rem;height:100%;transition:all .4s;position:relative;overflow:hidden}
.overview-card::after{content:'';position:absolute;inset:0;background:var(--grad-blue);opacity:0;transition:opacity .4s;border-radius:1.75rem;z-index:0}
.overview-card:hover::after{opacity:.05}
.overview-card:hover{border-color:rgba(0,51,204,.2);box-shadow:0 16px 50px rgba(0,51,204,.08);transform:translateY(-4px)}
.overview-card>*{position:relative;z-index:1}
.ov-icon{width:3.2rem;height:3.2rem;border-radius:1rem;background:var(--grad-blue);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#fff;margin-bottom:1.2rem}
.overview-card h5{font-size:1rem;margin-bottom:.55rem}
.overview-card p{font-size:.85rem;color:var(--muted);line-height:1.7;margin:0}

/* ─── Case studies ─── */
.cases-section{padding:7rem 0;background:var(--white)}
.case-card{background:#fff;border-radius:2rem;border:1px solid #e8edf5;overflow:hidden;transition:all .4s;height:100%}
.case-card:hover{box-shadow:0 24px 70px rgba(0,51,204,.1);transform:translateY(-6px);border-color:transparent}
.case-img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .5s}
.case-card:hover .case-img{transform:scale(1.04)}
.case-img-wrap{overflow:hidden;position:relative}
.case-img-tag{position:absolute;top:1rem;left:1rem;background:rgba(8,17,43,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:.6rem;padding:.3rem .8rem;font-size:.7rem;font-weight:700;color:var(--blue-light);text-transform:uppercase;letter-spacing:.06em}
.case-body{padding:1.8rem}
.case-body h5{font-size:1.05rem;margin-bottom:.55rem;line-height:1.3}
.case-body p{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:1.25rem}
.case-stats{display:flex;gap:1.5rem}
.case-stat .n{font-size:1.4rem;font-weight:900;line-height:1}
.case-stat .l{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem}

/* ─── Page-specific: Consulting Hero visual ─── */
.consulting-visual{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:2rem;padding:2rem}
.consulting-visual-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:#64748b;margin-bottom:1.5rem}
.roadmap-step{display:flex;align-items:flex-start;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.roadmap-step:last-child{border-bottom:none}
.roadmap-dot{width:2.4rem;height:2.4rem;border-radius:.7rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:900;color:#fff}
.roadmap-dot.d1{background:linear-gradient(135deg,#00d2ff,#0033cc)}
.roadmap-dot.d2{background:linear-gradient(135deg,#0033cc,#001a99)}
.roadmap-dot.d3{background:linear-gradient(135deg,#001a99,#00d2ff)}
.roadmap-dot.d4{background:linear-gradient(135deg,#ff6600,#ffcc00)}
.roadmap-text h6{font-size:.88rem;color:#fff;margin-bottom:.2rem}
.roadmap-text p{font-size:.75rem;color:#64748b;margin:0;line-height:1.5}
.consulting-badge{display:flex;align-items:center;gap:.75rem;background:rgba(0,210,255,.08);border:1px solid rgba(0,210,255,.18);border-radius:1rem;padding:.85rem 1.2rem;margin-top:1.25rem}
.consulting-badge i{font-size:1.3rem;color:var(--blue-light)}
.consulting-badge span{font-size:.8rem;color:#94a3b8;line-height:1.4}
.consulting-badge strong{display:block;font-size:.88rem;color:#fff;margin-bottom:.1rem}

/* ─── Expertise grid ─── */
.expertise-section{padding:7rem 0;background:var(--surface)}
.expertise-card{background:#fff;border-radius:1.75rem;border:1px solid #e8edf5;padding:2rem;height:100%;transition:all .4s;position:relative;overflow:hidden}
.expertise-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-blue);opacity:0;transition:opacity .35s}
.expertise-card:hover{transform:translateY(-5px);box-shadow:0 20px 55px rgba(0,51,204,.1);border-color:transparent}
.expertise-card:hover::before{opacity:1}
.expertise-icon{width:3rem;height:3rem;border-radius:.9rem;background:linear-gradient(135deg,rgba(0,210,255,.15),rgba(0,51,204,.1));color:var(--blue-dark);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1.2rem}
.expertise-card h5{font-size:1rem;margin-bottom:.55rem}
.expertise-card p{font-size:.84rem;color:var(--muted);line-height:1.72;margin:0}
.expertise-tag{display:inline-block;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .65rem;border-radius:100px;background:rgba(0,51,204,.07);color:var(--blue-dark);margin-top:.75rem;margin-right:.3rem}

@media(max-width:767px){.cta-banner{padding:3.5rem 1.5rem}}