
    :root{

      --bg: #F7FBFF;
      --surface: #FFFFFF;
      --surface-2: #EFF6FF;
      --border: #D6E6FF;

      --text: #0F172A;
      --muted: #4B5563;

      --blue-900:#0B2A6B;
      --blue-800:#0F3B9A;
      --blue-700:#1D4ED8;
      --blue-600:#2563EB;
      --blue-100:#DBEAFE;

      --accent:#0EA5E9;
      --ok:#15803D;
      --warn:#B45309;
      --err:#B42318;

      --shadow: 0 14px 34px rgba(15, 23, 42, .10);
      --shadow-soft: 0 10px 22px rgba(15, 23, 42, .08);
      --focus: 0 0 0 3px rgba(37, 99, 235, .25);

      --radius: 16px;
      --radius-sm: 12px;
      --max: 1120px;
    }

    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
      color:var(--text);
      background:var(--bg);
      line-height:1.55;
    }

    a{ color:inherit; text-decoration:none; }
    a:hover{ text-decoration:underline; text-underline-offset:3px; }

    .container{ max-width:var(--max); margin:0 auto; padding:5px; }
    .muted{ color:var(--muted); }

    .sr-only{
      position:absolute; width:1px; height:1px; padding:0; margin:-1px;
      overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
    }
    .brand-logo{
      height: 90px;
      width: auto;
    }

    header{
      position:sticky; top:0; z-index:50;
      background:rgba(247,251,255,.90);
      backdrop-filter: blur(10px);
      border-bottom:1px solid var(--border);
    }
    .nav{
      display:flex;
      align-items:center;
      gap:16px;
    }
    .brand{
      display:flex; align-items:center; gap:12px;
      font-weight:900;
      letter-spacing:.2px;
      min-width: 240px;
    }

    .brand-text{ display:flex; flex-direction:column; line-height:1.12; }
    .brand-title{ font-size:1.05rem; color:var(--blue-900); }
    .brand-sub{ font-size:.86rem; color:var(--muted); font-weight:700; margin-top:2px; }

    .navlinks{
      margin-left:auto;
      display:flex; align-items:center; gap:10px; flex-wrap:wrap;
      font-weight:800;
      color:var(--blue-900);
    }
    .navlinks a{
      padding:10px 12px;
      border-radius:12px;
      border:1px solid transparent;
    }
    .navlinks a:hover{
      text-decoration:none;
      background: var(--blue-100);
      border-color: #BBD6FF;
    }

    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      padding:12px 14px;
      border-radius:12px;
      border:1px solid transparent;
      font-weight:900;
      cursor:pointer;
      user-select:none;
      transition: transform .08s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, opacity .15s ease;
      white-space:nowrap;
    }
    .btn:active{ transform: translateY(1px); }
    .btn.primary{
      background: var(--blue-700); 
      color:#fff;
      box-shadow: 0 14px 26px rgba(29, 78, 216, .18);
    }
    .btn.primary:hover{ opacity:.98; }
    .btn.secondary{
      background: var(--surface);
      border-color: var(--border);
      color: var(--blue-900);
      box-shadow: var(--shadow-soft);
    }
    .btn.ghost{
      background: transparent;
      border-color: var(--border);
      color: var(--blue-900);
      padding:10px 12px;
    }

    .menu-btn{
      display:none;
      padding:10px 12px;
      border-radius:12px;
      border:1px solid var(--border);
      background: var(--surface);
      color: var(--blue-900);
      font-weight:900;
      cursor:pointer;
      box-shadow: var(--shadow-soft);
    }

    @media (max-width: 860px){
      .navlinks{ display:none; }
      .menu-btn{ display:inline-flex; margin-left:auto; }
    }

    .mobile-panel{
      display:none;
      border-top:1px solid var(--border);
      background: rgba(247,251,255,.95);
    }
    .mobile-panel .inner{
      display:grid;
      gap:8px;
      padding:12px 24px 18px;
    }
    .mobile-panel a{
      padding:10px 12px;
      border-radius:12px;
      border:1px solid var(--border);
      background: var(--surface);
      font-weight:900;
      color: var(--blue-900);
    }
    .mobile-panel a:hover{ text-decoration:none; background: var(--blue-100); }
    .mobile-panel.show{ display:block; }

    section{ scroll-margin-top: 92px; }
    .hero{
      padding: 34px 0 18px;
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap:20px;
      align-items:center;
    }
    @media (max-width: 920px){
      .hero{ grid-template-columns:1fr; }
    }

    .badge{
      display:inline-flex; align-items:center; gap:10px;
      padding:7px 10px;
      border-radius:999px;
      background: var(--surface);
      border:1px solid var(--border);
      box-shadow: var(--shadow-soft);
      font-weight:800;
      color: var(--blue-900);
      width:max-content;
    }
    .badge .dot{
      width:10px; height:10px; border-radius:999px;
      background: var(--accent);
      box-shadow: 0 0 0 3px rgba(14,165,233,.16);
    }

    h1{
      margin:12px 0 10px;
      font-size: clamp(2.2rem, 2.3vw + 1.4rem, 3.25rem);
      line-height:1.05;
      letter-spacing:-.02em;
      color: var(--blue-900);
    }
    .hero p{
      margin:0 0 16px;
      color: var(--muted);
      font-size:1.06rem;
      max-width: 62ch;
    }
    .hero-actions{
      display:flex; gap:12px; flex-wrap:wrap; align-items:center;
      margin-top:8px;
    }
    .trustline{
      margin-top:14px;
      color: var(--muted);
      font-weight:800;
    }

    .panel{
      background: var(--surface);
      border:1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      padding:18px;
    }
    .panel-title{
      font-weight:1000;
      color: var(--blue-900);
      font-size:1.05rem;
      margin:0 0 6px;
    }
    .panel-sub{ margin:0 0 12px; color: var(--muted); }

    .stats{
      display:grid; grid-template-columns: 1fr 1fr;
      gap:10px;
      margin-top:12px;
    }
    .stat{
      border:1px solid var(--border);
      border-radius:14px;
      background: var(--surface-2);
      padding:12px;
      box-shadow: var(--shadow-soft);
    }
    .stat b{ display:block; font-size:1.05rem; color:var(--blue-900); }
    .stat span{ color:var(--muted); font-weight:750; font-size:.92rem; }

    .section-title{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:16px;
      margin: 6px 0 14px;
    }
    .section-title h2{
      margin:0;
      font-size:1.45rem;
      color: var(--blue-900);
      letter-spacing:-.01em;
    }
    .section-title .hint{ color:var(--muted); font-weight:800; }

    .cards{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
    }
    @media (max-width: 980px){ .cards{ grid-template-columns:1fr 1fr; } }
    @media (max-width: 640px){ .cards{ grid-template-columns:1fr; } }

    .card{
      background: var(--surface);
      border:1px solid var(--border);
      border-radius: 16px;
      box-shadow: var(--shadow-soft);
      padding:16px;
      min-height: 150px;
    }
    .icon{
      width:42px; height:42px;
      border-radius:14px;
      background: var(--blue-100);
      border:1px solid #BBD6FF;
      display:grid; place-items:center;
      color: var(--blue-900);
      margin-bottom:10px;
    }
    .icon svg{ width:22px; height:22px; display:block; color: var(--blue-800); }
    .card h3{
      margin:0 0 6px;
      font-size:1.08rem;
      color: var(--blue-900);
    }
    .card p{ margin:0; color: var(--muted); }

    .catalog{
      display:grid;
      grid-template-columns: 1fr;
      gap:12px;
    }
    .course{
      display:flex; gap:14px; align-items:flex-start;
      background: var(--surface);
      border:1px solid var(--border);
      border-radius: 16px;
      box-shadow: var(--shadow-soft);
      padding:14px;
    }
    .course .tag{
      font-weight:900;
      color: var(--blue-900);
      background: var(--surface-2);
      border:1px solid var(--border);
      padding:6px 10px;
      border-radius:999px;
      white-space:nowrap;
    }
    .course h4{ margin:0 0 4px; color: var(--blue-900); }
    .course .meta{ color: var(--muted); font-weight:750; font-size:.92rem; }
    .course .desc{ margin:8px 0 0; color: var(--muted); }

    @media (max-width: 620px){
      .course{ flex-direction:column; }
      .course .tag{ width:max-content; }
    }

    .steps{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:12px;
    }
    @media (max-width: 980px){ .steps{ grid-template-columns:1fr 1fr; } }
    @media (max-width: 640px){ .steps{ grid-template-columns:1fr; } }

    .step{
      background: var(--surface);
      border:1px solid var(--border);
      border-radius: 16px;
      box-shadow: var(--shadow-soft);
      padding:14px;
    }
    .step .n{
      width:32px; height:32px;
      border-radius:12px;
      background: var(--blue-700);
      color:#fff;
      font-weight:1000;
      display:inline-flex; align-items:center; justify-content:center;
      margin-bottom:10px;
    }
    .step b{ display:block; margin-bottom:4px; color: var(--blue-900); }
    .step span{ color: var(--muted); }

    .quotes{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
    }
    @media (max-width: 820px){ .quotes{ grid-template-columns:1fr; } }

    .quote{
      background: var(--surface);
      border:1px solid var(--border);
      border-radius:16px;
      box-shadow: var(--shadow-soft);
      padding:16px;
    }
    .quote p{ margin:0 0 10px; color: var(--text); }
    .quote .who{ color: var(--muted); font-weight:850; }

    .pricing{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap:14px;
      align-items:stretch;
    }
    @media (max-width: 980px){ .pricing{ grid-template-columns:1fr; } }

    .plan{
      background: var(--surface);
      border:1px solid var(--border);
      border-radius:16px;
      box-shadow: var(--shadow-soft);
      padding:16px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .plan .name{ font-weight:1000; color: var(--blue-900); font-size:1.12rem; }
    .plan .price{ font-weight:1000; font-size:1.55rem; color: var(--blue-900); }
    .plan ul{ margin:0; padding-left:18px; color: var(--muted); }
    .plan li{ margin:6px 0; }
    .plan .grow{ flex:1; }
    .plan.featured{
      border-color: #BBD6FF;
      background: var(--surface-2);
    }

    details{
      background: var(--surface);
      border:1px solid var(--border);
      border-radius:14px;
      box-shadow: var(--shadow-soft);
      padding:12px 14px;
    }
    details + details{ margin-top:10px; }
    summary{
      cursor:pointer;
      font-weight:950;
      color: var(--blue-900);
      list-style:none;
    }
    summary::-webkit-details-marker{ display:none; }
    details p{ margin:10px 0 0; color: var(--muted); }

    form{ display:grid; gap:12px; margin-top:10px; }
    .row{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:12px;
    }
    @media (max-width: 740px){ .row{ grid-template-columns:1fr; } }

    label{ display:block; font-weight:900; margin-bottom:6px; color: var(--blue-900); }
    input, textarea, select{
      width:100%;
      padding:12px 14px;
      border-radius:14px;
      border:1px solid var(--border);
      background: var(--surface);
      color: var(--text);
      outline:none;
      transition: box-shadow .15s, border-color .15s;
    }
    textarea{ min-height:110px; resize:vertical; }
    input:focus, textarea:focus, select:focus{
      border-color: rgba(37,99,235,.55);
      box-shadow: var(--focus);
    }
    .form-note{ color: var(--muted); font-size:.92rem; }

    .toast{
      display:none;
      margin-top:10px;
      border-radius:14px;
      padding:12px 14px;
      border:1px solid rgba(21,128,61,.20);
      background: #ECFDF5;
      color:#065F46;
      font-weight:900;
    }

    footer{
      padding: 26px 0 40px;
      color: var(--muted);
      text-align:center;
    }
    .footlinks{
      display:flex; justify-content:center; gap:14px; flex-wrap:wrap;
      margin:10px 0 0;
      font-weight:850;
    }
    .footlinks a{ color: var(--muted); }
    .footlinks a:hover{ color: var(--blue-900); }

    .hr{
      height:1px;
      background: rgba(15,23,42,.10);
      border:0;
      margin:18px 0;
    }


.pt-12 { padding-top: 12px; }
.mt-14 { margin-top: 14px; }
.mb-12 { margin-bottom: 12px; }
.m-0 { margin: 0; }

.flex { display: flex; }
.gap-12 { gap: 12px; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }

.fw-850 { font-weight: 850; }           
.fs-095 { font-size: .95rem; }
