
    :root{
      --blue:#1747b8;
      --blue2:#1f5dff;
      --dark:#08152d;
      --text:#0f172a;
      --muted:#64748b;
      --bg:#f8fafc;
      --card:#ffffff;
      --border:#e2e8f0;
      --shadow:0 10px 30px rgba(2,8,23,.08);
      --radius:24px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter, Arial, Helvetica, sans-serif;
      color:var(--text);
      background:#fff;
    }
    a{text-decoration:none;color:inherit}
    img{max-width:100%;display:block}
    .container{width:min(1180px, calc(100% - 32px)); margin:0 auto}
    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      padding:14px 22px; border-radius:18px; font-weight:700; cursor:pointer;
      border:none; transition:.2s ease; font-size:16px;
    }
    .btn:hover{transform:translateY(-1px)}
    .btn-primary{background:var(--blue); color:#fff; box-shadow:0 8px 24px rgba(23,71,184,.24)}
    .btn-secondary{background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.2)}
    .btn-dark{background:#071936; color:#fff}
    .btn-light{background:#fff; color:var(--text); border:1px solid var(--border)}
    .header{
      position:sticky; top:0; z-index:40; backdrop-filter:blur(10px);
      background:rgba(255,255,255,.95); border-bottom:1px solid rgba(226,232,240,.85);
    }
    .header-inner{
      display:flex; align-items:center; justify-content:space-between; gap:16px;
      padding:14px 0;
    }
    .brand{display:flex; align-items:center; gap:12px; min-width:0}
    .brand img{width:48px; height:48px; border-radius:50%; object-fit:cover}
    .brand h1{font-size:24px; margin:0}
    .brand small{display:block; color:var(--muted); margin-top:2px}
    .nav{display:flex; gap:24px; color:#334155; font-weight:600}
    .nav a:hover{color:var(--blue)}
    .hero{
      position:relative; color:#fff; overflow:hidden;
      min-height:84vh;
      background:
        linear-gradient(90deg, rgba(4,18,46,.78), rgba(6,16,36,.55) 55%, rgba(6,16,36,.35)),
        #e1e4e9;
    }
    .hero .container{
      display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:center;
      min-height:84vh; padding:56px 0;
    }
    .pill{
      display:inline-flex; gap:10px; align-items:center;
      padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.1);
      border:1px solid rgba(255,255,255,.18); font-size:14px; font-weight:600;
    }
    .hero h2{
      font-size:clamp(40px,6vw,66px); line-height:1.02; margin:18px 0 16px; max-width:720px;
    }
    .hero p{font-size:19px; line-height:1.7; max-width:650px; color:#dbe6ff}
    .hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:28px}
    .hero-benefits{
      list-style:none;display:flex;flex-wrap:wrap;gap:12px 24px;
      margin:26px 0 0;padding:0;color:#e5edff;
    }
    .hero-benefits li{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.5;font-weight:500}
    .hero-benefits span{color:#a5d6ff;font-weight:800;font-size:18px}
    .btn:focus-visible,.test-link:focus-visible,.locked:focus-visible{outline:3px solid #60a5fa;outline-offset:4px}
    .glass-card{
      background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.15);
      border-radius:30px; padding:14px; backdrop-filter:blur(10px); box-shadow:0 20px 50px rgba(2,8,23,.22);
    }
    .contact-card{
      background:rgba(7,16,36,.72); border-radius:24px; padding:24px; color:#fff;
    }
    .contact-card .top{display:flex; gap:12px; align-items:center}
    .contact-card .top img{width:52px; height:52px; border-radius:50%; background:#fff}
    .mini{
      background:rgba(255,255,255,.1); border-radius:18px; padding:14px 16px; margin-top:12px;
    }
    .mini .label{font-size:13px; color:#cbd5e1}
    .mini .value{margin-top:6px; font-weight:700}
    .stats-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:14px}
    .stat{
      background:rgba(23,71,184,.24); border-radius:18px; padding:18px; text-align:center;
    }
    .stat b{display:block; font-size:28px}
    section{padding:78px 0}
    .section-title{font-size:14px; text-transform:uppercase; letter-spacing:.2em; color:var(--blue); font-weight:800}
    .section-head{font-size:clamp(30px,4vw,44px); margin:10px 0 0}
    .section-sub{max-width:760px; color:var(--muted); line-height:1.8; font-size:18px; margin-top:16px}
    .cards{display:grid; gap:18px; margin-top:34px}
    .cards-4{grid-template-columns:repeat(4,1fr)}
    .cards-3{grid-template-columns:repeat(3,1fr)}
    .cards-2{grid-template-columns:repeat(2,1fr)}
    .card{
      background:var(--card); border:1px solid var(--border); border-radius:26px;
      padding:26px; box-shadow:var(--shadow);
    }
    .card .icon{
      width:54px; height:54px; border-radius:18px; background:#eef4ff;
      display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:18px;
    }
    .card h3{margin:0; font-size:24px}
    .card p{color:var(--muted); line-height:1.8; margin:12px 0 0}
    .dark-section{background:#071122; color:#fff}
    .dark-section .section-title{color:#8fb0ff}
    .dark-section .section-sub{color:#cbd5e1}
    .dark-card{
      background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); color:#fff;
      border-radius:26px; padding:26px;
    }
    .dark-card p{color:#d1d9e6}
    .step-no{
      width:46px; height:46px; border-radius:50%; background:var(--blue); color:#fff;
      display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:16px;
    }
    .location-wrap{display:grid; grid-template-columns:.95fr 1.05fr; gap:20px; margin-top:34px}
    .map-box{overflow:hidden; border-radius:28px; border:1px solid var(--border); box-shadow:var(--shadow); background:#e5e7eb}.map-box iframe,.map-box img{width:100%;height:380px;border:0;display:block}.map-box img{object-fit:cover}
    .faq-list{display:grid; gap:14px; margin-top:34px}
    .faq-item{background:#f8fafc; border:1px solid var(--border); border-radius:24px; padding:22px}
    .faq-item h4{margin:0; font-size:22px}
    .faq-item p{margin:10px 0 0; color:var(--muted); line-height:1.8}
    .learn-block{margin-top:38px}
    .learn-grid{display:grid; gap:16px}
    .learn-grid.tests{grid-template-columns:repeat(5,1fr);gap:12px}
    .learn-grid.materials{grid-template-columns:repeat(3,1fr);gap:12px}
    .learn-grid.lectures{grid-template-columns:repeat(3,1fr);gap:12px}
    .tile{
      background:#f8fafc; border:1px solid var(--border); border-radius:24px; padding:22px; box-shadow:var(--shadow);
    }
    .tile .eyebrow{font-size:13px; font-weight:800; color:var(--blue); letter-spacing:.08em}
    .tile h4{margin:10px 0 0; font-size:26px}
    .tile p{margin:12px 0 0; color:var(--muted); line-height:1.7}
    .tile .btn{width:100%; margin-top:18px}
    .contact-section{
      background:#071122; color:#fff;
    }
    .contact-wrap{
      background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09);
      border-radius:32px; padding:28px; display:grid; grid-template-columns:1.1fr .9fr; gap:20px;
      box-shadow:0 24px 60px rgba(2,8,23,.18);
    }
    .social-box{background:rgba(23,71,184,.16); border-radius:28px; padding:24px}
    .social-links{display:grid; gap:12px; margin-top:14px}
    .social-link{
      display:block; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
      color:#fff; border-radius:18px; padding:14px 16px;
    }
    footer{padding:28px 0 42px}
    .footer-inner{
      border-top:1px solid var(--border); padding-top:18px; display:flex;
      justify-content:space-between; gap:14px; align-items:center;
    }
    .mobile-menu-btn{display:none}
    .header-cta{padding:12px 20px}
    .mobile-nav{
      display:none; gap:8px; overflow:auto; white-space:nowrap; padding:0 0 10px;
      scrollbar-width:none;
    }
    .mobile-nav::-webkit-scrollbar{display:none}
    .mobile-nav a{
      display:inline-flex; align-items:center; justify-content:center;
      padding:9px 12px; border-radius:999px; background:#f1f5f9; color:#0f172a;
      border:1px solid var(--border); font-weight:700; font-size:13px;
    }
    .locked h4{color:var(--text)!important}

    @media (max-width: 1100px){
      .cards-4{grid-template-columns:repeat(2,1fr)}
      .learn-grid.tests{grid-template-columns:repeat(4,1fr)}
      .learn-grid.materials,.learn-grid.lectures{grid-template-columns:repeat(2,1fr)}
    }
    @media (max-width: 820px){
      .nav{display:none}
      .mobile-nav{display:flex}
      .mobile-menu-btn{display:inline-flex}
      .hero .container,
      .location-wrap,
      .contact-wrap{grid-template-columns:1fr}
.cards-3,.cards-2{grid-template-columns:1fr}
      .learn-grid.tests{grid-template-columns:repeat(2,1fr)}
      .learn-grid.materials,.learn-grid.lectures{grid-template-columns:1fr}
      .footer-inner{flex-direction:column; align-items:flex-start}
    }
    @media (max-width: 520px){
      .container{width:min(100% - 20px, 1180px)}
      .hero{
        min-height:auto;
        background:
          linear-gradient(90deg, rgba(4,18,46,.82), rgba(6,16,36,.58) 58%, rgba(6,16,36,.34)),
          #e1e4e9;
      }
      .hero-side{display:none}

      .hero .container{min-height:auto;gap:18px;padding:18px 0 28px}
      .hero h2{font-size:32px;line-height:1.06;margin:14px 0 12px;max-width:100%}
      .hero p,.section-sub{font-size:15px;line-height:1.65}
      .hero-actions{gap:10px}
      .hero-benefits{flex-direction:column;gap:7px;margin-top:22px}
      .hero-actions .btn{flex:1 1 0;padding:12px 12px;font-size:15px}

      .glass-card{padding:10px;border-radius:22px}
      .contact-card{padding:16px;border-radius:18px}
      .stats-grid{grid-template-columns:1fr}
      .stat{padding:14px}
      .learn-grid.tests{grid-template-columns:1fr 1fr;gap:12px}
      .learn-grid.materials,.learn-grid.lectures{grid-template-columns:1fr;gap:12px}
      .tile{padding:16px;border-radius:18px}
      .tile h4{font-size:18px}
      .tile p{font-size:14px;line-height:1.5}
      .tile .btn{margin-top:12px;padding:11px 14px;font-size:14px}
      .cards-4{grid-template-columns:1fr}
      .brand h1{font-size:18px}
      .brand small{display:none}
      .mobile-nav a{padding:9px 13px;font-size:13px}
      .header-cta{padding:10px 16px;font-size:14px}
      .section-head{font-size:26px}
    }

    .hero{background-position:center}
    .hero .container{padding:36px 0 54px}
    .contact-card{max-width:100%}
    .social-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}


    section[id]{scroll-margin-top:130px}
    #ballina{scroll-margin-top:90px}

  
    .test-link, .locked.tile{
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      text-align:center;
    }
    .test-link .eyebrow, .locked.tile .eyebrow{width:100%}

  
    .hero-side{
      position:relative;
      min-height:420px;
      display:flex;
      align-items:flex-end;
      justify-content:flex-end;
    }
    .hero-dots{
      position:absolute;
      right:40px;
      top:60px;
      display:grid;
      grid-template-columns:repeat(4,10px);
      gap:16px;
      opacity:.9;
    }
    .hero-dots span{
      width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.95);
      display:block;
    }
    .hero-contact-chip{
      background:rgba(60,60,68,.78);
      border:1px solid rgba(255,255,255,.08);
      box-shadow:0 18px 40px rgba(2,8,23,.22);
      border-radius:18px;
      padding:18px 22px;
      min-width:320px;
      backdrop-filter:blur(10px);
    }
    .chip-row{
      color:#fff;
      font-size:17px;
      display:flex;
      align-items:center;
      gap:10px;
    }
    .chip-row + .chip-row{margin-top:14px}

  
    @media (max-width: 820px){
      #meso-testohu .learn-grid.materials{grid-template-columns:1fr!important}
    }

