:root{
 --navy:#0d1b4c;--blue:#0e53be;--blue-d:#0a429a;
 --soft:#eef3fc;--soft-2:#f4f7fe;--bg:#fff;--fg:#33405e;--mut:#5e6b85;--bd:#e7edf7;
}

.bg-soft{background:var(--soft)}
.link-pri{color:var(--blue)}.link-pri:hover{color:var(--navy)}
.eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--blue)}
.brand{color:var(--navy)}
.logo{display:grid;place-items:center;height:36px;width:36px;border-radius:.7rem;background:var(--blue);color:#fff;font-weight:800}

/* buttons */
.btn-pri{background:var(--blue);color:#fff;border:none;border-radius:999px;padding:.6rem 1.4rem;font-weight:700;display:inline-block;transition:.2s}
.btn-pri:hover{background:var(--blue-d);color:#fff;transform:translateY(-2px)}
.btn-lg-pri{padding:.85rem 1.9rem;font-size:1.05rem}
.btn-ghost{border:1.5px solid var(--bd);color:var(--navy);border-radius:999px;padding:.82rem 1.7rem;font-weight:700;display:inline-block;transition:.2s;background:#fff}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}

/* hero - light, flat soft band */
.hero{background:var(--soft);overflow:hidden}
.hero img{max-height:420px;width:100%;object-fit:cover;object-position:center 20%}
.hero-sub{color:var(--mut)}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--bd);border-radius:999px;padding:.4rem 1rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--blue)}
.hero-badge::before{content:"";height:8px;width:8px;border-radius:50%;background:var(--blue)}

/* stat cards - avidclan style white bordered boxes */
#stats{margin-top:2rem!important}
.stat{background:#fff;border:1px solid var(--bd);border-radius:1rem;padding:1.4rem 1rem;text-align:center;height:100%;transition:.2s}
.stat:hover{transform:translateY(-4px);box-shadow:0 18px 40px -26px rgba(13,27,76,.3)}
.stat .lbl-top{font-size:.78rem;color:var(--mut);font-weight:600;margin-bottom:.5rem;display:block}
.stat .num{display:block;font-size:1.8rem;font-weight:800;color:var(--blue);line-height:1.1}
.stat .lbl{font-size:.8rem;color:var(--mut);margin-top:.3rem}

/* trust */
.trust{background:#fff;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.pill{border-radius:999px;padding:.35rem .9rem;font-size:.8rem;font-weight:700;color:var(--navy);background:var(--soft)}
.badge-cred{padding:.35rem .6rem;font-size:.78rem;font-weight:600;color:var(--mut)}
.badge-cred::before{content:"✓ ";color:var(--blue);font-weight:800}

/* checklist */
.check-list{list-style:none;padding:0;margin:0}
.check-list li{position:relative;padding-left:2rem;margin-bottom:.85rem;color:var(--fg);font-weight:500}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;height:1.4rem;width:1.4rem;border-radius:50%;background:var(--soft);color:var(--blue);font-size:.8rem;font-weight:800}

/* segments */
.seg-card{background:var(--navy);border-radius:1.4rem;padding:.4rem 1.6rem;box-shadow:0 30px 60px -25px rgba(13,27,76,.5)}
.seg-head{display:grid;grid-template-columns:1fr 1.3fr;gap:1.5rem;padding:1.4rem 0 1.1rem}
.seg-head span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#5b8bff}
.seg-row{display:grid;grid-template-columns:1fr 1.3fr;gap:1.5rem;padding:1.3rem 0;border-top:1px solid rgba(255,255,255,.1)}
.seg-row .t{font-weight:700;color:#fff;font-size:1.05rem;line-height:1.3}
.seg-row .d{color:#aab8d8;font-size:.95rem;line-height:1.45}

/* generic cards - white bordered, clean */
.card-x{background:#fff;border:1px solid var(--bd);border-radius:1rem;padding:1.5rem 1.3rem;height:100%;transition:.25s}
.card-x:hover{transform:translateY(-5px);border-color:var(--blue);box-shadow:0 22px 45px -26px rgba(13,27,76,.3)}
.card-x .ic{display:grid;place-items:center;height:3rem;width:3rem;border-radius:.9rem;background:var(--soft);color:var(--blue);font-size:1.5rem;line-height:1}
.card-x h3{font-size:1.08rem;font-weight:700;margin:1rem 0 .5rem}
.card-x p{color:var(--mut);font-size:.93rem;margin:0}

/* solutions - clean rows */
.sol{display:flex;gap:1.1rem;padding:1.4rem;height:100%;background:#fff;border:1px solid var(--bd);border-radius:1rem;transition:.2s}
.sol:hover{border-color:var(--blue);transform:translateY(-3px)}
.sol .n{font-size:1.1rem;font-weight:800;color:#fff;background:var(--blue);height:2.2rem;width:2.2rem;border-radius:.6rem;display:grid;place-items:center;flex:none}
.sol h3{font-size:1.05rem;font-weight:700;margin:0 0 .4rem}
.sol p{color:var(--mut);font-size:.92rem;margin:0}

/* tech stack */
.stack-sec{background:var(--soft)}
.tech{background:#fff;border:1px solid var(--bd);border-radius:1rem;padding:1.3rem;height:100%}
.tech .cat{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:.8rem}
.tag{display:inline-block;border-radius:999px;padding:.25rem .7rem;font-size:.78rem;margin:.2rem .2rem 0 0;color:var(--navy);background:var(--soft)}

/* compliance - white cards, fill solid blue on hover/active */
.comp{position:relative;background:#fff;border:1px solid var(--bd);border-radius:1.1rem;padding:1.8rem 1.4rem 1.4rem;height:100%;transition:.25s}
.comp .comp-no{font-size:2.4rem;font-weight:800;line-height:1;color:var(--soft);transition:.25s;letter-spacing:-.04em}
.comp h3{font-size:1.08rem;font-weight:700;margin:.9rem 0 .6rem;transition:.25s}
.comp p{color:var(--mut);font-size:.93rem;margin:0;transition:.25s}
.comp .comp-arrow{display:inline-block;margin-top:1rem;color:var(--blue);font-weight:800;transition:.25s}
.comp:hover,.comp.featured{background:var(--blue);border-color:var(--blue);transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(14,83,190,.6)}
.comp:hover .comp-no,.comp.featured .comp-no{color:rgba(255,255,255,.4)}
.comp:hover h3,.comp:hover p,.comp:hover .comp-arrow,.comp.featured h3,.comp.featured p,.comp.featured .comp-arrow{color:#fff}
.comp:hover .comp-arrow,.comp.featured .comp-arrow{transform:translateX(6px)}
.feat-tag{display:inline-block;background:rgba(255,255,255,.22);border-radius:999px;padding:.15rem .6rem;font-size:.7rem;font-weight:700;margin-left:.4rem;color:#fff}
/* process — compact single-row timeline: line + dots on top, descriptions below */
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;max-width:1180px;margin:1.5rem auto 0;position:relative}
.timeline::before{content:"";position:absolute;left:10%;right:10%;top:1.35rem;height:3px;background:repeating-linear-gradient(90deg,var(--blue) 0 14px,transparent 14px 26px);opacity:.45;border-radius:3px}
.flow-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.fdot{position:relative;z-index:2;display:grid;place-items:center;height:2.7rem;width:2.7rem;border-radius:50%;background:linear-gradient(145deg,var(--blue),var(--blue-d));color:#fff;font-weight:800;font-size:.95rem;box-shadow:0 8px 20px -6px rgba(14,83,190,.55);transition:.25s;flex:none}
.flow-step:hover .fdot{transform:scale(1.15)}
.ftxt{margin-top:1rem;padding:0 .2rem}
.flow-step h4{font-size:.92rem;font-weight:700;margin:0 0 .35rem;color:var(--navy);line-height:1.25}
.flow-step p{color:var(--mut);font-size:.78rem;margin:0;line-height:1.5}
@media(max-width:760px){
 .timeline{grid-template-columns:1fr;gap:1.4rem;max-width:440px;padding-left:3.4rem}
 .timeline::before{left:2.65rem;right:auto;top:0;bottom:0;width:3px;height:100%;background:repeating-linear-gradient(180deg,var(--blue) 0 14px,transparent 14px 26px)}
 .flow-step{flex-direction:row;align-items:flex-start;text-align:left;padding-top:0}
 .fdot{position:absolute;left:-2.1rem;top:0;transform:none}
 .flow-step:hover .fdot{transform:scale(1.1)}
 .ftxt{margin-top:0;padding-left:1.5rem}
}

/* wave process – horizontal circle timeline with alternating info boxes */
.wp-container{position:relative;max-width:1080px;margin:0 auto}
.wp-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto auto auto;gap:.9rem 0;justify-items:center;position:relative;padding:0 .5rem}
/* dashed connector line across middle row */
.wp-flow::before{content:"";position:absolute;top:50%;left:10%;right:10%;border-top:3px dashed rgba(14,83,190,.22);transform:translateY(-50%);z-index:0}
/* circle wrapper */
.wp-circle-wrap{display:flex;align-items:center;justify-content:center;position:relative;z-index:1}
.wp-circle{width:90px;height:90px;border-radius:50%;border:2px dashed rgba(14,83,190,0.35);display:flex;align-items:center;justify-content:center;position:relative;background:white;transition:.35s;cursor:default}
.wp-circle::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px dashed rgba(14,83,190,.12);transition:.35s}
.wp-circle:hover{transform:scale(1.08);box-shadow:0 14px 40px -10px rgba(14,83,190,.28);border-color:rgba(14,83,190,0.6)}
.wp-circle:hover::after{border-color:rgba(14,83,190,.25)}
/* number badge */
.wp-badge{position:absolute;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;box-shadow:0 5px 16px rgba(14,83,190,.5);z-index:3}
.wp-badge-top{top:-12px;left:50%;transform:translateX(-50%)}
.wp-badge-bottom{bottom:-12px;left:50%;transform:translateX(-50%)}
.wp-icon{font-size:2rem;line-height:1}
/* info boxes */
.wp-info {
    background: white;
    color: black;
    border-radius: .75rem;
    padding: .75rem .9rem;
    text-align: center;
    position: relative;
    width: 245px;
    max-width: 245px;
    box-shadow: 0 12px 32px -6px rgba(14,83,190,.25);
    transition: .3s;
    z-index: 2;
}
.wp-info:hover{transform:translateY(-3px);box-shadow:0 12px 32px -6px rgba(14,83,190,.25)}
.wp-info h4{font-size:.8rem;font-weight:700;margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.5px}
    .wp-info p {
        color: var(--mut);
        font-size: .72rem;
        line-height: 1.45;
        margin: 0;
        opacity: .88
    }
/* arrows pointing toward circle */
.wp-info-top{align-self:end}.wp-info-bottom{align-self:start}
.wp-info-top::after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid #fff}
.wp-info-bottom::before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid #fff}
/* tablet */
@media(max-width:991px){
  .wp-flow{grid-template-columns:repeat(5,1fr);gap:.6rem 0;padding:0}
  .wp-circle{width:85px;height:85px}
  .wp-circle::after{inset:-10px}
  .wp-icon{font-size:1.7rem}
  .wp-info{max-width:140px;padding:.7rem .6rem}
  .wp-info h4{font-size:.68rem}
  .wp-info p{font-size:.62rem}
  .wp-badge{width:1.6rem;height:1.6rem;font-size:.72rem}
}
/* mobile */
@media(max-width:767px){
  .wp-flow{grid-template-columns:1fr;grid-template-rows:auto;gap:1.5rem;max-width:300px;margin:0 auto}
  .wp-flow>*{grid-column:1!important;grid-row:auto!important}
  .wp-flow::before{display:none}
  .wp-circle::after{display:none}
  .wp-info{max-width:100%;width:100%}
  .wp-info-top::after,.wp-info-bottom::before{display:none}
  .wp-info-top{align-self:auto}.wp-info-bottom{align-self:auto}
  .wp-badge-bottom{top:-16px;bottom:auto}
}


/* cases - feature, solid blue panel */
.case-feature{display:grid;grid-template-columns:1.05fr 1.35fr;gap:0;border-radius:1.4rem;overflow:hidden;background:#fff;border:1px solid var(--bd)}
.case-feature .cf-panel{background:var(--blue);color:#fff;padding:2.4rem;display:flex;flex-direction:column;justify-content:center}
.case-feature .cf-ic{font-size:2.6rem}
.case-feature .cf-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.18);border-radius:999px;padding:.3rem .8rem;margin:1rem 0;width:max-content}
.case-feature .cf-panel h3{color:#fff;font-size:1.45rem;font-weight:800;line-height:1.2}
.case-feature .cf-spot{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-top:1.4rem}
.case-feature .cf-body{padding:2.4rem;display:flex;flex-direction:column}
.case-feature .cf-body p{color:var(--mut);font-size:.95rem;line-height:1.65}
.metrics{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 1.3rem}
.metric{background:var(--soft);color:var(--navy);border-radius:.7rem;padding:.45rem .85rem;font-size:.78rem;font-weight:700;border:1px solid var(--bd)}
.soon-strip{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.3rem}
.soon-chip{flex:1 1 280px;display:flex;align-items:center;gap:.9rem;background:#fff;border:1px dashed var(--bd);border-radius:1rem;padding:1.1rem 1.3rem;color:var(--mut)}
.soon-chip .sc-ic{display:grid;place-items:center;height:2.4rem;width:2.4rem;border-radius:.7rem;background:var(--soft);color:var(--blue);font-weight:800;flex:none}
.soon-chip .sc-t{font-weight:700;color:var(--navy);font-size:.92rem}
.soon-chip .sc-s{font-size:.78rem}
@media(max-width:767px){.case-feature{grid-template-columns:1fr}}

/* results - outcome rows */
.result-row{display:grid;grid-template-columns:auto 1fr auto;gap:1.6rem;align-items:center;padding:1.6rem;border:1px solid var(--bd);border-radius:1rem;background:#fff;margin-bottom:1rem}
.result-row .rr-no{font-size:2.4rem;font-weight:800;color:var(--soft);line-height:1;letter-spacing:-.04em}
.result-row .rr-main h3{font-size:1.08rem;font-weight:800;margin-bottom:.7rem}
.rr-flow{display:flex;align-items:stretch;gap:.9rem;flex-wrap:wrap}
.rr-step{flex:1 1 220px}
.rr-step .rr-lbl{display:block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.25rem}
.rr-step p{font-size:.9rem;color:var(--mut);margin:0;line-height:1.55}
.rr-arrow{display:flex;align-items:center;color:var(--bd);font-size:1.4rem;font-weight:800}
.rr-out{display:flex;flex-direction:column;gap:.45rem;min-width:190px}
.rr-out .rr-chip{background:var(--blue);color:#fff;border-radius:.7rem;padding:.55rem .9rem;font-size:.84rem;font-weight:800;text-align:center}
@media(max-width:767px){.result-row{grid-template-columns:1fr;gap:.9rem}.rr-arrow{transform:rotate(90deg)}.rr-out{min-width:0}}

/* testimonial - clean white card, blue accent (no dark) */
.testimonial{background:var(--soft)}
.testimonial .tcard{position:relative;background:#fff;border:1px solid var(--bd);border-left:4px solid var(--blue);border-radius:1.2rem;padding:1.8rem;box-shadow:0 30px 60px -40px rgba(13,27,76,.35);height:100%;display:flex;flex-direction:column;justify-content:space-between}
.testimonial .stars{color:#f5a623;font-size:1.05rem;letter-spacing:.2rem}
.testimonial .tquote{color:var(--navy);font-size:.95rem;font-weight:400;line-height:1.55}
.avatar{display:grid;place-items:center;height:52px;width:52px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;flex:none}
.testimonial .t-name{color:var(--navy);font-weight:800}
.testimonial .t-role{color:var(--mut);font-size:.85rem}

/* verticals */
.vert{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--bd);border-radius:.9rem;padding:1rem;height:100%;font-weight:600;color:var(--navy);transition:.2s}
.vert:hover{border-color:var(--blue);transform:translateY(-3px)}
.vert .ve{font-size:1.5rem}

/* faq */
.accordion-item{border:none!important;border-bottom:1px solid var(--bd)!important;background:transparent}
.accordion-button{font-weight:700;color:var(--navy);background:transparent}
.accordion-button:not(.collapsed){color:var(--blue);background:transparent;box-shadow:none}
.accordion-button:focus{box-shadow:none}
.accordion-body{color:var(--mut)}

/* final cta - solid blue card */
.final-cta{background:var(--blue);color:#fff;border-radius:1.5rem;margin:4.5rem auto;max-width:72rem}
.final-cta h2{color:#fff}
.final-cta p{color:rgba(255,255,255,0.92) !important}
.final-cta .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.final-cta .btn-ghost:hover{border-color:#fff;color:#fff}
.final-cta .btn-pri{background:#fff;color:var(--blue)}
.final-cta .btn-pri:hover{background:var(--soft-2);color:var(--blue)}

/* contact form */
.contact-card{display:grid;grid-template-columns:1fr 1.3fr;background:#fff;border:1px solid var(--bd);border-radius:1.4rem;overflow:hidden;box-shadow:0 24px 60px -24px rgba(13,27,76,.22)}
.contact-aside{background:linear-gradient(150deg,var(--blue),var(--blue-d));color:#fff;padding:2.2rem}
.contact-aside h2{color:#fff;font-size:1.6rem;margin:.8rem 0 .5rem;line-height:1.3}
.contact-aside p{color:rgba(255,255,255,.85);font-size:.92rem;line-height:1.45}
.contact-badge{display:inline-block;background:#fff;color:var(--navy);border-radius:999px;padding:.3rem .9rem;font-size:.7rem;font-weight:800}
.contact-list{list-style:none;padding:0;margin:1.2rem 0 0}
.contact-list li{font-size:.88rem;font-weight:600;margin-top:.5rem;color:#fff}
.contact-list li::before{content:"✓";margin-right:.5rem;font-weight:800}
.contact-main{padding:2.2rem}
.contact-main label{display:block;font-size:.82rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.form-ctrl{width:100%;border:1.5px solid var(--bd);border-radius:.75rem;padding:.75rem 1rem;font-size:.92rem;color:var(--navy);background:var(--soft-2);transition:.15s;outline:none}
.form-ctrl:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(14,83,190,.12)}
.form-ctrl::placeholder{color:#94a3b8}
textarea.form-ctrl{resize:vertical;min-height:100px}

@media(max-width:767px){.contact-card{grid-template-columns:1fr}.contact-aside,.contact-main{padding:1.8rem}}
@media(max-width:767px){.case-feature{grid-template-columns:1fr}}
@media(max-width:575px){
 .stat .num{font-size:1.5rem}
 .hero-badge{font-size:.65rem;letter-spacing:.06em;padding:.3rem .7rem;white-space:nowrap}
}
