:root {
      --blue:        #0C5C96 !important;
      --blue-dark:   #094e82 !important;
      --blue-light:  #1a6fad !important;
      --blue-pale:   #EAF3FB;
      --blue-pale-2: #D6EAF8;
      --beige:       #F5F1E8;
      --beige-mid:   #EDE5D4;
      --beige-dark:  #E0D5C0;
      --beige-border:#D8D0BC;
      --text:        #1A1A2E;
      --text-soft:   #4A5568;
      --text-faint:  #8A94A6;
      --white:       #FFFFFF;
      --success:     #1A7F5A;
      --success-pale:#E6F4EE;
      --font-head: "Manrope", system-ui, sans-serif;
      --font-body: "Inter", system-ui, sans-serif;
      --max-w: 1160px;
      --header-h: 132px;
      --radius-sm: 4px;
      --radius-md: 8px;
      --radius-lg: 14px;
      --t: 0.22s cubic-bezier(0.4, 0, 0.2, 1);
      --shadow-card: 0 8px 32px rgba(12, 92, 150, 0.10);
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
    body { font-family: var(--font-body); color: var(--text); background: var(--beige); line-height: 1.6; -webkit-font-smoothing: antialiased; }
    img { max-width: 100%; display: block; }
    a { text-decoration: none; color: inherit; }
    ul { list-style: none; }
    .wrap { width: 100%; max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }
    .skip-link { position: absolute; left: -9999px; }
    .skip-link:focus { left: 1rem; top: 1rem; z-index: 9999; padding: 0.5rem 1rem; background: var(--text); color: #fff; border-radius: 4px; }
    .scroll-bar { position: fixed; top: 0; left: 0; height: 3px; z-index: 2000; width: 0; background: var(--blue); transition: width 0.1s linear; pointer-events: none; }

    /* HEADER */
    .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: var(--header-h); background: var(--white); border-bottom: 1px solid var(--beige-border); transition: box-shadow var(--t); }
    .site-header.is-scrolled { box-shadow: 0 4px 20px rgba(12,92,150,0.1); }
    .header-inner { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; max-width: var(--max-w); margin: 0 auto; }
    .brand-logo { height: 38px; width: auto; }
    .header-actions { display: flex; align-items: center; gap: 16px; }
    .header-phone { display: flex; align-items: center; gap: 6px; font-family: var(--font-body); font-size: 0.88rem; font-weight: 500; color: var(--text-soft); }
    .header-phone:hover { color: var(--blue); }
    .btn { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-body); font-weight: 600; font-size: 0.88rem; border-radius: var(--radius-sm); border: 1.5px solid transparent; cursor: pointer; transition: background var(--t), color var(--t); white-space: nowrap; padding: 10px 20px; }
    .btn-primary { background: var(--blue); color: #fff; }
    .btn-primary:hover { background: var(--blue-dark); }
    .nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 6px; flex-direction: column; gap: 5px; border-radius: 4px; }
    .nav-toggle span { display: block; width: 22px; height: 2px; background: var(--text); border-radius: 2px; }
    .main-nav { background: rgba(245,241,232,0.95); backdrop-filter: blur(12px); border-top: 1px solid var(--beige-border); height: 60px; display: flex; align-items: center; }
    .nav-list { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 4px; width: 100%; }
    .nav-link { font-family: var(--font-body); font-size: 0.88rem; font-weight: 500; color: var(--text-soft); padding: 8px 14px; border-radius: var(--radius-sm); transition: color var(--t), background var(--t); }
    .nav-link:hover, .nav-link.is-active { color: var(--blue); }
    .nav-link.is-active { background: var(--blue-pale); }
    @media (max-width: 768px) {
      .nav-toggle { display: flex; }
      .main-nav { display: none; height: auto; }
      .main-nav.is-open { display: block; }
      .nav-list { flex-direction: column; align-items: stretch; padding: 8px 16px 16px; gap: 2px; }
      .header-phone { display: none; }
      .site-header { height: auto; }
    }
    .page-body { padding-top: 0; }

    /* pw_hero */
    .pw_hero { background: var(--blue) !important; overflow: hidden; position: relative; }
    .pw_hero::before { content: ""; position: absolute; top: -120px; left: -120px; width: 500px; height: 500px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 65%); }
    .pw_hero-layout { display: grid; grid-template-columns: 1fr 400px; height: 100vh; max-height: 760px; min-height: 540px; position: relative; z-index: 1; }
    @media (max-width: 960px) { .pw_hero-layout { grid-template-columns: 1fr; height: auto; max-height: none; min-height: auto; } }
    .pw_hero-copy { padding: clamp(2rem,4vw,3rem) 2rem clamp(2rem,4vw,3rem) max(24px,calc((100vw - var(--max-w)) / 2 + 24px)); display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
    @media (max-width: 1184px) { .pw_hero-copy { padding-left: 24px; } }
    @media (max-width: 960px) { .pw_hero-copy { padding: clamp(2.5rem,5vw,3.5rem) 24px; } }
    .pw_hero-breadcrumb { display: flex; align-items: center; gap: 0.45rem; font-size: 0.78rem; color: rgba(255,255,255,0.5); margin-bottom: 0.85rem; }
    .pw_hero-breadcrumb a { color: rgba(255,255,255,0.65); }
    .pw_hero-breadcrumb a:hover { color: #fff; }
    .pw_hero-breadcrumb-sep { opacity: 0.4; }
    .pw_hero-eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--font-head); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.75); background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.22); padding: 5px 14px; border-radius: 99px; margin-bottom: 1.1rem; width: fit-content; }
    .pw_hero h1 { font-family: var(--font-head); font-weight: 900; font-size: clamp(1.65rem,3vw,2.35rem); letter-spacing: -0.04em; line-height: 1.12; color: #fff; margin-bottom: 0.65rem; max-width: 32rem; }
    .pw_hero h1 em { font-style: normal; color: #A8D8F0; }
    .pw_hero-title-sep { width: 36px; height: 2px; background: rgba(168,216,240,0.55); border-radius: 2px; margin: 0.6rem 0; }
    .pw_hero-h2 { font-family: var(--font-head); font-weight: 600; font-size: clamp(1.05rem,1.8vw,1.3rem); letter-spacing: -0.02em; line-height: 1.25; color: rgba(255,255,255,0.72); margin-bottom: 0.65rem; }
    .pw_hero-kicker { font-size: 0.73rem; font-weight: 600; color: rgba(255,255,255,0.55); letter-spacing: 0.04em; margin-bottom: 0.85rem; }
    .pw_hero-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; margin-bottom: 1.1rem; }
    @media (max-width: 600px) { .pw_hero-panels { grid-template-columns: 1fr; } }
    .pw_hero-panel { padding: 0.8rem 1rem 0.9rem; border-radius: var(--radius-md); background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.16); border-top: 2px solid rgba(168,216,240,0.5); }
    .pw_hero-panel-title { font-family: var(--font-head); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #A8D8F0; margin-bottom: 0.35rem; }
    .pw_hero-panel ul { font-size: 0.8rem; color: rgba(255,255,255,0.82); padding-left: 1rem; line-height: 1.5; }
    .pw_hero-panel li { margin-bottom: 0.25rem; }
    .pw_hero-scope { display: flex; flex-wrap: wrap; gap: 0.3rem 0.45rem; margin-bottom: 1.1rem; }
    .pw_hero-scope-chip { font-size: 0.7rem; font-weight: 500; color: rgba(255,255,255,0.55); background: rgba(0,0,0,0.18); border: 1px solid rgba(255,255,255,0.1); padding: 3px 9px; border-radius: 99px; }
    .pw_hero-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }
    .pw_hero-btn-primary { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-body); font-size: 0.88rem; font-weight: 700; background: #fff; color: var(--blue); border: none; border-radius: var(--radius-sm); padding: 11px 22px; cursor: pointer; transition: background var(--t); }
    .pw_hero-btn-primary:hover { background: var(--blue-pale); }
    .pw_hero-btn-secondary { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-body); font-size: 0.88rem; font-weight: 600; background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.9); border: 1.5px solid rgba(255,255,255,0.28); border-radius: var(--radius-sm); padding: 11px 22px; cursor: pointer; transition: background var(--t), border-color var(--t); }
    .pw_hero-btn-secondary:hover { background: rgba(255,255,255,0.18); border-color: rgba(255,255,255,0.5); }
    .pw_hero-image-panel { position: relative; overflow: hidden; display: flex; align-items: flex-end; min-height: 0; }
    @media (max-width: 960px) { .pw_hero-image-panel { height: 280px; align-items: center; } }
    .pw_hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 88% top; display: block; }
    .pw_hero-image-panel::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(to right, rgba(12,92,150,0.45) 0%, rgba(12,92,150,0.15) 45%, rgba(12,92,150,0.15) 100%); }
    @media (max-width: 960px) { .pw_hero-image-panel::before { background: linear-gradient(to bottom, rgba(12,92,150,0.45) 0%, rgba(12,92,150,0.15) 50%, rgba(12,92,150,0.15) 100%); } }
    .pw_hero-stats { position: absolute; bottom: 0; left: 0; right: 0; z-index: 2; display: flex; gap: 0; }
    .pw_hero-stat { flex: 1; padding: 0.75rem 1rem; background: rgba(4,30,58,0.78); backdrop-filter: blur(8px); border-top: 1px solid rgba(255,255,255,0.1); border-right: 1px solid rgba(255,255,255,0.08); text-align: center; }
    .pw_hero-stat:last-child { border-right: none; }
    .pw_hero-stat-num { display: block; font-family: var(--font-head); font-size: 1.5rem; font-weight: 900; color: #A8D8F0; line-height: 1; }
    .pw_hero-stat-label { display: block; font-size: 0.68rem; color: rgba(255,255,255,0.55); margin-top: 3px; }

    /* SECTION COMMONS */
    .section-header { text-align: center; margin-bottom: 2.5rem; }
    .section-eyebrow { display: inline-block; font-family: var(--font-head); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--blue); background: var(--blue-pale); border: 1px solid rgba(12,92,150,0.15); padding: 4px 14px; border-radius: 99px; margin-bottom: 0.8rem; }
    .section-title { font-family: var(--font-head); font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.2; color: var(--text); margin-bottom: 0.65rem; }
    .section-lead { font-size: 1rem; color: var(--text-soft); max-width: 680px; margin: 0 auto; line-height: 1.7; }

    /* SERVICES GRID */
    .services-section { padding: clamp(3rem,6vw,4.5rem) 0; background: var(--white); }
    .services-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
    @media (max-width: 1000px) { .services-row { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 560px) { .services-row { grid-template-columns: 1fr; } }
    .svc-card { background: var(--beige); border: 1.5px solid var(--beige-border); border-radius: var(--radius-lg); padding: 1.1rem; display: flex; flex-direction: column; gap: 0.6rem; transition: transform var(--t), box-shadow var(--t), border-color var(--t); }
    .svc-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(12,92,150,0.1); border-color: var(--blue); }
    .svc-icon-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.35rem; }
    .svc-icon { width: 34px; height: 34px; border-radius: var(--radius-md); background: var(--blue); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .svc-icon svg { width: 15px; height: 15px; }
    .svc-num { font-family: var(--font-head); font-size: 1.15rem; font-weight: 900; color: rgba(12,92,150,0.12); letter-spacing: -0.05em; }
    .svc-tag { display: inline-block; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--blue); background: var(--blue-pale); border: 1px solid rgba(12,92,150,0.15); padding: 2px 8px; border-radius: 99px; width: fit-content; }
    .svc-title { font-family: var(--font-head); font-size: 0.95rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; color: var(--text); }
    .svc-card-body { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; }
    .svc-desc { font-size: 0.8rem; color: var(--text-soft); line-height: 1.5 !important; font-weight: 500; }
    .svc-caps { display: flex; flex-direction: column; gap: 4px; margin: 0;}
    .svc-cap { display: flex; align-items: flex-start; gap: 0.45rem; font-size: 0.74rem; color: var(--text-soft); line-height: 1.6;font-weight: 500; }
    .svc-check { flex-shrink: 0; width: 13px; height: 13px; border-radius: 50%; background: var(--blue-pale); border: 1.5px solid rgba(12,92,150,0.2); display: flex; align-items: center; justify-content: center; margin-top: 1px; }
    .svc-card-foot { display: flex; align-items: center; gap: 0.4rem; margin-top: auto; padding-top: 0.4rem; border-top: 1px solid var(--beige-border); }
    .svc-cta-label { font-size: 0.8rem; font-weight: 700; color: var(--blue); }
    .svc-arrow { display: flex; align-items: center; transition: transform var(--t); }
    .svc-card:hover .svc-arrow { transform: translateX(4px); }

    /* AI ACCELERATORS */
    .accelerators-section { padding: clamp(2rem,4vw,2.75rem) 0; background: var(--beige); }
    .acc-grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: auto repeat(4, 1fr); gap: 0.75rem 1.5rem; margin-top: 1.25rem; }
    @media (max-width: 760px) { .acc-grid { grid-template-columns: 1fr; } }
    .acc-group-title { font-family: var(--font-head); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; padding-bottom: 0.35rem; }
    .acc-card { background: var(--white); border: 1.5px solid var(--beige-border); border-radius: var(--radius-md); padding: 0.75rem 0.9rem; transition: border-color var(--t), box-shadow var(--t); display: flex; flex-direction: column; gap: 0.35rem; height: 100%; }
    .acc-card:hover { border-color: var(--blue); box-shadow: var(--shadow-card); }
    .acc-name { font-family: var(--font-head); font-size: 0.85rem; font-weight: 800; color: var(--blue); margin-bottom: 0.1rem; }
    .acc-desc { font-size: 0.8rem; color: var(--text-soft); line-height: 1.45; flex: 1; font-weight: 500; }
    .acc-cta { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.74rem; font-weight: 700; color: var(--blue); margin-top: auto; padding-top: 0.35rem; border-top: 1px solid var(--beige-border); width: fit-content; }
    .acc-cta:hover { color: var(--blue-dark); }
    .acc-cta svg { transition: transform var(--t); }
    .acc-cta:hover svg { transform: translateX(3px); }

    /* CASE STUDIES */
    .cs-section{padding:clamp(3rem,6vw,4.5rem) 0;background:var(--white);border-top:1px solid var(--beige-border);}
    .cs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2rem;}
    @media(max-width:1100px){.cs-grid{grid-template-columns:repeat(2,1fr);}}
    @media(max-width:640px){.cs-grid{grid-template-columns:1fr;}}
    .cs-card{background:var(--white);border:1.5px solid var(--beige-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--t),transform var(--t);}
    .cs-card:hover{box-shadow:0 16px 48px rgba(12,92,150,0.13);transform:translateY(-3px);}
    .cs-img{width:100%;height:170px;object-fit:cover;display:block;}
    .cs-img-placeholder{width:100%;height:170px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
    .cs-body{padding:1.2rem 1.2rem 1.4rem;display:flex;flex-direction:column;flex:1;}
    .cs-region{font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.5rem;}
    .cs-client-type{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;background:var(--blue-pale);color:var(--blue);border:1px solid rgba(12,92,150,.15);padding:3px 9px;border-radius:99px;margin-bottom:.65rem;}
    .cs-title{font-family:var(--font-head);font-size:.92rem;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.28;margin-bottom:.5rem;}
    .cs-excerpt{font-size:.79rem;color:var(--text-soft);line-height:1.55;margin-bottom:.9rem;flex:1;}
    .cs-link{display:inline-flex;align-items:center;gap:6px;font-size:.79rem;font-weight:700;color:var(--blue);text-decoration:none;margin-top:auto;}

    /* TRUST STRIP */
    .trust-section { padding: 0.5rem 0; background: #0c5c96; }
    .trust-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.5rem 2.5rem; }
    .trust-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; font-weight: 600; color: rgba(255,255,255,0.9); }
    .trust-dot { width: 6px; height: 6px; border-radius: 50%; background: #A8D8F0; flex-shrink: 0; }

    /* CONTACT */
    .contact-section { padding: clamp(3rem,6vw,4.5rem) 0; background: var(--blue); }
    .contact-inner { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; }
    @media (max-width: 860px) { .contact-inner { grid-template-columns: 1fr; } }
    .contact-heading { font-family: var(--font-head); font-size: clamp(1.4rem,2.5vw,1.9rem); font-weight: 800; color: #fff; letter-spacing: -0.03em; line-height: 1.2; margin-bottom: 0.65rem; }
    .contact-sub { font-size: 0.92rem; color: rgba(255,255,255,0.65); line-height: 1.65; margin-bottom: 1.5rem; }
    .contact-form { display: flex; flex-direction: column; gap: 0.75rem; }
    .contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
    @media (max-width: 480px) { .contact-row { grid-template-columns: 1fr; } }
    .contact-form input, .contact-form textarea, .contact-form select { width: 100%; padding: 10px 14px; border-radius: var(--radius-sm); border: 1.5px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.08); color: #fff; font-family: var(--font-body); font-size: 0.88rem; outline: none; transition: border-color var(--t); }
    .contact-form input::placeholder, .contact-form textarea::placeholder { color: rgba(255,255,255,0.4); }
    .contact-form select option { background: var(--blue-dark); color: #fff; }
    .contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: rgba(168,216,240,0.6); box-shadow: 0 0 0 3px rgba(168,216,240,0.15); }
    .contact-form textarea { min-height: 72px; }
    .contact-submit { display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: 100%; padding: 10px 22px; border-radius: 99px; font-size: 0.85rem; font-weight: 700; font-family: inherit; cursor: pointer; border: none; background: #fff; color: var(--blue); box-shadow: 0 4px 16px rgba(12,92,150,0.4); transition: transform var(--t), box-shadow var(--t), background var(--t); }
    .contact-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(12,92,150,0.5); background: var(--blue-pale); }
    .contact-note { font-size: 0.72rem; color: rgba(255,255,255,0.4); margin-top: 0.75rem; text-align: center; }
    .contact-sidebar { display: flex; flex-direction: column; gap: 1rem; }
    .contact-info-card { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-lg); padding: 1.25rem; }
    .contact-sidebar-title { font-family: var(--font-head); font-size: 0.8rem; font-weight: 700; color: #fff; margin-bottom: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; }
    .contact-info-list { display: flex; flex-direction: column; gap: 0.6rem; }
    .contact-info-list li { display: flex; flex-direction: column; gap: 2px; font-size: 0.78rem; color: rgba(255,255,255,0.75); }
    .contact-info-list li strong { color: rgba(255,255,255,0.5); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.05em; }
    .contact-info-list li a { color: rgba(255,255,255,0.9); }
    .contact-quick { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-lg); padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: 0.5rem; }
    .contact-quick li { font-size: 0.8rem; color: rgba(255,255,255,0.75); padding-left: 14px; position: relative; }
    .contact-quick li::before { content: "✓"; position: absolute; left: 0; color: #60C689; font-size: 0.75rem; }

    /* FOOTER */
    .site-footer { background: #0D1B2A; color: rgba(255,255,255,0.5); padding: 2.5rem 0; }
    .footer-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
    .footer-logo { height: 28px; width: auto; opacity: 0.7; }
    .footer-copy { font-size: 0.8rem; }
    .footer-links { display: flex; gap: 1.5rem; }
    .footer-links a { font-size: 0.8rem; color: rgba(255,255,255,0.4); }
    .footer-links a:hover { color: rgba(255,255,255,0.8); }

    .back-to-top {
      position: fixed;
      bottom: 28px;
      right: 28px;
      z-index: 999;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: var(--blue);
      color: #ffffff;
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 16px rgba(12, 92, 150, 0.35);
      opacity: 0;
      visibility: hidden;
      transform: translateY(12px);
      transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease, background 0.2s ease;
    }
    .back-to-top.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .back-to-top:hover {
      background: var(--blue-dark);
      box-shadow: 0 6px 24px rgba(12, 92, 150, 0.45);
    }
    @media (max-width: 640px) {
      .back-to-top { bottom: 20px; right: 20px; width: 40px; height: 40px; }
    }

    /* Homepage-aligned visual system */
    :root {
      --blue: #0761bc;
      --blue-dark: #034c96;
      --blue-light: #12a8e7;
      --blue-pale: #eaf4fb;
      --blue-pale-2: #dcecf7;
      --beige: #f3f8fc;
      --beige-mid: #e8f1f7;
      --beige-dark: #d8e7f0;
      --beige-border: #d9e5ef;
      --text: #07182f;
      --text-soft: #4A5568;
      --text-faint: #8292a2;
  --font-heading: "Manrope", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
      --shadow-card: 0 16px 45px rgba(7, 36, 65, .10);
    }
    body { background: #fff; color: var(--text); font-family: var(--font-body); }
    .wrap { max-width: 1320px; padding-left: 36px; padding-right: 36px; }
    .pw_hero { background: linear-gradient(118deg, #041224 0%, #072343 56%, #062a4b 100%); }
    .pw_hero::before { background: radial-gradient(circle, rgba(18,168,231,.18) 0%, transparent 68%); }
    .pw_hero-copy { padding-left: max(36px, calc((100vw - 1320px) / 2 + 36px)); }
    .pw_hero-eyebrow { color: #86dcff; background: rgba(18,168,231,.12); border-color: rgba(134,220,255,.28); }
    .pw_hero h1 { font-weight: 700; letter-spacing: -.055em; }
    .pw_hero h1 em { color: #5dc9f6; }
    .pw_hero-h2 { color: rgba(255,255,255,.82); }
    .pw_hero-panel { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); border-top-color: #12a8e7; }
    .pw_hero-panel-title { color: #86dcff; }
    .pw_hero-scope-chip { background: rgba(0,0,0,.22); border-color: rgba(255,255,255,.16); }
    .pw_hero-btn-primary { background: #0f8fe0; color: #fff; box-shadow: 0 14px 30px rgba(6,118,202,.28); }
    .pw_hero-btn-primary:hover { background: #12a8e7; }
    .pw_hero-btn-secondary { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.35); }
    .pw_hero-image-panel::before { background: linear-gradient(to right, rgba(12,92,150,0.45) 0%, rgba(12,92,150,0.15) 45%, rgba(12,92,150,0.15) 100%); }
    .pw_hero-stat { background: rgba(4,18,36,.82); }
    .pw_hero-stat-num { color: #86dcff; }
    .section-header { margin-bottom: 2.2rem; }
    .section-eyebrow { color: var(--blue); background: var(--blue-pale); border-color: rgba(7,97,188,.16); }
    .section-title { color: var(--text); font-weight: 700; letter-spacing: -.045em; }
    .section-lead { color: var(--text-soft); }
    .services-section, .cs-section { background: #fff; border-color: var(--beige-border); }
    .svc-card, .acc-card, .cs-card { background: #fff; border-color: var(--beige-border); border-radius: 10px; box-shadow: none; }
    .svc-card:hover, .acc-card:hover, .cs-card:hover { border-color: #8fc8e9; box-shadow: var(--shadow-card); }
    .svc-icon { background: linear-gradient(135deg, #0872cf, #044c97); }
    .svc-num { color: rgba(7,97,188,.18); }
    .svc-tag, .cs-client-type { color: var(--blue); background: var(--blue-pale); border-color: rgba(7,97,188,.16); }
    .svc-title, .cs-title { color: var(--text); }
    .svc-desc, .svc-cap, .cs-excerpt { color: var(--text-soft); }
    .svc-card-foot, .acc-cta { border-color: var(--beige-border); }
    .accelerators-section, .trust-section { background: #0c5c96; }
    .accelerators-section .section-title{color: #fff;}
    .accelerators-section .section-lead{color: #fff}
    .acc-name, .acc-cta, .svc-cta-label, .cs-link { color: var(--blue); }
    .trust-section { background: #07182f; }
    .trust-item { color: rgba(255,255,255,.86); }

    @media (max-width: 960px) {
      .pw_hero-copy { padding-left: 24px; }
    }
    @media (max-width: 640px) {
      .wrap { padding-left: 20px; padding-right: 20px; }
      .pw_hero-copy { padding-left: 24px; }
      .services-section, .accelerators-section, .cs-section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
    }