    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      font-family:'Inter', 'Poppins', sans-serif;
      color:var(--dark);
      background:var(--light-gray);
      overflow-x:hidden;
    }
    a{ text-decoration:none; }
    img{ max-width:100%; }

    .section-padding{ padding:100px 0; }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:9px 18px;
      border-radius:999px;
      color:var(--primary);
      font-weight:900;
      background:var(--gradient-light);
      border:1px solid rgba(210,228,255,.9);
      box-shadow:var(--shadow-light);
      margin-bottom:18px;
    }
    .section-title{
      font-weight:950;
      letter-spacing:-.035em;
      font-size:clamp(34px,3vw,54px);
      line-height:1.2;
      margin-bottom:18px;
    }
    .section-desc{
      color:var(--dark-gray);
      font-size:18px;
      line-height:1.8;
      max-width:760px;
      margin:0 auto;
      font-weight:600;
    }

    /* Header */
    .site-header{
      min-height:108px;
      background:rgba(255,255,255,.94);
      border-bottom:1px solid rgba(202,218,246,.75);
      box-shadow:0 8px 28px rgba(80,122,180,.06);
      display:flex;
      align-items:center;
      position:sticky;
      top:0;
      z-index:1000;
      backdrop-filter:blur(18px);
    }
    .brand-wrap{
      display:flex;
      align-items:center;
      gap:18px;
      min-width:250px;
    }
    .logo-mark{
      width:70px;height:70px;border-radius:12px;
      background:linear-gradient(145deg,#ff8c16,#ff5d00);
      box-shadow:0 12px 24px rgba(255,117,0,.22);
      color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
      line-height:1;position:relative;overflow:hidden;
    }
    .logo-mark::before{
      content:"∞";font-size:36px;font-weight:500;letter-spacing:-8px;
      transform:scaleX(1.55);margin-left:-7px;margin-bottom:4px;
    }
    .logo-mark small{ font-size:11px;font-weight:700;letter-spacing:.2px; }
    .brand-text{
      display:flex;align-items:flex-end;gap:10px;font-weight:950;letter-spacing:.02em;white-space:nowrap;
    }
    .brand-text .orange{ font-size:34px;color:#ff7500; }
    .brand-text .dark{ font-size:34px;color:#101b31; }
    .btn-consult{
      border:0;color:#fff;font-weight:950;font-size:18px;border-radius:32px;padding:17px 34px;min-width:154px;
      background:var(--gradient-primary);
      box-shadow:0 16px 28px rgba(32,86,230,.26);transition:var(--transition);white-space:nowrap;
    }
    .btn-consult:hover{ color:#fff;transform:translateY(-2px);box-shadow:0 20px 36px rgba(32,86,230,.34); }

    /* Hero */
    .hero{
      min-height:calc(100vh - 108px);
      position:relative;overflow:hidden;
      background:
        radial-gradient(circle at 72% 32%, rgba(55,130,255,.26), transparent 40%),
        radial-gradient(circle at 25% 18%, rgba(132,91,255,.12), transparent 34%),
        linear-gradient(135deg,#fbfdff 0%,#edf5ff 45%,#dcecff 100%);
    }
    .hero::before{
      content:"";position:absolute;inset:0;
      background-image:
        radial-gradient(circle, rgba(65,147,255,.28) 1px, transparent 1.5px),
        linear-gradient(115deg, transparent 0 58%, rgba(255,255,255,.62) 58% 59%, transparent 60%);
      background-size:34px 34px,100% 100%;opacity:.15;pointer-events:none;
    }
    .hero-shell{ position:relative;z-index:2;padding:76px 4.2vw 44px; }
    .hero-left{ padding-top:12px;max-width:790px; }
    .tag-row{ display:flex;gap:18px;flex-wrap:wrap;margin-bottom:42px; }
    .pill-tag{
      display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border-radius:999px;
      font-size:18px;font-weight:900;border:1px solid rgba(255,255,255,.8);
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);backdrop-filter:blur(10px);
    }
    .pill-blue{ color:var(--primary);background:linear-gradient(135deg,#d9ebff,#f0f6ff); }
    .pill-violet{ color:var(--secondary);background:linear-gradient(135deg,#efe4ff,#f7f2ff); }
    .pill-green{ color:#078554;background:linear-gradient(135deg,#dff8eb,#f1fff7); }
    .hero-title{
      margin:0;line-height:1.18;letter-spacing:-.04em;font-weight:950;
      font-size:clamp(42px,4.2vw,74px);color:var(--dark);
    }
    .hero-title .gradient{
      background:var(--gradient-primary);
      -webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.055em;
    }
    .hero-subtitle{
      margin:28px 0 0;font-size:clamp(18px,1.45vw,24px);line-height:1.72;font-weight:650;color:#2c3b57;max-width:790px;
    }
    .features{
      display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:28px;max-width:700px;margin-top:48px;
    }
    .feature-card{
      border:1px solid rgba(222,235,255,.88);border-radius:22px;background:rgba(255,255,255,.74);
      backdrop-filter:blur(14px);box-shadow:var(--shadow-light);min-height:142px;
      display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px 12px;transition:var(--transition);
    }
    .feature-card:hover{ transform:translateY(-4px);box-shadow:var(--shadow); }
    .feature-icon{
      width:62px;height:62px;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:36px;
      background:linear-gradient(145deg,#e7f0ff,#fff);color:var(--primary);box-shadow:inset 0 -8px 18px rgba(30,92,220,.08);
    }
    .feature-card:nth-child(2) .feature-icon{ color:#10a86c;background:linear-gradient(145deg,#e6fff4,#fff); }
    .feature-card:nth-child(3) .feature-icon{ color:var(--secondary);background:linear-gradient(145deg,#f0e8ff,#fff); }
    .feature-card:nth-child(4) .feature-icon{ color:var(--primary);background:linear-gradient(145deg,#e8f1ff,#fff); }
    .feature-card strong{ font-size:19px;font-weight:900;color:var(--dark); }
    .feature-card span{ margin-top:-5px;font-size:13px;color:var(--dark-gray);font-weight:700;text-align:center; }
    .hero-actions{ display:flex;align-items:center;gap:32px;margin-top:36px;flex-wrap:wrap; }
    .btn-primary-hero,.btn-outline-hero{
      min-width:220px;border-radius:999px;padding:18px 34px;display:inline-flex;align-items:center;justify-content:center;gap:14px;
      font-size:22px;font-weight:950;transition:var(--transition);
    }
    .btn-primary-hero{ color:#fff;background:var(--gradient-primary);box-shadow:var(--shadow); }
    .btn-primary-hero:hover{ color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-hover); }
    .btn-outline-hero{ color:var(--primary);background:rgba(255,255,255,.78);border:2px solid var(--primary);box-shadow:var(--shadow-light); }
    .btn-outline-hero:hover{ color:#fff;background:var(--primary);transform:translateY(-2px); }



    /* Reusable cards / sections */
    .soft-section{
      background:
        radial-gradient(circle at 12% 12%,rgba(123,78,255,.08),transparent 28%),
        radial-gradient(circle at 92% 38%,rgba(45,141,255,.12),transparent 34%),
        #fff;
    }
    .blue-section{
      background:
        radial-gradient(circle at 18% 18%, rgba(255,255,255,.14), transparent 25%),
        var(--gradient-primary);
      color:#fff;
      position:relative;
      overflow:hidden;
    }
    .blue-section::before{
      content:"";position:absolute;inset:0;
      background-image:radial-gradient(circle,rgba(255,255,255,.22) 1px,transparent 1.5px);
      background-size:36px 36px;opacity:.16;
    }
    .blue-section > .container{ position:relative;z-index:2; }

    .value-card,.service-card-idx,.case-card-idx,.process-card-idx,.agent-card-idx{
      height:100%;
      border:1px solid rgba(220,234,255,.94);
      border-radius:24px;
      background:rgba(255,255,255,.86);
      box-shadow:var(--shadow-light);
      transition:var(--transition);
      overflow:hidden;
    }
    .value-card:hover,.service-card-idx:hover,.case-card-idx:hover,.process-card-idx:hover,.agent-card-idx:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow);
    }
    .card-icon-lg{
      width:68px;height:68px;border-radius:22px;display:flex;align-items:center;justify-content:center;
      font-size:34px;color:var(--primary);background:linear-gradient(145deg,#e8f2ff,#fff);box-shadow:inset 0 -10px 18px rgba(25,98,240,.08);
    }
    .service-card-idx .card-body,.case-card-idx .card-body,.agent-card-idx .card-body{ padding:30px; }
    .service-card-idx h3,.case-card-idx h3,.agent-card-idx h3{ font-size:24px;font-weight:950;margin:20px 0 12px;color:var(--dark); }
    .service-card-idx p,.case-card-idx p,.agent-card-idx p{ color:var(--dark-gray);line-height:1.75;font-weight:600;margin-bottom:20px; }
    .list-check{ list-style:none;padding:0;margin:0; }
    .list-check li{ display:flex;gap:10px;align-items:flex-start;margin:10px 0;color:var(--dark);font-weight:700; }
    .list-check i{ color:var(--accent);margin-top:2px; }

    .about-panel{
      border-radius:32px;
      background:linear-gradient(135deg,#ffffff,#f1f7ff);
      border:1px solid rgba(219,234,255,.95);
      box-shadow:var(--shadow);
      padding:42px;
    }
    .about-visual{
      min-height:430px;
      border-radius:28px;
      background:
        radial-gradient(circle at 50% 44%,rgba(42,213,255,.36),transparent 24%),
        radial-gradient(circle at 50% 44%,rgba(13,97,255,.32),transparent 42%),
        linear-gradient(135deg,#eaf4ff,#fff);
      position:relative;
      overflow:hidden;
      border:1px solid #dcecff;
    }
    .about-visual::before{
      content:"";
      position:absolute;
      width:520px;height:520px;border:2px solid rgba(43,127,255,.28);border-radius:50%;
      left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);
      box-shadow:0 0 0 42px rgba(255,255,255,.18),0 0 0 86px rgba(43,127,255,.06);
    }
    .about-visual .core{
      position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
      width:180px;height:180px;border-radius:50%;
      display:flex;align-items:center;justify-content:center;flex-direction:column;
      background:var(--gradient-primary);
      color:#fff;font-weight:950;box-shadow:0 24px 50px rgba(12,91,235,.26),inset -18px 18px 24px rgba(255,255,255,.18);
    }
    .about-visual .core strong{ font-size:38px;line-height:1; }
    .about-node{
      position:absolute;width:128px;height:92px;border-radius:22px;background:rgba(255,255,255,.78);
      border:1px solid #dbeaff;box-shadow:0 14px 30px rgba(39,99,210,.10);
      display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:900;color:var(--primary);
    }
    .about-node i{ font-size:28px; }
    .node-1{ left:58px;top:78px; }.node-2{ right:58px;top:78px; }.node-3{ left:58px;bottom:78px; }.node-4{ right:58px;bottom:78px; }

    .solution-detail{
      position:relative;
      border-radius:30px;
      background:rgba(255,255,255,.88);
      border:1px solid rgba(218,234,255,.94);
      box-shadow:var(--shadow-light);
      padding:34px;
      height:100%;
      overflow:hidden;
    }
    .solution-detail::after{
      content:"";position:absolute;right:-55px;bottom:-60px;width:180px;height:180px;border-radius:50%;
      background:currentColor;opacity:.08;
    }
    .solution-detail h3{ font-size:28px;font-weight:950;margin:24px 0 14px;color:var(--dark); }
    .solution-detail p{ color:var(--dark-gray);font-weight:600;line-height:1.75; }
    .solution-detail .tag-mini{
      display:inline-flex;padding:7px 13px;border-radius:999px;background:var(--light-gray);color:var(--primary);font-weight:850;margin:4px 5px 0 0;font-size:13px;
    }

    .agent-showcase{
      border-radius:32px;
      padding:42px;
      background:rgba(255,255,255,.1);
      border:1px solid rgba(255,255,255,.22);
      box-shadow:0 28px 80px rgba(0,0,0,.18);
      backdrop-filter:blur(12px);
    }
    .agent-showcase .agent-card-idx{
      background:rgba(255,255,255,.12);
      border-color:rgba(255,255,255,.18);
      color:#fff;
    }
    .agent-showcase .agent-card-idx h3{ color:#fff; }
    .agent-showcase .agent-card-idx p{ color:rgba(255,255,255,.74); }
    .agent-showcase .card-icon-lg{ background:rgba(255,255,255,.14);color:#fff; }

    .case-badge{
      display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 14px;background:#eff7ff;color:var(--primary);font-weight:900;font-size:13px;
    }
    .case-meta{ display:flex;gap:14px;flex-wrap:wrap;margin-top:18px; }
    .case-meta span{ font-weight:850;color:var(--dark-gray);background:var(--light-gray);border-radius:999px;padding:7px 12px;font-size:13px; }

    .process-line{ position:relative; }
    .process-card-idx{ padding:30px;position:relative; }
    .step-number{
      width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;
      background:var(--gradient-primary);color:#fff;font-size:24px;font-weight:950;
      box-shadow:var(--shadow-light);
    }
    .process-card-idx h3{ font-size:22px;font-weight:950;margin:22px 0 10px; }
    .process-card-idx p{ color:var(--dark-gray);line-height:1.7;font-weight:600;margin:0; }

    .contact-card{
      border-radius:34px;
      background:var(--gradient-light);
      border:1px solid rgba(220,234,255,.95);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .contact-info{
      height:100%;
      padding:48px;
      color:#fff;
      background:
        radial-gradient(circle at 80% 18%,rgba(53,215,255,.38),transparent 30%),
        var(--gradient-primary);
    }
    .contact-info h2{ font-weight:950;font-size:42px;margin-bottom:20px; }
    .contact-info p{ color:rgba(255,255,255,.82);font-size:18px;line-height:1.8;font-weight:600; }
    .contact-row{ display:flex;gap:14px;align-items:center;margin-top:22px;font-weight:850; }
    .contact-row i{ width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:22px; }
    .contact-form-idx{ padding:48px; }
    .form-control-idx,.form-select-idx{
      border-radius:16px;border:1px solid #dbe8fb;padding:15px 18px;font-weight:650;
      background:#fff;
    }
    .form-control-idx:focus,.form-select-idx:focus{ border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(11,92,255,.12); }
    .footer-idx{
      background:var(--dark);color:rgba(255,255,255,.75);padding:60px 0 28px;
    }
    .footer-idx h5{ color:#fff;font-weight:950;margin-bottom:20px; }
    .footer-idx a{ color:rgba(255,255,255,.7);display:block;margin:9px 0; }
    .footer-idx a:hover{ color:#fff; }
    .footer-bottom-idx{ border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:22px;font-size:14px; }

    @media (min-width:1400px){ .container-xxl{ max-width:1800px; } }
    @media (max-width:1399px){
      .navbar .nav-link{ font-size:16px;padding-left:12px !important;padding-right:12px !important; }
      .brand-text .orange,.brand-text .dark{ font-size:30px; }
      .hero-shell{ padding-left:42px;padding-right:42px; }

    }
    @media (max-width:1199px){
      .site-header{ height:auto;min-height:92px;padding:12px 0; }
      .hero-shell{ padding-top:48px; }
      .visual-wrap{ min-height:540px;transform:scale(.86);transform-origin:top center;margin-top:20px; }
      .bottom-panels{ grid-template-columns:1fr; }
      .stats-panel{ min-height:auto; }
      .section-padding{ padding:78px 0; }
    }
    @media (max-width:991px){

      .btn-consult{ display:inline-flex;margin-top:12px; }
      .hero-title{ font-size:46px; }
      .features{ grid-template-columns:repeat(2,1fr); }

      .about-visual{ margin-top:30px; }
    }
    @media (max-width:767px){
      .brand-wrap{ min-width:auto; }
      .brand-text .orange,.brand-text .dark{ font-size:25px; }
      .logo-mark{ width:58px;height:58px; }
      .hero-shell{ padding:36px 20px; }
      .tag-row{ gap:10px;margin-bottom:28px; }
      .pill-tag{ font-size:14px;padding:8px 14px; }
      .hero-title{ font-size:36px;letter-spacing:-.03em; }
      .hero-subtitle{ font-size:17px; }
      .features{ gap:14px;margin-top:30px; }
      .feature-card{ min-height:120px;border-radius:18px; }
      .hero-actions{ gap:14px; }
      .btn-primary-hero,.btn-outline-hero{ width:100%;min-width:0;font-size:18px;padding:15px 20px; }

      .section-padding{ padding:62px 0; }
      .about-panel,.agent-showcase,.contact-info,.contact-form-idx{ padding:28px; }
      .contact-info h2{ font-size:32px; }
    }
