
  :root{
    --bg:#0b1324;
    --bg-2:#0e1a31;
    --ink:#e9f2ff;
    --ink-dim:#b6c7e6;
    --accent:#45d0ff;
    --accent-2:#7a66ff;
    --accent-3:#4ce0b3;
    --card:#101a30;
    --line:#19345e;
    --border:#1a2a48;
    --warning:#ffb054;
    --shadow:0 10px 30px rgba(0,0,0,.35);
    --radius:14px;
    --radius-sm:10px;
    --speed:0.4s;
  }

  /* Base */
  *{box-sizing:border-box}
  html,body{height:100%}
  body{
    margin:0;
    color:var(--ink);
    background:
      radial-gradient(1200px 600px at 120% -20%, rgba(69,208,255,.10), transparent 60%),
      radial-gradient(800px 500px at -10% 120%, rgba(122,102,255,.10), transparent 60%),
      linear-gradient(180deg, #0b1324 0%, #0a1120 100%);
    font:16px/1.6 "Segoe UI", "Inter", Roboto, "SF Pro Text", system-ui, -apple-system, Arial, sans-serif;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  img{max-width:100%;height:auto;display:block}
  a{color:var(--ink);text-decoration:none}
  p{margin:0 0 1rem}
  h1,h2,h3{margin:0 0 .6rem;line-height:1.2}
  h1{font-weight:800;letter-spacing:.3px}
  h2,h3{font-weight:700}
  .container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}

  /* Focus visibility */
  :focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
    border-radius:6px;
  }

  /* Buttons */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;
    gap:.5rem;
    padding:.68rem 1rem;border:1px solid rgba(69,208,255,.6);
    color:var(--ink);
    background:linear-gradient(180deg, rgba(69,208,255,.12), rgba(69,208,255,.02));
    border-radius:10px;
    transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed), background var(--speed);
    text-shadow:0 0 8px rgba(69,208,255,.15);
  }
  .btn:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 0 18px rgba(69,208,255,.25)}
  .btn.alt{border-color:rgba(122,102,255,.55);background:linear-gradient(180deg, rgba(122,102,255,.14), rgba(122,102,255,.04))}
  .btn.alt:hover{box-shadow:0 0 18px rgba(122,102,255,.3);border-color:var(--accent-2)}

  /* Header & Navigation */
  header{
    position:sticky;top:0;z-index:50;
    backdrop-filter:saturate(130%) blur(10px);
    background:linear-gradient(180deg, rgba(11,19,36,.85) 0%, rgba(11,19,36,.58) 60%, rgba(11,19,36,0) 100%);
    border-bottom:1px solid rgba(26,42,72,.6);
  }
  .header-bar{
    height:70px;display:flex;align-items:center;gap:14px;
  }
  .logo{
    display:flex;align-items:center;gap:.75rem;font-weight:800;letter-spacing:.4px;
  }
  .logo-mark{
    width:28px;height:28px;border-radius:6px;
    background:
      conic-gradient(from 90deg at 50% 50%, rgba(69,208,255,.95), rgba(122,102,255,.95), rgba(69,208,255,.95));
    box-shadow:0 0 0 1px rgba(26,42,72,.8) inset, 0 0 24px rgba(69,208,255,.25);
  }
  #nav-toggle{display:none}
  .burger{
    margin-left:auto;cursor:pointer;display:flex;align-items:center;justify-content:center;
    width:46px;height:42px;border:1px solid var(--border);border-radius:10px;
    background:rgba(16,26,48,.6);
    transition:background var(--speed), border var(--speed)
  }
  .burger:hover{background:rgba(16,26,48,.85);border-color:#23406e}
  .burger span,.burger span:before,.burger span:after{
    content:"";display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;position:relative;transition:transform var(--speed), opacity var(--speed)
  }
  .burger span:before{position:absolute;top:-7px}
  .burger span:after{position:absolute;top:7px}
  #nav-toggle:checked + label.burger span{transform:rotate(45deg)}
  #nav-toggle:checked + label.burger span:before{transform:rotate(90deg);top:0}
  #nav-toggle:checked + label.burger span:after{opacity:0}

  nav[role="navigation"]{
    position:fixed;inset:70px 0 auto 0;background:rgba(11,19,36,.98);border-top:1px solid var(--border);
    transform:translateY(-6px);opacity:0;pointer-events:none;transition:opacity var(--speed), transform var(--speed);
  }
  #nav-toggle:checked ~ nav{opacity:1;transform:translateY(0);pointer-events:auto}
  nav ul{list-style:none;margin:0;padding:14px 0;display:flex;flex-direction:column}
  nav li{padding:8px 20px}
  nav a{display:block;padding:10px 14px;border-radius:8px;border:1px solid transparent;transition:background var(--speed), border var(--speed), color var(--speed)}
  nav a:hover{background:rgba(69,208,255,.08);border-color:rgba(69,208,255,.3)}
  .header-cta{display:flex;gap:.5rem;padding:12px 20px}

  /* Desktop nav */
  @media (min-width:1200px){
    .burger{display:none}
    nav[role="navigation"]{
      position:static;inset:auto;background:transparent;border:0;transform:none;opacity:1;pointer-events:auto;margin-left:auto;
    }
    nav ul{flex-direction:row;align-items:center;padding:0}
    nav li{padding:0}
    nav a{padding:10px 12px}
    .header-cta{padding:0 0 0 12px}
  }

  /* HERO */
  .hero{
    position:relative;isolation:isolate;
    min-height:calc(70px + 360px);
    height:calc(84vh - 70px);
    max-height:600px;
    display:grid;grid-template-columns:1fr;align-items:stretch;
    border-bottom:1px solid var(--border);
    background:
      repeating-linear-gradient(0deg, rgba(25,52,94,.35) 0px, rgba(25,52,94,.35) 1px, transparent 1px, transparent 36px),
      repeating-linear-gradient(90deg, rgba(25,52,94,.35) 0px, rgba(25,52,94,.35) 1px, transparent 1px, transparent 36px),
      linear-gradient(180deg, rgba(69,208,255,.06), rgba(122,102,255,.06));
  }
  .hero-inner{
    display:grid;grid-template-rows:auto 1fr;gap:16px;
  }
  .hero-copy{
    position:relative;z-index:2;padding-top:28px
  }
  .hero h1{
    font-size:clamp(1.8rem, 3.8vw, 3rem);
    background:linear-gradient(180deg, #e9f2ff, #b7d8ff);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero p{color:var(--ink-dim);max-width:62ch}
  .hero-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:12px}

  /* Slider */
  .slider{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow)}
  .slides{position:relative;height:100%}
  .slides input{position:absolute;opacity:0;pointer-events:none}
  .slide{
    position:absolute;inset:0;opacity:0;transition:opacity var(--speed) ease-in-out, transform var(--speed);
    display:grid;grid-template-columns:1fr
  }
  .slide figure{margin:0;position:relative;display:grid;grid-template-rows:1fr auto;height:100%}
  .slide figcaption{background:linear-gradient(180deg, rgba(11,19,36,0), rgba(11,19,36,.88));padding:12px 16px;font-size:.9rem}
  .slide img{width:100%;height:100%;object-fit:cover}
  /* Show slides */
  #s-1:checked ~ .s1,
  #s-2:checked ~ .s2,
  #s-3:checked ~ .s3{opacity:1}
  /* Dots */
  .dots{
    position:absolute;z-index:3;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:8px
  }
  .dots label{
    width:12px;height:12px;border-radius:50%;
    background:rgba(233,242,255,.4);border:1px solid rgba(69,208,255,.5);
    cursor:pointer;transition:transform var(--speed), background var(--speed), box-shadow var(--speed)
  }
  #s-1:checked ~ .dots label[for="s-1"],
  #s-2:checked ~ .dots label[for="s-2"],
  #s-3:checked ~ .dots label[for="s-3"]{
    background:var(--accent);box-shadow:0 0 0 4px rgba(69,208,255,.15)
  }
  .dots label:hover{transform:scale(1.12)}

  /* Layout of hero columns on desktop */
  .hero-grid{display:grid;grid-template-columns:1fr;gap:16px;height:100%}
  @media (min-width:768px){
    .hero-grid{grid-template-columns:1.15fr 1fr;gap:20px}
  }
  @media (min-width:1200px){
    .hero-grid{grid-template-columns:1.1fr 1.2fr;gap:24px}
  }

  /* Sections (cards) */
  main{padding:48px 0}
  .section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}
  .section-head h2{font-size:clamp(1.2rem, 2.2vw, 1.6rem)}
  .grid{
    display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))
  }
  .card{
    background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed)
  }
  .card img{aspect-ratio:16/10;object-fit:cover}
  .card .meta{padding:12px 14px}
  .card .meta h3{font-size:1rem;margin-bottom:.25rem}
  .card .meta p{color:var(--ink-dim);font-size:.92rem}
  .card .meta .more{margin-top:.6rem;font-size:.9rem;color:var(--accent)}
  /* Section variants */
  .s1 .card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(69,208,255,.08);border-color:rgba(69,208,255,.5)}
  .s1 .section-head h2{color:#cfefff}
  .s2 .card{background:linear-gradient(180deg, rgba(122,102,255,.08), rgba(122,102,255,.02));border-color:#2a2450}
  .s2 .card:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 14px 36px rgba(122,102,255,.14);border-color:rgba(122,102,255,.55)}
  .s2 .section-head h2{color:#dcd6ff}
  .s3 .card{background:linear-gradient(180deg, rgba(76,224,179,.06), rgba(76,224,179,.02));border-color:#1c3941}
  .s3 .card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(76,224,179,.14);border-color:rgba(76,224,179,.6)}
  .s3 .section-head h2{color:#d1ffee}

  /* Blog list */
  .bloglist{padding:42px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(180deg, rgba(11,19,36,.6), rgba(11,19,36,.2))}
  .post-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
  .post-list li{
    display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;
    padding:10px;border:1px solid var(--border);border-radius:12px;background:rgba(16,26,48,.6);transition:transform var(--speed), border-color var(--speed), background var(--speed)
  }
  .post-list li:hover{transform:translateY(-2px);border-color:#2f4e7d;background:rgba(16,26,48,.85)}
  .post-list img{width:72px;height:72px;object-fit:cover;border-radius:10px}
  .post-list a{font-weight:600}
  .post-list p{color:var(--ink-dim);font-size:.92rem;margin:.2rem 0 0}

  /* Content center article */
  .content-center{padding:48px 0}
  .feature-article{
    max-width:860px;margin:0 auto;background:linear-gradient(180deg, rgba(25,52,94,.18), rgba(25,52,94,.06));
    border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)
  }
  .feature-article .wrap{padding:18px 18px 24px}
  .feature-article header{position:relative;background:linear-gradient(180deg, rgba(69,208,255,.12), rgba(69,208,255,0));border-bottom:1px solid var(--border)}
  .feature-article header .wrap{padding:18px}
  .feature-article h2{font-size:clamp(1.4rem, 2.6vw, 2rem)}
  .byline{display:flex;gap:10px;flex-wrap:wrap;color:var(--ink-dim);font-size:.95rem}
  .article-media{padding:0;margin:0}
  .article-media img{width:100%;height:auto;object-fit:cover}
  .rating{padding:12px 18px;border-top:1px dashed #2a4578;background:rgba(16,26,48,.6);font-weight:600}
  .divider{height:14px;background:
    repeating-linear-gradient(90deg, rgba(69,208,255,.18) 0 12px, transparent 12px 24px);
    border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
  .article-body{padding:18px;color:#d9e6ff}
  .article-body h3{margin-top:1rem}
  .post-nav{display:flex;justify-content:space-between;gap:10px;padding:16px 18px;border-top:1px solid var(--border);background:rgba(16,26,48,.6)}
  .post-nav a{border:1px solid var(--border);padding:.6rem .8rem;border-radius:10px;transition:var(--speed)}
  .post-nav a:hover{border-color:var(--accent-2);box-shadow:0 0 14px rgba(122,102,255,.2)}

  /* Comments */
  .comments{max-width:860px;margin:22px auto 0;padding:18px;border:1px dashed #294670;border-radius:14px;background:rgba(16,26,48,.5)}
  .comments h3{margin-bottom:8px}
  .comments .comments-list{min-height:32px;border-radius:8px;padding:6px;background:rgba(10,17,32,.4);border:1px solid var(--border);margin-bottom:10px}
  .comments form{display:grid;gap:10px}
  .comments input,.comments textarea{
    width:100%;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:rgba(16,26,48,.7);color:var(--ink);transition:border var(--speed), box-shadow var(--speed)
  }
  .comments input:focus-visible,.comments textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px rgba(69,208,255,.18)}

  /* Related */
  .related{max-width:1060px;margin:32px auto 0}
  .related h3{margin-bottom:10px}
  .related-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill, minmax(220px,1fr))}
  .related article{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:rgba(16,26,48,.6);transition:transform var(--speed), border var(--speed)}
  .related article:hover{transform:translateY(-3px);border-color:#2f4e7d}
  .related article img{aspect-ratio:16/10;object-fit:cover}
  .related article h4{font-size:1rem;padding:10px}

  /* Contacts */
  .contacts{padding:48px 0;border-top:1px solid var(--border)}
  .contacts-grid{display:grid;gap:16px}
  .contacts form{display:grid;gap:10px;background:rgba(16,26,48,.6);border:1px solid var(--border);border-radius:14px;padding:14px}
  .contacts input,.contacts textarea{
    width:100%;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:#0f1a2e;color:var(--ink)
  }
  .contacts .map{border:1px solid var(--border);border-radius:14px;overflow:hidden}
  .contacts .info{background:rgba(16,26,48,.6);border:1px solid var(--border);border-radius:14px;padding:14px}
  @media (min-width:768px){
    .contacts-grid{grid-template-columns:1.2fr 1fr}
  }

  /* Aside */
  aside{padding:36px 0}
  .promo-links{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .promo-links a{
    border:1px solid var(--border);border-radius:12px;padding:12px;background:linear-gradient(180deg, rgba(25,52,94,.18), rgba(25,52,94,.06));
    display:flex;align-items:center;gap:10px;transition:transform var(--speed), border var(--speed)
  }
  .promo-links a:hover{transform:translateY(-2px);border-color:#33598f}
  .dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}

  /* Modal (pure CSS, :target) */
  .modal{
    position:fixed;inset:0;background:rgba(7,12,24,.72);
    opacity:0;pointer-events:none;transition:opacity var(--speed);z-index:100;
    display:grid;place-items:center;padding:20px
  }
  .modal:target{opacity:1;pointer-events:auto}
  .modal-dialog{
    width:min(560px, 100%);background:linear-gradient(180deg, rgba(16,26,48,.96), rgba(16,26,48,.9));
    border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);transform:translateY(10px);transition:transform var(--speed)
  }
  .modal:target .modal-dialog{transform:translateY(0)}
  .modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}
  .modal-header h4{margin:0}
  .modal-close{
    display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:rgba(16,26,48,.7)
  }
  .modal-body{padding:16px}
  .modal-body form{display:grid;gap:10px}
  .modal-body input{padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:#0f1a2e;color:var(--ink)}

  /* Footer */
  footer{
    border-top:1px solid var(--border);padding:28px 0;background:linear-gradient(180deg, rgba(11,19,36,.6), rgba(11,19,36,.9))
  }
  .footer-grid{display:grid;gap:16px}
  .slogan{font-weight:800;font-size:1.2rem}
  .about{color:var(--ink-dim)}
  .social{display:flex;gap:10px}
  .social a{border:1px solid var(--border);padding:.5rem .7rem;border-radius:10px}
  .social a:hover{border-color:var(--accent);box-shadow:0 0 14px rgba(69,208,255,.2)}
  .copy{color:#9fb6d8;font-size:.9rem}
  @media (min-width:768px){
    .footer-grid{grid-template-columns:1.3fr 1fr 1fr;align-items:start}
  }
