    :root{
      --bg: #0b1020;
      --panel: rgba(255,255,255,.06);
      --panel-2: rgba(255,255,255,.085);
      --stroke: rgba(255,255,255,.10);
      --stroke-2: rgba(255,255,255,.16);

      --text: rgba(255,255,255,.92);
      --muted: rgba(255,255,255,.70);
      --muted-2: rgba(255,255,255,.55);

      --ink: #0f172a;

      --a: #5bb88c;
      --b: #5bb88c;
      --c: #2b6db5;
      --d: #5bb88c;

      --shadow: 0 24px 80px rgba(0,0,0,.45);
      --shadow-soft: 0 18px 50px rgba(0,0,0,.25);
      --radius-xl: 22px;
      --radius-lg: 16px;
      --radius-md: 12px;

      --container: 1320px;
      --pad-x: 60px;

      --ease: cubic-bezier(.2,.9,.2,1);
    }

    *{ margin:0; padding:0; box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      line-height: 1.7;
      color: var(--ink);
      background:
        radial-gradient(1000px 600px at 20% 10%, rgba(91, 184, 140,.22) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(900px 700px at 80% 0%, rgba(91, 184, 140,.22) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(900px 700px at 70% 70%, rgba(43, 109, 181,.14) 0%, rgba(43, 109, 181,0) 60%),
        linear-gradient(180deg, #fafafa 0%, #f6f7fb 40%, #fafafa 100%);
      font-weight: 400;
      overflow-x: hidden;
    }

    /* Subtle grain */
    body::before{
      content:"";
      position: fixed;
      inset: 0;
      pointer-events:none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E");
      mix-blend-mode: overlay;
      opacity:.45;
      z-index:0;
    }

    .container{
      max-width: var(--container);
      margin: 0 auto;
      padding: 0 var(--pad-x);
      position: relative;
      z-index: 1;
    }

    /* NAV */
    nav{
      position: sticky;
      top: 0;
      z-index: 50;
      padding: 18px 0;
      background: rgba(255,255,255,.66);
      border-bottom: 1px solid rgba(15, 23, 42, 0.08);
      backdrop-filter: blur(18px);
    }
    .nav-content{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap: 18px;
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap: 12px;
      flex-wrap: wrap;
      justify-content:flex-end;
      position: relative;
    }
    .logo{
      display:flex;
      align-items:center;
      gap: 12px;
      font-size: 1.05em;
      font-weight: 750;
      letter-spacing: -0.02em;
      color: #0f172a;
      user-select:none;
    }
    .logo-badge{
      width: 36px;
      height: 36px;
      border-radius: 5px;
      background: none;
      position: relative;
      overflow:hidden;
    }
    .logo small{
      display:block;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-size: .70em;
      color: #64748b;
      margin-top: -2px;
    }

    .nav-btn{
      text-decoration:none;
      font-weight: 650;
      font-size: .95em;
      padding: 12px 18px;
      border-radius: 12px;
      color: white;
      background:
        radial-gradient(120% 180% at 10% 0%, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 45%),
        linear-gradient(135deg, rgba(43, 109, 181,1) 0%, rgba(91, 184, 140,1) 55%, rgba(91, 184, 140,1) 100%);
      box-shadow: 0 14px 32px rgba(43, 109, 181,.25);
      transition: transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease);
      display:inline-flex;
      align-items:center;
      gap: 10px;
    }
    .nav-btn:hover{
      transform: translateY(-2px);
      box-shadow: 0 20px 44px rgba(43, 109, 181,.30);
      filter: saturate(1.08);
    }
    .nav-burger{
      display:none;
      width: 46px;
      height: 46px;
      border-radius: 14px;
      border: 1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.88);
      box-shadow: 0 12px 28px rgba(15,23,42,.12);
      cursor: pointer;
      transition: transform .2s var(--ease), box-shadow .2s var(--ease);
      position: relative;
      align-items: center;
      justify-content: center;
    }
    .nav-burger:hover{
      transform: translateY(-1px);
      box-shadow: 0 16px 36px rgba(15,23,42,.14);
    }
    .nav-burger:focus-visible{
      outline: 2px solid rgba(43, 109, 181,.55);
      outline-offset: 3px;
    }
    .nav-burger__icon{
      position: relative;
      width: 20px;
      height: 2px;
      background: #0f172a;
      border-radius: 2px;
      display: block;
      transition: background .2s var(--ease);
    }
    .nav-burger__icon::before,
    .nav-burger__icon::after{
      content:"";
      position: absolute;
      left: 0;
      width: 20px;
      height: 2px;
      background: #0f172a;
      border-radius: 2px;
      transition: transform .2s var(--ease), top .2s var(--ease);
    }
    .nav-burger__icon::before{ top: -6px; }
    .nav-burger__icon::after{ top: 6px; }
    .nav-actions.is-open .nav-burger__icon{
      background: transparent;
    }
    .nav-actions.is-open .nav-burger__icon::before{
      top: 0;
      transform: rotate(45deg);
    }
    .nav-actions.is-open .nav-burger__icon::after{
      top: 0;
      transform: rotate(-45deg);
    }
    .nav-dropdown{
      position: absolute;
      top: calc(100% + 12px);
      right: 0;
      min-width: 220px;
      padding: 10px;
      border-radius: 16px;
      background: rgba(255,255,255,.96);
      border: 1px solid rgba(15,23,42,.12);
      box-shadow: var(--shadow-soft);
      display: grid;
      gap: 6px;
      opacity: 0;
      transform: translateY(-8px);
      visibility: hidden;
      pointer-events: none;
      transition: opacity .2s var(--ease), transform .2s var(--ease);
      z-index: 60;
    }
    .nav-actions.is-open .nav-dropdown{
      opacity: 1;
      transform: translateY(0);
      visibility: visible;
      pointer-events: auto;
    }
    .nav-dropdown a{
      text-decoration: none;
      color: #0f172a;
      font-weight: 650;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 12px;
      background: rgba(15,23,42,.04);
      transition: background .2s var(--ease), transform .2s var(--ease);
    }
    .nav-dropdown a:hover{
      background: rgba(43, 109, 181,.12);
      transform: translateX(2px);
    }
    .nav-dropdown a:focus-visible{
      outline: 2px solid rgba(43, 109, 181,.55);
      outline-offset: 2px;
    }
    .nav-dropdown i{
      width: 18px;
      height: 18px;
    }

    /* HERO */
    header{
      padding: 120px 0 130px;
      position: relative;
      background:
        radial-gradient(900px 520px at 25% 0%, rgba(91, 184, 140,.14) 0%, rgba(91, 184, 140,0) 62%),
        radial-gradient(900px 520px at 75% 10%, rgba(91, 184, 140,.14) 0%, rgba(91, 184, 140,0) 62%),
        linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.70) 55%, rgba(255,255,255,.0) 100%);
      overflow:hidden;
    }

    header::before{
      content:"";
      position:absolute;
      inset: -200px -120px auto -120px;
      height: 420px;
      background:
        radial-gradient(circle at 20% 60%, rgba(43, 109, 181,.16) 0%, rgba(43, 109, 181,0) 60%),
        radial-gradient(circle at 50% 30%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 65%),
        radial-gradient(circle at 80% 70%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 60%);
      filter: blur(200px);
      pointer-events:none;
    }

    .hero-grid{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 90px;
      align-items:center;
    }

    .hero-text h1{
      font-size: 4.15em;
      font-weight: 780;
      line-height: 1.06;
      letter-spacing: -0.04em;
      margin-bottom: 26px;
      color: #0b1220;
    }
    .hero-text h1 .grad{
      background: linear-gradient(135deg, rgba(43, 109, 181,1) 0%, rgba(91, 184, 140,1) 55%, rgba(91, 184, 140,1) 100%);
      -webkit-background-clip:text;
      background-clip:text;
      color: transparent;
    }

    .subtitle{
      font-size: 1.28em;
      color: #334155;
      margin-bottom: 18px;
      font-weight: 520;
    }
    .description{
      font-size: 1.05em;
      color: #475569;
      margin-bottom: 28px;
    }

    .hero-actions{
      display:flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items:center;
      margin: 10px 0 26px;
    }

    .chip{
      display:inline-flex;
      align-items:center;
      gap: 10px;
      padding: 10px 14px;
      border-radius: 999px;
      border: 1px solid rgba(15,23,42,.10);
      background: rgba(255,255,255,.8);
      box-shadow: 0 10px 24px rgba(15,23,42,.05);
      color: #0f172a;
      font-weight: 600;
      font-size: .92em;
    }
    .chip i{ width: 18px; height: 18px; }

    .legal-badge{
      display:inline-flex;
      align-items:center;
      gap: 10px;
      background: rgba(255,255,255,.86);
      padding: 10px 16px;
      border-radius: 14px;
      font-size: 0.92em;
      color: #0f172a;
      font-weight: 650;
      border: 1px solid rgba(15,23,42,.10);
      box-shadow: 0 18px 46px rgba(15,23,42,.08);
      position: relative;
      overflow:hidden;
    }
    .legal-badge::before{
      content:"";
      width: 10px; height: 10px;
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(91, 184, 140,1) 0%, rgba(91, 184, 140,1) 100%);
      box-shadow: 0 0 0 6px rgba(91, 184, 140,.12);
    }
    .legal-badge::after{
      content:"";
      position:absolute; inset:-1px;
      background: radial-gradient(120% 120% at 0% 0%, rgba(91, 184, 140,.22) 0%, rgba(91, 184, 140,0) 55%);
      pointer-events:none;
    }

    /* Premium visual card */
    .hero-visual{
      height: 600px;
      border-radius: var(--radius-xl);
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(120% 100% at 20% 0%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 55%),
        linear-gradient(135deg, rgba(15,23,42,1) 0%, rgba(30,41,59,1) 35%, rgba(17,24,39,1) 100%);
      box-shadow: var(--shadow);
      border: 1px solid rgb(91 184 140);
      display:flex;
      align-items:center;
      justify-content:center;
      isolation: isolate;
    }
    .hero-visual::before{
      content:"";
      position:absolute; inset:0;
      background:
        radial-gradient(circle at 15% 80%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 50%),
        radial-gradient(circle at 85% 15%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(circle at 60% 60%, rgba(43, 109, 181,.14) 0%, rgba(43, 109, 181,0) 55%),
        linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.06) 50%, transparent 70%);
      z-index: 2;
      filter: saturate(1.05);
      pointer-events: none;
    }
    .hero-visual::after{
      content:"";
      position:absolute; inset:0;
      background: url("data:image/svg+xml,%3Csvg width='64' height='64' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='g' width='64' height='64' patternUnits='userSpaceOnUse'%3E%3Cpath d='M 64 0 L 0 0 0 64' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='64' height='64' fill='url(%23g)'/%3E%3C/svg%3E");
      opacity: .55;
      z-index:2;
      mix-blend-mode: overlay;
      pointer-events: none;
    }
    .hero-visual-image{
      width: 72%;
      height: 72%;
      object-fit: contain;
      object-position: center;
      position: relative;
      z-index: 1;
      display:block;
      filter: drop-shadow(0 22px 55px rgba(0,0,0,.45));
      transform: translateY(4px);
    }

    .hero-visual__video{
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      z-index: 1;
      filter: saturate(1.05) contrast(1.02) brightness(0.95);
      transform: scale(1.01);
      transition: transform 0.8s var(--ease), filter 0.8s var(--ease);
    }

    .hero-visual.is-active .hero-visual__video{
      transform: scale(1.02);
      filter: saturate(1.12) contrast(1.05) brightness(1);
    }

    .hero-visual__video:fullscreen,
    .hero-visual__video:-webkit-full-screen{
      object-fit: contain;
      transform: none !important;
      filter: none !important;
      background: #000;
    }

    .hero-visual__cta{
      position: relative;
      z-index: 4;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 14px 22px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.45);
      color: #f8fafc;
      background: rgba(15,23,42,.35);
      backdrop-filter: blur(10px);
      box-shadow: 0 20px 40px rgba(15,23,42,.35);
      font-weight: 600;
      letter-spacing: .01em;
      cursor: pointer;
      transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
      animation: hero-cta-float 3.2s ease-in-out infinite;
    }

    .hero-visual__cta::before{
      content:"";
      position:absolute;
      inset: -10px;
      border-radius: inherit;
      background: radial-gradient(circle, rgba(91, 184, 140,.35), rgba(91, 184, 140,0));
      opacity: 0;
      transition: opacity .35s var(--ease);
      z-index: -1;
    }

    .hero-visual__cta:hover{
      transform: translateY(-2px) scale(1.02);
      box-shadow: 0 26px 55px rgba(15,23,42,.45);
      background: rgba(15,23,42,.48);
    }

    .hero-visual__cta:hover::before{
      opacity: 1;
    }

    .hero-visual__cta:focus-visible{
      outline: 2px solid rgba(255,255,255,.8);
      outline-offset: 4px;
    }

    .hero-visual__cta-icon{
      width: 38px;
      height: 38px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, rgba(91, 184, 140,1), rgba(43, 109, 181,1));
      box-shadow: 0 12px 20px rgba(43, 109, 181,.35);
      font-size: 18px;
    }

    .hero-visual__cta-icon i,
    .hero-visual__cta-icon svg{
      width: 20px;
      height: 20px;
      color: #fff;
    }

    .hero-visual__cta-text{
      font-size: .98em;
    }

    .hero-visual.is-active .hero-visual__cta{
      opacity: 0;
      transform: translateY(10px) scale(.98);
      pointer-events: none;
      animation: none;
    }

    @keyframes hero-cta-float{
      0%, 100%{ transform: translateY(0); }
      50%{ transform: translateY(-6px); }
    }

    @media (prefers-reduced-motion: reduce){
      .hero-visual,
      .hero-visual__cta{
        animation: none;
        transition: none;
      }
    }

    .hero-stats{
      position:absolute;
      bottom: 18px;
      left: 18px;
      right: 18px;
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      z-index: 3;
    }
    .stat{
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.14);
      backdrop-filter: blur(16px);
      border-radius: 14px;
      padding: 12px 14px;
      color: rgba(255,255,255,.88);
    }
    .stat b{
      display:block;
      font-size: 1.05em;
      letter-spacing: -0.02em;
    }
    .stat span{
      display:block;
      font-size: .88em;
      color: rgba(255,255,255,.62);
      margin-top: 2px;
    }

    /* SECTIONS */
    section{ padding: 110px 0; }

    .section-header{
      max-width: 880px;
      margin: 0 auto 70px;
      text-align:center;
    }
    .section-label{
      font-size: .82em;
      text-transform: uppercase;
      letter-spacing: .18em;
      color: #64748b;
      font-weight: 750;
      margin-bottom: 14px;
    }
    .section-title{
      font-size: 3.15em;
      font-weight: 780;
      color: #0b1220;
      line-height: 1.15;
      letter-spacing: -0.03em;
      margin-bottom: 18px;
    }
    .section-description{
      font-size: 1.12em;
      color: #64748b;
      line-height: 1.8;
    }

    /* Premium panels */
    .panel{
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(15,23,42,.08);
      border-radius: var(--radius-xl);
      box-shadow: 0 24px 80px rgba(15,23,42,.06);
      position: relative;
      overflow:hidden;
    }
    .panel::before{
      content:"";
      position:absolute; inset:-2px;
      background:
        radial-gradient(90% 80% at 10% 0%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(85% 85% at 90% 100%, rgba(91, 184, 140,.16) 0%, rgba(91, 184, 140,0) 55%);
      pointer-events:none;
    }

    /* Services */
    .services-grid{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 26px;
    }
    .service-card{
      border-radius: 18px;
      background: rgba(255,255,255,.86);
      border: 1px solid rgba(15,23,42,.08);
      padding: 34px 30px;
      position: relative;
      overflow:hidden;
      transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease), filter .35s var(--ease);
    }
    .service-card::before{
      content:"";
      position:absolute;
      inset: -2px;
      background:
        radial-gradient(120% 120% at 0% 0%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(120% 120% at 100% 100%, rgba(91, 184, 140,.14) 0%, rgba(91, 184, 140,0) 55%);
      opacity: 0;
      transition: opacity .35s var(--ease);
      pointer-events:none;
    }
    .service-card:hover{
      transform: translateY(-8px);
      box-shadow: 0 30px 70px rgba(15,23,42,.12);
      border-color: rgba(15,23,42,.12);
      filter: saturate(1.03);
    }
    .service-card:hover::before{ opacity: 1; }

    .service-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 14px;
      margin-bottom: 20px;
      position: relative;
      z-index: 1;
    }
    .service-icon{
      width: 44px;
      height: 44px;
      border-radius: 14px;
      display:grid;
      place-items:center;
      color: #0b1220;
      background:
        radial-gradient(120% 120% at 10% 0%, rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 55%),
        linear-gradient(135deg, rgba(91, 184, 140,.85) 0%, rgba(91, 184, 140,.85) 50%, rgba(43, 109, 181,.85) 100%);
      box-shadow: 0 16px 38px rgba(43, 109, 181,.18);
      border: 1px solid rgba(255,255,255,.55);
    }
    .service-icon i{ width: 20px; height: 20px; color: rgba(15,23,42,.88); }

    .service-number{
      font-size: 0.95em;
      font-weight: 800;
      letter-spacing: .12em;
      color: #334155;
      opacity: .9;
    }
    .service-card h3{
      font-size: 1.22em;
      font-weight: 750;
      color: #0b1220;
      letter-spacing: -0.015em;
      margin-bottom: 10px;
      position: relative;
      z-index: 1;
    }
    .service-card p{
      color: #475569;
      line-height: 1.75;
      font-size: 1.02em;
      position: relative;
      z-index: 1;
    }

    /* Emphasis */
    .emphasis-block{
      margin-top: 60px;
      padding: 44px 48px;
      border-radius: var(--radius-xl);
      color: rgba(255,255,255,.92);
      background:
        radial-gradient(120% 120% at 0% 0%, rgba(91, 184, 140,.20) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(120% 120% at 100% 100%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 55%),
        linear-gradient(135deg, rgba(15,23,42,1) 0%, rgba(30,41,59,1) 100%);
      box-shadow: var(--shadow-soft);
      border: 1px solid rgba(255,255,255,.14);
      overflow:hidden;
      position: relative;
    }
    .emphasis-block::after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(45deg, transparent 35%, rgba(255,255,255,.08) 50%, transparent 65%);
      opacity:.35;
      pointer-events:none;
    }
    .emphasis-block-content{
      position: relative;
      z-index: 1;
      font-size: 1.18em;
      line-height: 1.75;
      max-width: 980px;
      display:flex;
      align-items:flex-start;
      gap: 14px;
    }
    .emphasis-block-content i{
      width: 22px; height: 22px;
      margin-top: 4px;
      color: rgba(91, 184, 140,.95);
    }
    .emphasis-block strong{
      color: rgba(91, 184, 140,.95);
      font-weight: 750;
    }

    /* Audience */
    .audience-grid{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 22px;
    }
    .audience-card{
      background: rgba(255,255,255,.86);
      border: 1px solid rgba(15,23,42,.08);
      border-radius: 18px;
      padding: 30px;
      transition: transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease);
      position: relative;
      overflow:hidden;
    }
    .audience-card::before{
      content:"";
      position:absolute;
      inset:-2px;
      background:
        radial-gradient(120% 120% at 0% 0%, rgba(91, 184, 140,.12) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(120% 120% at 100% 100%, rgba(91, 184, 140,.10) 0%, rgba(91, 184, 140,0) 55%);
      opacity: 0;
      transition: opacity .28s var(--ease);
      pointer-events:none;
    }
    .audience-card:hover{
      transform: translateY(-5px);
      box-shadow: 0 26px 60px rgba(15,23,42,.10);
      border-color: rgba(15,23,42,.12);
    }
    .audience-card:hover::before{ opacity: 1; }
    .audience-head{
      display:flex;
      align-items:flex-start;
      gap: 14px;
      margin-bottom: 10px;
      position: relative;
      z-index:1;
    }
    .audience-mark{
      width: 42px;
      height: 42px;
      border-radius: 14px;
      display:grid;
      place-items:center;
      background: rgba(15,23,42,.04);
      border: 1px solid rgba(15,23,42,.08);
    }
    .audience-mark i{ width: 20px; height: 20px; color: rgba(15,23,42,.78); }
    .audience-card h3{
      font-size: 1.3em;
      font-weight: 760;
      color: #0b1220;
      letter-spacing: -0.015em;
      line-height: 1.25;
      margin-top: 2px;
    }
    .audience-card p{
      color: #475569;
      font-size: 1.03em;
      line-height: 1.75;
      position: relative;
      z-index:1;
    }

    /* Process */
    .process-container{
      padding: 60px;
      border-radius: var(--radius-xl);
    }
    .process-step{
      display:grid;
      grid-template-columns: 120px 1fr;
      gap: 48px;
      padding: 46px 0;
      border-bottom: 1px solid rgba(15,23,42,.08);
      position: relative;
      z-index:1;
    }
    .process-step:last-child{ border-bottom: none; }
    .step-number{
      font-size: 4.4em;
      font-weight: 850;
      line-height: 1;
      letter-spacing: -0.05em;
      background: linear-gradient(135deg, rgba(43, 109, 181,1) 0%, rgba(91, 184, 140,1) 55%, rgba(91, 184, 140,1) 100%);
      -webkit-background-clip:text;
      background-clip:text;
      color: transparent;
    }
    .step-content h3{
      font-size: 1.75em;
      font-weight: 780;
      letter-spacing: -0.02em;
      margin-bottom: 10px;
      color: #0b1220;
      display:flex;
      align-items:center;
      gap: 12px;
    }
    .step-content h3 i{ width: 20px; height: 20px; color: rgba(43, 109, 181,.92); }
    .step-content p{
      font-size: 1.08em;
      color: #475569;
      line-height: 1.8;
      max-width: 820px;
    }

    .key-principle{
      margin-top: 26px;
      padding: 34px 40px;
      border-radius: var(--radius-xl);
      color: white;
      background:
        radial-gradient(120% 120% at 0% 0%, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 55%),
        linear-gradient(135deg, rgba(91, 184, 140,1) 0%, rgba(91, 184, 140,1) 55%, rgba(91, 184, 140,1) 100%);
      box-shadow: 0 24px 70px rgba(91, 184, 140,.18);
      border: 1px solid rgba(255,255,255,.18);
      position: relative;
      overflow:hidden;
      font-size: 1.12em;
      line-height: 1.75;
    }
    .key-principle::after{
      content:"";
      position:absolute; inset:0;
      background: linear-gradient(45deg, transparent 35%, rgba(255,255,255,.12) 50%, transparent 65%);
      opacity:.35;
      pointer-events:none;
    }
    .key-principle strong{
      font-weight: 800;
      display:block;
      margin-bottom: 10px;
      letter-spacing: -0.01em;
    }

    /* Legal */
    .legal-block{
      padding: 54px 60px;
      border-radius: var(--radius-xl);
    }
    .legal-block h3{
      font-size: 1.85em;
      font-weight: 820;
      margin-bottom: 18px;
      letter-spacing: -0.02em;
      color: #0b1220;
      display:flex;
      align-items:center;
      gap: 12px;
      position: relative;
      z-index:1;
    }
    .legal-block h3 i{ width: 22px; height: 22px; color: rgba(43, 109, 181,.92); }
    .legal-block p{
      font-size: 1.08em;
      color: #334155;
      line-height: 1.95;
      position: relative;
      z-index:1;
    }

    /* CTA */
    .cta-section{
      color: white;
      padding: 120px 0;
      text-align:center;
      position: relative;
      overflow:hidden;
      background:
        radial-gradient(900px 520px at 20% 40%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(900px 520px at 80% 60%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 55%),
        linear-gradient(135deg, rgba(15,23,42,1) 0%, rgba(30,41,59,1) 100%);
    }
    .cta-section::after{
      content:"";
      position:absolute; inset:0;
      background: url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='p' width='80' height='80' patternUnits='userSpaceOnUse'%3E%3Cpath d='M 80 0 L 0 0 0 80' fill='none' stroke='rgba(255,255,255,0.07)' stroke-width='1'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='80' height='80' fill='url(%23p)'/%3E%3C/svg%3E");
      opacity:1;
      pointer-events:none;
    }
    .form-field.is-full{
      grid-column: 1 / -1;
    }
    .cta-content{ position: relative; z-index:1; }
    .cta-section h2{
      font-size: 3.05em;
      font-weight: 860;
      letter-spacing: -0.03em;
      margin-bottom: 16px;
    }
    .cta-section p{
      font-size: 1.15em;
      color: rgba(255,255,255,.72);
      margin-bottom: 34px;
    }
    .cta-grid{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 32px;
      align-items: start;
    }
    .cta-buttons{
      display:flex;
      justify-content:center;
      gap: 14px;
      flex-wrap: wrap;
    }
    .cta-form{
      max-width: 760px;
      margin: 0 auto 28px;
      padding: 26px 28px;
      border-radius: 18px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(15,23,42,.45);
      box-shadow: 0 22px 46px rgba(0,0,0,.28);
      backdrop-filter: blur(10px);
      position: relative;
      text-align: left;
    }
    .cta-form__grid{
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }
    .form-field label{
      display:block;
      font-size: .9em;
      font-weight: 650;
      color: rgba(255,255,255,.7);
      margin-bottom: 6px;
    }
    .form-input{
      width: 100%;
      padding: 14px 16px;
      border-radius: 12px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(2,6,23,.6);
      color: #f8fafc;
      font-size: 1em;
      transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
    }
    .form-input::placeholder{
      color: rgba(255,255,255,.4);
    }
    .form-input:focus{
      outline: none;
      border-color: rgba(91,184,140,.8);
      box-shadow: 0 0 0 3px rgba(91,184,140,.25);
    }
    .custom-select{
      position: relative;
    }
    .custom-select__button{
      width: 100%;
      padding: 14px 16px;
      padding-right: 44px;
      border-radius: 12px;
      border: 1px solid rgba(255,255,255,.18);
      background-color: rgba(2,6,23,.6);
      color: #f8fafc;
      font-size: 1em;
      text-align: left;
      cursor: pointer;
      transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' fill='none' stroke='%23f8fafc' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 11px center;
      background-size: 12px;
      backdrop-filter: blur(10px);
    }
    .custom-select__button:focus{
      outline: none;
      border-color: rgba(91,184,140,.8);
      box-shadow: 0 0 0 3px rgba(91,184,140,.25);
    }
    .custom-select__list{
      position: absolute;
      top: calc(100% + 8px);
      left: 0;
      right: 0;
      list-style: none;
      margin: 0;
      padding: 6px;
      border-radius: 14px;
      background: rgba(2,6,23,.92);
      border: 1px solid rgba(255,255,255,.16);
      box-shadow: 0 18px 40px rgba(0,0,0,.35);
      backdrop-filter: blur(12px);
      display: none;
      z-index: 20;
      max-height: 260px;
      overflow-y: auto;
      scrollbar-color: rgba(15,23,42,.9) rgba(15,23,42,.35);
      scrollbar-width: thin;
    }
    .custom-select__list::-webkit-scrollbar{
      width: 8px;
    }
    .custom-select__list::-webkit-scrollbar-track{
      background: rgba(15,23,42,.35);
      border-radius: 999px;
    }
    .custom-select__list::-webkit-scrollbar-thumb{
      background: rgba(15,23,42,.9);
      border-radius: 999px;
      border: 2px solid rgba(15,23,42,.35);
    }
    .custom-select.is-open .custom-select__list{
      display: block;
    }
    .custom-select__option{
      padding: 10px 12px;
      border-radius: 10px;
      color: #f8fafc;
      cursor: pointer;
      transition: background .2s var(--ease), color .2s var(--ease);
    }
    .custom-select__option:hover{
      background: rgba(255,255,255,.08);
    }
    .custom-select__option.is-selected{
      background: rgba(91,184,140,.2);
      color: #eafff4;
    }
    .form-hint{
      font-size: .82em;
      color: rgba(255,255,255,.55);
      margin-top: 6px;
    }
    .cta-form__actions{
      margin-top: 18px;
      display:flex;
      align-items:center;
      justify-content: space-between;
      gap: 14px;
      flex-wrap: wrap;
    }
    .cta-form .btn{
      border: none;
      cursor: pointer;
    }
    .cta-form.is-busy .btn{
      opacity: .7;
      pointer-events: none;
    }
    .form-status{
      font-size: .92em;
      color: rgba(255,255,255,.7);
      min-height: 1.4em;
      flex: 0 0 100%;
      order: 3;
    }
    .form-status.is-success{ color: rgba(134, 239, 172, .95); }
    .form-status.is-error{ color: rgba(252, 165, 165, .95); }
    .cta-privacy{
      font-size: .78em;
      color: rgba(255,255,255,.5);
      margin-top: 10px;
    }
    .cta-form__honeypot{
      position: absolute;
      left: -9999px;
      opacity: 0;
      pointer-events: none;
      height: 0;
      width: 0;
    }
    .btn{
      padding: 16px 26px;
      font-size: 1.02em;
      border-radius: 14px;
      font-weight: 750;
      text-decoration:none;
      display:inline-flex;
      align-items:center;
      gap: 10px;
      transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), filter .25s var(--ease);
    }
    .btn i{ width: 18px; height: 18px; }
    .btn-primary{
      color: #0b1220;
      background:
        radial-gradient(120% 180% at 10% 0%, rgba(255,255,255,.60) 0%, rgba(255,255,255,0) 45%),
        linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.92) 100%);
      box-shadow: 0 18px 46px rgba(0,0,0,.25);
      border: 1px solid rgba(255,255,255,.28);
    }
    .btn-primary:hover{
      transform: translateY(-2px);
      box-shadow: 0 22px 60px rgba(0,0,0,.35);
      filter: brightness(1.02);
    }
    .btn-secondary{
      color: rgba(255,255,255,.92);
      border: 1px solid rgba(255,255,255,.22);
      background: rgba(255,255,255,.06);
      backdrop-filter: blur(16px);
    }
    .btn-secondary:hover{
      transform: translateY(-2px);
      border-color: rgba(255,255,255,.38);
      background: rgba(255,255,255,.09);
    }

    /* FOOTER */
    footer{
      background: rgba(255,255,255,.85);
      border-top: 1px solid rgba(15, 23, 42, 0.08);
      padding: 70px 0 38px;
      backdrop-filter: blur(10px);
    }
    .footer-grid{
      display:grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;
      gap: 70px;
      margin-bottom: 50px;
    }
    .footer-brand h3{
      font-size: 1.35em;
      font-weight: 850;
      letter-spacing: -0.02em;
      color: #0b1220;
      margin-bottom: 10px;
    }
    .footer-brand p{
      color: #475569;
      line-height: 1.8;
      font-size: 1.02em;
    }
    .footer-section h4{
      font-size: 0.78em;
      text-transform: uppercase;
      letter-spacing: .14em;
      color: #94a3b8;
      margin-bottom: 16px;
      font-weight: 850;
    }
    .footer-section a{
      color: #334155;
      text-decoration:none;
      display:block;
      margin-bottom: 10px;
      font-size: 1.02em;
      transition: color .22s var(--ease), transform .22s var(--ease);
    }
    .footer-section a:hover{
      color: #0b1220;
      transform: translateX(2px);
    }
    .footer-bottom{
      padding-top: 28px;
      border-top: 1px solid rgba(15,23,42,.08);
      text-align:center;
      color: #94a3b8;
      font-size: .95em;
    }

    /* Helpers */
    /* .soft-bg{
      background:
        radial-gradient(640px 360px at 20% 10%, rgba(91, 184, 140,.10) 0%, rgba(91, 184, 140,0) 60%),
        radial-gradient(640px 360px at 80% 90%, rgba(91, 184, 140,.08) 0%, rgba(91, 184, 140,0) 60%),
        linear-gradient(180deg, rgba(250,250,250,1) 0%, rgba(246,247,251,1) 100%);
    } */
    .white-bg{ background: rgba(255,255,255,.0); }
    @media (min-width: 768px){
      .soft-bg{ padding-top: 0; }
    }

    /* Scroll reveal */
    .js [data-reveal]{
      opacity: 0;
      transform: translateY(16px);
      transition: opacity .7s var(--ease), transform .7s var(--ease);
      transition-delay: var(--reveal-delay, 0ms);
      will-change: opacity, transform;
    }
    .js [data-reveal].is-visible{
      opacity: 1;
      transform: translateY(0);
    }
    @media (prefers-reduced-motion: reduce){
      .js [data-reveal]{
        opacity: 1;
        transform: none;
        transition: none;
      }
    }

    /* Responsive */
    @media (max-width: 1200px){
      :root{ --pad-x: 40px; }
      section{ padding: 80px 0; }
      .hero-grid{ grid-template-columns: 1fr; gap: 46px; }
      .hero-visual{ height: 520px;}
      .hero-text h1{ font-size: 3.3em; }
      .services-grid{ grid-template-columns: 1fr; }
      .audience-grid{ grid-template-columns: 1fr; }
      .footer-grid{ grid-template-columns: 1fr 1fr; gap: 40px; }
      .process-container{ padding: 44px; }
    }
    @media (max-width: 768px){
      :root{ --pad-x: 18px; }
      section{ padding: 35px 0; }
      header{ padding: 64px 0 110px; }
      .nav-actions{ gap: 8px; }
      .nav-actions .nav-btn{ display: none; }
      .nav-burger{ display: inline-flex; }
      .nav-dropdown{ min-width: 200px; }
      .hero-text h1{ font-size: 2.45em; }
      .section-header{ margin-bottom: 44px; }
      .section-title{ font-size: 2.15em; }
      .service-card{ padding: 26px 22px; }
      .audience-card{ padding: 24px 22px; }
      .process-container{ padding: 0 18px; }
      .process-step{ grid-template-columns: 1fr; gap: 14px; padding: 30px 0; }
      .step-number{ font-size: 2.4em; }
      .key-principle{ padding: 26px 22px; }
      .emphasis-block{ padding: 24px 20px; }
      .legal-block{ padding: 28px 20px; }
      .cta-section{ padding: 64px 0; }
      .cta-grid{ grid-template-columns: 1fr; gap: 22px; }
      .cta-buttons{ flex-direction: column; align-items: stretch; }
      .cta-form{ padding: 22px; }
      .cta-form__grid{ grid-template-columns: 1fr; }
      .cta-form__actions{ flex-direction: column; align-items: stretch; }
      .form-status{ text-align: center; }
      .btn{ justify-content:center; }
      .footer-grid{ grid-template-columns: 1fr; gap: 28px; margin-bottom: 34px; }
      footer{ padding: 54px 0 30px; }
      .hero-stats{ grid-template-columns: 1fr; }
    }

    /* Contact modal disabled
    body.modal-open{
      overflow: hidden;
    }
    .contact-modal{
      position: fixed;
      inset: 0;
      display: grid;
      place-items: center;
      z-index: 200;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .35s var(--ease), visibility .35s var(--ease);
    }
    .contact-modal.is-visible{
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }
    .contact-modal__backdrop{
      position: absolute;
      inset: 0;
      background: rgba(9, 12, 20, .55);
      backdrop-filter: blur(12px);
    }
    .contact-modal__panel{
      position: relative;
      width: min(520px, 92vw);
      border-radius: 20px;
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(15,23,42,.12);
      box-shadow: var(--shadow);
      padding: 28px;
      z-index: 1;
    }
    .contact-modal__panel::before{
      content:"";
      position:absolute;
      inset:-1px;
      border-radius: inherit;
      background:
        radial-gradient(120% 120% at 0% 0%, rgba(91, 184, 140,.18) 0%, rgba(91, 184, 140,0) 55%),
        radial-gradient(120% 120% at 100% 100%, rgba(43, 109, 181,.12) 0%, rgba(43, 109, 181,0) 55%);
      pointer-events: none;
    }
    .contact-modal__header{
      position: relative;
      z-index: 1;
      margin-bottom: 20px;
    }
    .contact-modal__eyebrow{
      font-size: .78em;
      text-transform: uppercase;
      letter-spacing: .18em;
      color: #64748b;
      font-weight: 800;
    }
    .contact-modal__title{
      font-size: 1.6em;
      font-weight: 780;
      color: #0b1220;
      margin-top: 8px;
    }
    .contact-modal__subtitle{
      color: #475569;
      margin-top: 6px;
      font-size: 1em;
    }
    .contact-modal__actions{
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .contact-modal__action{
      text-decoration:none;
      padding: 14px 16px;
      border-radius: 14px;
      font-weight: 700;
      text-align: center;
      border: 1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.9);
      color: #0f172a;
      box-shadow: 0 14px 30px rgba(15,23,42,.08);
      transition: transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease);
    }
    .contact-modal__action:hover{
      transform: translateY(-2px);
      box-shadow: 0 20px 40px rgba(15,23,42,.12);
      filter: saturate(1.05);
    }
    .contact-modal__action.is-vk{
      background: linear-gradient(135deg, rgba(43, 109, 181,1), rgba(63, 140, 255,1));
      color: #fff;
      border-color: rgba(43, 109, 181,.45);
    }
    .contact-modal__action.is-telegram{
      background: linear-gradient(135deg, rgba(43, 153, 255,1), rgba(91, 184, 140,1));
      color: #fff;
      border-color: rgba(43, 153, 255,.45);
    }
    .contact-modal__action.is-max{
      background: linear-gradient(135deg, rgba(91, 184, 140,1), rgba(43, 109, 181,1));
      color: #fff;
      border-color: rgba(91, 184, 140,.45);
    }
    .contact-modal__close{
      position: absolute;
      top: 14px;
      right: 14px;
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid rgba(15,23,42,.12);
      background: rgba(255,255,255,.8);
      display: grid;
      place-items: center;
      cursor: pointer;
      transition: transform .2s var(--ease), box-shadow .2s var(--ease);
      z-index: 2;
    }
    .contact-modal__close i,
    .contact-modal__close svg{
      width: 18px;
      height: 18px;
      color: #0f172a;
    }
    .contact-modal__close:hover{
      transform: scale(1.05);
      box-shadow: 0 12px 26px rgba(15,23,42,.12);
    }
    .contact-modal__close:focus-visible,
    .contact-modal__action:focus-visible{
      outline: 2px solid rgba(43, 109, 181,.55);
      outline-offset: 3px;
    }

    @media (max-width: 768px){
      .contact-modal__panel{ padding: 22px; border-radius: 18px; }
      .contact-modal__title{ font-size: 1.35em; }
      .contact-modal__actions{ grid-template-columns: 1fr; }
    }
    */
  
