
  :root{
    --navy:#0F172A;
    --red:#E53E3E;
    --slate:#475569;
    --slate-light:#94A3B8;
    --white:#FFFFFF;
    --hairline:#E2E8F0;
    --paper:#FAFAF9;
    --maxw:1180px;
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    font-family:'Source Sans 3',sans-serif;
    color:var(--slate);
    background:var(--white);
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,h4{
    font-family:'Outfit',sans-serif;
    color:var(--navy);
    font-weight:600;
    letter-spacing:-0.01em;
  }

  a{color:inherit;text-decoration:none;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

  /* ===== HEADER ===== */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(255,255,255,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    height:76px;
  }
  .logo{
    font-family:'Outfit',sans-serif;
    font-size:1.35rem;
    font-weight:700;
    color:var(--navy);
    display:flex;align-items:baseline;gap:1px;
    letter-spacing:-0.01em;
  }
  .logo .dot{color:var(--red);}
  .navlinks{
    display:flex;align-items:center;gap:40px;
  }
  .navlinks a{
    font-size:0.92rem;
    font-weight:500;
    color:var(--navy);
    position:relative;
    padding:4px 0;
    transition:color .2s ease;
  }
  .navlinks a:hover{color:var(--red);}
  .navlinks a::after{
    content:"";
    position:absolute;left:0;bottom:-2px;
    width:0;height:2px;background:var(--red);
    transition:width .25s ease;
  }
  .navlinks a:hover::after{width:100%;}

  .langtoggle{
    display:flex;align-items:center;border:1px solid var(--hairline);
    border-radius:999px;overflow:hidden;font-size:0.78rem;font-weight:600;
    font-family:'Outfit',sans-serif;
  }
  .langtoggle button{
    border:none;background:none;padding:7px 14px;cursor:pointer;
    color:var(--slate-light);transition:all .2s ease;letter-spacing:0.04em;
  }
  .langtoggle button.active{
    background:var(--navy);color:var(--white);
  }

  .navtoggle{display:none;background:none;border:none;cursor:pointer;width:28px;height:22px;position:relative;}
  .navtoggle span{position:absolute;left:0;right:0;height:2px;background:var(--navy);transition:all .25s ease;}
  .navtoggle span:nth-child(1){top:0;}
  .navtoggle span:nth-child(2){top:10px;}
  .navtoggle span:nth-child(3){top:20px;}
  .navtoggle.open span:nth-child(1){transform:translateY(10px) rotate(45deg);}
  .navtoggle.open span:nth-child(2){opacity:0;}
  .navtoggle.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg);}

  /* ===== HERO ===== */
  .hero{
    padding:120px 0 100px;
    border-bottom:1px solid var(--hairline);
    position:relative;
    overflow:hidden;
  }
  .hero .wrap{position:relative;z-index:2;}
  .eyebrow{
    font-family:'Outfit',sans-serif;
    font-size:0.8rem;
    font-weight:600;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--red);
    margin-bottom:22px;
    display:flex;align-items:center;gap:12px;
  }
  .eyebrow::before{
    content:"";display:block;width:36px;height:1px;background:var(--red);
  }
  .hero h1{
    font-size:clamp(2.6rem, 6vw, 4.6rem);
    line-height:1.06;
    font-weight:700;
    max-width:880px;
    letter-spacing:-0.02em;
  }
  .hero h1 .accent{color:var(--red);}
  .hero p.lead{
    margin-top:28px;
    font-size:1.18rem;
    max-width:620px;
    color:var(--slate);
    font-weight:400;
  }
  .hero-cta{
    margin-top:42px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;
  }
  .btn{
    font-family:'Outfit',sans-serif;
    font-weight:600;
    font-size:0.95rem;
    padding:15px 32px;
    border-radius:2px;
    display:inline-flex;align-items:center;gap:10px;
    transition:all .25s ease;
    border:1px solid transparent;
  }
  .btn-primary{
    background:var(--navy);color:var(--white);
  }
  .btn-primary:hover{background:var(--red);}
  .btn-ghost{
    border-color:var(--hairline);color:var(--navy);
  }
  .btn-ghost:hover{border-color:var(--navy);}

  /* big background numerals / mark */
  .hero-mark{
    position:absolute;
    right:-60px; top:50%; transform:translateY(-50%);
    font-family:'Outfit',sans-serif;
    font-size:min(46vw, 620px);
    font-weight:800;
    color:var(--navy);
    opacity:0.035;
    line-height:1;
    z-index:1;
    pointer-events:none;
    user-select:none;
    white-space:nowrap;
  }

  /* ===== STAT STRIP ===== */
  .stats{
    border-bottom:1px solid var(--hairline);
    background:var(--paper);
  }
  .stats .wrap{
    display:grid;
    grid-template-columns:repeat(4,1fr);
  }
  .stat{
    padding:40px 32px;
    border-left:1px solid var(--hairline);
  }
  .stat:first-child{border-left:none;}
  .stat .num{
    font-family:'Outfit',sans-serif;
    font-size:2.6rem;
    font-weight:700;
    color:var(--navy);
    line-height:1;
    display:flex;align-items:flex-start;
  }
  .stat .num .red-dot{color:var(--red);}
  .stat .label{
    margin-top:10px;
    font-size:0.86rem;
    color:var(--slate);
    max-width:220px;
  }

  /* ===== SECTION GENERAL ===== */
  section{padding:110px 0;}
  .section-head{
    max-width:680px;
    margin-bottom:64px;
  }
  .section-head h2{
    font-size:clamp(1.9rem,3.6vw,2.8rem);
    margin-top:14px;
  }
  .section-head .eyebrow{margin-bottom:0;}
  .section-head p{
    margin-top:18px;
    font-size:1.05rem;
  }

  .border-top{border-top:1px solid var(--hairline);}
  .bg-paper{background:var(--paper);}

  /* ===== ABOUT ===== */
  .about-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:80px;
    align-items:start;
  }
  .about-grid .lead-text{
    font-size:1.3rem;
    color:var(--navy);
    font-weight:500;
    line-height:1.5;
  }
  .about-points{
    display:flex;flex-direction:column;gap:28px;
  }
  .about-point{
    display:flex;gap:18px;
    padding-bottom:28px;
    border-bottom:1px solid var(--hairline);
  }
  .about-point:last-child{border-bottom:none;padding-bottom:0;}
  .about-point .dot{
    flex:none;
    width:8px;height:8px;border-radius:50%;
    background:var(--red);
    margin-top:9px;
  }
  .about-point h4{font-size:1.02rem;font-weight:600;margin-bottom:4px;}
  .about-point p{font-size:0.95rem;}

  /* ===== SERVICES ===== */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--hairline);
    border:1px solid var(--hairline);
  }
  .service-card{
    background:var(--white);
    padding:44px 36px;
    display:flex;flex-direction:column;
    transition:background .25s ease;
  }
  .service-card:hover{background:var(--paper);}
  .service-num{
    font-family:'Outfit',sans-serif;
    font-size:0.85rem;
    font-weight:600;
    color:var(--red);
    letter-spacing:0.15em;
    margin-bottom:24px;
  }
  .service-card h3{
    font-size:1.4rem;
    margin-bottom:14px;
  }
  .service-card p{
    font-size:0.95rem;
    margin-bottom:24px;
    flex-grow:1;
  }
  .service-link{
    font-family:'Outfit',sans-serif;
    font-size:0.85rem;
    font-weight:600;
    color:var(--navy);
    display:inline-flex;align-items:center;gap:8px;
    cursor:pointer;
    border:none;background:none;padding:0;
  }
  .service-link svg{transition:transform .25s ease;}
  .service-link:hover svg{transform:translateX(4px);}
  .service-link:hover{color:var(--red);}

  /* expandable detail panel */
  .service-detail{
    grid-column:1 / -1;
    background:var(--navy);
    color:var(--white);
    max-height:0;
    overflow:hidden;
    transition:max-height .45s ease;
  }
  .service-detail.open{
    max-height:2200px;
  }
  .service-detail-inner{
    padding:48px 36px 56px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:44px;
  }
  .service-detail h4{
    color:var(--white);
    font-size:1rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:18px;
    color:#FCA5A5;
  }
  .service-detail ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
  .service-detail li{
    font-size:0.92rem;
    color:#CBD5E1;
    padding-left:18px;
    position:relative;
  }
  .service-detail li::before{
    content:"";position:absolute;left:0;top:9px;
    width:6px;height:1px;background:var(--red);
  }

  /* ===== ADVISORY (consulting) ===== */
  .advisory-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:36px;
  }
  .advisory-card{
    border:1px solid var(--hairline);
    padding:32px 28px;
  }
  .advisory-card h4{
    font-size:1.08rem;
    margin-bottom:10px;
  }
  .advisory-card p{font-size:0.92rem;}
  .advisory-tagline{
    margin-top:56px;
    text-align:center;
    font-family:'Outfit',sans-serif;
    font-size:1.3rem;
    color:var(--navy);
    font-weight:500;
    padding-top:48px;
    border-top:1px solid var(--hairline);
  }
  .advisory-tagline .red-dot{color:var(--red);}

  /* ===== WHY US ===== */
  .why-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:1px;
    background:var(--hairline);
    border:1px solid var(--hairline);
  }
  .why-card{
    background:var(--white);
    padding:32px 24px;
    display:flex;flex-direction:column;gap:16px;
  }
  .why-card .icon{
    width:42px;height:42px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--hairline);
  }
  .why-card .icon svg{width:20px;height:20px;stroke:var(--navy);}
  .why-card h4{font-size:1rem;line-height:1.3;}
  .why-card p{font-size:0.86rem;}

  /* ===== NETWORK / CTA ===== */
  .cta-section{
    background:var(--navy);
    color:var(--white);
    padding:100px 0;
    position:relative;
    overflow:hidden;
  }
  .cta-section .wrap{position:relative;z-index:2;}
  .cta-grid{
    display:grid;
    grid-template-columns:1.6fr 0.8fr;
    gap:60px;
    align-items:center;
  }
  .cta-section h2{color:var(--white);font-size:clamp(1.9rem,3.6vw,2.6rem);}
  .cta-section .eyebrow{color:#FCA5A5;}
  .cta-section .eyebrow::before{background:#FCA5A5;}
  .cta-section p{color:#CBD5E1;margin-top:18px;font-size:1.02rem;}
  .cta-box{
    border:1px solid rgba(255,255,255,0.14);
    padding:36px;
  }
  .cta-box .big-num{
    font-family:'Outfit',sans-serif;
    font-size:3.4rem;font-weight:700;line-height:1;
    color:var(--white);
  }
  .cta-box .big-num span{color:var(--red);}
  .cta-box .cap{
    margin-top:10px;font-size:0.92rem;color:#CBD5E1;
  }
  .cta-section .hero-mark{color:var(--white);opacity:0.04;}

  /* ===== CONTACT / FOOTER ===== */
  .contact{padding:100px 0 60px;}
  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
  }
  .contact h2{font-size:clamp(1.9rem,3.6vw,2.6rem);}
  .contact-list{margin-top:32px;display:flex;flex-direction:column;gap:22px;}
  .contact-item{display:flex;flex-direction:column;gap:4px;}
  .contact-item .label{
    font-family:'Outfit',sans-serif;
    font-size:0.78rem;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--slate-light);font-weight:600;
  }
  .contact-item .value{font-size:1.1rem;color:var(--navy);font-weight:500;}
  .contact-item a.value:hover{color:var(--red);}

  .contact-side{
    border-left:1px solid var(--hairline);
    padding-left:80px;
  }
  .contact-side .lead-text{
    font-size:1.25rem;color:var(--navy);font-weight:500;line-height:1.5;
    margin-bottom:28px;
  }

  footer{
    border-top:1px solid var(--hairline);
    padding:32px 0;
  }
  footer .wrap{
    display:flex;justify-content:space-between;align-items:center;
    flex-wrap:wrap;gap:16px;
  }
  footer .foot-logo{
    font-family:'Outfit',sans-serif;font-weight:700;font-size:1rem;color:var(--navy);
  }
  footer .foot-logo .dot{color:var(--red);}
  footer .tagline{
    font-size:0.82rem;color:var(--slate-light);
    font-family:'Outfit',sans-serif;letter-spacing:0.04em;
  }
  footer .copyright{font-size:0.8rem;color:var(--slate-light);}

  /* ===== fade-in on scroll ===== */
  .reveal{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .7s ease, transform .7s ease;
  }
  .reveal.visible{opacity:1;transform:translateY(0);}

  /* ===== RESPONSIVE ===== */
  @media (max-width:980px){
    .about-grid, .cta-grid, .contact-grid{grid-template-columns:1fr;gap:48px;}
    .contact-side{border-left:none;padding-left:0;border-top:1px solid var(--hairline);padding-top:48px;}
    .services-grid{grid-template-columns:1fr;}
    .service-detail{grid-column:auto;}
    .service-detail-inner{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .advisory-grid{grid-template-columns:1fr;}
    .stats .wrap{grid-template-columns:repeat(2,1fr);}
    .stat:nth-child(3){border-left:none;}
    .stat:nth-child(odd){border-left:none;}
  }

  @media (max-width:760px){
    .wrap{padding:0 22px;}
    .navlinks{
      position:fixed;top:76px;left:0;right:0;
      background:var(--white);
      flex-direction:column;align-items:flex-start;
      padding:24px 22px;gap:22px;
      border-bottom:1px solid var(--hairline);
      transform:translateY(-130%);
      transition:transform .3s ease;
      z-index:99;
    }
    .navlinks.open{transform:translateY(0);}
    .navtoggle{display:block;}
    .hero{padding:64px 0 64px;}
    section{padding:64px 0;}
    .why-grid{grid-template-columns:1fr;}
    .hero-mark{display:none;}
    .cta-box{margin-top:8px;}
  }

  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;}
    .reveal{opacity:1;transform:none;}
  }

/* active nav link */
.navlinks a.active-link{ color: var(--red); }
.navlinks a.active-link::after{ width:100%; }

/* ===========================================================
   COMPACT MODE — fit each page within a laptop viewport
   =========================================================== */
.nav{height:60px;}
header{position:sticky;}

section{padding:28px 0;}

/* Hero */
.hero{padding:32px 0 26px;}
.hero-mark{font-size:min(38vw, 420px);}
.eyebrow{margin-bottom:10px;font-size:0.72rem;}
.hero h1{font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.12;}
.hero p.lead{margin-top:12px;font-size:0.95rem;max-width:600px;}
.hero-cta{margin-top:18px;gap:12px;}
.btn{padding:10px 22px;font-size:0.85rem;}

/* Stats */
.stat{padding:18px 24px;}
.stat .num{font-size:1.9rem;}
.stat .label{margin-top:6px;font-size:0.76rem;}

/* Section heads */
.section-head{margin-bottom:24px;}
.section-head h2{font-size:clamp(1.4rem,2.6vw,2rem);margin-top:8px;}
.section-head p{margin-top:8px;font-size:0.9rem;}

/* About */
.about-grid{gap:40px;}
.about-grid .lead-text{font-size:1.05rem;line-height:1.4;}
#about .reveal > p{margin-top:14px !important;font-size:0.92rem;}
.about-points{gap:12px;}
.about-point{padding-bottom:12px;gap:12px;}
.about-point h4{font-size:0.92rem;margin-bottom:2px;}
.about-point p{font-size:0.82rem;}

/* Services */
.service-num{margin-bottom:10px;font-size:0.78rem;}
.service-card{padding:22px 20px;}
.service-card h3{font-size:1.1rem;margin-bottom:8px;}
.service-card p{font-size:0.85rem;margin-bottom:14px;}
.service-detail-inner{padding:24px 20px 28px;gap:24px;}
.service-detail h4{font-size:0.85rem;margin-bottom:10px;}
.service-detail ul{gap:6px;}
.service-detail li{font-size:0.8rem;}

/* Consulting */
.advisory-grid{gap:18px;}
.advisory-card{padding:18px 16px;}
.advisory-card h4{font-size:0.95rem;margin-bottom:6px;}
.advisory-card p{font-size:0.82rem;}
.advisory-tagline{margin-top:26px;padding-top:24px;font-size:1.05rem;}

/* Why us */
.why-card{padding:18px 16px;gap:10px;}
.why-card .icon{width:32px;height:32px;}
.why-card .icon svg{width:15px;height:15px;}
.why-card h4{font-size:0.88rem;}
.why-card p{font-size:0.8rem;}

/* Network / CTA */
.cta-section{padding:40px 0;}
.cta-section h2{font-size:clamp(1.4rem,2.6vw,2rem);}
.cta-section p{margin-top:10px;font-size:0.9rem;}
.cta-box{padding:22px;}
.cta-box .big-num{font-size:2.4rem;}
.cta-box .cap{margin-top:6px;font-size:0.82rem;}

/* Contact */
.contact{padding:36px 0 24px;}
.contact h2{font-size:clamp(1.4rem,2.6vw,2rem);}
.contact-grid{gap:40px;}
.contact-list{margin-top:18px;gap:12px;}
.contact-item .value{font-size:1rem;}
.contact-side{padding-left:40px;}
.contact-side .lead-text{font-size:1rem;margin-bottom:16px;}

/* Footer */
footer{padding:14px 0;}

@media (max-width:980px){
  section{padding:24px 0;}
  .why-grid{grid-template-columns:repeat(3,1fr);}
}

/* ===== 5-STEP PROCESS ===== */
.process-inner{padding:28px 32px 32px;}
.process-title{
  color:#FCA5A5;font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;
  margin-bottom:18px;font-weight:600;
}
.process-steps{
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
  position:relative;
}
.process-step{
  border-top:2px solid var(--red);
  padding-top:14px;
}
.step-num{
  font-family:'Outfit',sans-serif;font-weight:700;font-size:1.3rem;
  color:var(--red);margin-bottom:6px;
}
.process-step h5{
  color:var(--white);font-size:0.92rem;font-weight:600;margin-bottom:8px;
}
.process-step ul{list-style:none;display:flex;flex-direction:column;gap:6px;}
.process-step li{
  font-size:0.78rem;color:#CBD5E1;padding-left:14px;position:relative;line-height:1.35;
}
.process-step li::before{
  content:"";position:absolute;left:0;top:7px;width:6px;height:1px;background:var(--red);
}
@media (max-width:980px){
  .process-steps{grid-template-columns:repeat(2,1fr);gap:24px;}
}

/* ===== CONSULTING GROUPS ===== */
.advisory-group{margin-bottom:36px;}
.advisory-group:last-child{margin-bottom:0;}
.advisory-group-title{
  font-family:'Outfit',sans-serif;font-size:0.78rem;font-weight:600;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--red);
  margin-bottom:16px;display:flex;align-items:center;gap:12px;
}
.advisory-group-title::after{
  content:"";flex:1;height:1px;background:var(--hairline);
}

/* compact tweaks for consulting groups & process */
.advisory-group{margin-bottom:22px;}
.advisory-group-title{margin-bottom:12px;font-size:0.72rem;}
.process-inner{padding:20px 24px 24px;}
.process-title{margin-bottom:14px;font-size:0.78rem;}
.process-step li{font-size:0.74rem;}
.step-num{font-size:1.15rem;margin-bottom:4px;}
.process-step h5{font-size:0.86rem;margin-bottom:6px;}

/* ===== UNIFY HERO CTA BUTTONS ===== */
.hero-cta .btn{
  min-width:200px;
  justify-content:center;
  text-align:center;
}
.btn-ghost{
  background:var(--navy);
  color:var(--white);
  border-color:var(--navy);
}
.btn-ghost:hover{
  background:var(--red);
  border-color:var(--red);
}

/* ===== UNIFIED PAGE TITLE STYLE (match hero h1) ===== */
.section-head h2,
.page-title{
  font-family:'Outfit',sans-serif;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.15;
}
.page-title{
  font-size:clamp(1.7rem,3.6vw,2.7rem);
  color:var(--navy);
  max-width:1000px;
}

/* ensure CTA and contact headings also match the unified title style */
.cta-section h2,
.contact h2{
  font-weight:700;
  letter-spacing:-0.02em;
}

/* generic red dot accent */
.red-dot{color:var(--red);}

/* ===== MATCH ALL TITLES TO HOME HERO SIZE ===== */
.section-head h2,
.cta-section h2,
.contact h2{
  font-size:clamp(1.7rem,3.6vw,2.5rem);
  line-height:1.15;
}
#advisory .section-head{
  max-width:none;
}

/* ===== FORCE IDENTICAL TITLE TYPOGRAPHY EVERYWHERE ===== */
.hero h1,
.page-title,
.section-head h2,
.cta-section h2,
.contact h2{
  font-family:'Outfit',sans-serif !important;
  font-weight:800 !important;
  letter-spacing:-0.02em !important;
}

/* allow first line of IT hero title to fit on one line */
.hero h1{max-width:none;}

/* allow first line of who-we-are title to fit on one line */
.page-title{max-width:none;}
