input,select,textarea{font-family:inherit;color:inherit}

  /* Reveal-on-scroll */
  
  
  

  /* ---------- NAV ---------- */
  
  
  
  
  
  
  
  /* Products dropdown */
  
  
  
  .dd-menu{
    position:absolute;top:100%;left:-14px;
    min-width:180px;padding:8px;margin-top:14px;
    background:#fff;border:1px solid var(--line);
    border-radius:12px;
    box-shadow:0 12px 40px rgba(12,55,77,.10),0 4px 12px rgba(12,55,77,.06);
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s;
    z-index:60;list-style:none;display:block;gap:0;
  }
  .has-dd:hover .dd-menu,
  .has-dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateY(0)}
  
  
  .dd-menu a{display:block;padding:9px 14px;border-radius:8px;color:var(--ink) !important;font-size:14px;font-weight:500;transition:background .18s ease}
  
  
  .btn{padding:11px 22px;border-radius:999px;font-weight:600;font-size:14px;transition:all .2s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
  
  
  
  
  

  /* ---------- COMMON ---------- */
  .section{max-width:1320px;margin:0 auto;padding:64px 32px;position:relative}
  .kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-weight:700;margin-bottom:18px;display:inline-block}
  h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.025em;line-height:1.08;font-weight:700;color:var(--ink)}
  h2 em{font-style:normal;color:var(--teal);font-weight:inherit}

  /* ---------- HERO ---------- */
  .ct-hero{
    position:relative;width:100%;
    padding:160px 32px 48px;
    text-align:center;
    background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);
    overflow:hidden;
  }
  .ct-hero::after{
    content:"";position:absolute;left:50%;top:0;
    transform:translateX(-50%);
    width:1100px;height:540px;
    background:radial-gradient(ellipse at center,rgba(79,166,192,.14) 0%,transparent 60%);
    pointer-events:none;z-index:0;
  }
  .ct-hero-inner{position:relative;z-index:1;max-width:880px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px}
  .ct-h1{font-size:clamp(44px,5.4vw,76px);line-height:1.02;letter-spacing:-.03em;font-weight:700;color:var(--ink);max-width:900px;text-wrap:balance}
  .ct-lede{font-size:18px;line-height:1.55;color:var(--muted);max-width:620px;font-weight:400}
  .ct-promise{display:inline-flex;align-items:flex-start;gap:10px;padding:16px 28px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink);box-shadow:0 2px 12px rgba(12,55,77,.04)}
  .ct-promise .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(52,211,153,.25)}

  /* ---------- INTENT ROUTER ---------- */
  .intent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1320px;margin:0 auto;padding:0 32px}
  .intent-card{
    background:#fff;border:1px solid var(--line-soft);border-radius:18px;
    padding:24px 22px;display:flex;flex-direction:column;gap:10px;
    text-align:left;cursor:pointer;
    transition:all .2s ease;
  }
  .intent-card:hover{border-color:rgba(79,166,192,.35);background:var(--teal-soft);transform:translateY(-2px);box-shadow:0 14px 30px -16px rgba(12,55,77,.10)}
  .intent-card .ic-icon{
    width:40px;height:40px;border-radius:11px;
    background:var(--teal-soft);color:var(--teal-ink);
    display:flex;align-items:center;justify-content:center;
  }
  .intent-card:hover .ic-icon{background:#fff}
  .intent-card .ic-icon svg{width:20px;height:20px}
  .intent-card h4{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.25}
  .intent-card p{font-size:13px;color:var(--muted);line-height:1.5}

  /* ---------- FORM + OFFICES ---------- */
  .ct-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;max-width:1320px;margin:0 auto;padding:48px 32px 64px}

  .ct-form-card{
    background:#fff;border:1px solid var(--line-soft);border-radius:24px;
    padding:40px;box-shadow:0 20px 50px -24px rgba(12,55,77,.08);
  }
  .ct-form-head{margin-bottom:28px}
  .ct-form-head h3{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px;line-height:1.2}
  .ct-form-head p{font-size:14px;color:var(--muted);line-height:1.55}
  .ct-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .field{display:flex;flex-direction:column;gap:6px}
  .field.full{grid-column:1/-1}
  .field label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
  .field input,.field select,.field textarea{
    padding:12px 14px;border-radius:10px;
    background:var(--bg);
    border:1px solid var(--line);
    font-size:14px;color:var(--ink);
    transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
    width:100%;font-weight:500;
  }
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:none;
    border-color:var(--teal);
    background:#fff;
    box-shadow:0 0 0 4px rgba(79,166,192,.12);
  }
  .field textarea{min-height:120px;resize:vertical;line-height:1.55}
  .field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23536B7E' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
  .field .hint{font-size:12px;color:var(--faint);margin-top:2px}
  .ct-submit{
    grid-column:1/-1;margin-top:6px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  }
  .ct-submit .submit-meta{font-size:12px;color:var(--muted)}
  .ct-submit .submit-meta b{color:var(--ink);font-weight:600}
  .ct-submit button{
    padding:14px 30px;border-radius:999px;
    background:var(--teal);color:#fff;
    font-size:15px;font-weight:600;border:0;cursor:pointer;
    transition:box-shadow .25s ease, transform .15s ease;
    display:inline-flex;align-items:center;gap:8px;
  }
  .ct-submit button:hover:not(:disabled){box-shadow:0 0 18px rgba(79,166,192,.32),0 0 36px rgba(79,166,192,.16);transform:translateY(-1px)}
  .ct-submit button:disabled{opacity:.65;cursor:default;transform:none;box-shadow:none}
  .ct-submit button svg{width:14px;height:14px}

  /* Honeypot, kept off-screen for users, attractive to bots. */
  .ct-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

  /* Form status / error blocks (shown by JS via state classes on the form). */
  .ct-form .form-status,
  .ct-form .form-error{grid-column:1/-1;display:none;border-radius:14px;padding:18px 22px;line-height:1.55;outline:none}
  .ct-form .form-status{
    background:linear-gradient(180deg,#F7FCFD,#fff);
    border:1px solid rgba(79,166,192,.3);
    color:var(--ink);
  }
  .ct-form .form-status strong{display:block;font-size:16px;font-weight:700;margin-bottom:4px;color:var(--teal-ink)}
  .ct-form .form-status small{display:block;font-size:13px;color:var(--muted);margin-top:4px}
  .ct-form .form-error{
    background:#FFF4F4;
    border:1px solid rgba(239,68,68,.25);
    color:#7A1F1F;font-size:13px;
  }
  .ct-form.is-success .field,
  .ct-form.is-success .ct-submit{display:none}
  .ct-form.is-success .form-status{display:block}
  .ct-form.is-error   .form-error{display:block}

  /* ---------- OFFICES SIDEBAR ---------- */
  .ct-side{display:flex;flex-direction:column;gap:14px}
  .office{
    background:#fff;border:1px solid var(--line-soft);border-radius:18px;
    padding:24px;display:flex;flex-direction:column;gap:14px;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .office:hover{border-color:rgba(79,166,192,.25);box-shadow:0 12px 30px -16px rgba(12,55,77,.08)}
  .office-head{display:flex;align-items:center;gap:10px}
  .flag{
    width:36px;height:24px;border-radius:5px;
    overflow:hidden;flex-shrink:0;
    box-shadow:0 0 0 1px rgba(0,0,0,.10);
    display:block;
  }
  .flag svg{display:block;width:100%;height:100%}
  .office h4{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.015em}
  .office .entity{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:2px}
  .office .addr{font-size:14px;line-height:1.55;color:var(--muted);font-weight:400}
  .office .addr b{color:var(--ink);font-weight:600}
  .office .channels{display:flex;flex-direction:column;gap:6px}
  .office .channel{
    display:inline-flex;align-items:center;gap:8px;
    font-size:13px;color:var(--ink);font-weight:500;
    padding:7px 0;
    border-top:1px solid var(--line-soft);
    transition:color .15s ease;
  }
  .office .channel:hover{color:var(--teal-ink)}
  .office .channel svg{width:14px;height:14px;color:var(--teal);flex-shrink:0}

  /* ---------- SELF-SERVE STRIP ---------- */
  .self-serve{
    max-width:1320px;margin:0 auto;padding:32px;
  }
  .self-serve-inner{
    background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);
    border:1px solid var(--line-soft);border-radius:24px;
    padding:36px 40px;
    display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center;
  }
  .self-serve h3{font-size:20px;font-weight:700;color:var(--ink);letter-spacing:-.015em;margin-bottom:6px;line-height:1.25}
  .self-serve p{font-size:14px;color:var(--muted);line-height:1.55}
  .self-serve-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
  .ss-link{
    padding:10px 18px;border-radius:999px;
    background:#fff;border:1px solid var(--line);
    font-size:13px;font-weight:600;color:var(--ink);
    transition:all .2s ease;
    display:inline-flex;align-items:center;gap:6px;
  }
  .ss-link:hover{border-color:rgba(79,166,192,.4);background:var(--teal-soft);color:var(--teal-ink)}

  /* ---------- TRUST BAND ---------- */
  .trust-band{max-width:1320px;margin:0 auto;padding:0 32px 64px}
  .trust-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .trust-card{
    background:#fff;border:1px solid var(--line-soft);border-radius:18px;
    padding:24px;display:flex;flex-direction:column;gap:10px;
  }
  .trust-card .ti{width:36px;height:36px;border-radius:10px;background:var(--teal-soft);color:var(--teal-ink);display:flex;align-items:center;justify-content:center}
  .trust-card .ti svg{width:18px;height:18px}
  .trust-card h5{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.005em}
  .trust-card p{font-size:13px;color:var(--muted);line-height:1.5}
  .trust-card a{color:var(--teal-ink);font-weight:600;font-size:13px;border-bottom:1px solid rgba(79,166,192,.4);padding-bottom:1px}

  /* ---------- FINAL CTA ---------- */
  .final-cta{
    background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);
    border:1px solid var(--line-soft);border-radius:32px;
    padding:80px 56px;text-align:center;position:relative;overflow:hidden;
    box-shadow:0 30px 60px -20px rgba(12,55,77,.08);
  }
  .final-cta::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:900px;height:500px;background:radial-gradient(ellipse at center,rgba(79,166,192,.12) 0%,transparent 60%);pointer-events:none}
  .final-cta h2{position:relative;z-index:2;margin-bottom:20px}
  .final-cta p{position:relative;z-index:2;color:var(--muted);font-size:18px;line-height:1.55;max-width:560px;margin:0 auto 32px}
  .final-cta .btns{position:relative;z-index:2;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

  /* ---------- FOOTER ---------- */
  footer{background:#fff;border-top:1px solid var(--line-soft);padding:72px 32px 36px}
  
  
  
  
  
  
  
  
  
  

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:1024px){
    .intent-grid{grid-template-columns:repeat(2,1fr)}
    .ct-grid{grid-template-columns:1fr;gap:24px}
    .trust-inner{grid-template-columns:1fr}
    .self-serve-inner{grid-template-columns:1fr;gap:18px}
    .self-serve-links{justify-content:flex-start}
    .foot-grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:768px){
    nav ul{display:none}
    .nav-inner{padding:14px 20px}
    .ct-hero{padding:120px 20px 40px}
    .ct-form-card{padding:28px 24px;border-radius:18px}
    .ct-form{grid-template-columns:1fr}
    .intent-grid{grid-template-columns:1fr;padding:0 20px}
    .section{padding:64px 20px}
    .final-cta{padding:48px 24px;border-radius:24px}
    .foot-grid{grid-template-columns:1fr;gap:32px}
    .self-serve-inner{padding:28px 24px}
  }
