/*
Theme Name: Just Outsource
Theme URI: https://justoutsource.co.in
Author: Just Outsource Pvt. Ltd.
Description: Custom premium theme for Just Outsource Pvt. Ltd. — staffing and workforce solutions, Delhi NCR. Built from a custom design system.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: just-outsource
*/

/* ============================================================
   PREMIUM REFINEMENTS — added for the WordPress build
   ============================================================ */
:root{
  --shadow-sm: 0 2px 8px rgba(7,28,46,0.06);
  --shadow-md: 0 12px 30px rgba(7,28,46,0.10);
  --shadow-lg: 0 24px 60px rgba(7,28,46,0.16);
  --shadow-blue: 0 12px 28px rgba(0,119,191,0.22);
}
.btn-primary{ box-shadow:var(--shadow-blue); }
.svc, .testi, .why-item, .ind-tile{ transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.svc:hover{ box-shadow:var(--shadow-md); border-color:transparent; }
.testi{ box-shadow:var(--shadow-sm); }
.testi:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); }
.ind-tile:hover{ box-shadow:var(--shadow-md); }
.mega-panel{ box-shadow:var(--shadow-lg) !important; }
.search-card{ box-shadow:var(--shadow-lg) !important; }
.about-panel{ box-shadow:var(--shadow-lg); }
h1, h2, h3{ letter-spacing:-0.025em; }
::selection{ background:var(--blue); color:var(--white); }
a{ transition:color .15s ease; }
.btn{ letter-spacing:0.01em; }
.svc h3, .why-item h4, .testi .who{ letter-spacing:-0.01em; }

/* WordPress core alignment/media helpers */
.alignwide{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); max-width:100vw; }
.alignfull{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); max-width:100vw; }
.wp-caption, figure{ margin:0 0 24px; }
.wp-caption-text{ font-size:0.85rem; color:#5A6C7A; margin-top:8px; }
img{ height:auto; }
.entry-content > *{ max-width:100%; }
.entry-content p{ margin:0 0 20px; color:#33454F; font-size:1.03rem; line-height:1.7; }
.entry-content h2{ color:var(--navy); font-size:1.6rem; margin:36px 0 16px; }
.entry-content h3{ color:var(--navy); font-size:1.3rem; margin:28px 0 14px; }
.entry-content ul, .entry-content ol{ margin:0 0 20px; padding-left:22px; color:#33454F; }
.entry-content li{ margin-bottom:8px; }
.entry-content a{ color:var(--blue); }
.entry-content img{ border-radius:10px; margin:24px 0; }
.entry-content blockquote{ border-left:3px solid var(--blue); padding-left:20px; margin:24px 0; font-style:italic; color:#33454F; }


  :root{
    --blue:#0077BF;
    --blue-deep:#045089;
    --sky:#6FC3ED;
    --navy:#071C2E;
    --navy-2:#0C2A42;
    --ink:#12202B;
    --gray-bg:#F2F6FA;
    --white:#FFFFFF;
    --line:rgba(7,28,46,0.12);
    --line-soft:rgba(7,28,46,0.07);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  section, .svc, .ind-tile{ scroll-margin-top:150px; }
  body{
    margin:0; background:var(--white); color:var(--ink);
    font-family:'Manrope',sans-serif; font-size:16px; line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{ font-family:'Manrope',sans-serif; font-weight:800; line-height:1.08; margin:0; letter-spacing:-0.02em; }
  .mono{ font-family:'IBM Plex Mono',monospace; }
  .eyebrow{
    font-family:'IBM Plex Mono',monospace; font-size:0.74rem; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--blue); font-weight:600;
    display:inline-flex; align-items:center; gap:8px;
  }
  .eyebrow::before{ content:""; width:18px; height:2px; background:var(--blue); display:inline-block; }
  .wrap{ max-width:1240px; margin:0 auto; padding:0 32px; }
  section{ padding:100px 0; }
  @media(max-width:720px){ section{ padding:64px 0; } .wrap{ padding:0 20px; } }

  .btn{
    display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:0.95rem;
    padding:15px 28px; border-radius:4px; text-decoration:none; cursor:pointer;
    border:1.5px solid transparent; transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
  }
  .btn:focus-visible{ outline:2px solid var(--blue-deep); outline-offset:3px; }
  .btn-primary{ background:var(--blue); color:var(--white); box-shadow:0 8px 20px rgba(0,119,191,0.28); }
  .btn-primary:hover{ background:var(--blue-deep); transform:translateY(-1px); }
  .btn-dark{ background:var(--navy); color:var(--white); }
  .btn-dark:hover{ background:#000; transform:translateY(-1px); }
  .btn-outline{ background:transparent; color:var(--navy); border-color:var(--line); }
  .btn-outline:hover{ border-color:var(--navy); }
  .btn-outline-light{ background:transparent; color:var(--white); border-color:rgba(255,255,255,0.35); }
  .btn-outline-light:hover{ border-color:var(--white); }
  .btn-sm{ padding:10px 18px; font-size:0.86rem; }

  /* ===== TOP STRIP ===== */
  .topstrip{ background:var(--navy); color:rgba(255,255,255,0.85); font-size:0.82rem; }
  .topstrip .wrap{ display:flex; justify-content:space-between; align-items:center; padding:9px 32px; }
  .topstrip .t-links{ display:flex; gap:24px; }
  .topstrip a{ text-decoration:none; color:inherit; }
  .topstrip a:hover{ color:var(--sky); }
  @media(max-width:760px){ .topstrip .t-left{ display:none; } }

  /* ===== HEADER ===== */
  header{ position:sticky; top:0; z-index:100; background:rgba(255,255,255,0.98); backdrop-filter:blur(8px); border-bottom:1px solid var(--line-soft); }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 32px; max-width:1240px; margin:0 auto; position:relative; }
  .logo-link{ display:flex; align-items:center; }
  .logo-link img{ height:42px; width:auto; }
  .nav-links{ display:flex; align-items:center; gap:6px; list-style:none; margin:0; padding:0; }
  .nav-item{ position:relative; }
  .nav-trigger{
    display:flex; align-items:center; gap:6px; background:none; border:none; cursor:pointer;
    font-family:'Manrope',sans-serif; color:var(--ink); font-size:0.92rem; font-weight:600;
    padding:12px 14px; border-radius:6px; transition:background .15s ease, color .15s ease;
  }
  .nav-trigger:hover, .nav-trigger.open{ color:var(--blue); background:var(--gray-bg); }
  .nav-trigger svg{ width:14px; height:14px; transition:transform .2s ease; }
  .nav-trigger.open svg{ transform:rotate(180deg); }
  .nav-plain{ text-decoration:none; color:var(--ink); font-size:0.92rem; font-weight:600; padding:12px 14px; border-radius:6px; transition:background .15s ease, color .15s ease; }
  .nav-plain:hover{ color:var(--blue); background:var(--gray-bg); }
  .nav-cta{ display:flex; gap:14px; align-items:center; }
  .burger{ display:none; background:none; border:none; cursor:pointer; padding:6px; }
  .burger span{ display:block; width:22px; height:2px; background:var(--navy); margin:5px 0; }

  /* Mega menu panels */
  .mega-backdrop{
    position:fixed; inset:0; background:rgba(7,28,46,0.32); opacity:0; pointer-events:none;
    transition:opacity .25s ease; z-index:95;
  }
  .mega-backdrop.open{ opacity:1; pointer-events:auto; }
  .mega-panel{
    position:fixed; left:0; right:0; background:var(--white);
    border-top:1px solid var(--line-soft); box-shadow:0 30px 50px rgba(7,28,46,0.16);
    max-height:0; opacity:0; overflow:hidden; transition:max-height .38s cubic-bezier(.4,0,.2,1), opacity .28s ease;
    z-index:96;
  }
  .mega-panel.open{ max-height:620px; opacity:1; }
  .mega-inner{ display:grid; grid-template-columns:repeat(3, 1fr); gap:30px 40px; padding:36px 32px 0; max-width:1240px; margin:0 auto; }
  .mega-col h5{ font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--blue); margin:0 0 16px; }
  .mega-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
  .mega-col ul li a{ text-decoration:none; color:var(--navy); font-size:0.94rem; font-weight:600; position:relative; display:inline-block; transition:color .15s ease; }
  .mega-col ul li a:hover{ color:var(--blue); }
  .mega-col ul li a::before{ content:"→"; position:absolute; left:-18px; top:50%; transform:translate(-4px,-50%); opacity:0; transition:opacity .15s ease, transform .15s ease; color:var(--blue); font-weight:700; }
  .mega-col ul li a:hover::before{ opacity:1; transform:translate(0,-50%); }
  .mega-feature{
    grid-column:1 / -1; margin:30px 0 28px; background:var(--gray-bg); border-radius:10px; padding:20px 26px;
    display:flex; flex-direction:row; align-items:center; gap:22px;
  }
  .mega-feature svg{ width:32px; height:32px; color:var(--blue); flex-shrink:0; }
  .mega-feature h5{ color:var(--navy); font-size:1rem; font-weight:800; margin:0 0 4px; font-family:'Manrope',sans-serif; text-transform:none; letter-spacing:normal; }
  .mega-feature p{ margin:0; font-size:0.85rem; color:#5A6C7A; }
  .mega-feature .mf-text{ flex:1; }
  .mega-feature a{ font-weight:700; font-size:0.88rem; color:var(--blue); text-decoration:none; white-space:nowrap; }

  @media(max-width:980px){
    .nav-links{ display:none; }
    .burger{ display:block; }
    .nav-links.open{
      display:flex; flex-direction:column; align-items:stretch; position:absolute; top:100%; left:0; right:0;
      background:var(--white); padding:12px 20px 24px; gap:0; border-bottom:1px solid var(--line);
      max-height:80vh; overflow-y:auto;
    }
    .nav-links.open .nav-item{ border-bottom:1px solid var(--line-soft); }
    .nav-links.open .nav-trigger, .nav-links.open .nav-plain{ display:flex; width:100%; justify-content:space-between; padding:16px 4px; box-sizing:border-box; }
    .nav-links.open .nav-item:last-child{ border-bottom:none; }
    .mega-panel{ position:static; box-shadow:none; border-top:none; max-height:0; }
    .mega-panel.open{ max-height:1400px; }
    .mega-inner{ grid-template-columns:1fr; padding:6px 4px 0; gap:22px; }
    .mega-feature{ order:-1; flex-direction:column; align-items:flex-start; text-align:left; margin:10px 0 20px; }
    .mega-backdrop{ display:none; }
  }

  /* ===== HERO ===== */
  .hero{
    position:relative;
    background:
      radial-gradient(1100px 500px at 85% -10%, rgba(0,119,191,0.10), transparent 60%),
      var(--gray-bg);
    padding:76px 0 0;
  }
  .hero-blob-wrap{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
  .hero-blob{ position:absolute; top:-140px; right:-160px; width:640px; height:640px; border-radius:50%;
    background:conic-gradient(from 200deg, var(--blue), var(--sky), var(--blue-deep), var(--blue));
    opacity:0.14; filter:blur(4px); }
  .hero .wrap{ position:relative; z-index:2; }
  .hero-top{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:50px; align-items:center; padding-bottom:56px; }
  .hero h1{ font-size:clamp(2.5rem,4.6vw,3.9rem); color:var(--navy); }
  .hero h1 .accent{ color:var(--blue); }
  .hero p.lede{ font-size:1.12rem; color:#3A4C5C; max-width:520px; margin:22px 0 30px; }
  .hero-badge{
    display:inline-flex; align-items:center; gap:10px; background:var(--white); border:1px solid var(--line);
    padding:8px 16px 8px 8px; border-radius:999px; font-size:0.85rem; font-weight:700; color:var(--navy); margin-bottom:20px;
    box-shadow:0 4px 14px rgba(7,28,46,0.06);
  }
  .hero-badge .yr{ background:var(--navy); color:var(--white); font-family:'IBM Plex Mono',monospace; font-size:0.78rem; padding:4px 10px; border-radius:999px; }
  .hero-ctas .btn-text{ color:var(--navy); font-weight:700; font-size:0.95rem; text-decoration:none; display:inline-flex; align-items:center; gap:6px; padding:15px 4px; }
  .hero-ctas .btn-text:hover{ color:var(--blue); }

  .hero-graphic{
    aspect-ratio:1/1; border-radius:16px; position:relative;
    background:linear-gradient(155deg, var(--navy) 0%, var(--blue-deep) 55%, var(--blue) 100%);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
  }
  .hero-graphic svg{ width:78%; height:78%; }
  .hero-graphic .stat-pill{
    position:absolute; bottom:22px; left:22px; right:22px;
    background:rgba(255,255,255,0.12); backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,0.25); border-radius:10px; padding:16px 18px;
    display:flex; justify-content:space-between; color:var(--white);
  }
  .hero-graphic .stat-pill div{ text-align:center; }
  .hero-graphic .stat-pill .n{ font-weight:800; font-size:1.3rem; }
  .hero-graphic .stat-pill .l{ font-family:'IBM Plex Mono',monospace; font-size:0.62rem; text-transform:uppercase; letter-spacing:0.06em; opacity:0.8; }

  @media(max-width:940px){ .hero-top{ grid-template-columns:1fr; } .hero-graphic{ max-width:420px; margin:0 auto; } }
  @media(max-width:940px){ .hero-top{ max-width:100%; } }

  /* Job search card */
  .search-card{
    background:var(--white); border-radius:12px; box-shadow:0 20px 50px rgba(7,28,46,0.14);
    border:1px solid var(--line-soft); padding:10px; margin-bottom:-64px; position:relative; z-index:3;
  }
  .search-tabs{ display:flex; gap:6px; padding:8px 8px 0; }
  .search-tab{
    border:none; background:transparent; padding:12px 20px; font-weight:700; font-size:0.92rem; color:#6b7c8a;
    cursor:pointer; border-radius:8px 8px 0 0; font-family:'Manrope',sans-serif;
  }
  .search-tab.active{ color:var(--navy); background:var(--gray-bg); }
  .search-fields{ display:grid; grid-template-columns:1.4fr 1fr auto; gap:10px; padding:14px; }
  .search-fields input{
    padding:14px 16px; border:1.5px solid var(--line); border-radius:8px; font-family:'Manrope',sans-serif;
    font-size:0.95rem; background:var(--white); color:var(--ink); width:100%;
  }
  .search-fields input:focus{ outline:none; border-color:var(--blue); }
  .search-fields button{ white-space:nowrap; }
  @media(max-width:700px){ .search-fields{ grid-template-columns:1fr; } .search-card{ margin-bottom:0; } }

  /* ===== KPI BAND ===== */
  .kpi{ background:var(--navy); color:var(--white); margin-top:100px; }
  @media(max-width:700px){ .kpi{ margin-top:20px; } }
  .kpi .wrap{ display:grid; grid-template-columns:repeat(4,1fr); padding:52px 32px; }
  .kpi-item{ text-align:center; border-left:1px solid rgba(255,255,255,0.14); padding:0 12px; }
  .kpi-item:first-child{ border-left:none; }
  .kpi-num{ font-size:2.5rem; font-weight:800; }
  .kpi-num .u{ color:var(--sky); }
  .kpi-label{ font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.65); margin-top:6px; }
  @media(max-width:720px){ .kpi .wrap{ grid-template-columns:1fr 1fr; gap:28px 0; } .kpi-item{ border-left:none; } }

  /* ===== SECTION HEAD ===== */
  .sec-head{ max-width:660px; margin-bottom:52px; }
  .sec-head h2{ font-size:clamp(1.9rem,3.2vw,2.6rem); margin-top:12px; color:var(--navy); }
  .sec-head p{ color:#5A6C7A; margin-top:14px; font-size:1.04rem; }
  .sec-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

  /* ===== ABOUT ===== */
  .about{ background:var(--white); }
  .about .wrap{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center; }
  .about-art{ position:relative; }
  .about-art .badge-est{
    position:absolute; top:-18px; left:-18px; background:var(--blue); color:var(--white);
    font-family:'IBM Plex Mono',monospace; font-size:0.78rem; padding:10px 16px; border-radius:8px;
    box-shadow:0 10px 24px rgba(0,119,191,0.3); z-index:2;
  }
  .about-panel{
    background:linear-gradient(160deg, var(--navy), var(--blue-deep));
    border-radius:14px; padding:44px; color:var(--white); position:relative; overflow:hidden;
  }
  .about-panel svg{ position:absolute; opacity:0.15; right:-30px; bottom:-30px; width:220px; }
  .about-panel .yrs{ font-size:4.2rem; font-weight:800; }
  .about-panel .yrs-label{ font-family:'IBM Plex Mono',monospace; letter-spacing:0.08em; text-transform:uppercase; font-size:0.82rem; color:var(--sky); margin-top:4px; }
  .about-body p{ margin:0 0 18px; color:#33454F; font-size:1.03rem; }
  .about-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px; padding-top:26px; border-top:1px solid var(--line-soft); }
  .about-stats div .n{ font-weight:800; font-size:1.5rem; color:var(--navy); }
  .about-stats div .l{ font-family:'IBM Plex Mono',monospace; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.06em; color:#6b7c8a; margin-top:2px; }
  @media(max-width:900px){ .about .wrap{ grid-template-columns:1fr; } }

  /* ===== SERVICES ===== */
  .services{ background:var(--gray-bg); }
  .services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .svc{
    background:var(--white); border:1px solid var(--line-soft); border-radius:10px; padding:32px 28px;
    position:relative; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease;
  }
  .svc::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
  .svc:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(7,28,46,0.1); }
  .svc:hover::before{ transform:scaleX(1); }
  .svc-icon-badge{ width:52px; height:52px; border-radius:50%; background:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:18px; transition:transform .2s ease; }
  .svc:hover .svc-icon-badge{ transform:scale(1.08); }
  .svc-icon{ width:24px; height:24px; color:var(--white); }
  .svc h3{ font-size:1.18rem; color:var(--navy); margin-bottom:10px; font-weight:700; }
  .svc p{ font-size:0.93rem; color:#5A6C7A; margin:0; }
  @media(max-width:900px){ .services-grid{ grid-template-columns:1fr 1fr; } }
  @media(max-width:560px){ .services-grid{ grid-template-columns:1fr; } }

  /* ===== INDUSTRIES ===== */
  .industries-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
  .ind-tile{
    display:flex; flex-direction:column; gap:12px; padding:24px 20px; border:1px solid var(--line);
    border-radius:8px; transition:all .2s ease; cursor:default;
  }
  .ind-tile svg{ width:26px; height:26px; color:var(--blue); transition:color .2s ease; }
  .ind-tile span{ font-weight:700; font-size:0.95rem; color:var(--navy); transition:color .2s ease; }
  .ind-tile:hover{ background:var(--navy); border-color:var(--navy); }
  .ind-tile:hover svg{ color:var(--sky); }
  .ind-tile:hover span{ color:var(--white); }
  @media(max-width:900px){ .industries-grid{ grid-template-columns:repeat(2,1fr); } }

  /* ===== PROCESS ===== */
  .process{ background:var(--white); }
  .process-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
  .process-row::before{ content:""; position:absolute; top:26px; left:8%; right:8%; height:2px; background:var(--line); z-index:0; }
  .p-step{ position:relative; z-index:1; padding:0 18px; text-align:left; }
  .p-circle{
    width:52px; height:52px; border-radius:50%; background:var(--navy); color:var(--white);
    display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1.1rem;
    margin-bottom:20px; font-family:'IBM Plex Mono',monospace;
  }
  .p-step h4{ font-size:1.08rem; color:var(--navy); margin-bottom:8px; }
  .p-step p{ font-size:0.9rem; color:#5A6C7A; margin:0; }
  @media(max-width:820px){ .process-row{ grid-template-columns:1fr 1fr; gap:32px 0; } .process-row::before{ display:none; } }
  @media(max-width:560px){ .process-row{ grid-template-columns:1fr; } }

  /* ===== WHY ===== */
  .why{ background:var(--gray-bg); }
  .why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
  .why-icon-badge{ width:56px; height:56px; border-radius:50%; background:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
  .why-item svg{ width:26px; height:26px; color:var(--white); }
  .why-item h4{ font-size:1.05rem; color:var(--navy); margin-bottom:8px; }
  .why-item p{ font-size:0.92rem; color:#5A6C7A; margin:0; }
  @media(max-width:820px){ .why-grid{ grid-template-columns:1fr 1fr; } }
  @media(max-width:520px){ .why-grid{ grid-template-columns:1fr; } }

  /* ===== CAREERS ===== */
  .careers{ background:var(--navy); color:var(--white); }
  .careers .sec-head h2{ color:var(--white); }
  .careers .sec-head p{ color:rgba(255,255,255,0.65); }
  .filter-pills{ display:flex; gap:10px; margin-bottom:30px; flex-wrap:wrap; }
  .fpill{
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); color:rgba(255,255,255,0.8);
    padding:9px 18px; border-radius:999px; font-size:0.85rem; font-weight:600; cursor:pointer; font-family:'Manrope',sans-serif;
    transition:all .15s ease;
  }
  .fpill.active, .fpill:hover{ background:var(--blue); border-color:var(--blue); color:var(--white); }
  .job-list{ display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,0.14); }
  .job{
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr auto; gap:16px; align-items:center;
    padding:22px 8px; border-bottom:1px solid rgba(255,255,255,0.14); transition:background .15s ease;
  }
  .job:hover{ background:rgba(255,255,255,0.03); }
  .job h4{ color:var(--white); font-size:1.02rem; font-weight:700; }
  .job .tag{ font-family:'IBM Plex Mono',monospace; font-size:0.76rem; color:var(--sky); }
  .job .apply{ justify-self:end; }
  @media(max-width:820px){
    .job{ grid-template-columns:1fr 1fr; row-gap:8px; }
    .job h4{ grid-column:1/-1; }
    .job .apply{ grid-column:1/-1; justify-self:start; margin-top:6px; }
  }
  .careers-note{
    margin-top:30px; padding:24px 28px; background:rgba(255,255,255,0.05); border:1px dashed rgba(255,255,255,0.25);
    border-radius:8px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
  }
  .careers-note p{ margin:0; color:rgba(255,255,255,0.75); font-size:0.95rem; }

  /* ===== TESTIMONIALS ===== */
  .testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  .testi{ background:var(--white); border:1px solid var(--line); border-radius:10px; padding:32px; }
  .testi .avatar{
    width:46px; height:46px; border-radius:50%; background:var(--blue); color:var(--white);
    display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:20px;
  }
  .testi p.quote{ font-size:0.98rem; color:var(--ink); margin:0 0 20px; }
  .testi .who{ font-weight:700; font-size:0.88rem; color:var(--navy); }
  .testi .role{ font-family:'IBM Plex Mono',monospace; font-size:0.74rem; color:#6b7c8a; margin-top:2px; }
  @media(max-width:900px){ .testi-grid{ grid-template-columns:1fr; } }

  /* ===== CTA BAND ===== */
  .cta-band{ background:linear-gradient(120deg, var(--blue-deep), var(--blue)); color:var(--white); }
  .cta-band .wrap{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:30px; padding:64px 32px; }
  .cta-band h2{ font-size:clamp(1.6rem,2.8vw,2.1rem); color:var(--white); max-width:480px; }
  .cta-band .ctas{ display:flex; gap:14px; flex-wrap:wrap; }

  /* ===== CONTACT ===== */
  .contact .wrap{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; }
  .contact-info h3{ color:var(--navy); font-size:1.35rem; margin-bottom:20px; }
  .info-row{ margin-bottom:20px; font-size:0.96rem; }
  .info-row .lbl{ font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--blue); display:block; margin-bottom:6px; }
  .info-row a{ text-decoration:none; }
  .info-row a:hover{ color:var(--blue); }
  .map-box{ margin-top:24px; border-radius:10px; overflow:hidden; border:1px solid var(--line); }
  .map-box iframe{ width:100%; height:200px; border:0; display:block; }
  form{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  form .full{ grid-column:1/-1; }
  label{ font-size:0.83rem; font-weight:700; color:var(--navy); display:block; margin-bottom:6px; }
  input, select, textarea{
    width:100%; padding:13px 14px; border:1.5px solid var(--line); border-radius:6px;
    font-family:'Manrope',sans-serif; font-size:0.95rem; background:var(--white); color:var(--ink);
  }
  input:focus, select:focus, textarea:focus{ outline:none; border-color:var(--blue); }
  textarea{ resize:vertical; min-height:110px; }
  form .full.submit{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
  .form-note{ font-size:0.82rem; color:#5A6C7A; margin:0; }
  @media(max-width:860px){ .contact .wrap{ grid-template-columns:1fr; } form{ grid-template-columns:1fr; } }

  /* ===== FOOTER ===== */
  footer{ background:var(--navy); color:rgba(255,255,255,0.7); padding:64px 0 28px; }
  .foot-logo-chip{ background:var(--white); display:inline-flex; padding:10px 16px; border-radius:8px; margin-bottom:16px; }
  .foot-logo-chip img{ height:30px; }
  .foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.12); }
  .foot-grid h5{ font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--sky); margin:0 0 16px; }
  .foot-grid ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
  .foot-grid a{ text-decoration:none; color:rgba(255,255,255,0.7); font-size:0.9rem; }
  .foot-grid a:hover{ color:var(--white); }
  .foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:0.82rem; flex-wrap:wrap; gap:12px; }
  .social-row{ display:flex; gap:10px; margin-top:16px; }
  .social-row a{ width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; }
  .social-row a:hover{ background:var(--blue); border-color:var(--blue); }
  .social-row svg{ width:16px; height:16px; }
  @media(max-width:760px){ .foot-grid{ grid-template-columns:1fr 1fr; } }

  /* ===== INNER PAGE HERO ===== */
  .page-hero{
    background:
      radial-gradient(900px 400px at 85% -10%, rgba(0,119,191,0.10), transparent 60%),
      var(--gray-bg);
    padding:56px 0 60px; position:relative; overflow:hidden;
  }
  .breadcrumb{ font-family:'IBM Plex Mono',monospace; font-size:0.8rem; color:#5A6C7A; margin-bottom:18px; }
  .breadcrumb a{ text-decoration:none; color:#5A6C7A; }
  .breadcrumb a:hover{ color:var(--blue); }
  .page-hero h1{ font-size:clamp(2.1rem,4vw,3.1rem); color:var(--navy); max-width:760px; }
  .page-hero p.lede{ font-size:1.08rem; color:#3A4C5C; max-width:620px; margin:18px 0 0; }
  .page-hero-graphic{
    width:150px; height:150px; border-radius:16px; flex-shrink:0;
    background:linear-gradient(155deg, var(--navy) 0%, var(--blue-deep) 55%, var(--blue) 100%);
    display:flex; align-items:center; justify-content:center;
  }
  .page-hero-graphic svg{ width:62%; height:62%; }
  @media(max-width:760px){ .page-hero-graphic{ display:none; } }

  /* Animated background filler for hero/page-hero */
  .bg-motion{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
  .bg-motion .dot-grid{
    position:absolute; inset:-40px;
    background-image:radial-gradient(circle, rgba(0,119,191,0.20) 1.6px, transparent 1.6px);
    background-size:28px 28px;
  }
  .bg-motion .bg-shape{
    position:absolute; border-radius:50%;
    background:radial-gradient(circle, rgba(111,195,237,0.55), rgba(111,195,237,0) 70%);
    filter:blur(2px);
  }
  .bg-motion.on-dark .dot-grid{
    background-image:radial-gradient(circle, rgba(255,255,255,0.35) 1.6px, transparent 1.6px);
  }
  .hero .wrap{ position:relative; }
  .page-hero > .wrap{ position:relative; z-index:1; }
  @media (prefers-reduced-motion: no-preference) {
    .bg-motion .dot-grid{ animation:driftGrid 14s linear infinite; }
    @keyframes driftGrid{ from{ transform:translate(0,0); } to{ transform:translate(28px,28px); } }
    .bg-motion .bg-shape.s1{ width:180px; height:180px; top:-40px; left:12%; animation:floatY 7s ease-in-out infinite; }
    .bg-motion .bg-shape.s2{ width:120px; height:120px; bottom:-30px; left:38%; animation:floatY 5.5s ease-in-out infinite 0.8s; }
    .bg-motion .bg-shape.s3{ width:150px; height:150px; top:10%; right:22%; animation:floatY 6.5s ease-in-out infinite 1.4s; }
  }
  @media (prefers-reduced-motion: reduce) {
    .bg-motion .dot-grid{ opacity:0.6; }
  }

  /* ===== DETAIL PAGE CONTENT ===== */
  .detail-grid{ display:grid; grid-template-columns:1.4fr 0.9fr; gap:60px; align-items:start; }
  .detail-body p{ color:#33454F; font-size:1.03rem; margin:0 0 18px; }
  .detail-body h3{ color:var(--navy); font-size:1.35rem; margin:36px 0 16px; }
  .check-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
  .check-list li{ display:flex; align-items:flex-start; gap:12px; font-size:0.98rem; color:#33454F; }
  .check-list svg{ width:20px; height:20px; color:var(--blue); flex-shrink:0; margin-top:2px; }
  .side-card{ background:var(--gray-bg); border-radius:12px; padding:30px; position:sticky; top:110px; }
  .side-card h4{ color:var(--navy); font-size:1.1rem; margin-bottom:14px; }
  .side-card p{ font-size:0.92rem; color:#5A6C7A; margin:0 0 20px; }
  .side-card ul{ list-style:none; padding:0; margin:0 0 22px; display:flex; flex-direction:column; gap:10px; }
  .side-card ul a{ text-decoration:none; font-size:0.9rem; font-weight:600; color:var(--navy); display:flex; align-items:center; gap:8px; }
  .side-card ul a:hover{ color:var(--blue); }
  .related-services{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
  .related-card{
    background:var(--white); border:1px solid var(--line); border-radius:8px; padding:22px; text-decoration:none;
    display:block; transition:all .2s ease;
  }
  .related-card:hover{ border-color:var(--blue); transform:translateY(-3px); box-shadow:0 14px 30px rgba(7,28,46,0.08); }
  .related-card h5{ color:var(--navy); font-size:1rem; margin:0 0 8px; }
  .related-card p{ color:#5A6C7A; font-size:0.86rem; margin:0; }
  @media(max-width:900px){ .detail-grid{ grid-template-columns:1fr; } .side-card{ position:static; } .related-services{ grid-template-columns:1fr; } }

  /* ===== INDUSTRY DETAIL BLOCKS (industries.html) ===== */
  .industry-block{ display:grid; grid-template-columns:80px 1fr auto; gap:24px; padding:30px 0; border-bottom:1px solid var(--line-soft); align-items:center; text-decoration:none; transition:padding-left .2s ease; }
  .industry-block:hover{ padding-left:10px; }
  .industry-block .ic{ width:56px; height:56px; border-radius:10px; background:var(--gray-bg); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .industry-block .ic svg{ width:28px; height:28px; color:var(--blue); }
  .industry-block h4{ color:var(--navy); font-size:1.15rem; margin-bottom:8px; }
  .industry-block p{ color:#5A6C7A; font-size:0.94rem; margin:0; max-width:640px; }
  .industry-block .arrow{ color:var(--blue); font-weight:700; font-size:1.3rem; flex-shrink:0; }
  @media(max-width:560px){ .industry-block{ grid-template-columns:1fr; } .industry-block .arrow{ display:none; } }

  /* ===== ANIMATIONS ===== */
  @media (prefers-reduced-motion: no-preference) {
    .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
    .reveal.in-view{ opacity:1; transform:translateY(0); }
    .reveal-stagger.in-view .r-child{ opacity:1; transform:translateY(0); }
    .reveal-stagger .r-child{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
    .reveal-stagger .r-child:nth-child(1){ transition-delay:.02s; }
    .reveal-stagger .r-child:nth-child(2){ transition-delay:.09s; }
    .reveal-stagger .r-child:nth-child(3){ transition-delay:.16s; }
    .reveal-stagger .r-child:nth-child(4){ transition-delay:.23s; }
    .reveal-stagger .r-child:nth-child(5){ transition-delay:.30s; }
    .reveal-stagger .r-child:nth-child(6){ transition-delay:.37s; }

    @keyframes floatY{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
    @keyframes spinSlow{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
    @keyframes pulseSoft{ 0%,100%{ opacity:0.14; } 50%{ opacity:0.22; } }

    .page-hero-graphic{ animation:floatY 4.5s ease-in-out infinite; }
    .about-panel svg{ animation:spinSlow 50s linear infinite; transform-origin:center; }
    .kpi-item{ transition:transform .25s ease; }
    .kpi-item:hover{ transform:translateY(-3px); }
  }

/* Pagination */
.pagination, .nav-links.pagination{ display:flex; gap:8px; justify-content:center; }
.page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px;
  padding:0 12px; border-radius:6px; border:1px solid var(--line); color:var(--navy);
  text-decoration:none; font-weight:600; font-size:0.9rem;
}
.page-numbers.current{ background:var(--blue); border-color:var(--blue); color:var(--white); }
.page-numbers:hover{ border-color:var(--blue); color:var(--blue); }
