:root {
      --bg: #111214;
      --bg2: #16181b;
      --bg3: #1d2024;
      --white: #ffffff;
      --off-white: #e8e8e8;
      --gray: #6b7280;
      --gray-light: #9ca3af;
      --accent: #D4407E;
      --accent-dim: rgba(212,64,126,0.1);
      --accent-border: rgba(212,64,126,0.25);
      /* secondary "AI / what's next" accent */
      --accent2: #4B82F5;
      --accent2-dim: rgba(75,130,245,0.08);
      --accent2-border: rgba(75,130,245,0.28);
      --gray2: #9ca3af;
      --border: rgba(255,255,255,0.07);
    }
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      font-family:'Montserrat',sans-serif;
      background:var(--bg);
      color:var(--white);
      overflow-x:hidden;
    }

    /* ── NAV ── */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:100;
      display:flex; align-items:center; justify-content:space-between;
      padding:22px 56px;
      background:rgba(17,18,20,0.88);
      backdrop-filter:blur(16px);
      border-bottom:1px solid var(--border);
      transition:padding 0.3s;
    }
    nav.scrolled { padding:14px 56px; }
    .nav-gradient-line { height:2px; background:linear-gradient(90deg,#D4407E,#7B55D4,#4B82F5); opacity:0.7; }

    .nav-logo {
      display:flex; align-items:center; gap:11px;
      text-decoration:none;
    }
    .nav-logo img { height:44px; width:auto; }
    .nav-logo-text {
      font-size:15px; font-weight:800;
      letter-spacing:0.06em; color:var(--white);
    }

    .nav-links {
      display:flex; align-items:center; gap:32px; list-style:none;
    }
    .nav-links li { display:flex; align-items:center; gap:8px; }
    .nav-num {
      font-size:10px; font-weight:700;
      letter-spacing:0.08em; color:var(--gray);
    }
    .nav-links a {
      text-decoration:none; font-size:13px; font-weight:500;
      color:var(--gray-light); transition:color 0.2s;
    }
    .nav-links a:hover { color:var(--white); }

    .nav-right { display:flex; align-items:center; gap:14px; }

    .lang-toggle {
      display:flex;
      background:var(--bg3);
      border:1px solid var(--border);
      border-radius:6px; overflow:hidden;
    }
    .lang-btn {
      padding:6px 11px; font-size:11px; font-weight:700;
      letter-spacing:0.06em; cursor:pointer;
      background:transparent; border:none; color:var(--gray);
      transition:all 0.2s;
    }
    .lang-btn.active { background:var(--accent); color:#fff; }

    .btn-contact {
      padding:10px 20px;
      background:var(--white); color:#000;
      border-radius:8px; text-decoration:none;
      font-size:13px; font-weight:700;
      transition:opacity 0.2s;
    }
    .btn-contact:hover { opacity:0.85; }

    /* ── HERO ── */
    #hero {
      min-height:100vh;
      display:flex; flex-direction:column;
      justify-content:flex-end;
      padding:140px 56px 80px;
      position:relative; overflow:hidden;
    }
    .hero-noise {
      position:absolute; inset:0; pointer-events:none;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
      opacity:0.4;
    }
    .hero-glow {
      position:absolute; top:-300px; right:-200px;
      width:800px; height:800px;
      background:radial-gradient(circle, rgba(212,64,126,0.07) 0%, transparent 65%);
      pointer-events:none;
    }

    .hero-eyebrow {
      display:inline-flex; align-items:center; gap:8px;
      font-size:11px; font-weight:700; letter-spacing:0.14em;
      text-transform:uppercase; color:var(--accent);
      margin-bottom:36px;
    }
    .hero-eyebrow::before {
      content:''; width:5px; height:5px;
      border-radius:50%; background:var(--accent);
      animation:blink 2s infinite;
    }
    @keyframes blink {
      0%,100%{opacity:1;} 50%{opacity:0.3;}
    }

    h1 {
      font-size:clamp(52px, 6.5vw, 100px);
      font-weight:900;
      line-height:1.0;
      letter-spacing:-0.04em;
      margin-bottom:40px;
      max-width:900px;
    }
    h1 em { font-style:normal; color:var(--accent); }

    .hero-bottom {
      display:flex; align-items:flex-end;
      justify-content:space-between; gap:40px;
      flex-wrap:wrap;
    }
    .hero-desc {
      font-size:17px; font-weight:400;
      color:var(--gray-light); line-height:1.75;
      max-width:480px;
    }
    .hero-ctas {
      display:flex; gap:12px; flex-shrink:0; flex-wrap:wrap;
    }
    .btn-primary {
      padding:15px 28px;
      background:var(--accent); color:#fff;
      border-radius:9px; text-decoration:none;
      font-size:14px; font-weight:700;
      transition:all 0.2s; white-space:nowrap;
    }
    .btn-primary:hover { opacity:0.85; transform:translateY(-1px); }
    .btn-outline {
      padding:15px 28px;
      background:transparent; color:var(--white);
      border:1px solid var(--border);
      border-radius:9px; text-decoration:none;
      font-size:14px; font-weight:600;
      transition:all 0.2s; white-space:nowrap;
    }
    .btn-outline:hover { border-color:rgba(255,255,255,0.3); }

    /* ── STATS ── */
    #stats {
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
      background:var(--bg2);
      padding:0 56px;
      display:grid;
      grid-template-columns:repeat(4,1fr);
    }
    .stat-cell {
      padding:48px 32px 44px;
      border-right:1px solid var(--border);
    }
    .stat-cell:last-child { border-right:none; }
    .stat-num {
      font-size:clamp(40px,5vw,64px);
      font-weight:900; letter-spacing:-0.04em;
      line-height:1;
    }
    .stat-num span { color:var(--accent); }
    .stat-label {
      font-size:13px; color:var(--gray);
      margin-top:10px; line-height:1.5;
    }

    /* ── TICKER ── */
    .ticker-wrap {
      overflow:hidden;
      border-bottom:1px solid var(--border);
      background:var(--bg);
      padding:16px 0;
    }
    .ticker {
      display:flex; gap:0;
      animation:ticker 30s linear infinite;
      width:max-content;
    }
    @keyframes ticker {
      from { transform:translateX(0); }
      to { transform:translateX(-50%); }
    }
    .ticker-item {
      display:flex; align-items:center; gap:24px;
      padding:0 32px; white-space:nowrap;
      font-size:12px; font-weight:700;
      letter-spacing:0.1em; text-transform:uppercase;
      color:var(--gray);
    }
    .ticker-item::after {
      content:'●'; color:var(--accent); font-size:6px;
    }

    /* ── SHARED ── */
    section { padding:100px 56px; }
    .section-tag {
      display:inline-block;
      font-size:11px; font-weight:700;
      letter-spacing:0.14em; text-transform:uppercase;
      color:var(--accent); margin-bottom:20px;
    }
    h2 {
      font-size:clamp(34px,4vw,58px);
      font-weight:900; letter-spacing:-0.03em;
      line-height:1.07; margin-bottom:24px;
    }
    .body-text {
      font-size:16px; color:var(--gray-light);
      line-height:1.75; max-width:560px;
    }

    /* ── SERVICES ── */
    #services { background:var(--bg2); }
    .services-top {
      display:grid; grid-template-columns:1fr 1fr;
      align-items:center; gap:48px;
      margin-bottom:72px;
    }
    @media(max-width:768px){ .services-top { grid-template-columns:1fr; } }
    .services-left { max-width:100%; }
    .services-right {
      font-size:15px; color:var(--gray-light);
      line-height:1.75; max-width:100%;
      margin-top:0;
    }

    .service-row {
      display:grid; grid-template-columns:1fr 1fr;
      gap:1px; background:var(--border);
      border:1px solid var(--border);
      border-radius:16px; overflow:hidden;
    }
    .service-panel {
      background:var(--bg3);
      padding:48px 44px;
      transition:background 0.2s;
    }
    .service-panel:hover { background:#212428; }
    .service-panel-highlights { display:flex; flex-direction:column; gap:28px; justify-content:center; }
    .svc-highlight { display:flex; gap:16px; align-items:flex-start; }
    .svc-hl-icon { font-size:22px; margin-top:2px; flex-shrink:0; }
    .svc-hl-title { font-size:14px; font-weight:700; margin-bottom:5px; color:var(--white); }
    .svc-hl-desc { font-size:13px; color:var(--gray); line-height:1.55; margin:0; }
    .service-num {
      font-size:11px; font-weight:700;
      letter-spacing:0.1em; color:var(--gray);
      margin-bottom:32px;
    }
    .service-title {
      font-size:clamp(22px,2.5vw,32px);
      font-weight:800; letter-spacing:-0.025em;
      line-height:1.15; margin-bottom:20px;
    }
    .service-desc {
      font-size:14px; color:var(--gray-light);
      line-height:1.7; margin-bottom:32px;
    }
    .service-list { list-style:none; }
    .service-list li {
      font-size:13px; color:var(--gray-light);
      padding:10px 0;
      border-top:1px solid var(--border);
      display:flex; align-items:center; gap:10px;
    }
    .service-list li::before {
      content:''; width:5px; height:5px;
      border-radius:50%; background:var(--accent);
      flex-shrink:0;
    }

    /* ── HOW ── */
    #how { background:var(--bg); }
    .how-inner {
      display:grid; grid-template-columns:1fr 1fr;
      gap:80px; align-items:start;
    }
    .steps-list { margin-top:52px; }
    .step-row {
      display:grid; grid-template-columns:52px 1fr;
      gap:20px; padding:28px 0;
      border-bottom:1px solid var(--border);
      cursor:pointer;
      transition:all 0.2s;
    }
    .step-row:first-child { border-top:1px solid var(--border); }
    .step-n {
      font-size:13px; font-weight:800;
      letter-spacing:0.06em; color:var(--gray);
      padding-top:3px; transition:color 0.2s;
    }
    .step-row.active .step-n { color:var(--accent); }
    .step-row:hover .step-n { color:var(--gray-light); }
    .step-title {
      font-size:17px; font-weight:700;
      margin-bottom:8px;
    }
    .step-body {
      font-size:13px; color:var(--gray);
      line-height:1.65;
    }

    .timeline-card {
      background:var(--bg3);
      border:1px solid var(--border);
      border-radius:16px; padding:40px;
      position:sticky; top:120px;
    }
    .tl-header {
      font-size:11px; font-weight:700;
      letter-spacing:0.1em; text-transform:uppercase;
      color:var(--gray); margin-bottom:36px;
    }
    .tl-row {
      display:flex; align-items:flex-start;
      gap:16px; margin-bottom:0;
    }
    .tl-left {
      display:flex; flex-direction:column;
      align-items:center; gap:0; flex-shrink:0; width:14px;
    }
    .tl-dot2 {
      width:12px; height:12px; border-radius:50%;
      flex-shrink:0; margin-top:3px;
    }
    .tl-connector {
      width:1px; flex:1; min-height:36px;
      background:var(--border);
    }
    .tl-right { padding-bottom:28px; flex:1; }
    .tl-day {
      font-size:10px; font-weight:700;
      letter-spacing:0.1em; text-transform:uppercase;
      color:var(--gray); margin-bottom:4px;
    }
    .tl-title2 { font-size:15px; font-weight:700; }
    .tl-sub2 { font-size:12px; color:var(--gray); margin-top:3px; }
    .tl-badge2 {
      display:inline-block; margin-top:8px;
      padding:3px 9px; border-radius:100px;
      font-size:11px; font-weight:700;
    }
    .b-green { background:rgba(212,64,126,0.12); color:var(--accent); }
    .b-yellow { background:rgba(255,196,0,0.12); color:#ffc400; }
    .b-muted { background:rgba(255,255,255,0.06); color:var(--gray); }

    /* ── TIMEZONE ── */
    #timezone { background:var(--bg2); padding:0; }
    .tz-grid {
      display:grid; grid-template-columns:1fr 1fr;
    }
    .tz-left {
      padding:100px 56px;
      border-right:1px solid var(--border);
    }
    .tz-right {
      padding:100px 56px;
      display:flex; flex-direction:column; justify-content:center;
    }
    .tz-clocks { display:flex; flex-direction:column; gap:12px; margin-bottom:20px; }
    .clock-card {
      display:flex; align-items:center; justify-content:space-between;
      padding:16px 20px;
      background:var(--bg3);
      border:1px solid var(--border);
      border-radius:12px;
    }
    .clock-card.active { border-color:var(--accent-border); background:var(--accent-dim); }
    .clk-city { display:flex; align-items:center; gap:12px; }
    .clk-flag { font-size:18px; }
    .clk-name { font-size:14px; font-weight:600; }
    .clk-tz { font-size:11px; color:var(--gray); margin-top:2px; }
    .clk-time {
      font-size:22px; font-weight:800;
      font-variant-numeric:tabular-nums;
      letter-spacing:0.02em;
    }
    .clock-card.active .clk-time { color:var(--accent); }
    .overlap-pill {
      display:inline-flex; align-items:center; gap:10px;
      padding:14px 18px;
      background:var(--accent-dim);
      border:1px solid var(--accent-border);
      border-radius:10px;
      font-size:13px; font-weight:600; color:var(--accent);
    }

    /* ── ROLES ── */
    #roles { background:var(--bg); }
    .roles-header {
      display:flex; justify-content:space-between;
      align-items:flex-end; gap:40px; margin-bottom:56px;
      flex-wrap:wrap;
    }
    .roles-grid {
      display:grid; grid-template-columns:repeat(4,1fr);
      gap:16px;
    }
    .role-card {
      background:var(--bg3);
      border:1px solid var(--border);
      border-radius:14px; padding:28px 24px;
      transition:all 0.3s; position:relative;
    }
    .role-card::after {
      content:''; position:absolute;
      top:0; left:0; right:0; height:2px;
      background:var(--accent);
      transform:scaleX(0); transform-origin:left;
      transition:transform 0.3s; border-radius:14px 14px 0 0;
    }
    .role-card:hover { border-color:var(--accent-border); transform:translateY(-3px); }
    .role-card:hover::after { transform:scaleX(1); }
    .role-icon2 { font-size:26px; margin-bottom:18px; }
    .role-name { font-size:17px; font-weight:700; margin-bottom:10px; }
    .role-blurb { font-size:13px; color:var(--gray); line-height:1.6; margin-bottom:18px; }
    .tags { display:flex; flex-wrap:wrap; gap:6px; }
    .tag {
      padding:4px 9px;
      background:rgba(255,255,255,0.05);
      border:1px solid var(--border);
      border-radius:100px;
      font-size:10px; font-weight:600;
      color:var(--gray-light); letter-spacing:0.03em;
    }

    /* ── TALENT ── */
    #talent { background:var(--bg2); }
    .talent-grid {
      display:grid; grid-template-columns:1fr 1fr;
      gap:80px; align-items:center;
    }
    .perks { display:flex; flex-direction:column; gap:24px; margin-top:40px; }
    .perk { display:flex; gap:16px; align-items:flex-start; }
    .perk-icon2 {
      width:38px; height:38px; border-radius:8px;
      background:var(--accent-dim); border:1px solid var(--accent-border);
      display:flex; align-items:center; justify-content:center;
      font-size:16px; flex-shrink:0;
    }
    .perk-title2 { font-size:15px; font-weight:700; margin-bottom:4px; }
    .perk-desc2 { font-size:13px; color:var(--gray); line-height:1.55; }

    .profiles { display:flex; flex-direction:column; gap:14px; }
    .profile {
      display:flex; align-items:center; gap:14px;
      padding:18px 22px;
      background:var(--bg3); border:1px solid var(--border);
      border-radius:12px; transition:all 0.2s;
    }
    .profile:hover { border-color:var(--accent-border); transform:translateX(4px); }
    .p-avatar {
      width:42px; height:42px; border-radius:10px;
      background:linear-gradient(135deg,#142b1f,#0d1f15);
      border:1px solid var(--accent-border);
      display:flex; align-items:center; justify-content:center;
      font-size:17px; flex-shrink:0;
    }
    .p-info { flex:1; }
    .p-name { font-size:14px; font-weight:700; }
    .p-role2 { font-size:11px; color:var(--gray); margin-top:2px; }
    .p-tags { display:flex; gap:5px; margin-top:7px; flex-wrap:wrap; }
    .p-tags .tag { font-size:9px; padding:2px 7px; }

    .p-status {
      font-size:11px; font-weight:700; color:var(--accent);
      display:flex; align-items:center; gap:5px;
    }
    .s-dot {
      width:5px; height:5px; border-radius:50%;
      background:var(--accent); animation:blink 2s infinite;
    }

    /* ── CTA ── */
    #cta { background:var(--bg); padding:100px 56px; }
    .cta-grid {
      max-width:1200px; margin:0 auto;
      display:grid; grid-template-columns:1fr 1fr;
      gap:80px; align-items:center;
    }
    .cta-left h2 { font-size:clamp(36px,4vw,64px); text-align:left; }
    .cta-left .section-tag { display:block; margin-bottom:20px; }
    .cta-contact-links {
      display:flex; gap:10px; flex-wrap:wrap; margin-top:32px;
    }
    .cta-form-wrap {
      background:var(--bg3); border:1px solid var(--border);
      border-radius:20px; padding:40px 36px;
    }
    .cta-form { display:flex; flex-direction:column; gap:18px; }
    .cf-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .cf-field { display:flex; flex-direction:column; gap:6px; }
    .cf-label { font-size:12px; font-weight:600; color:var(--gray-light); letter-spacing:0.04em; }
    .cf-input {
      background:var(--bg2); border:1px solid var(--border);
      border-radius:10px; padding:13px 16px;
      font-size:14px; color:var(--white);
      font-family:inherit; outline:none;
      transition:border-color 0.2s;
      -webkit-appearance:none;
    }
    .cf-input:focus { border-color:var(--accent-border); }
    .cf-select { cursor:pointer; }
    .cf-select option { background:var(--bg2); }
    .cf-textarea { resize:vertical; min-height:80px; }
    .cf-submit {
      background:var(--accent); color:#fff;
      border:none; border-radius:10px;
      padding:15px 28px; font-size:15px;
      font-weight:700; font-family:inherit;
      cursor:pointer; transition:opacity 0.2s;
      letter-spacing:-0.01em;
    }
    .cf-submit:hover { opacity:0.88; }
    .cf-success {
      text-align:center; padding:40px 20px;
    }
    .cf-success-icon {
      width:52px; height:52px; border-radius:50%;
      background:var(--accent); color:#fff;
      font-size:22px; font-weight:700;
      display:flex; align-items:center; justify-content:center;
      margin:0 auto 16px;
    }
    .cf-success p { color:var(--gray-light); font-size:15px; line-height:1.6; }
    .cta-sub {
      font-size:17px; color:var(--gray-light);
      line-height:1.75; margin:24px 0 40px;
    }
    .cta-links {
      display:flex; justify-content:center;
      gap:12px; flex-wrap:wrap; margin-bottom:36px;
    }
    .cta-chip {
      display:flex; align-items:center; gap:8px;
      padding:12px 20px;
      background:var(--bg3); border:1px solid var(--border);
      border-radius:9px; text-decoration:none;
      font-size:13px; font-weight:500; color:var(--gray-light);
      transition:all 0.2s;
    }
    .cta-chip:hover { border-color:var(--accent-border); color:var(--white); }


    /* ── CLIENTS ── */
    #clients {
      background:var(--bg);
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
      padding:56px 56px;
    }
    .clients-inner { max-width:1100px; margin:0 auto; }
    .clients-heading {
      font-size:clamp(28px,3vw,42px);
      font-weight:800; letter-spacing:-0.025em;
      margin-bottom:40px; color:var(--white);
    }
    .clients-label {
      font-size:11px; font-weight:700; letter-spacing:0.14em;
      text-transform:uppercase; color:var(--gray);
      margin-bottom:40px; display:block;
    }
    .client-featured {
      display:flex; align-items:center; gap:0;
      background:var(--bg3); border:1px solid var(--border);
      border-radius:20px; overflow:hidden;
    }
    .client-feat-logo {
      flex:0 0 260px; padding:40px 44px;
      display:flex; flex-direction:column;
      align-items:flex-start; gap:20px;
      border-right:1px solid var(--border);
    }
    .client-feat-logo img { height:72px; width:auto; opacity:0.9; }
    .client-feat-divider { display:none; }
    .client-feat-desc {
      flex:1; padding:40px 48px;
    }
    .client-feat-desc p {
      font-size:15px; color:var(--gray-light);
      line-height:1.7; margin:0;
    }
    .client-location {
      font-size:10px; font-weight:600; letter-spacing:0.06em;
      text-transform:uppercase; color:var(--gray);
      opacity:0.6;
    }
    @media(max-width:768px) {
      .client-featured { flex-direction:column; }
      .client-feat-logo {
        flex:none; width:100%; border-right:none;
        border-bottom:1px solid var(--border);
        padding:32px 28px;
      }
      .client-feat-desc { padding:28px 28px; }
    }

    /* ── FOOTER ── */
    footer {
      background:var(--bg2);
      border-top:1px solid var(--border);
      padding:48px 56px;
      display:flex; align-items:center;
      justify-content:space-between; gap:24px;
      flex-wrap:wrap;
    }
    .footer-brand {
      display:flex; align-items:center; gap:10px;
      text-decoration:none;
    }
    .footer-brand svg { height:38px; width:auto; }
    .footer-brand-text {
      font-size:13px; font-weight:800;
      letter-spacing:0.06em; color:var(--off-white);
    }
    .footer-copy { font-size:12px; color:var(--gray); }
    .footer-links2 {
      display:flex; gap:24px; list-style:none;
    }
    .footer-links2 a {
      text-decoration:none; font-size:12px;
      color:var(--gray); transition:color 0.2s;
    }
    .footer-links2 a:hover { color:var(--white); }

    /* ── LANG SYSTEM ── */
    [data-lang="es"] { display:none; }
    body.es [data-lang="en"] { display:none; }
    body.es [data-lang="es"] { display:revert; }
    body.es .lang-btn[data-l="es"] { background:var(--accent); color:#fff; }
    body.es .lang-btn[data-l="en"] { background:transparent; color:var(--gray); }
    span[data-lang="es"] { display:none; }
    body.es span[data-lang="en"] { display:none; }
    body.es span[data-lang="es"] { display:inline; }
    /* Los <li> de las listas usan display:flex, más específico que el sistema
       de idiomas, y mostraban ambos idiomas a la vez. */
    li[data-lang="es"] { display:none !important; }
    body.es li[data-lang="en"] { display:none !important; }
    body.es li[data-lang="es"] { display:flex !important; }

    /* ── HAMBURGER ── */
    .nav-hamburger {
      display:none;
      flex-direction:column; justify-content:center; align-items:center;
      gap:5px; width:40px; height:40px;
      background:transparent; border:none; cursor:pointer; padding:4px;
    }
    .nav-hamburger span {
      display:block; width:22px; height:2px;
      background:var(--white); border-radius:2px;
      transition:all 0.3s;
    }
    .nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity:0; }
    .nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

    /* ── MOBILE MENU ── */
    .mobile-menu {
      display:none; position:fixed;
      top:0; left:0; right:0; bottom:0; z-index:99;
      background:rgba(17,18,20,0.97); backdrop-filter:blur(20px);
      flex-direction:column; align-items:center; justify-content:center;
      gap:8px; opacity:0; pointer-events:none; transition:opacity 0.3s;
    }
    .mobile-menu.open { opacity:1; pointer-events:all; }
    .mobile-menu-links {
      list-style:none; display:flex; flex-direction:column;
      align-items:center; gap:4px; width:100%;
    }
    .mobile-menu-links a {
      display:block; padding:16px 32px;
      font-size:22px; font-weight:700; letter-spacing:-0.02em;
      color:var(--white); text-decoration:none; transition:color 0.2s;
    }
    .mobile-menu-links a:hover { color:var(--accent); }
    .mobile-menu-divider { width:40px; height:1px; background:var(--border); margin:16px 0; }
    .mobile-menu-bottom { display:flex; flex-direction:column; align-items:center; gap:16px; }
    .mobile-menu-bottom .lang-toggle { transform:scale(1.1); }
    .mobile-menu-bottom .btn-contact { padding:14px 36px; font-size:15px; }

    /* ── RESPONSIVE ── */
    @media(max-width:1024px){
      nav { padding:16px 28px; }
      nav.scrolled { padding:12px 28px; }
      .nav-links { display:none; }
      .nav-ai-badge { display:none; }
      .nav-hamburger { display:flex; }
      .mobile-menu { display:flex; }
      .nav-right .btn-contact { display:none; }
      .nav-right .lang-toggle { display:none; }
      #hero { padding:110px 28px 60px; }
      section { padding:72px 28px; }
      #stats { grid-template-columns:repeat(2,1fr); padding:0 28px; }
      .stat-cell:nth-child(2) { border-right:none; }
      .service-row { grid-template-columns:1fr; }
      .how-inner { grid-template-columns:1fr; }
      .timeline-card { position:static; }
      .tz-grid { grid-template-columns:1fr; }
      .tz-left { padding:60px 28px; border-right:none; border-bottom:1px solid var(--border); }
      .tz-right { padding:60px 28px; }
      .roles-grid { grid-template-columns:repeat(2,1fr); }
      .talent-grid { grid-template-columns:1fr; }
      #cta { padding:64px 24px; }
      .cta-grid { grid-template-columns:1fr; gap:48px; }
      .cta-left h2 { font-size:clamp(32px,8vw,48px); }
      .cf-row { grid-template-columns:1fr; }
      footer { flex-direction:column; text-align:center; gap:16px; padding:36px 28px; }
    }
    @media(max-width:640px){
      nav { padding:14px 20px; }
      #hero { padding:100px 20px 48px; }
      section { padding:56px 20px; }
      #stats { grid-template-columns:1fr 1fr; padding:0 20px; }
      .stat-cell { padding:32px 20px; }
      .roles-grid { grid-template-columns:1fr; }
      .service-panel { padding:36px 28px; }
      .tz-left, .tz-right { padding:48px 20px; }
      #cta { padding:80px 20px; }
      footer { padding:28px 20px; }
    }

    /* ── Nav AI badge ── */
    .nav-ai-badge {
      display:inline-flex; align-items:center; gap:7px;
      font-size:12px; font-weight:700; letter-spacing:.03em;
      color:var(--accent); border:1px solid rgba(212,64,126,.4);
      border-radius:20px; padding:5px 14px; text-decoration:none;
      transition:background .2s, border-color .2s;
      white-space:nowrap;
    }
    .nav-ai-badge:hover { background:rgba(212,64,126,.08); border-color:var(--accent); }
    .ai-pulse {
      width:6px; height:6px; border-radius:50%;
      background:var(--accent); flex-shrink:0;
      animation: pulse-dot 2s ease-in-out infinite;
    }
    @keyframes pulse-dot {
      0%,100% { opacity:1; transform:scale(1); }
      50% { opacity:.5; transform:scale(.7); }
    }

    /* ── Two paths ── */
    #paths { padding:72px 24px 56px; }
    .paths-inner { max-width:880px; margin:0 auto; }
    .paths-eyebrow {
      text-align:center; font-size:11px; font-weight:700;
      letter-spacing:.1em; text-transform:uppercase;
      color:var(--gray); margin-bottom:36px;
    }
    .paths-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .path-card {
      background:var(--bg2); border:1px solid var(--border);
      border-radius:16px; padding:32px 28px;
      display:flex; flex-direction:column; gap:14px;
      transition:border-color .25s, transform .2s;
    }
    .path-card:hover { border-color:rgba(255,255,255,.18); transform:translateY(-2px); }
    .path-card.ai-card { border-color:rgba(212,64,126,.2); }
    .path-card.ai-card:hover { border-color:var(--accent); }
    .path-badge {
      font-size:10px; font-weight:700; letter-spacing:.08em;
      text-transform:uppercase; color:var(--gray);
    }
    .path-badge.accent { color:var(--accent); }
    .path-card h3 { font-size:19px; font-weight:800; color:var(--white); margin:0; line-height:1.25; }
    .path-card p { font-size:13px; color:var(--gray); line-height:1.65; margin:0; flex-grow:1; }
    .path-link {
      display:inline-flex; align-items:center; gap:5px;
      font-size:13px; font-weight:600; text-decoration:none;
      margin-top:6px;
    }
    .path-link.talent-link { color:var(--off-white); }
    .path-link.ai-link { color:var(--accent); }
    @media(max-width:600px){ .paths-grid { grid-template-columns:1fr; } }

    /* ══ Near Horizons AI section ══════════════════════════════════════════ */
    #ai { padding:100px 24px; border-top:1px solid var(--border); }

    .ai-header { max-width:680px; margin:0 auto 72px; text-align:center; }
    .ai-header .section-tag { color:var(--accent); }
    .ai-header h2 {
      font-size:clamp(30px,4.5vw,50px); font-weight:900;
      line-height:1.1; margin:14px 0 18px; color:var(--white);
    }
    .ai-header p { font-size:15px; color:var(--gray2); line-height:1.75; }

    .ai-services-grid {
      display:grid; grid-template-columns:repeat(2,1fr); gap:18px;
      max-width:880px; margin:0 auto 80px;
    }
    .ai-svc-card {
      background:var(--bg2); border:1px solid var(--border);
      border-radius:14px; padding:28px 24px;
      transition:border-color .2s;
    }
    .ai-svc-card:hover { border-color:rgba(212,64,126,.3); }
    .ai-svc-icon { font-size:26px; margin-bottom:14px; }
    .ai-svc-title {
      font-size:15px; font-weight:700; color:var(--white);
      margin-bottom:10px; line-height:1.3;
    }
    .ai-svc-desc { font-size:13px; color:var(--gray); line-height:1.65; }

    .ai-how { max-width:820px; margin:0 auto 80px; }
    .ai-how-eyebrow {
      text-align:center; font-size:11px; font-weight:700;
      letter-spacing:.1em; text-transform:uppercase;
      color:var(--gray); margin-bottom:40px;
    }
    .ai-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
    .ai-step { text-align:center; }
    .ai-step-num {
      font-size:11px; font-weight:800; letter-spacing:.08em;
      color:var(--accent); margin-bottom:12px;
    }
    .ai-step-title { font-size:15px; font-weight:700; color:var(--white); margin-bottom:10px; }
    .ai-step-desc { font-size:13px; color:var(--gray); line-height:1.65; }

    .ai-industries { max-width:680px; margin:0 auto 72px; text-align:center; }
    .ai-ind-label {
      font-size:11px; font-weight:700; letter-spacing:.1em;
      text-transform:uppercase; color:var(--gray); margin-bottom:20px;
    }
    .ai-ind-tags { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
    .ai-ind-tag {
      font-size:13px; font-weight:500; color:var(--off-white);
      border:1px solid var(--border); border-radius:20px;
      padding:6px 16px; background:var(--bg3);
    }

    .ai-cta-box {
      max-width:580px; margin:0 auto; text-align:center;
      background:linear-gradient(135deg,rgba(212,64,126,.07),rgba(212,64,126,.02));
      border:1px solid rgba(212,64,126,.22); border-radius:20px;
      padding:48px 40px;
    }
    .ai-cta-box h3 { font-size:22px; font-weight:800; color:var(--white); margin-bottom:12px; }
    .ai-cta-box p { font-size:14px; color:var(--gray); margin-bottom:28px; line-height:1.65; }
    .btn-ai {
      display:inline-flex; align-items:center; gap:8px;
      background:var(--accent); color:#fff;
      font-size:14px; font-weight:700; border-radius:8px;
      padding:14px 28px; text-decoration:none;
      transition:opacity .2s;
    }
    .btn-ai:hover { opacity:.85; }

    @media(max-width:640px){
      .ai-services-grid { grid-template-columns:1fr; }
      .ai-steps { grid-template-columns:1fr; }
      .ai-cta-box { padding:32px 24px; }
    }

  
    /* WHY SECTION */
    #why {
      padding:100px 24px;
      border-top:1px solid var(--border);
    }
    .why-inner {
      max-width:1100px;
      margin:0 auto;
    }
    .why-header {
      text-align:center;
      margin-bottom:60px;
    }
    .why-header h2 {
      font-size:clamp(28px,4vw,44px);
      font-weight:800;
      letter-spacing:-0.03em;
      margin-bottom:12px;
    }
    .why-header p {
      color:var(--gray-light);
      font-size:16px;
      max-width:500px;
      margin:0 auto;
    }
    .why-grid {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:20px;
      margin-bottom:60px;
    }
    @media(max-width:768px) {
      .why-grid { grid-template-columns:1fr; }
    }
    .why-card {
      background:var(--bg2);
      border:1px solid var(--border);
      border-radius:16px;
      padding:28px;
    }
    .why-card-icon {
      font-size:26px;
      margin-bottom:14px;
    }
    .why-card h4 {
      font-size:15px;
      font-weight:700;
      margin-bottom:8px;
    }
    .why-card p {
      font-size:13px;
      color:var(--gray-light);
      line-height:1.6;
    }
    .why-guarantee {
      background:linear-gradient(135deg,rgba(212,64,126,0.06),rgba(212,64,126,0.02));
      border:1px solid rgba(212,64,126,0.2);
      border-radius:16px;
      padding:36px 40px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      flex-wrap:wrap;
    }
    .why-guarantee-text h3 {
      font-size:20px;
      font-weight:800;
      margin-bottom:6px;
    }
    .why-guarantee-text p {
      font-size:14px;
      color:var(--gray-light);
    }
    .why-guarantee-badges {
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }
    .g-badge {
      background:rgba(212,64,126,0.1);
      border:1px solid rgba(212,64,126,0.3);
      border-radius:8px;
      padding:10px 18px;
      font-size:12px;
      font-weight:700;
      color:var(--accent);
      white-space:nowrap;
    }

  
    .trusted-wrap {
      padding:28px 24px 0;
      text-align:center;
    }
    .trusted-label {
      font-size:11px;
      font-weight:600;
      letter-spacing:0.1em;
      text-transform:uppercase;
      color:var(--gray);
      margin-bottom:20px;
      display:block;
    }

  
    /* FAQ */
    #faq {
      padding:100px 24px;
      border-top:1px solid var(--border);
    }
    .faq-inner {
      max-width:800px;
      margin:0 auto;
    }
    .faq-header {
      text-align:center;
      margin-bottom:56px;
    }
    .faq-header h2 {
      font-size:clamp(26px,3.5vw,40px);
      font-weight:800;
      letter-spacing:-0.03em;
      margin-bottom:10px;
    }
    .faq-header p {
      color:var(--gray-light);
      font-size:15px;
    }
    .faq-item {
      border-bottom:1px solid var(--border);
    }
    .faq-item:last-child { border-bottom:none; }
    .faq-q {
      width:100%;
      background:none;
      border:none;
      color:var(--white);
      font-family:'Montserrat',sans-serif;
      font-size:15px;
      font-weight:600;
      text-align:left;
      padding:22px 0;
      cursor:pointer;
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
    }
    .faq-q:hover { color:var(--accent); }
    .faq-chevron {
      font-size:18px;
      transition:transform 0.2s;
      flex-shrink:0;
      color:var(--gray);
    }
    .faq-item.open .faq-chevron { transform:rotate(180deg); color:var(--accent); }
    .faq-a {
      display:none;
      padding:0 0 22px;
      color:var(--gray-light);
      font-size:14px;
      line-height:1.7;
    }
    .faq-item.open .faq-a { display:block; }
    .faq-cta-line {
      text-align:center;
      margin-top:52px;
      color:var(--gray-light);
      font-size:14px;
    }
    .faq-cta-line a {
      color:var(--accent);
      font-weight:600;
      text-decoration:none;
    }

  
    /* HERO SPLIT CARDS */
    .hero-split {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
      max-width:820px;
      margin:40px auto 0;
    }
    @media(max-width:640px){
      .hero-split { grid-template-columns:1fr; margin:28px auto 0; }
    }
    .split-card {
      border-radius:16px;
      padding:26px 28px;
      text-decoration:none;
      display:block;
      transition:transform .2s, box-shadow .2s;
      position:relative;
      overflow:hidden;
    }
    .split-card:hover { transform:translateY(-3px); }
    .split-card-talent {
      background:rgba(212,64,126,0.08);
      border:1px solid rgba(212,64,126,0.3);
    }
    .split-card-talent:hover { box-shadow:0 0 32px rgba(212,64,126,0.15); }
    .split-card-ai {
      background:rgba(75,130,245,0.08);
      border:1px solid rgba(75,130,245,0.3);
    }
    .split-card-ai:hover { box-shadow:0 0 32px rgba(75,130,245,0.15); }
    .split-card-label {
      font-size:10px;
      font-weight:700;
      letter-spacing:0.12em;
      text-transform:uppercase;
      margin-bottom:10px;
      display:block;
    }
    .split-card-talent .split-card-label { color:var(--accent); }
    .split-card-ai .split-card-label { color:#4B82F5; }
    .split-card h3 {
      font-size:17px;
      font-weight:800;
      letter-spacing:-0.02em;
      color:var(--white);
      margin-bottom:8px;
      line-height:1.25;
    }
    .split-card p {
      font-size:12px;
      color:var(--gray-light);
      line-height:1.6;
      margin-bottom:16px;
    }
    .split-card-cta {
      font-size:12px;
      font-weight:700;
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .split-card-talent .split-card-cta { color:var(--accent); }
    .split-card-ai .split-card-cta { color:#4B82F5; }
    .split-card-icon {
      font-size:22px;
      margin-bottom:12px;
      display:block;
    }


    /* ── FORWARD DEPLOYED ENGINEERING (home teaser + /services page) ── */
    /* Blue accent differentiates "what's next / US AI engineering"
       from the pink "Near Horizons AI" (LATAM consulting) section. */
    #fde {
      background:var(--bg2);
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
    }
    .fde-header { max-width:760px; margin:0 auto 56px; text-align:center; }
    .fde-header .section-tag { color:var(--accent2); }
    .fde-header h2 { font-size:clamp(32px,4vw,56px); }
    .fde-header p {
      font-size:16px; color:var(--gray-light);
      line-height:1.75; margin:8px auto 0; max-width:680px;
    }

    .fde-compare {
      display:grid; grid-template-columns:1fr 1fr;
      gap:16px; max-width:940px; margin:0 auto;
    }
    @media(max-width:700px){ .fde-compare { grid-template-columns:1fr; } }
    .fde-col {
      background:var(--bg3); border:1px solid var(--border);
      border-radius:18px; padding:34px 32px;
    }
    .fde-col.is-next {
      border-color:var(--accent2-border);
      background:linear-gradient(180deg, rgba(75,130,245,0.06), rgba(75,130,245,0.01));
    }
    .fde-col-label {
      font-size:11px; font-weight:700; letter-spacing:0.12em;
      text-transform:uppercase; color:var(--gray);
      margin-bottom:14px; display:block;
    }
    .fde-col.is-next .fde-col-label { color:var(--accent2); }
    .fde-col h3 {
      font-size:21px; font-weight:800; letter-spacing:-0.02em;
      line-height:1.2; margin-bottom:18px; color:var(--white);
    }
    .fde-list { list-style:none; }
    .fde-list li {
      font-size:13px; color:var(--gray-light); line-height:1.6;
      padding:11px 0; border-top:1px solid var(--border);
      display:flex; gap:11px; align-items:flex-start;
    }
    .fde-list li::before { content:'→'; color:var(--gray); flex-shrink:0; }
    .fde-col.is-next .fde-list li::before { color:var(--accent2); }

    .fde-cta {
      max-width:780px; margin:56px auto 0; text-align:center;
      background:linear-gradient(180deg, rgba(75,130,245,0.09), rgba(75,130,245,0.02));
      border:1px solid var(--accent2-border);
      border-radius:20px; padding:48px 40px;
    }
    .fde-cta h3 { font-size:24px; font-weight:800; letter-spacing:-0.02em; margin-bottom:12px; }
    .fde-cta p { font-size:15px; color:var(--gray-light); line-height:1.7; margin-bottom:28px; }

    .btn-accent2 {
      display:inline-block; padding:15px 28px;
      background:var(--accent2); color:#fff;
      border-radius:9px; text-decoration:none;
      font-size:14px; font-weight:700;
      transition:opacity .2s, transform .2s; white-space:nowrap;
    }
    .btn-accent2:hover { opacity:.88; transform:translateY(-1px); }

    /* nav badge variant for the FDE/AI-Engineering link */
    .nav-fde-badge {
      display:inline-flex; align-items:center; gap:7px;
      padding:7px 13px; border-radius:7px;
      border:1px solid var(--accent2-border);
      background:rgba(75,130,245,0.06);
      font-size:12px; font-weight:700; letter-spacing:0.02em;
      color:var(--accent2); text-decoration:none;
      transition:background .2s, border-color .2s;
    }
    .nav-fde-badge:hover { background:rgba(75,130,245,0.12); border-color:var(--accent2); }
    .nav-fde-badge .ai-pulse { background:var(--accent2); box-shadow:0 0 0 0 var(--accent2); }
    @media(max-width:1024px){ .nav-fde-badge { display:none; } }

    /* ── /services hero ── */
    .svc-hero {
      padding:170px 56px 90px;
      position:relative; overflow:hidden;
      border-bottom:1px solid var(--border);
    }
    .svc-hero-glow {
      position:absolute; top:-280px; right:-180px;
      width:760px; height:760px;
      background:radial-gradient(circle, rgba(75,130,245,0.10) 0%, transparent 65%);
      pointer-events:none;
    }
    .svc-hero-inner { max-width:1100px; margin:0 auto; position:relative; }
    .svc-hero h1 { font-size:clamp(40px,6vw,84px); max-width:14ch; }
    .svc-hero h1 em { color:var(--accent2); font-style:normal; }
    .svc-hero .hero-desc { max-width:640px; margin-top:30px; }
    .svc-hero-ctas { display:flex; gap:12px; margin-top:40px; flex-wrap:wrap; }
    @media(max-width:640px){ .svc-hero { padding:130px 24px 64px; } }

    /* tint the reused AI grid blue on the services page */
    .svc-page .ai-svc-card:hover { border-color:var(--accent2-border); }
    .svc-page .ai-header .section-tag { color:var(--accent2); }
    .svc-page .ai-step-num { color:var(--accent2); }
    .svc-page .why-card-icon { filter:none; }
