 :root {
      --brand-blue: #1a3a8f;
      --brand-purple: #6b3fa0;
      --text-gray: #555;
      --bg-light: #f4f7fa;
      --grad: linear-gradient(135deg, #1a3a8f 0%, #6b3fa0 100%);
      --lr-purple: #7b2cbf;
      --lr-blue: #2563eb;
      --lr-text-muted: #64748b;
      --lr-dark: #0f172a;
      --lr-bg-light: #f8fafc;
      --faq-bg: #0f172a;
      --faq-card: rgba(30,41,59,0.7);
      --faq-border: rgba(255,255,255,0.1);
      --faq-accent: #a78bfa;
      --faq-text: #f8fafc;
      --faq-muted: #94a3b8;
      --radius: 24px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { font-family: 'DM Sans', sans-serif; background: #fff; color: #333; overflow-x: hidden; line-height: 1.7; }
    h1, h2, h3, h4, h5, h6 { font-family: 'Outfit', sans-serif; font-weight: 700; line-height: 1.2; }

    /* HERO */
    .hero { background-color: var(--bg-light); min-height: 100vh; display: flex; align-items: center; position: relative; padding: 80px 0; overflow: hidden; }
    .hero-watermark { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 80%; max-width: 800px; opacity: 0.12; z-index: 0; pointer-events: none; user-select: none; }
    .container { position: relative; z-index: 1; }
    .hero h1 { font-size: 3rem; font-weight: 900; line-height: 1.1; color: #222; margin-bottom: 25px; }
    .hero h1 span { color: var(--brand-purple); }
    .hero-sub { font-size: 1.05rem; color: var(--text-gray); margin-bottom: 18px; line-height: 1.7; }
    .hero-bullets { list-style: none; padding: 0; margin: 20px 0; }
    .hero-bullets li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 0.95rem; color: #444; }
    .hero-bullets li i { color: var(--brand-purple); font-size: 1.1rem; margin-top: 3px; flex-shrink: 0; }
    .trust-bar { display: flex; align-items: center; gap: 20px; margin-top: 35px; flex-wrap: wrap; }
    .trust-item { display: flex; align-items: center; gap: 12px; background: #fff; padding: 12px 20px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
    .trust-icon { height: 24px; width: auto; }
    .stars { color: var(--brand-purple); font-size: 0.85rem; }
    .rating-text { font-size: 0.8rem; font-weight: 800; color: #666; text-transform: uppercase; }

    /* FORM CARD */
    .form-card { background: #fff; padding: 40px; border-radius: 25px; box-shadow: 0 25px 60px rgba(0,0,0,0.12); border: 2px solid var(--brand-blue); }
    .form-card h4 { color: var(--brand-blue); font-weight: 900; text-align: center; margin-bottom: 5px; }
    .form-card .form-sub { text-align: center; font-size: 0.9rem; color: #777; margin-bottom: 30px; }
    .form-control, .form-select { padding: 14px; border-radius: 10px; margin-bottom: 18px; border: 1.5px solid #eee; }
    .btn-submit { background: var(--grad); color: #fff; border: none; width: 100%; padding: 16px; border-radius: 10px; font-weight: 800; font-size: 1.1rem; transition: all 0.3s ease; }
    .btn-submit:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(26,58,143,0.3); }

    @media (max-width: 991px) {
      .hero { text-align: center; padding: 60px 0; }
      .hero h1 { font-size: 2.2rem; }
      .trust-bar { justify-content: center; }
      .form-card { margin-top: 50px; }
    }

    /* SECTIONS */
    section { padding: 6rem 0; background: #fff; }
    .section-label { background: rgba(107,63,160,0.08); color: var(--lr-purple); padding: 8px 18px; border-radius: 50px; font-weight: 800; font-size: 0.8rem; letter-spacing: 1.2px; display: inline-block; margin-bottom: 1rem; }
    .text-gradient { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .section-titlee { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; color: var(--lr-dark); }

    /* ABOUT */
    #about { background: var(--lr-bg-light); }
    .about-img-box { position: relative; min-height: 500px; display: flex; flex-direction: column; }
    .about-main-img { width: 100%; flex: 1; object-fit: cover; border-radius: 30px; box-shadow: 0 30px 60px rgba(15,23,42,0.12); }
    .about-badge { position: absolute; top: 30px; right: -15px; background: #0f172a; border-radius: 20px; padding: 1.2rem 1.8rem; display: flex; align-items: center; gap: 1rem; box-shadow: 0 15px 30px rgba(0,0,0,0.25); z-index: 4; }
    .about-badge .num { font-size: 2.5rem; font-weight: 800; background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
    .about-badge .lbl { color: #cbd5e1; font-size: 0.85rem; font-weight: 600; line-height: 1.2; }
    .btn-grad { background: var(--grad); color: white !important; padding: 16px 45px; border-radius: 100px; font-weight: 700; display: inline-flex; align-items: center; width: fit-content; border: none; transition: 0.3s ease; text-decoration: none; }
    .btn-grad:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(123,44,191,0.3); }
    @media (max-width: 991px) { .about-img-box { min-height: 350px; margin-bottom: 30px; } .about-badge { right: 10px; } }

    /* WHY CARDS */
    #why { background: var(--lr-bg-light); }
    .why-card { background: #fff; padding: 1.5rem; border-radius: 20px; height: 100%; border: 1px solid rgba(0,0,0,0.08); box-shadow: 0 4px 12px rgba(0,0,0,0.03); display: flex; flex-direction: column; transition: all 0.4s ease; }
    .why-card:hover { transform: translateY(-8px); border-color: var(--lr-purple); box-shadow: 0 15px 30px rgba(123,44,191,0.1); }
    .why-icon { width: 45px; height: 45px; background: linear-gradient(135deg, var(--lr-purple) 0%, var(--lr-blue) 100%); color: white; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; margin-bottom: 1.2rem; }
    .why-card h5 { font-size: 0.95rem; font-weight: 700; color: var(--lr-dark); margin-bottom: 0; }

    /* SERVICE CARDS */
    .service-card-premium { background: #fff; padding: 2.5rem; border-radius: 28px; border: 2px solid #f1f5f9; height: 100%; position: relative; transition: all 0.4s cubic-bezier(0.4,0,0.2,1); display: flex; flex-direction: column; }
    .service-card-premium:hover { transform: translateY(-8px); border-color: var(--lr-purple); box-shadow: 0 20px 40px -15px rgba(107,63,160,0.15); }
    .service-icon-box { width: 60px; height: 60px; background: #f1f5f9; color: var(--lr-blue); border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 1.5rem; transition: 0.3s ease; }
    .service-card-premium:hover .service-icon-box { background: var(--grad); color: #fff; }
    .service-card-premium h4 { font-weight: 800; font-size: 1.1rem; margin-bottom: 0.8rem; }
    .service-card-premium p { color: var(--lr-text-muted); font-size: 0.9rem; line-height: 1.6; flex-grow: 1; margin: 0; }

    /* PROCESS */
    #process { background: #fff; }
    .process-step { padding: 2rem; background: var(--lr-bg-light); border: 1px solid #e2e8f0; border-radius: var(--radius); transition: transform .3s, border-color .3s; height: 100%; }
    .process-step:hover { transform: translateY(-4px); border-color: rgba(124,58,237,.4); }
    .step-num { width: 44px; height: 44px; background: var(--grad); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 1rem; color: #fff; margin-bottom: 1rem; box-shadow: 0 4px 16px rgba(124,58,237,.35); }
    .process-step h4 { font-size: 1rem; color: #000; margin-bottom: .5rem; }
    .process-step p { font-size: 0.9rem; color: var(--lr-text-muted); line-height: 1.6; margin: 0; }

    /* FEATURE GROUPS */
    .feature-group { position: relative; padding: 2.5rem; height: 100%; background: #fcfcfd; border-radius: 24px; border: 1px solid rgba(0,0,0,0.03); transition: all 0.3s ease; }
    .feature-group:hover { background: #fff; box-shadow: 0 20px 40px rgba(0,0,0,0.05); border-color: rgba(123,44,191,0.15); }
    .feature-group h3 { font-size: 1.4rem; font-weight: 800; color: var(--lr-dark); margin-bottom: 1.2rem; display: flex; align-items: center; gap: 12px; }
    .feature-group h3 i { color: var(--lr-purple); font-size: 1.5rem; }
    .feature-p { font-size: 1rem; color: var(--lr-text-muted); line-height: 1.7; margin-bottom: 1rem; }

    /* APPROACH */
    #our-approach { background: var(--lr-bg-light); }
    .approach-card { padding: 2.5rem; background: #fcfcfd; border-radius: var(--radius); border: 1px solid rgba(0,0,0,0.03); height: 100%; }
    .approach-card h3 { font-size: 1.4rem; font-weight: 800; color: var(--lr-dark); margin-bottom: 1.5rem; }
    .discovery-list { list-style: none; padding: 0; margin: 1rem 0; }
    .discovery-list li { display: flex; align-items: center; gap: 12px; padding: 8px 0; color: var(--lr-text-muted); font-weight: 600; font-size: 0.9rem; border-bottom: 1px solid rgba(0,0,0,0.05); }
    .discovery-list li:last-child { border-bottom: none; }
    .discovery-list li i { color: var(--lr-purple); font-size: 1.1rem; }
    .scale-highlight { background: linear-gradient(135deg, rgba(123,44,191,0.05) 0%, rgba(37,99,235,0.05) 100%); border-left: 4px solid var(--lr-purple); padding: 20px; border-radius: 0 15px 15px 0; margin-top: 1.5rem; }
    .scale-highlight p { font-size: 0.95rem; color: var(--lr-dark); font-weight: 700; margin: 0; }
    .approach-p { font-size: 1rem; color: var(--lr-text-muted); line-height: 1.7; }

    /* FAQ */
    #faq { background: var(--faq-bg); }
    .lr-faq-item { background: var(--faq-card) !important; backdrop-filter: blur(10px); border: 1px solid var(--faq-border) !important; border-radius: 20px !important; margin-bottom: 1rem; transition: all 0.3s ease; overflow: hidden; }
    .lr-faq-item:hover { border-color: rgba(167,139,250,0.4) !important; transform: translateX(5px); }
    .lr-faq-trigger { width: 100%; background: transparent !important; color: var(--faq-text) !important; font-weight: 700 !important; font-size: 1rem !important; border: none !important; box-shadow: none !important; padding: 1.5rem !important; text-align: left; display: flex; justify-content: space-between; align-items: center; transition: color 0.3s ease; }
    .lr-faq-trigger:not(.collapsed) { color: var(--faq-accent) !important; }
    .lr-faq-trigger::after { content: '+'; font-size: 1.5rem; line-height: 1; transition: transform 0.4s ease; color: var(--faq-accent); }
    .lr-faq-trigger:not(.collapsed)::after { content: '−'; transform: rotate(180deg); }
    .lr-faq-body { background: transparent !important; color: var(--faq-muted); font-size: 0.95rem; padding: 0 1.5rem 1.5rem !important; line-height: 1.7; }

    /* CONTACT */
    #growth-section { background: #f8fafc; color: var(--lr-dark); }
    .badge-lr { display: inline-flex; align-items: center; gap: 8px; padding: 8px 22px; background: rgba(123,44,191,0.08); color: var(--lr-purple); border-radius: 100px; font-size: 0.85rem; font-weight: 700; margin-bottom: 1.5rem; text-transform: uppercase; letter-spacing: 1px; }
    .headline-lr { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 800; line-height: 1.2; }
    .mission-box { background: #f9faff; border-left: 5px solid var(--lr-purple); padding: 30px; border-radius: 0 20px 20px 0; }
    .mission-box p { font-size: 1.1rem; font-weight: 700; line-height: 1.5; margin: 0; }
    .feature-card-lr { background: #fff; border: 1px solid #e2e8f0; padding: 40px; border-radius: 30px; box-shadow: 0 15px 35px rgba(0,0,0,0.05); height: 100%; }
    .icon-circle { width: 60px; height: 60px; background: var(--grad); color: white; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 25px; }
    .cta-footer { margin-top: 60px; background: var(--lr-dark); border-radius: 30px; padding: 40px; }
    .btn-growth { background: var(--grad); color: white !important; padding: 14px 30px; border-radius: 50px; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; border: none; transition: 0.3s; }
    .btn-growth:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(123,44,191,0.3); }

    @media (max-width: 767px) { section { padding: 4rem 0; } }

    

/* recent portfilo */


  *{box-sizing:border-box;margin:0;padding:0;}
  .cs-root{
    font-family:sans-serif;padding:1.5rem 0;
    position:relative;
    overflow:hidden;
}
  .cs-root::before,
  .cs-root::after{
    content:"";
    position:absolute;
    top:50%;
    width:210px;
    height:190px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 200'%3E%3Cdefs%3E%3ClinearGradient id='g1' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%232563eb'/%3E%3Cstop offset='1' stop-color='%237b2cbf'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='120' cy='180' rx='75' ry='7' fill='%232563eb' opacity='0.10'/%3E%3Crect x='48' y='18' width='144' height='98' rx='12' fill='%23fff' stroke='url(%23g1)' stroke-width='5'/%3E%3Crect x='60' y='30' width='120' height='74' rx='5' fill='url(%23g1)' opacity='0.08'/%3E%3Ccircle cx='71' cy='41' r='2.6' fill='url(%23g1)' opacity='0.55'/%3E%3Ccircle cx='80' cy='41' r='2.6' fill='url(%23g1)' opacity='0.55'/%3E%3Ccircle cx='89' cy='41' r='2.6' fill='url(%23g1)' opacity='0.55'/%3E%3Crect x='68' y='78' width='11' height='20' rx='2' fill='url(%23g1)' opacity='0.45'/%3E%3Crect x='85' y='68' width='11' height='30' rx='2' fill='url(%23g1)' opacity='0.55'/%3E%3Crect x='102' y='56' width='11' height='42' rx='2' fill='url(%23g1)' opacity='0.7'/%3E%3Crect x='119' y='72' width='11' height='26' rx='2' fill='url(%23g1)' opacity='0.5'/%3E%3Cpolyline points='68,93 85,82 102,60 119,76 136,48' fill='none' stroke='url(%23g1)' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' opacity='0.85'/%3E%3Ccircle cx='136' cy='48' r='4' fill='url(%23g1)'/%3E%3Cpath d='M26 118 L214 118 L194 152 L46 152 Z' fill='%23fff' stroke='url(%23g1)' stroke-width='5' stroke-linejoin='round'/%3E%3Cline x1='105' y1='118' x2='135' y2='118' stroke='url(%23g1)' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
    opacity:0.55;
    filter:drop-shadow(0 8px 14px rgba(37,99,235,0.10));
    transform:translateY(-50%) rotate(-10deg);
    pointer-events:none;
    z-index:0;
}
  .cs-root::before{ left:6px; }
  .cs-root::after{ right:6px; transform:translateY(-50%) rotate(10deg) scaleX(-1); }
  .cs-header,.cs-wrap,.cs-dots{ position:relative; z-index:1; }
  .cs-header{
    text-align:center;
    margin-bottom:2rem;
}
  .cs-eyebrow{
    font-size:11px;
    letter-spacing:1.8px;
    text-transform:uppercase;
    color:#2E4E8A;margin-bottom:8px;
}
  .cs-header h2{
    font-size:2.2rem;
    font-weight:800;
    color:#2E4E8A;
    margin:0 0 10px;
}
  .cs-header h2 em{font-style:italic;}
  .cs-header p{font-size:1rem;color:#2f2f2f;max-width:440px;margin:0 auto;line-height:1.7;}
  .cs-wrap{padding:0 30px;}
  .cs-carousel{position:relative;border-radius:20px;overflow:hidden;background:#111;width:100%;max-width:1000px;aspect-ratio:16/9;margin:0 auto;}
  .cs-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.55s ease;pointer-events:none;}
  .cs-slide.active{opacity:1;pointer-events:auto;}
  .cs-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    background:#111;
    filter:brightness(0.92);
    display:block;cursor:zoom-in;
    transition:filter 0.3s;
}
  .cs-slide img:hover{filter:brightness(0.78);}

  .cs-caption{
    position:absolute;
    bottom:0;left:0;
    right:0;padding:2.5rem 2.2rem 1.8rem;
    background:linear-gradient(to top,rgba(0,0,0,0.65) 0%,transparent 100%);}

  .cs-badge{display:inline-block;background:rgba(255,255,255,0.15);color:#fff;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 12px;border-radius:20px;border:0.5px solid rgba(255,255,255,0.3);margin-bottom:9px;}
  .cs-caption h3{font-size:clamp(1.1rem,2.2vw,1.6rem);font-weight:600;color:#fff;margin:0 0 7px;}
  .cs-caption p{font-size:12.5px;color:rgba(255,255,255,0.84);line-height:1.65;margin:0 0 14px;max-width:440px;}
  .cs-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;background:#fff;
    color:#111;border:none;
    padding:9px 20px;border-radius:8px;
    font-size:12.5px;font-weight:600;cursor:pointer;
    text-decoration:none;transition:background 0.15s;
}
  .cs-btn:hover{background:rgba(255,255,255,0.86);}

  .cs-prev,.cs-next{
    position:absolute;top:50%;transform:translateY(-50%);
    width:46px;height:46px;border:none;border-radius:50%;
    background:rgba(255,255,255,0.18);backdrop-filter:blur(8px);color:#fff;
    font-size:20px;display:flex;align-items:center;justify-content:center;
    cursor:pointer;z-index:10;transition:0.25s ease;
}
  .cs-prev:hover,.cs-next:hover{background:#fff;color:#111;}
  .cs-prev{left:18px;}
  .cs-next{right:18px;}

  .cs-counter{
    position:absolute;
    top:14px;right:16px;
    font-size:11.5px;
    color:rgba(255,255,255,0.75);
    background:rgba(0,0,0,0.3);
    padding:3px 11px;border-radius:20px;
}
  .zoom-hint{
    position:absolute;
    top:14px;left:16px;
    font-size:11px;
    color:rgba(255,255,255,0.6);
    background:rgba(0,0,0,0.28);
    padding:3px 10px;border-radius:20px;
    display:flex;align-items:center;gap:5px;
}
  .cs-dots{display:flex;justify-content:center;gap:7px;margin-top:14px;}
  .cs-dot{width:7px;height:7px;border-radius:50%;background:#ccc;border:none;cursor:pointer;padding:0;transition:background 0.2s,transform 0.2s;}
  .cs-dot.active{background:#2E4E8A;transform:scale(1.3);}

  /* POPUP */
  .img-popup{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:9999;justify-content:center;align-items:center;padding:20px;animation:fadeIn 0.25s ease;}
  .img-popup.open{display:flex;}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  .img-popup img{max-width:92%;max-height:90vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.5);object-fit:contain;}
  .popup-close{position:absolute;top:18px;right:26px;color:#fff;font-size:36px;cursor:pointer;line-height:1;opacity:0.8;transition:opacity 0.2s;}
  .popup-close:hover{opacity:1;}
  .popup-info{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);color:#fff;text-align:center;}
  .popup-info span{font-size:13px;opacity:0.7;}
  .popup-info strong{display:block;font-size:15px;margin-bottom:4px;}
   /* =========================
   LAPTOP / TABLET (769px - 991px)
========================= */
@media (max-width: 991px) {
  .cs-root::before,
  .cs-root::after {
    display: none;
  }

  .cs-wrap {
    padding: 0 18px;
  }

  .cs-header h2 {
    font-size: 1.9rem;
  }

  .cs-caption {
    padding: 1.6rem 1.4rem 1.3rem;
  }

  .cs-caption p {
    max-width: 100%;
  }
}

   /* =========================
   MOBILE (768px and below)
========================= */
@media (max-width: 768px) {

  .cs-root {
    padding: 1rem 0;
  }

  .cs-wrap {
    padding: 0 15px;
  }

  .cs-header {
    margin-bottom: 1.5rem;
  }

  .cs-header h2 {
    font-size: 1.6rem;
    line-height: 1.3;
  }

  .cs-header p {
    font-size: 14px;
    padding: 0 10px;
  }

  .cs-carousel {
    aspect-ratio: 4/5;
    border-radius: 16px;
  }

  .cs-caption {
    padding: 1.2rem;
  }

  .cs-caption h3 {
    font-size: 1rem;
  }

  .cs-caption p {
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 10px;
  }

  .cs-btn {
    padding: 8px 14px;
    font-size: 12px;
  }
  .cs-carousel{
    background: #fff;
    aspect-ratio: 16/9;
    height: auto;
    overflow: visible;
  }

  .cs-slide{
    position: relative;
    display: none;
    width: 100%;
    height: auto;
  }
  .cs-slide.active{
    display: block;
  }

  .cs-slide img{
    width: 100%;
    height: auto;
    max-height: 50vh;
    object-fit: cover;
    filter: brightness(1);
    background: #fff;
    display: block;
  }

  .cs-caption{
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    background: #fff;
    color: #000;
    padding: 1rem;
    text-align: center;
  }

  .cs-caption h3{
    color: #000;
    font-size: 1rem;
  }

  .cs-caption p{
    color: #333;
    font-size: 12px;
  }

  .cs-badge{
    background: rgba(0,0,0,0.08);
    color: #333;
    border: 1px solid rgba(0,0,0,0.15);
  }

  .cs-btn{
    background: var(--lr-blue);
    color: #fff;
  }
  
  .cs-prev,
  .cs-next {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }

  .cs-prev {
    left: 10px;
  }

  .cs-next {
    right: 10px;
  }

  .zoom-hint,
  .cs-counter {
    font-size: 10px;
    padding: 3px 8px;
  }
}