/* careers-page.css — Phase 4 extraction 2026-04-17. */

/* §1 */
/* ── SKIP LINK ─────────────────────────────────────────── */
    .skip-link{position:absolute;top:-100%;left:16px;z-index:9999;background:#07192E;color:#fff;padding:12px 24px;border-radius:0 0 8px 8px;font-family:"Inter",system-ui,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:top .15s}
    .skip-link:focus{top:0}
    /* ── RESET ─────────────────────────────────────────────── */
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :focus-visible{outline:2px solid #29ABE2;outline-offset:3px;border-radius:6px}
    a,button,[role="button"],[onclick],.btn-primary,.btn-nav-primary,.callback-trigger{cursor:pointer}
    a,button,[role="button"]{transition:all 0.2s ease}
    .mob-sticky-cta a,.mob-sticky-cta button,.callback-trigger{min-height:44px}
    @media(max-width:768px){button,[role="button"],.btn-primary,.btn-nav-primary,.callback-submit{min-height:44px;padding-top:12px;padding-bottom:12px}input,select,textarea{min-height:44px}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
    /* ── TOKENS ─────────────────────────────────────────────── */
    :root{
      --blue:#1479A3;--blue-dark:#1366A0;--navy:#07192E;--navy-2:#0D2B45;
      --white:#FFFFFF;--off:#F4F8FC;--surface:#FFFFFF;--border:#E2ECF4;
      --text:#0D1829;--muted:#3D5266;--orange:#F97316;--green:#15803D;
      --font-h:'Poppins',system-ui,sans-serif;--font-b:'Inter',system-ui,sans-serif;
      --ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.175,.885,.32,1.275);
      --shadow-sm:0 1px 4px rgba(7,25,46,.06),0 1px 2px rgba(7,25,46,.04);
      --shadow-md:0 4px 24px rgba(7,25,46,.08),0 2px 8px rgba(7,25,46,.04);
      --shadow-lg:0 16px 56px rgba(7,25,46,.10),0 4px 16px rgba(7,25,46,.06);
      --shadow-xl:0 32px 80px rgba(7,25,46,.14),0 8px 24px rgba(7,25,46,.08);
      --glow-orange:0 0 0 1px rgba(249,115,22,.12),0 8px 24px rgba(249,115,22,.20);
      --glass-shadow:0 0 0 0.5px rgba(255,255,255,.6),0 0 0 1px rgba(0,0,0,.02),0 1px 2px rgba(7,25,46,.03),0 4px 12px rgba(7,25,46,.04),0 16px 48px rgba(7,25,46,.07);
      --glass-shadow-hover:0 0 0 0.5px rgba(255,255,255,.8),0 0 0 1px rgba(41,171,226,.08),0 2px 4px rgba(7,25,46,.04),0 8px 24px rgba(7,25,46,.06),0 24px 64px rgba(7,25,46,.10);
    }

    /* Brand gradient accent — canonical 5-stop, applied via .grad-word in hero H1s */
    .grad-word {
      background: linear-gradient(135deg, #F7D44C 0%, #F07128 22%, #E8125C 50%, #7B21A2 78%, #1779B8 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent;
    }

    @media(max-width:768px){:root{--glass-shadow:0 2px 8px rgba(7,25,46,.04),0 4px 16px rgba(7,25,46,.03);--shadow-md:0 2px 12px rgba(7,25,46,.06);--shadow-sm:0 1px 6px rgba(7,25,46,.04)}}
    /* ── BASE ─────────────────────────────────────────────── */
    html{scroll-behavior:smooth;font-size:16px}
    body{font-family:var(--font-b);background:var(--off);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6;}
    a{text-decoration:none}
    img{max-width:100%;display:block}
    /* ── HEADER ───────────────────────────────────────────── */
    header{position:sticky;top:0;z-index:300;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 100%);-webkit-backdrop-filter:blur(28px) saturate(1.8) brightness(1.02);backdrop-filter:blur(28px) saturate(1.8) brightness(1.02);border-bottom:1px solid rgba(226,236,244,.5);box-shadow:0 1px 0 rgba(226,236,244,.5),0 0 0 0.5px rgba(255,255,255,.8),0 2px 12px rgba(7,25,46,.04),0 4px 24px rgba(7,25,46,.03)}
/* NAV CSS extracted to assets/site.css — see _scripts/extract_nav_css.py */
    /* ── HERO ─────────────────────────────────────────────── */
    .c-hero{background:radial-gradient(ellipse 55% 60% at 15% 50%,rgba(41,171,226,.12) 0%,transparent 55%),radial-gradient(ellipse 50% 50% at 85% 30%,rgba(34,197,94,.08) 0%,transparent 50%),linear-gradient(150deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;padding:88px 32px 80px;position:relative;overflow:hidden}
    .c-hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
    .c-hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;text-align:left;position:relative;z-index:1}
    .c-hero-left{min-width:0}
    .c-hero-right{min-width:0;display:flex;justify-content:center}
    .c-hero-photo{position:relative;width:100%;max-width:520px;aspect-ratio:4/3;border-radius:20px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.30),0 32px 64px -20px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06) inset;transform:rotate(.6deg);transition:transform .4s var(--ease)}
    .c-hero-photo:hover{transform:rotate(0) translateY(-4px)}
    .c-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
    .c-hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,25,46,.42) 100%);pointer-events:none}
    .c-hero-photo-caption{position:absolute;bottom:16px;left:18px;right:18px;z-index:2;font-family:var(--font-b);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.92);display:flex;align-items:center;gap:8px}
    .c-hero-photo-caption::before{content:'';width:7px;height:7px;border-radius:50%;background:#86EFAC;box-shadow:0 0 0 3px rgba(134,239,172,.22)}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:rgba(34,197,94,.18);color:#86EFAC;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}
    .c-hero h1{font-family:var(--font-h);font-size:2rem;font-size:clamp(2rem,5vw,3.6rem);font-weight:800;line-height:1.1;letter-spacing:-0.02em;color:var(--white);margin-bottom:20px}
    .c-hero p{font-family:var(--font-b);font-size:1.12rem;color:rgba(255,255,255,.74);max-width:52ch;margin:0 0 32px}
    .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start}
    .btn-primary{font-family:var(--font-b);font-size:16px;font-weight:600;color:#fff;background:var(--orange);padding:15px 28px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);min-height:52px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;box-shadow:0 4px 14px rgba(249,115,22,.22)}
    .btn-primary:hover{background:#EA6C10;transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.35)}
    .btn-ghost{font-family:var(--font-b);font-size:16px;font-weight:600;color:#fff;background:transparent;padding:15px 28px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);min-height:52px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid rgba(255,255,255,.28)}
    .btn-ghost:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}

    /* ── CULTURE BANNER ──────────────────────────────────── */
    .culture-banner {
      width: 100%;
      height: 320px;
      position: relative;
      overflow: hidden;
      background: var(--navy);
    }
    .culture-banner img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      display: block;
      transform: scale(1.05);
      filter: saturate(0.95);
      opacity: 0.65;
    }
    /* Navy tint + top/bottom fade */
    .culture-banner::before {
      content: '';
      position: absolute; inset: 0;
      background:
        linear-gradient(180deg, var(--navy) 0%, transparent 18%, transparent 82%, var(--navy-2) 100%),
        linear-gradient(90deg, rgba(7,25,46,.6) 0%, transparent 30%, transparent 70%, rgba(7,25,46,.6) 100%);
      z-index: 1;
      pointer-events: none;
    }
    /* Dot-grid texture overlay */
    .culture-banner::after {
      content: '';
      position: absolute; inset: 0;
      background-image: radial-gradient(rgba(41,171,226,.06) 1px, transparent 1px);
      background-size: 24px 24px;
      z-index: 2;
      pointer-events: none;
    }
    .culture-banner-caption {
      position: absolute;
      bottom: 24px; left: 50%;
      transform: translateX(-50%);
      z-index: 3;
      font-family: var(--font-b);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.06em;
      color: rgba(255,255,255,.7);
      background: rgba(7,25,46,.55);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,.08);
      padding: 8px 22px;
      border-radius: 999px;
      white-space: nowrap;
    }
    @media (max-width: 1024px) {
      .culture-banner { height: 220px; }
    }
    /* ── SECTION SHARED ─────────────────────────────────── */
    .sec-inner{max-width:1200px;margin:0 auto}
    .sec-label{font-family:var(--font-b);font-size:13px;font-weight:600;color:var(--blue);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:12px}
    .sec-label-green{color:var(--green)}
    .sec-h2{font-family:var(--font-h);font-size:36px;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:8px}
    .sec-sub{font-family:var(--font-b);font-size:17px;font-weight:400;color:var(--muted);max-width:620px;margin-bottom:40px;line-height:1.6}
    /* ── VALUES SECTION ──────────────────────────────────── */
    .sec-values{background:var(--white);padding:96px 32px}
    .values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
    .value-card{background:var(--off);border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:var(--shadow-sm);transition:all .35s var(--ease);position:relative;overflow:hidden}
    .value-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
    .value-card--blue::before{background:var(--blue)}
    .value-card--green::before{background:var(--green)}
    .value-card--orange::before{background:var(--orange)}
    .value-card--navy::before{background:var(--navy)}
    .value-card:hover{box-shadow:var(--glass-shadow-hover);transform:translateY(-3px)}
    .value-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:transform .4s var(--ease)}
    .value-card:hover .value-icon{transform:rotate(8deg) scale(1.05)}
    .value-icon--blue{background:rgba(41,171,226,.1)}
    .value-icon--green{background:rgba(34,197,94,.1)}
    .value-icon--orange{background:rgba(249,115,22,.1)}
    .value-icon--navy{background:rgba(7,25,46,.08)}
    .value-icon svg{width:26px;height:26px;fill:none;stroke-width:1.8}
    .value-icon--blue svg{stroke:var(--blue)}
    .value-icon--green svg{stroke:var(--green)}
    .value-icon--orange svg{stroke:var(--orange)}
    .value-icon--navy svg{stroke:var(--navy)}
    .value-card h3{font-family:var(--font-b);font-size:17px;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.3}
    .value-card p{font-family:var(--font-b);font-size:14px;color:var(--muted);line-height:1.65}
    /* ── OPEN ROLES ──────────────────────────────────────── */
    .sec-roles{background:var(--off);padding:96px 32px}
    .roles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
    /* ─── .role-card — data-list mode (Phase 4 2026-04-09) ───
       Form-friendly density: hairline + 10px radius + layered
       shadow. No left-edge accent rule — would fight the .role-meta
       horizontal layout. Glass effect removed. */
    .role-card{
      background:var(--white);
      border:1px solid rgba(13,24,41,.09);
      border-radius:10px;
      padding:28px;
      box-shadow:
        0 1px 2px rgba(13,24,41,.04),
        0 8px 24px -12px rgba(13,24,41,.18),
        0 16px 40px -20px rgba(13,24,41,.12);
      transition:
        border-color 180ms ease-out,
        box-shadow 180ms ease-out,
        transform 180ms ease-out;
      display:flex;
      flex-direction:column;
      gap:0;
    }
    .role-card:hover{
      transform:translateY(-3px);
      border-color:rgba(41,171,226,.32);
      box-shadow:
        0 1px 2px rgba(13,24,41,.05),
        0 14px 32px -14px rgba(41,171,226,.22),
        0 18px 36px -18px rgba(13,24,41,.18);
    }
    @media (prefers-reduced-motion: reduce){
      .role-card{transition:none !important}
    }
    .role-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
    .role-title{font-family:var(--font-h);font-size:19px;font-weight:700;color:var(--text);line-height:1.3}
    .role-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-family:var(--font-b);font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap;flex-shrink:0;margin-top:3px}
    .role-badge-ft{background:rgba(34,197,94,.1);color:#15803D}
    .role-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px}
    .role-meta-item{display:flex;align-items:center;gap:5px;font-family:var(--font-b);font-size:13px;color:var(--muted)}
    .role-meta-item svg{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:2;flex-shrink:0}
    .role-desc{font-family:var(--font-b);font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:20px;flex:1}
    .role-apply{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-b);font-size:14px;font-weight:700;color:#fff;background:var(--blue);padding:11px 22px;border-radius:10px;text-decoration:none;transition:all .2s var(--ease);border:none;cursor:pointer;box-shadow:0 3px 10px rgba(41,171,226,.18);align-self:flex-start}
    .role-apply:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 5px 16px rgba(41,171,226,.28)}
    /* ── PERKS SECTION ───────────────────────────────────── */
    .sec-perks{background:var(--white);padding:96px 32px}
    .perks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .perk-card{background:var(--off);border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;gap:18px;align-items:flex-start;transition:all .3s var(--ease)}
    .perk-card:hover{box-shadow:var(--shadow-md);border-color:rgba(41,171,226,.25);transform:translateY(-2px)}
    .perk-icon{width:48px;height:48px;border-radius:12px;background:rgba(41,171,226,.09);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .4s var(--ease)}
    .perk-card:hover .perk-icon{transform:rotate(8deg) scale(1.05)}
    .perk-icon svg{width:24px;height:24px;stroke:var(--blue);fill:none;stroke-width:1.8}
    .perk-text strong{display:block;font-family:var(--font-b);font-size:15px;font-weight:700;color:var(--text);margin-bottom:5px}
    .perk-text span{font-family:var(--font-b);font-size:13px;color:var(--muted);line-height:1.55}
    /* ── BOTTOM CTA ──────────────────────────────────────── */
    .sec-cta{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);padding:96px 32px;text-align:center;position:relative;overflow:hidden}
    .sec-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(34,197,94,.06) 0%,transparent 60%);pointer-events:none}
    .sec-cta::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
    .cta-inner{max-width:640px;margin:0 auto;position:relative;z-index:1}
    .cta-h2{font-family:var(--font-h);font-size:1.8rem;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:var(--white);line-height:1.15;margin-bottom:14px;letter-spacing:-0.02em}
    .cta-sub{font-family:var(--font-b);font-size:1.08rem;color:rgba(255,255,255,.7);margin-bottom:32px;line-height:1.65}
    .cta-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
    .btn-cta-primary, .btn-primary {font-family:var(--font-b);font-size:16px;font-weight:600;color:#fff;background:var(--orange);padding:16px 32px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);min-height:52px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;box-shadow:0 4px 14px rgba(249,115,22,.25)}
    .btn-cta-primary:hover, .btn-primary:hover {background:#EA6C10;transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.40)}
    .btn-cta-ghost, .btn-ghost {font-family:var(--font-b);font-size:16px;font-weight:600;color:#fff;background:transparent;padding:16px 32px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);min-height:52px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid rgba(255,255,255,.28)}
    .btn-cta-ghost:hover, .btn-ghost:hover {background:rgba(255,255,255,.1);transform:translateY(-2px)}
    /* ── FOOTER ──────────────────────────────────────────── */
    footer{background:#040E1A;padding:64px 32px 32px;color:rgba(255,255,255,.4);position:relative}
    footer::before{content:'';position:absolute;top:-120px;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent 0%,#040E1A 100%);pointer-events:none}
    .ft{max-width:1200px;margin:0 auto}
    .ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
    .ft-logo img{height:36px;width:auto;display:block;margin-bottom:14px}
    .ft-tagline{font-family:var(--font-b);font-size:13.5px;color:rgba(255,255,255,.30);line-height:1.65;margin-bottom:20px}
    .ft-phone{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-b);font-size:14.5px;font-weight:700;color:var(--blue);text-decoration:none;transition:color .15s}
    .ft-phone:hover{color:#7DD4F5}
    .ft-col h3{font-family:var(--font-b);font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:16px}
    .ft-col a{display:block;font-family:var(--font-b);font-size:14px;color:rgba(255,255,255,.65);text-decoration:none;margin-bottom:10px;transition:color .15s}
    .ft-col a:hover{color:#fff}
    .ft-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-family:var(--font-b);font-size:12.5px}
    .ft-legal{display:flex;gap:20px}
    .ft-legal a{color:rgba(255,255,255,.26);text-decoration:none;transition:color .15s}
    .ft-legal a:hover{color:#fff}
    /* ── REVEAL ───────────────────────────────────────────── */
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
    .reveal.revealed{opacity:1;transform:translateY(0)}
    .c-hero .reveal{opacity:1;transform:translateY(0)}
    .reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.18s}.reveal-d3{transition-delay:.28s}
    .reveal-d4{transition-delay:.38s}.reveal-d5{transition-delay:.48s}.reveal-d6{transition-delay:.58s}
    /* ── CALLBACK WIDGET ────────────────────────────────── */
    .callback-widget{position:fixed;bottom:24px;right:24px;z-index:500}
    .callback-trigger{width:56px;height:56px;border-radius:50%;background:var(--orange);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(249,115,22,.3);transition:transform .2s ease,box-shadow .2s ease}
    .callback-trigger:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(249,115,22,.4)}
    .callback-trigger svg{width:24px;height:24px;stroke:#fff;fill:none}
    .callback-panel{display:none;position:absolute;bottom:70px;right:0;width:320px;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(7,25,46,.15);padding:24px;transform-origin:bottom right}
    .callback-panel.open{display:block;animation:cbSlideUp .3s ease forwards;will-change:transform,opacity}
    @keyframes cbSlideUp{from{opacity:0;transform:translateY(10px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}
    .callback-panel h3{font-family:var(--font-h);font-size:18px;font-weight:700;color:var(--navy);margin-bottom:4px}
    .callback-panel p{font-size:14px;color:var(--muted);margin-bottom:16px}
    .callback-panel input{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;margin-bottom:12px;font-family:var(--font-b)}
    .callback-panel input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,171,226,.15);outline:none}
    .callback-submit{width:100%;padding:12px;border:none;border-radius:10px;background:var(--orange);color:#fff;font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 4px 14px rgba(249,115,22,.18)}
    .callback-success{text-align:center;padding:20px 0}
    .callback-success svg{width:48px;height:48px;stroke:#10B981;margin-bottom:12px}
    /* ── MOBILE STICKY CTA ──────────────────────────────── */
    .mob-sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:400;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:12px 16px;box-shadow:0 -4px 20px rgba(7,25,46,.08)}
    @media(max-width:768px){.mob-sticky-cta{display:flex;gap:10px;align-items:center}body{padding-bottom:72px}}
    .mob-sticky-cta .mob-cta-btn{flex:1;padding:14px 20px;border-radius:12px;font-family:var(--font-h);font-size:15px;font-weight:700;text-align:center;text-decoration:none;transition:transform .15s ease}
    .mob-sticky-cta .mob-cta-btn:active{transform:scale(0.97)}
    .mob-sticky-cta .mob-cta-primary{background:var(--orange);color:#fff;box-shadow:0 4px 14px rgba(249,115,22,.18)}
    .mob-sticky-cta .mob-cta-secondary{background:transparent;color:var(--navy);border:1.5px solid var(--border)}
    /* ── RESPONSIVE ─────────────────────────────────────── */
    @media(max-width:1100px){.values-grid{grid-template-columns:repeat(2,1fr)}.perks-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:900px){.roles-grid{grid-template-columns:1fr}.ft-top{grid-template-columns:1fr 1fr 1fr;gap:32px}}
    @media(max-width:960px){.c-hero-inner{grid-template-columns:1fr;gap:40px;text-align:center}.c-hero p{margin-left:auto;margin-right:auto}.hero-ctas{justify-content:center}.c-hero-right{order:-1}.c-hero-photo{max-width:440px}}
    @media(max-width:768px){nav{display:none}.btn-nav-ghost{display:none}.ham{display:flex}.mob-overlay{display:block}.c-hero{padding:56px 24px 48px}.c-hero h1{font-size:1.8rem; font-size:clamp(1.8rem,7vw,2.8rem)}.sec-values,.sec-roles,.sec-perks,.sec-cta{padding:64px 24px}.sec-h2{font-size:28px}.cta-h2{font-size:26px}.values-grid{grid-template-columns:1fr}.perks-grid{grid-template-columns:1fr}.c-hero-photo{max-width:100%;aspect-ratio:5/4}}
    @media(max-width:520px){.ft-top{grid-template-columns:1fr 1fr;gap:24px}}
    /* S1 audit fix (2026-05-13): role-card overflowed 118px at 375 because
       .role-header was display:flex without flex-wrap and contained three
       non-shrinking children (title 149 + badge 104 + salary chip 130 + 24
       gap = 407, but column is 287). Wrap header + meta children so the
       card stays inside its grid track. */
    @media(max-width:480px){
      .role-header{flex-wrap:wrap;gap:8px 12px}
      .role-meta{gap:8px 12px}
      .role-title{flex:1 1 100%;min-width:0}
    }
  
    nav { display: flex; align-items: center; }
    .nav-item { position: relative; display: flex; align-items: center; }
    .nav-item::after { content:''; position:absolute; top:100%; left:-8px; right:-8px; height:12px; }
    .nav-link, .nav-dd-trigger {
      font-family: var(--font-b); font-size: 14px; font-weight: 500;
      color: var(--muted); text-decoration: none;
      padding: 8px 12px; border-radius: 8px; border: 1px solid transparent;
      display: inline-flex; align-items: center; gap: 4px;
      background: none; cursor: pointer;
      transition: color .15s, background .2s, border-color .2s, box-shadow .2s;
      -webkit-tap-highlight-color: transparent; white-space: nowrap;
    }
    .nav-link:hover, .nav-dd-trigger:hover, .nav-item:hover > .nav-dd-trigger {
      color: var(--text); background: rgba(255,255,255,.7);
      backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
      border-color: rgba(226,236,244,.6); box-shadow: 0 1px 4px rgba(7,25,46,.05);
    }
    .nav-link.active, .nav-dd-trigger.active { color: var(--text); font-weight: 600; }
    .dd-chevron { width: 13px; height: 13px; stroke: currentColor; stroke-width: 2.5; fill: none; transition: transform .2s; flex-shrink: 0; }
    .nav-item:hover .dd-chevron { transform: rotate(180deg); }

    /* ── DROPDOWN PANEL ── */
    .dd-menu {
      position: absolute; top: calc(100% + 10px); left: 50%;
      transform: translateX(-50%) translateY(-6px);
      background: var(--white); border: 1px solid rgba(220,232,241,.9);
      border-radius: 16px; padding: 10px;
      box-shadow: 0 20px 60px rgba(7,25,46,.13), 0 4px 16px rgba(7,25,46,.07);
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity .18s, transform .18s, visibility 0s linear .18s;
      z-index: 400; min-width: 440px;
    }
    .nav-item:hover .dd-menu {
      opacity: 1; visibility: visible; pointer-events: all;
      transform: translateX(-50%) translateY(0);
      transition: opacity .18s, transform .18s, visibility 0s;
    }
    .dd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
    .dd-menu a {
      display: flex; align-items: center; gap: 10px;
      padding: 9px 10px; border-radius: 10px;
      font-size: 13.5px; font-weight: 500; color: var(--text);
      text-decoration: none; transition: background .12s, color .12s; white-space: nowrap;
    }
    .dd-menu a:hover { background: var(--off); color: var(--blue-dark); }
    .dd-menu a.active { color: var(--blue-dark); font-weight: 600; background: rgba(41,171,226,.08); }
    .dd-ico {
      width: 30px; height: 30px; border-radius: 8px;
      background: linear-gradient(135deg, rgba(41,171,226,.13), rgba(23,121,184,.07));
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .dd-ico svg { width: 15px; height: 15px; stroke: var(--blue-dark); stroke-width: 1.8; fill: none; }
    .dd-res .dd-ico { background: linear-gradient(135deg, rgba(249,115,22,.12), rgba(249,115,22,.06)); }
    .dd-res .dd-ico svg { stroke: var(--orange); }
    .dd-divider { height: 1px; background: var(--border); margin: 6px 0; }
    .dd-all {
      display: flex; justify-content: center; align-items: center; gap: 5px;
      padding: 8px 10px 4px; font-size: 13px; font-weight: 600;
      color: var(--blue-dark); text-decoration: none; border-radius: 8px;
      transition: background .12s;
    }
    .dd-all:hover { background: var(--off); }
    .dd-all svg { width: 12px; height: 12px; stroke: currentColor; stroke-width: 2.5; fill: none; }
    .dd-res { min-width: 220px; }

    /* ── MOBILE DRAWER SECTIONS ── */
    .mob-section-head {
      padding: 10px 20px 4px; font-size: 12px; font-weight: 700;
      letter-spacing: .07em; text-transform: uppercase; color: var(--muted);
    }
    .mob-section + .mob-section { border-top: 1px solid var(--off); }
    .mob-nav .mob-view-all { color: var(--blue-dark) !important; font-size: 13px !important; }

    .hd-right { display: flex; align-items: center; gap: 10px; }
    .btn-nav {
      font-family: var(--font-b); font-size: 13.5px; font-weight: 600;
      padding: 9px 18px; border-radius: 8px; cursor: pointer;
      text-decoration: none; transition: all .15s; min-height: 40px;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .btn-nav-ghost { color: var(--text); border: 1px solid var(--border); background: var(--white); }
    .btn-nav-ghost:hover { background: var(--off); border-color: #CBD5E1; }
    .btn-nav-primary { color: #fff; background: var(--orange); border: 1px solid transparent; }
    .btn-nav-primary:hover { background: #EA6C10; transform: translateY(-1px); box-shadow: var(--glow-orange); }

    /* ── HAMBURGER ───────────────────────────────────────── */
    .ham {
      display: none; width: 44px; height: 44px;
      border: none; background: none; cursor: pointer;
      border-radius: 10px; align-items: center; justify-content: center;
      transition: background .15s;
      -webkit-tap-highlight-color: transparent;
    }
    .ham:hover { background: var(--off); }
    .ham svg { width: 22px; height: 22px; stroke: var(--text); stroke-width: 2; fill: none; }

    /* ── MOBILE DRAWER ───────────────────────────────────── */
    .mob-overlay {
      display: none; position: fixed; inset: 0; z-index: 200;
      background: rgba(7,25,46,.45); backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      opacity: 0; transition: opacity .25s; pointer-events: none;
    }
    .mob-overlay.open { opacity: 1; pointer-events: all; }

    .mob-drawer {
      position: fixed; top: 0; right: -320px; bottom: 0; z-index: 250;
      width: 300px; background: var(--white);
      box-shadow: var(--shadow-xl);
      transition: right .32s var(--ease);
      display: flex; flex-direction: column;
    }
    .mob-drawer.open { right: 0; }

    .mob-head {
      display: flex; align-items: center; justify-content: space-between;
      padding: 18px 20px; border-bottom: 1px solid var(--border);
    }
    .mob-head img { height: 34px; }
    .mob-close {
      width: 44px; height: 44px;
      border: 1px solid var(--border); background: var(--off);
      border-radius: 8px; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      font-size: 20px; line-height: 1; color: var(--muted);
      transition: all .15s; font-family: system-ui;
    }
    .mob-close:hover { background: var(--border); color: var(--text); }

    .mob-nav { flex: 1; padding: 8px 0; overflow-y: auto; }
    .mob-nav a {
      display: flex; align-items: center; padding: 15px 20px;
      font-family: var(--font-b); font-size: 15px; font-weight: 500;
      color: var(--text); text-decoration: none;
      border-bottom: 1px solid var(--off); transition: all .15s;
    }
    .mob-nav a:hover { background: var(--off); color: var(--blue-dark); padding-left: 26px; }

    .mob-footer {
      padding: 18px 20px; border-top: 1px solid var(--border);
      display: flex; flex-direction: column; gap: 10px;
    }
    .mob-cta {
      font-family: var(--font-b); font-size: 14.5px; font-weight: 700;
      text-align: center; text-decoration: none;
      padding: 13px 24px; border-radius: 10px;
      min-height: 48px; display: flex; align-items: center; justify-content: center;
      transition: all .15s;
    }
    .mob-cta-primary { background: var(--orange); color: #fff; }
    .mob-cta-primary:hover { background: #EA6C10; }
    .mob-cta-secondary { background: var(--off); color: var(--text); border: 1px solid var(--border); }
    .mob-cta-secondary:hover { background: var(--border); }
/*callback-widget-mobile-hide-v1*/
@media (max-width: 767px) {
  .callback-widget { display: none !important; }
  .mob-sticky-cta { display: flex !important; }
}
/* reduced-motion-v1 */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
/* mobile-qa-v1 */
@media (max-width: 767px) {
  .btn, button, .btn-primary, .btn-secondary, .btn-outline, .cta, [class*="btn-"], a.button, input[type="submit"], input[type="button"] {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 12px 18px !important;
  }
  p, li, span, a, td, th, label, input, select, textarea, button, .small, .tag, .badge, .meta, .label, .desc, [class*="-desc"], [class*="-meta"], [class*="-label"], [class*="-tag"], [class*="-badge"], [class*="-time"], [class*="-name"], [class*="-val"], [class*="-num"], [class*="-txt"], [class*="-trend"], [class*="-sub"], [class*="-item"], [class*="-sep"] {
    font-size: max(14px, 1em) !important;
  }
  body, main, section, div, table, .container, .wrap, [class*="-wrap"], [class*="-grid"] {
    max-width: 100% !important;
  }
  img, video, iframe, svg { max-width: 100% !important; height: auto; }
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .mob-drawer, [class*="drawer"], .nav-drawer { width: 88vw !important; max-width: 320px !important; }
  html { overflow-x: hidden !important; }
}
@media (max-width: 359px) {
  .mob-drawer, [class*="drawer"], .nav-drawer { width: 96vw !important; max-width: 100vw !important; }
}
/* scroll-margin-anchor-v2 */
[id], section[id], h1[id], h2[id], h3[id], h4[id] { scroll-margin-top: 130px; }

    /* GOLDEN-CARD-ABOUT-PATCH v1 */
    /* Shell-only golden-card overrides for the about section.
       Covers: background, border, radius, shadow, left accent rule,
       ghost watermark, hover state. Does NOT touch typography,
       icons, badges, or internal layouts — those are per-page. */
    
    /* .value-card — golden-card shell */
    .value-card {
      position: relative !important;
      background: #FFFFFF !important;
      border: 1px solid rgba(13,24,41,.09) !important;
      border-radius: 10px !important;
      padding: 32px 28px 28px 38px !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.04),
        0 8px 24px -12px rgba(13,24,41,.18),
        0 16px 40px -20px rgba(13,24,41,.12) !important;
      transition:
        border-color 180ms ease-out,
        box-shadow 180ms ease-out,
        transform 180ms ease-out !important;
      overflow: hidden !important;
      isolation: isolate !important;
      --card-color:#1366A0;
      --card-rgb: 23,121,184;
    }
    .value-card:nth-child(4n+1){--card-color:#1366A0;--card-rgb:23,121,184}
    .value-card:nth-child(4n+2){--card-color:#7B21A2;--card-rgb:123,33,162}
    .value-card:nth-child(4n+3){--card-color:#E8125C;--card-rgb:232,18,92}
    .value-card:nth-child(4n+4){--card-color:#10B981;--card-rgb:16,185,129}
    .value-card::before {
      content: '';
      position: absolute;
      left: 0;
      top: 20px;
      bottom: 20px;
      width: 3px;
      background: linear-gradient(180deg,
        transparent 0%,
        var(--card-color) 15%,
        var(--card-color) 85%,
        transparent 100%);
      border-radius: 0 3px 3px 0;
      transition: width 180ms ease-out, top 180ms ease-out, bottom 180ms ease-out;
      z-index: 2;
      pointer-events: none;
    }
    .value-card::after {
      content: '';
      position: absolute;
      top: -80px;
      left: -80px;
      width: 240px;
      height: 240px;
      background: radial-gradient(circle,
        rgba(var(--card-rgb), .12) 0%,
        transparent 65%);
      pointer-events: none;
      z-index: 0;
      opacity: .55;
      transition: opacity 180ms ease-out;
    }
    .value-card:hover {
      transform: translateY(-2px) !important;
      border-color: rgba(var(--card-rgb), .42) !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.05),
        0 14px 32px -14px rgba(var(--card-rgb), .22),
        0 18px 36px -18px rgba(13,24,41,.18) !important;
    }
    .value-card:hover::before {
      width: 4px;
      top: 12px;
      bottom: 12px;
    }
    .value-card:hover::after {
      opacity: 1;
    }
    .value-card > * {
      position: relative;
      z-index: 1;
    }
    
    /* .perk-card — golden-card shell */
    .perk-card {
      position: relative !important;
      background: #FFFFFF !important;
      border: 1px solid rgba(13,24,41,.09) !important;
      border-radius: 10px !important;
      padding: 28px 24px 24px 32px !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.04),
        0 8px 24px -12px rgba(13,24,41,.18),
        0 16px 40px -20px rgba(13,24,41,.12) !important;
      transition:
        border-color 180ms ease-out,
        box-shadow 180ms ease-out,
        transform 180ms ease-out !important;
      overflow: hidden !important;
      isolation: isolate !important;
      --card-color:#1366A0;
      --card-rgb: 23,121,184;
    }
    .perk-card:nth-child(3n+1){--card-color:#1366A0;--card-rgb:23,121,184}
    .perk-card:nth-child(3n+2){--card-color:#F97316;--card-rgb:249,115,22}
    .perk-card:nth-child(3n+3){--card-color:#10B981;--card-rgb:16,185,129}
    .perk-card::before {
      content: '';
      position: absolute;
      left: 0;
      top: 16px;
      bottom: 16px;
      width: 3px;
      background: linear-gradient(180deg,
        transparent 0%,
        var(--card-color) 15%,
        var(--card-color) 85%,
        transparent 100%);
      border-radius: 0 3px 3px 0;
      transition: width 180ms ease-out, top 180ms ease-out, bottom 180ms ease-out;
      z-index: 2;
      pointer-events: none;
    }
    .perk-card::after {
      content: '';
      position: absolute;
      top: -80px;
      left: -80px;
      width: 240px;
      height: 240px;
      background: radial-gradient(circle,
        rgba(var(--card-rgb), .12) 0%,
        transparent 65%);
      pointer-events: none;
      z-index: 0;
      opacity: .55;
      transition: opacity 180ms ease-out;
    }
    .perk-card:hover {
      transform: translateY(-2px) !important;
      border-color: rgba(var(--card-rgb), .42) !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.05),
        0 14px 32px -14px rgba(var(--card-rgb), .22),
        0 18px 36px -18px rgba(13,24,41,.18) !important;
    }
    .perk-card:hover::before {
      width: 4px;
      top: 8px;
      bottom: 8px;
    }
    .perk-card:hover::after {
      opacity: 1;
    }
    .perk-card > * {
      position: relative;
      z-index: 1;
    }
    
    @media (prefers-reduced-motion: reduce) {
      .value-card,
      .perk-card {
        transition: none !important;
        animation: none !important;
      }
      .value-card::before,
      .perk-card::before {
        transition: none !important;
      }
      .value-card::after,
      .perk-card::after {
        transition: none !important;
      }
    }
    /* END GOLDEN-CARD-ABOUT-PATCH v1 */

/* §2 */
@media(max-width:768px){.sec-visit-hq > div{grid-template-columns:1fr !important;}}

/* §3 */
@media (max-width: 1024px) {
  .cb-fab, .callback-trigger { bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important; }
  .cb-panel, .callback-panel { bottom: calc(160px + env(safe-area-inset-bottom, 0px)) !important; width: min(320px, 90vw) !important; }
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  .mob-sticky-cta { padding-bottom: env(safe-area-inset-bottom, 0px); }
}

/* §4 — mobile grid fix (boil-the-lake pass, 2026-06-01)
   svc-components.css §4477 forces repeat(2, minmax(0,1fr)) !important at
   max-width:560px, overriding the earlier single-column rule and producing
   a 151px×151px 2-col layout at 390px. Since careers-page.css loads after
   svc-components.css, an equal-specificity !important rule here wins by
   source order and collapses the deliverables list to one readable column. */
@media (max-width: 767.98px) {
  .svc-deliverables-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
