
  :root{
    --bg:#05070d;
    --bg-soft:#080b15;
    --surface:#0d1424;
    --surface-2:#121a2e;
    --border:rgba(255,255,255,.09);
    --border-strong:rgba(255,255,255,.16);
    --text:#eef1f8;
    --text-dim:#9aa4bd;
    --text-faint:#5f6a86;
    --accent:oklch(72% 0.14 210);
    --accent-soft:oklch(72% 0.14 210 / 0.14);
    --accent-2:oklch(78% 0.13 75);
    --accent-2-soft:oklch(78% 0.13 75 / 0.16);
    --danger:oklch(65% 0.19 25);
    --ok:oklch(76% 0.17 150);
    --radius:14px;
    --container:1180px;
    --ease:cubic-bezier(.22,.61,.36,1);
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; overflow-x:hidden; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  }

  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
    overflow-x:hidden;
    width:100%;
  }

  h1,h2,h3{
    font-family:"Sora","Manrope",sans-serif;
    line-height:1.12;
    margin:0;
    letter-spacing:-0.01em;
  }

  a{ color:var(--accent); text-decoration:none; }
  a:hover{ color:var(--accent-2); }

  img{ max-width:100%; display:block; }

  .container{
    max-width:var(--container);
    margin:0 auto;
    padding:0 28px;
  }

  section{ position:relative; }

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--accent);
    margin-bottom:18px;
  }
  .eyebrow::before{
    content:"";
    width:22px; height:1px;
    background:var(--accent);
  }

  /* ---------- NAV ---------- */
  header.nav{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(5,7,13,.55);
    backdrop-filter:blur(16px) saturate(140%);
    -webkit-backdrop-filter:blur(16px) saturate(140%);
    border-bottom:1px solid var(--border);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:74px;
  }
  .logo{
    font-family:"Sora",sans-serif;
    font-weight:700;
    font-size:1.15rem;
    color:var(--text);
    letter-spacing:.02em;
  }
  .logo span{ color:var(--accent); }
  .nav-links{
    display:flex;
    gap:36px;
    list-style:none;
    margin:0; padding:0;
  }
  .nav-links a{
    color:var(--text-dim);
    font-size:.94rem;
    font-weight:500;
    position:relative;
    padding:4px 0;
  }
  .nav-links a::after{
    content:"";
    position:absolute; left:0; bottom:-2px;
    width:0; height:1px;
    background:var(--accent);
    transition:width .3s var(--ease);
  }
  .nav-links a:hover{ color:var(--text); }
  .nav-links a:hover::after{ width:100%; }
  .nav-cta{
    display:inline-flex;
    align-items:center;
    padding:10px 20px;
    border-radius:999px;
    border:1px solid var(--border-strong);
    color:var(--text) !important;
    font-size:.88rem;
    font-weight:600;
    transition:border-color .25s var(--ease), background .25s var(--ease);
  }
  .nav-cta:hover{ border-color:var(--accent); background:var(--accent-soft); }
  .nav-toggle{
    display:none;
    width:40px; height:40px;
    border-radius:8px;
    border:1px solid var(--border-strong);
    background:transparent;
    color:var(--text);
    align-items:center; justify-content:center;
    cursor:pointer;
  }
  .nav-toggle svg{ width:18px; height:18px; }
  .mobile-menu{
    display:none;
    max-height:0;
    overflow:hidden;
    background:rgba(5,7,13,.92);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--border);
    transition:max-height .35s var(--ease);
  }
  .mobile-menu.open{ max-height:380px; }
  .mobile-menu ul{ list-style:none; margin:0; padding:18px 28px; display:flex; flex-direction:column; gap:4px; }
  .mobile-menu a{
    display:block;
    padding:12px 0;
    color:var(--text-dim);
    font-size:1rem;
    font-weight:500;
    border-bottom:1px solid var(--border);
  }
  .mobile-menu li:last-child a{ border-bottom:none; }
  .mobile-menu a:hover{ color:var(--text); }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:92vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
      radial-gradient(60% 55% at 18% 8%, oklch(72% 0.14 210 / .16), transparent 60%),
      radial-gradient(50% 45% at 88% 82%, oklch(78% 0.13 75 / .10), transparent 60%),
      var(--bg);
  }
  #particles{
    position:absolute; inset:0;
    width:100%; height:100%;
    z-index:1;
  }
  .hero-glow{
    position:absolute;
    width:520px; height:520px;
    border-radius:50%;
    background:radial-gradient(circle, oklch(72% 0.14 210 / .16), transparent 70%);
    filter:blur(10px);
    pointer-events:none;
    z-index:1;
    transform:translate(-50%,-50%);
    left:var(--mx,50%); top:var(--my,40%);
    transition:left .5s var(--ease), top .5s var(--ease);
  }
  .hero-inner{
    position:relative;
    z-index:2;
    max-width:760px;
    padding:120px 0 90px;
  }
  .hero h1{
    font-size:clamp(2.3rem, 4.6vw, 3.7rem);
    font-weight:700;
    color:var(--text);
  }
  .hero h1 .word{ display:inline-block; overflow:hidden; vertical-align:top; }
  .hero h1 .word span{
    display:inline-block;
    transform:translateY(110%);
    opacity:0;
    animation:riseIn .7s var(--ease) forwards;
  }
  @keyframes riseIn{
    to{ transform:translateY(0); opacity:1; }
  }
  .hero p.lead{
    margin-top:26px;
    font-size:1.15rem;
    color:var(--text-dim);
    max-width:560px;
    opacity:0;
    animation:fadeUp .8s var(--ease) forwards;
    animation-delay:.9s;
  }
  @keyframes fadeUp{
    from{ opacity:0; transform:translateY(14px); }
    to{ opacity:1; transform:translateY(0); }
  }
  .hero .cta-row{
    margin-top:38px;
    opacity:0;
    animation:fadeUp .8s var(--ease) forwards;
    animation-delay:1.1s;
  }

  .btn-primary{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:16px 30px;
    background:var(--accent);
    color:#04121a;
    font-weight:700;
    font-size:.98rem;
    border:none;
    border-radius:10px;
    cursor:pointer;
    isolation:isolate;
    overflow:hidden;
    transition:transform .35s var(--ease), box-shadow .35s var(--ease);
    font-family:inherit;
  }
  .btn-primary::before{
    content:"";
    position:absolute; inset:0;
    background:radial-gradient(circle at var(--bx,50%) var(--by,50%), rgba(255,255,255,.35), transparent 55%);
    opacity:0;
    transition:opacity .35s var(--ease);
    z-index:-1;
  }
  .btn-primary:hover{
    box-shadow:0 12px 34px oklch(72% 0.14 210 / .35);
    transform:translateY(-2px);
  }
  .btn-primary:hover::before{ opacity:1; }
  .btn-primary svg{ width:16px; height:16px; transition:transform .35s var(--ease); }
  .btn-primary:hover svg{ transform:translateX(4px); }

  .btn-ghost{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:15px 26px;
    border-radius:10px;
    border:1px solid var(--border-strong);
    color:var(--text);
    font-weight:600;
    font-size:.95rem;
    background:transparent;
    cursor:pointer;
    font-family:inherit;
    transition:border-color .3s var(--ease), background .3s var(--ease);
  }
  .btn-ghost:hover{ border-color:var(--accent-2); background:var(--accent-2-soft); color:var(--text); }

  .scroll-cue{
    position:absolute;
    bottom:36px; left:50%;
    transform:translateX(-50%);
    z-index:2;
    display:flex; flex-direction:column; align-items:center; gap:8px;
    color:var(--text-faint);
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .scroll-cue .line{
    width:1px; height:34px;
    background:linear-gradient(var(--text-faint), transparent);
    animation:cueMove 1.8s ease-in-out infinite;
  }
  @keyframes cueMove{
    0%,100%{ transform:scaleY(.6); opacity:.5; }
    50%{ transform:scaleY(1); opacity:1; }
  }

  /* ---------- REVEAL ---------- */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .8s var(--ease), transform .8s var(--ease);
  }
  .reveal.is-visible{ opacity:1; transform:translateY(0); }
  .reveal.from-left{ transform:translateX(-40px); }
  .reveal.from-left.is-visible{ transform:translateX(0); }
  .reveal.from-right{ transform:translateX(40px); }
  .reveal.from-right.is-visible{ transform:translateX(0); }

  /* ---------- SECTION HEADS ---------- */
  .section-pad{ padding:120px 0; }
  .section-head{ max-width:620px; margin-bottom:64px; }
  .section-head h2{ font-size:clamp(1.8rem,3vw,2.5rem); }
  .section-head p{ color:var(--text-dim); margin-top:16px; font-size:1.05rem; }

  /* ---------- TEAM ---------- */
  .team-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:28px;
  }
  .team-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:38px;
    transform-style:preserve-3d;
    transition:transform .25s var(--ease), border-color .3s var(--ease), background .3s var(--ease);
    will-change:transform;
  }
  .team-card:hover{
    border-color:var(--border-strong);
    background:var(--surface-2);
  }
  .avatar{
    width:64px; height:64px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--accent-soft), var(--accent-2-soft));
    border:1px solid var(--border-strong);
    display:flex; align-items:center; justify-content:center;
    font-family:"Sora",sans-serif;
    font-weight:700;
    font-size:1.2rem;
    color:var(--text);
    margin-bottom:24px;
  }
  .team-card h3{ font-size:1.2rem; color:var(--text); }
  .team-card .role{
    display:block;
    color:var(--accent);
    font-size:.85rem;
    font-weight:600;
    margin-top:4px;
    margin-bottom:16px;
  }
  .team-card p{ color:var(--text-dim); font-size:.96rem; margin:0; }

  /* ---------- SERVICES ---------- */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:24px;
  }
  .service-tile{
    position:relative;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:34px 30px;
    overflow:hidden;
    transition:border-color .3s var(--ease), transform .3s var(--ease);
  }
  .service-tile:hover{ border-color:var(--border-strong); transform:translateY(-4px); }
  .service-tile::before{
    content:"";
    position:absolute; inset:0;
    background:radial-gradient(240px circle at var(--mx,50%) var(--my,0%), var(--accent-soft), transparent 70%);
    opacity:0;
    transition:opacity .35s var(--ease);
    pointer-events:none;
  }
  .service-tile:hover::before{ opacity:1; }
  .service-icon{
    width:46px; height:46px;
    border-radius:11px;
    background:var(--surface-2);
    border:1px solid var(--border-strong);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:22px;
    color:var(--accent);
    position:relative; z-index:1;
  }
  .service-icon svg{ width:22px; height:22px; }
  .service-tile h3{ font-size:1.12rem; color:var(--text); position:relative; z-index:1; }
  .service-tile p{ color:var(--text-dim); font-size:.94rem; margin-top:10px; position:relative; z-index:1; }


  .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; }

  /* ---------- PORTFOLIO ---------- */
  .portfolio-grid{ display:flex; flex-direction:column; gap:88px; }
  .portfolio-card{ display:grid; grid-template-columns:1.1fr .9fr; gap:52px; align-items:center; }
  .portfolio-card.flip{ grid-template-columns:.9fr 1.1fr; }
  .portfolio-card.flip .portfolio-shot{ order:2; }
  .portfolio-card.flip .portfolio-info{ order:1; }
  .portfolio-shot{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
  }
  .browser-chrome{
    display:flex; align-items:center; gap:6px;
    padding:11px 14px;
    background:var(--surface-2);
    border-bottom:1px solid var(--border);
  }
  .browser-chrome .dot{ width:9px; height:9px; border-radius:50%; flex:none; }
  .browser-chrome .dot.r{ background:#e2574f; }
  .browser-chrome .dot.y{ background:#e7a53a; }
  .browser-chrome .dot.g{ background:#2fae74; }
  .browser-chrome .url-bar{
    flex:1; margin-left:8px;
    background:rgba(255,255,255,.06);
    border-radius:6px;
    font-size:.72rem;
    color:var(--text-faint);
    padding:4px 10px;
    font-family:ui-monospace,"SF Mono",Consolas,monospace;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .shot-frame{ position:relative; background:#F3F4F9; overflow-x:auto; }
  .shot-item{ display:none; }
  .shot-item.active{ display:block; }
  .shot-item img{ width:100%; display:block; }
  .shot-tabs{
    display:flex; flex-wrap:wrap; gap:8px;
    padding:14px;
    background:var(--surface);
    border-top:1px solid var(--border);
  }
  .shot-tab{
    font-family:inherit;
    font-size:.8rem;
    font-weight:600;
    color:var(--text-dim);
    background:var(--surface-2);
    border:1px solid var(--border);
    border-radius:8px;
    padding:8px 14px;
    cursor:pointer;
    transition:color .25s var(--ease), border-color .25s var(--ease);
  }
  .shot-tab.active{ color:var(--text); border-color:var(--accent); }
  .shot-tab:hover{ color:var(--text); }
  .portfolio-info h3{ font-size:1.5rem; color:var(--text); }
  .portfolio-info p{ color:var(--text-dim); margin-top:16px; font-size:1rem; max-width:480px; }
  .tag-row{ display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
  .tag{
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.04em;
    color:var(--accent);
    background:var(--accent-soft);
    border:1px solid oklch(72% 0.14 210 / .3);
    border-radius:999px;
    padding:5px 12px;
  }
  .portfolio-card.flip .tag{
    color:var(--accent-2);
    background:var(--accent-2-soft);
    border-color:oklch(78% 0.13 75 / .32);
  }
  @media (max-width:900px){
    .portfolio-card, .portfolio-card.flip{ grid-template-columns:1fr; gap:28px; }
    .portfolio-card.flip .portfolio-shot, .portfolio-card.flip .portfolio-info{ order:initial; }
    .portfolio-grid{ gap:60px; }
  }

  /* ---------- AEGIS ---------- */
  .aegis{
    background:
      radial-gradient(70% 60% at 80% 20%, oklch(78% 0.13 75 / .10), transparent 60%),
      var(--bg-soft);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  .aegis-grid{
    display:grid;
    grid-template-columns:.85fr 1fr;
    gap:70px;
    align-items:center;
  }
  .radar-wrap{
    display:flex; align-items:center; justify-content:center;
    perspective:900px;
  }
  .radar{
    position:relative;
    width:320px; height:320px;
    border-radius:50%;
    transform:rotateX(28deg);
    transform-style:preserve-3d;
  }
  .radar-ring{
    position:absolute; inset:0;
    border-radius:50%;
    border:1px solid oklch(78% 0.13 75 / .35);
  }
  .radar-ring.r2{ inset:16%; }
  .radar-ring.r3{ inset:32%; }
  .radar-ring.r4{ inset:48%; }
  .radar-cross::before,.radar-cross::after{
    content:"";
    position:absolute;
    background:oklch(78% 0.13 75 / .25);
  }
  .radar-cross::before{ left:0; right:0; top:50%; height:1px; }
  .radar-cross::after{ top:0; bottom:0; left:50%; width:1px; }
  .radar-sweep{
    position:absolute; inset:0;
    border-radius:50%;
    background:conic-gradient(from 0deg, oklch(78% 0.13 75 / .55), transparent 32%, transparent 100%);
    animation:sweep 5.5s linear infinite;
    mix-blend-mode:screen;
  }
  @keyframes sweep{ to{ transform:rotate(360deg); } }
  .radar-core{
    position:absolute; left:50%; top:50%;
    width:10px; height:10px;
    background:var(--accent-2);
    border-radius:50%;
    transform:translate(-50%,-50%);
    box-shadow:0 0 24px 6px oklch(78% 0.13 75 / .6);
  }
  .radar-blip{
    position:absolute;
    width:6px; height:6px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 10px 3px oklch(72% 0.14 210 / .6);
    animation:blipPulse 2.4s ease-in-out infinite;
  }
  @keyframes blipPulse{ 0%,100%{ opacity:.35; } 50%{ opacity:1; } }

  .aegis-content h2{ font-size:clamp(1.9rem,3.2vw,2.6rem); color:var(--text); }
  .aegis-content .lead{ color:var(--text-dim); margin-top:20px; font-size:1.06rem; max-width:520px; }
  .aegis-content .cta-row{ margin-top:34px; display:flex; gap:16px; flex-wrap:wrap; }

  /* ---------- CONTACT ---------- */
  .contact-wrap{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:70px;
  }
  .contact-info h2{ font-size:clamp(1.8rem,3vw,2.4rem); }
  .contact-info p{ color:var(--text-dim); margin-top:18px; max-width:400px; }
  .contact-points{ margin-top:38px; display:flex; flex-direction:column; gap:18px; }
  .contact-point{ display:flex; gap:14px; align-items:flex-start; }
  .contact-point .dot{
    width:8px; height:8px; border-radius:50%;
    background:var(--accent);
    margin-top:8px; flex:none;
  }
  .contact-point span{ color:var(--text-dim); font-size:.95rem; }

  form.contact-form{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:38px;
  }
  .field{ position:relative; margin-bottom:26px; }
  .field label{
    display:block;
    font-size:.82rem;
    font-weight:600;
    color:var(--text-dim);
    margin-bottom:9px;
  }
  .field .input-row{ position:relative; }
  .field input, .field textarea{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid var(--border-strong);
    color:var(--text);
    font-family:inherit;
    font-size:1rem;
    padding:9px 26px 9px 2px;
    outline:none;
    resize:none;
    transition:border-color .3s var(--ease);
  }
  .field textarea{ min-height:84px; }
  .field .underline{
    position:absolute; left:0; bottom:0; height:1px;
    width:0;
    background:var(--accent);
    transition:width .35s var(--ease);
  }
  .field input:focus ~ .underline, .field textarea:focus ~ .underline{ width:100%; }
  .field.invalid input, .field.invalid textarea{ border-color:var(--danger); }
  .field .check{
    position:absolute;
    right:2px; top:9px;
    width:18px; height:18px;
    color:var(--ok);
    opacity:0;
    transform:scale(.5);
    transition:opacity .25s var(--ease), transform .25s var(--ease);
  }
  .field.valid .check{ opacity:1; transform:scale(1); }
  .field .hint{
    display:block;
    min-height:16px;
    font-size:.78rem;
    color:var(--danger);
    margin-top:6px;
    opacity:0;
    transition:opacity .2s var(--ease);
  }
  .field.invalid .hint{ opacity:1; }

  .submit-btn{
    width:100%;
    justify-content:center;
    margin-top:6px;
  }
  .submit-btn .spinner{
    width:16px; height:16px;
    border-radius:50%;
    border:2px solid rgba(4,18,26,.35);
    border-top-color:#04121a;
    animation:spin .7s linear infinite;
    display:none;
  }
  @keyframes spin{ to{ transform:rotate(360deg); } }
  .submit-btn.loading .btn-label{ opacity:.6; }
  .submit-btn.loading .spinner{ display:inline-block; }
  .submit-btn:disabled{ cursor:default; opacity:.85; }

  .hp-field{ position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden; }

  .form-error{
    display:none;
    color:var(--danger);
    font-size:.85rem;
    margin-top:12px;
    text-align:center;
  }
  .form-error.show{ display:block; }
  .form-error a{ color:var(--danger); text-decoration:underline; }

  .form-success{
    display:none;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:30px 10px;
  }
  .form-success.show{ display:flex; }
  .form-success svg{ width:52px; height:52px; color:var(--ok); margin-bottom:18px; }
  .form-success h3{ color:var(--text); font-size:1.2rem; }
  .form-success p{ color:var(--text-dim); margin-top:8px; font-size:.94rem; }
  form.contact-form.sent > *:not(.form-success){ display:none; }

  /* ---------- FOOTER ---------- */
  footer{
    border-top:1px solid var(--border);
    padding:44px 0;
  }
  .footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
  }
  .footer-inner .logo{ font-size:1rem; }
  footer nav ul{ display:flex; gap:26px; list-style:none; margin:0; padding:0; }
  footer nav a{ color:var(--text-dim); font-size:.88rem; }
  footer nav a:hover{ color:var(--text); }
  .footer-legal{
    margin-top:28px; padding-top:24px;
    border-top:1px solid var(--border);
    display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:12px;
  }
  .footer-copy{ color:var(--text-faint); font-size:.82rem; }
  .footer-legal-links{ display:flex; gap:20px; flex-wrap:wrap; }
  .footer-legal-links a{ color:var(--text-dim); font-size:.82rem; }
  .footer-legal-links a:hover{ color:var(--text); }

  .modal-prose h4{ margin:26px 0 10px; font-size:1.05rem; color:var(--text); }
  .modal-prose h4:first-child{ margin-top:0; }
  .modal-prose p, .modal-prose li{ color:var(--text-dim); font-size:.95rem; line-height:1.75; margin:0 0 4px; }
  .modal-prose ul{ padding-left:20px; margin:8px 0 4px; }
  .modal-prose strong{ color:var(--text); font-weight:600; }

  /* ---------- MODAL ---------- */
  .modal-overlay{
    position:fixed; inset:0;
    background:rgba(3,5,10,.72);
    backdrop-filter:blur(4px);
    display:flex;
    align-items:flex-end;
    justify-content:center;
    z-index:1000;
    opacity:0;
    pointer-events:none;
    transition:opacity .35s var(--ease);
  }
  .modal-overlay.open{ opacity:1; pointer-events:auto; }
  .modal-panel{
    width:100%;
    max-width:100%;
    max-height:88vh;
    overflow-y:auto;
    background:var(--bg-soft);
    border-top:1px solid var(--border-strong);
    border-radius:22px 22px 0 0;
    padding:52px 0 70px;
    transform:translateY(100%);
    transition:transform .45s var(--ease);
  }
  .modal-overlay.open .modal-panel{ transform:translateY(0); }
  .modal-head{
    display:flex; align-items:flex-start; justify-content:space-between;
    gap:24px; margin-bottom:40px;
  }
  .modal-head h2{ font-size:clamp(1.6rem,2.6vw,2.1rem); }
  .modal-head p{ color:var(--text-dim); margin-top:12px; max-width:560px; }
  .modal-close{
    flex:none;
    width:42px; height:42px;
    border-radius:50%;
    border:1px solid var(--border-strong);
    background:transparent;
    color:var(--text);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    transition:border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease);
  }
  .modal-close:hover{ border-color:var(--accent-2); background:var(--accent-2-soft); transform:rotate(90deg); }
  .modal-close svg{ width:18px; height:18px; }
  .modal-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:22px;
  }
  .modal-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:12px;
    padding:26px;
  }
  .modal-card .num{
    font-family:"Sora",sans-serif;
    font-weight:700;
    color:var(--accent-2);
    font-size:.85rem;
    margin-bottom:12px;
    display:block;
  }
  .modal-card h4{ color:var(--text); font-size:1.02rem; margin:0 0 8px; }
  .modal-card p{ color:var(--text-dim); font-size:.92rem; margin:0; }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    .team-grid, .services-grid{ grid-template-columns:1fr; }
    .aegis-grid, .contact-wrap{ grid-template-columns:1fr; gap:48px; }
    .radar-wrap{ order:-1; }
    .radar{ width:240px; height:240px; }
    .nav-links, .nav-cta{ display:none; }
    .nav-toggle{ display:flex; }
    .mobile-menu{ display:block; }
    .section-pad{ padding:84px 0; }
    .modal-grid{ grid-template-columns:1fr; }
  }
  @media (max-width:520px){
    .hero-inner{ padding:100px 0 70px; }
    form.contact-form{ padding:26px; }
  }

  /* ===== MADOX Build ===== */
  .service-link{ display:block; color:inherit; }
  .service-more{ display:inline-block; margin-top:18px; font-size:.9rem; font-weight:700; color:var(--accent); position:relative; z-index:1; }
  @media (min-width:901px) and (max-width:1100px){ .services-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }

  .pkg-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; margin-bottom:28px; }
  .pkg{ position:relative; display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:34px 30px; transition:opacity .8s var(--ease), transform .5s var(--ease), border-color .3s var(--ease); }
  .pkg:hover{ border-color:var(--border-strong); transform:translateY(-4px); }
  .pkg-featured{ background:var(--surface-2); border-color:var(--accent); }
  .pkg-featured:hover{ border-color:var(--accent); }
  .pkg-badge{ position:absolute; top:22px; right:22px; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#04121a; background:var(--accent); border-radius:6px; padding:4px 10px; }
  .pkg h3{ font-size:1.4rem; }
  .pkg-for{ color:var(--text-dim); font-size:.95rem; margin:10px 0 22px; min-height:3em; }
  .pkg-list{ list-style:none; margin:0 0 26px; padding:22px 0 0; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:12px; }
  .pkg-list li{ display:flex; gap:10px; align-items:flex-start; font-size:.94rem; color:var(--text); }
  .pkg-list svg{ flex:none; width:18px; height:18px; margin-top:3px; color:var(--accent); }
  .pkg-price{ margin-top:auto; margin-bottom:18px; font-size:1.3rem; font-weight:700; color:var(--text); }
  .pkg-price small{ font-size:.82rem; font-weight:500; color:var(--text-dim); }
  .pkg .btn-ghost, .pkg .btn-primary{ justify-content:center; width:100%; }

  .cfg{ display:grid; grid-template-columns:1.25fr .85fr; gap:28px; align-items:start; scroll-margin-top:96px; }
  .cfg-controls{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:34px 30px; display:flex; flex-direction:column; gap:32px; }
  .cfg-label{ font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-dim); margin-bottom:12px; }
  .cfg-options{ display:grid; gap:12px; }
  .cfg-2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .cfg-3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .cfg-opt{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left; padding:16px 18px; background:var(--bg-soft); border:1px solid var(--border-strong); border-radius:12px; color:var(--text); font-family:inherit; cursor:pointer; transition:border-color .25s var(--ease), background .25s var(--ease); }
  .cfg-opt strong{ font-size:1.02rem; }
  .cfg-opt span{ font-size:.86rem; line-height:1.45; color:var(--text-dim); }
  .cfg-opt em{ font-style:normal; font-size:.86rem; font-weight:700; color:var(--text-dim); margin-top:6px; }
  .cfg-opt:hover{ border-color:var(--accent); }
  .cfg-opt[aria-checked="true"]{ border-color:var(--accent); background:var(--accent-soft); }
  .cfg-opt[aria-checked="true"] em{ color:var(--accent); }
  .cfg-stepper{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  .cfg-stepper button{ width:46px; height:46px; border-radius:11px; border:1px solid var(--border-strong); background:var(--bg-soft); color:var(--text); font-size:1.4rem; line-height:1; font-family:inherit; cursor:pointer; transition:border-color .25s var(--ease); }
  .cfg-stepper button:hover:not(:disabled){ border-color:var(--accent); }
  .cfg-stepper button:disabled{ opacity:.35; cursor:not-allowed; }
  .cfg-stepper output{ min-width:36px; text-align:center; font-size:1.8rem; font-weight:700; }
  .cfg-stepper p{ flex-basis:100%; margin:4px 0 0; color:var(--text-dim); font-size:.9rem; }
  .cfg-opt:focus-visible, .cfg-stepper button:focus-visible, .pkg button:focus-visible, .cfg-result .btn-primary:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }

  .cfg-result{ position:sticky; top:96px; background:var(--surface-2); border:1px solid var(--accent); border-radius:var(--radius); padding:34px 30px; display:flex; flex-direction:column; gap:18px; }
  .cfg-kicker{ font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
  .cfg-price{ font-size:clamp(2.1rem, 3.6vw, 2.8rem); font-weight:700; line-height:1.05; color:var(--text); }
  .cfg-sub{ margin-top:6px; color:var(--text-dim); font-size:.95rem; }
  .cfg-line{ margin:10px 0 0; color:var(--text-dim); font-size:.92rem; }
  .cfg-line:empty{ display:none; }
  .cfg-care{ color:var(--text); font-weight:700; font-size:1.05rem; }
  .cfg-summary{ list-style:none; margin:0; padding:18px 0 0; border-top:1px solid var(--border-strong); display:flex; flex-direction:column; gap:8px; font-size:.95rem; color:var(--text); }
  .cfg-result .btn-primary{ justify-content:center; width:100%; }
  .cfg-note{ margin:0; font-size:.8rem; color:var(--text-dim); }

  @media (max-width:900px){
    .pkg-grid, .cfg{ grid-template-columns:1fr; }
    .cfg-3, .cfg-2{ grid-template-columns:1fr; }
    .cfg-result{ position:static; }
    .cfg-controls, .cfg-result, .pkg{ padding:26px 22px; }
    .pkg-for{ min-height:0; }
  }

  /* ===== Oznaczenia "w rozwoju" ===== */
  .status-badge{ display:inline-flex; align-items:center; gap:8px; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-2); background:var(--accent-2-soft); border:1px solid oklch(78% 0.13 75 / .35); border-radius:999px; padding:5px 12px; margin-bottom:14px; }
  .status-badge::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent-2); }
  .chrome-badge{ flex:none; margin-left:8px; font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-2); background:var(--accent-2-soft); border-radius:6px; padding:3px 8px; white-space:nowrap; }
  .btn-ghost svg{ width:16px; height:16px; flex:none; transition:transform .35s var(--ease); }
  .btn-ghost:hover svg{ transform:translateX(4px); }
  .shot-caption{ margin:0; padding:12px 16px; font-size:.8rem; line-height:1.5; color:var(--text-dim); border-top:1px solid var(--border); }

  /* ===== Aegis: klikalne demo ===== */
  .ad-overlay{ position:fixed; inset:0; z-index:2000; display:none; align-items:stretch; justify-content:center; background:rgba(3,5,10,.82); backdrop-filter:blur(6px); padding:20px; }
  .ad-overlay.open{ display:flex; }
  .ad-shell{ width:100%; max-width:1480px; display:flex; flex-direction:column; border-radius:14px; overflow:hidden; border:1px solid var(--border-strong); background:#0d1424; box-shadow:0 30px 80px rgba(0,0,0,.6); }
  .ad-topbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; background:var(--surface-2); border-bottom:1px solid var(--border); flex:none; }
  .ad-topbar-left{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; min-width:0; }
  .ad-topbar-left strong{ font-size:.95rem; color:var(--text); }
  .ad-pill{ font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-2); background:var(--accent-2-soft); border:1px solid oklch(78% 0.13 75 / .35); border-radius:999px; padding:4px 10px; white-space:nowrap; }
  .ad-topnote{ font-size:.8rem; color:var(--text-dim); }
  .ad-topbar-right{ display:flex; align-items:center; gap:10px; flex:none; }
  .ad-topbtn{ font-family:inherit; font-size:.82rem; font-weight:600; color:var(--text); background:transparent; border:1px solid var(--border-strong); border-radius:8px; padding:8px 14px; cursor:pointer; transition:border-color .25s var(--ease); }
  .ad-topbtn:hover{ border-color:var(--accent); }
  .ad-close{ width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid var(--border-strong); background:transparent; color:var(--text); cursor:pointer; }
  .ad-close:hover{ border-color:var(--accent); }
  .ad-close svg{ width:16px; height:16px; }
  .ad-overlay button:focus-visible, .ad-overlay select:focus-visible, .ad-overlay textarea:focus-visible, .ad-overlay input:focus-visible{ outline:2px solid #60a5fa; outline-offset:2px; }

  .ad-app{ flex:1; min-height:0; display:grid; grid-template-columns:236px minmax(0,1fr); background:#f3f5f9; color:#0f172a; font-size:14px; line-height:1.5; }
  .ad-side{ background:#0f1729; color:#cbd5e1; padding:16px 10px; display:flex; flex-direction:column; gap:2px; overflow:auto; }
  .ad-brand{ padding:4px 10px 14px; }
  .ad-brand small{ display:block; font-size:.62rem; font-weight:700; letter-spacing:.12em; color:#22d3ee; }
  .ad-brand b{ display:block; font-size:1rem; color:#fff; margin-top:2px; }
  .ad-nav{ font-family:inherit; text-align:left; font-size:.86rem; color:#cbd5e1; background:transparent; border:none; border-radius:8px; padding:9px 12px; cursor:pointer; transition:background .2s ease; }
  .ad-nav:hover:not(:disabled){ background:rgba(255,255,255,.07); }
  .ad-nav[aria-current="page"], .ad-nav[aria-current="page"]:hover:not(:disabled){ background:#2563eb; color:#fff; font-weight:600; }
  .ad-nav:disabled{ opacity:.38; cursor:not-allowed; }
  .ad-side-sep{ height:1px; background:rgba(255,255,255,.1); margin:8px 10px; }
  .ad-side-foot{ margin-top:auto; padding:12px 10px 0; font-size:.75rem; color:#94a3b8; }
  .ad-side-foot b{ color:#e2e8f0; display:block; }

  .ad-main{ overflow:auto; padding:22px 26px 40px; outline:none; }
  .ad-main h2{ font-size:1.45rem; letter-spacing:-.01em; color:#0f172a; margin:0; }
  .ad-sub{ color:#566178; margin:4px 0 18px; font-size:.86rem; }
  .ad-card{ background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin-bottom:16px; }
  .ad-card h3{ font-size:1rem; color:#0f172a; margin:0 0 4px; letter-spacing:0; }
  .ad-card p.ad-hint{ color:#566178; margin:0 0 10px; font-size:.8rem; }
  .ad-alert{ border-left:3px solid #b91c1c; }
  .ad-notif{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid #f1f5f9; }
  .ad-notif:first-of-type{ border-top:none; }
  .ad-notif-t{ font-weight:600; font-size:.86rem; }
  .ad-notif-d{ color:#566178; font-size:.75rem; font-family:ui-monospace,Consolas,monospace; }
  .ad-btn{ font-family:inherit; font-size:.82rem; font-weight:600; color:#0f172a; background:#fff; border:1px solid #cbd5e1; border-radius:8px; padding:7px 14px; cursor:pointer; transition:border-color .2s ease, background .2s ease; }
  .ad-btn:hover{ border-color:#2563eb; }
  .ad-btn-primary{ background:#2563eb; border-color:#2563eb; color:#fff; }
  .ad-btn-primary:hover{ background:#1d4ed8; border-color:#1d4ed8; }
  .ad-btn-danger{ color:#b91c1c; border-color:#fecaca; }
  .ad-btn-danger:hover{ border-color:#b91c1c; background:#fef2f2; }
  .ad-btn:disabled{ opacity:.5; cursor:not-allowed; }
  .ad-kpis{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; margin-bottom:16px; }
  .ad-kpi{ background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; }
  .ad-kpi span{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#566178; }
  .ad-kpi b{ display:block; font-size:2rem; line-height:1.15; margin-top:4px; }
  .ad-kpi small{ color:#566178; font-size:.75rem; }
  .ad-kpi.crit b{ color:#b91c1c; } .ad-kpi.wait b{ color:#c2410c; } .ad-kpi.ok b{ color:#15803d; }
  .ad-chart{ width:100%; height:auto; display:block; }
  .ad-chart text{ font-size:10px; fill:#64748b; font-family:ui-monospace,Consolas,monospace; }
  .ad-chart .dot{ cursor:pointer; }
  .ad-legend{ display:flex; gap:16px; font-size:.75rem; color:#566178; margin-top:6px; }
  .ad-legend i{ display:inline-block; width:14px; height:3px; border-radius:2px; margin-right:6px; vertical-align:middle; }
  .ad-table-wrap{ overflow-x:auto; }
  table.ad-table{ width:100%; border-collapse:collapse; font-size:.82rem; }
  .ad-table th{ text-align:left; font-size:.66rem; letter-spacing:.09em; text-transform:uppercase; color:#566178; padding:8px 10px; border-bottom:1px solid #e2e8f0; white-space:nowrap; }
  .ad-table td{ padding:10px; border-bottom:1px solid #f1f5f9; vertical-align:top; }
  .ad-table tr.ad-row{ cursor:pointer; }
  .ad-table tr.ad-row:hover td{ background:#f8fafc; }
  .ad-table tr.sel td{ background:#eff6ff; }
  .ad-table tr.bad td{ background:#fef2f2; }
  .ad-mono{ font-family:ui-monospace,Consolas,monospace; font-size:.76rem; }
  .ad-link{ font-family:inherit; font-size:inherit; text-align:left; color:#1d4ed8; background:none; border:none; padding:0; cursor:pointer; text-decoration:underline; }
  .ad-badge, .ad-status{ display:inline-block; font-size:.68rem; font-weight:600; padding:2px 8px; border-radius:6px; white-space:nowrap; }
  .ad-b-crit{ background:#fee2e2; color:#b91c1c; } .ad-b-high{ background:#ffedd5; color:#c2410c; } .ad-b-mid{ background:#fef9c3; color:#854d0e; } .ad-b-low{ background:#dcfce7; color:#15803d; }
  .ad-s-wait{ background:#fef3c7; color:#b45309; } .ad-s-ok{ background:#dcfce7; color:#15803d; }
  .ad-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
  .ad-chip{ font-family:inherit; font-size:.8rem; font-weight:600; color:#334155; background:#fff; border:1px solid #cbd5e1; border-radius:999px; padding:6px 14px; cursor:pointer; }
  .ad-chip[aria-pressed="true"]{ background:#2563eb; border-color:#2563eb; color:#fff; }
  .ad-split{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:16px; align-items:start; }
  .ad-detail{ position:sticky; top:0; }
  .ad-detail h3{ font-size:1.05rem; margin:8px 0 10px; }
  .ad-meta{ display:grid; grid-template-columns:auto 1fr; gap:4px 14px; font-size:.8rem; color:#334155; margin:0 0 12px; }
  .ad-meta dt{ color:#566178; } .ad-meta dd{ margin:0; }
  .ad-box{ background:#eff6ff; border:1px solid #bfdbfe; color:#1e3a8a; border-radius:8px; padding:10px 12px; font-size:.82rem; margin:10px 0; }
  .ad-box b{ color:#1e3a8a; }
  .ad-box.ok{ background:#f0fdf4; border-color:#bbf7d0; color:#166534; } .ad-box.ok b{ color:#166534; }
  .ad-box.bad{ background:#fef2f2; border-color:#fecaca; color:#991b1b; } .ad-box.bad b{ color:#991b1b; }
  .ad-box.dup{ background:#f8fafc; border-color:#cbd5e1; color:#334155; }
  .ad-actions{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px; }
  .ad-select, .ad-textarea{ font-family:inherit; font-size:.82rem; color:#0f172a; background:#fff; border:1px solid #cbd5e1; border-radius:8px; padding:7px 10px; }
  .ad-textarea{ width:100%; min-height:64px; resize:vertical; }
  .ad-item{ background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:16px 18px; margin-bottom:14px; }
  .ad-item-date{ font-family:ui-monospace,Consolas,monospace; font-size:.72rem; color:#566178; display:flex; justify-content:space-between; gap:10px; }
  .ad-item h3{ font-size:1rem; margin:4px 0 6px; color:#0f172a; }
  .ad-item p{ margin:0 0 8px; color:#334155; font-size:.84rem; }
  .ad-decided{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
  .ad-verdict{ display:inline-block; font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:6px; }
  .ad-v-yes{ background:#dbeafe; color:#1d4ed8; } .ad-v-no{ background:#e2e8f0; color:#334155; }
  .ad-code{ font-family:ui-monospace,Consolas,monospace; font-size:.72rem; background:#ecfeff; border:1px solid #a5f3fc; color:#0e7490; border-radius:5px; padding:1px 6px; white-space:nowrap; }
  .ad-hash{ font-family:ui-monospace,Consolas,monospace; font-size:.72rem; color:#475569; white-space:nowrap; }
  .ad-details{ font-family:ui-monospace,Consolas,monospace; font-size:.72rem; color:#475569; word-break:break-word; }
  .ad-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

  @media (max-width:1100px){
    .ad-kpis{ grid-template-columns:repeat(2, minmax(0,1fr)); }
    .ad-split{ grid-template-columns:1fr; }
    .ad-detail{ position:static; }
  }
  @media (max-width:900px){
    .ad-overlay{ padding:0; }
    .ad-shell{ border-radius:0; border:none; }
    .ad-topnote{ display:none; }
    .ad-app{ grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); }
    .ad-side{ flex-direction:row; align-items:center; overflow-x:auto; overflow-y:hidden; padding:8px; gap:6px; }
    .ad-brand, .ad-side-sep, .ad-side-foot, .ad-nav:disabled{ display:none; }
    .ad-nav{ white-space:nowrap; flex:none; }
    .ad-main{ padding:16px 14px 32px; }
  }
  @media (max-width:520px){
    .ad-kpis{ grid-template-columns:1fr; }
    .ad-topbtn{ display:none; }
  }

  /* analityka syntetyczna */
  .ad-tip{ position:fixed; z-index:2100; pointer-events:none; opacity:0; transition:opacity .12s ease; background:#0f172a; color:#f8fafc; font-size:.75rem; line-height:1.4; padding:6px 10px; border-radius:6px; max-width:260px; box-shadow:0 6px 20px rgba(0,0,0,.35); }
  .ad-tip.on{ opacity:1; }
  .ad-cardhead{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:6px; flex-wrap:wrap; }
  .ad-chips-s{ margin:0; }
  .ad-chips-s .ad-chip{ padding:5px 12px; font-size:.75rem; }
  .ad-grid{ display:grid; gap:16px; align-items:start; margin-bottom:0; }
  .ad-g-12{ grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); }
  .ad-g-11{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .ad-donut{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
  .ad-donut .seg{ cursor:pointer; transition:opacity .15s ease; }
  .ad-donut .seg:hover{ opacity:.8; }
  .ad-leg-list{ list-style:none; margin:0; padding:0; flex:1; min-width:150px; }
  .ad-leg{ width:100%; display:grid; grid-template-columns:14px 1fr auto auto; align-items:center; gap:8px; font-family:inherit; font-size:.82rem; color:#0f172a; background:none; border:none; border-radius:6px; padding:6px 6px; cursor:pointer; text-align:left; }
  .ad-leg:hover{ background:#f1f5f9; }
  .ad-leg i{ width:12px; height:12px; border-radius:3px; }
  .ad-leg em{ font-style:normal; color:#566178; font-size:.75rem; min-width:34px; text-align:right; }
  .ad-mx{ display:grid; grid-template-columns:22px repeat(5, minmax(0,1fr)); gap:5px; align-items:center; }
  .ad-mx-ax{ text-align:center; font-size:.72rem; color:#566178; font-family:ui-monospace,Consolas,monospace; }
  .ad-mxc{ font-family:inherit; font-size:1rem; font-weight:700; color:#0f172a; border:2px solid transparent; border-radius:8px; height:44px; cursor:pointer; transition:transform .15s ease, border-color .15s ease; }
  .ad-mxc:hover{ transform:scale(1.05); }
  .ad-mxc.sel{ border-color:#0f172a; }
  .ad-t-g{ background:#dcfce7; } .ad-t-y{ background:#fef9c3; } .ad-t-o{ background:#fed7aa; } .ad-t-r{ background:#fecaca; }
  .ad-mx-lab{ display:flex; justify-content:space-between; font-size:.72rem; color:#566178; margin:6px 0 0 27px; }
  .ad-mx-detail{ margin-top:12px; padding-top:10px; border-top:1px solid #e2e8f0; font-size:.82rem; }
  .ad-mx-detail ul{ margin:6px 0 0; padding-left:18px; }
  .ad-src{ margin-bottom:12px; }
  .ad-src-h{ display:flex; justify-content:space-between; gap:10px; font-size:.82rem; font-weight:600; margin-bottom:4px; }
  .ad-src-h em{ font-style:normal; font-weight:400; color:#566178; font-size:.75rem; }
  .ad-bar{ display:flex; align-items:center; gap:8px; margin-bottom:4px; }
  .ad-bar .tr{ flex:1; height:12px; background:#f1f5f9; border-radius:4px; overflow:hidden; }
  .ad-bar i{ display:block; height:100%; border-radius:4px; transition:width .3s ease; }
  .ad-bar b{ min-width:26px; text-align:right; font-size:.72rem; color:#334155; font-family:ui-monospace,Consolas,monospace; }
  .ad-stack{ display:flex; height:34px; border-radius:8px; overflow:hidden; background:#f1f5f9; margin-top:8px; }
  .ad-stack i{ display:flex; align-items:center; justify-content:center; font-style:normal; font-size:.78rem; font-weight:700; color:#fff; transition:width .3s ease; }
  .ad-legend b{ color:#0f172a; }
  @media (max-width:1100px){ .ad-g-12, .ad-g-11{ grid-template-columns:1fr; } }

  @media (max-width:520px){ .ad-chart text{ font-size:16px; } .ad-chart.wide text{ font-size:24px; } }

  /* demo: odwzorowanie ekranów Aegis + przewodnik */
  .ad-shell{ position:relative; }
  .ad-group{ font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#64748b; padding:12px 12px 4px; }
  .ad-group:first-of-type{ padding-top:2px; }
  .ad-box.warn{ background:#fffbeb; border-color:#fde68a; color:#78350f; } .ad-box.warn b{ color:#78350f; }
  .ad-b-gray{ background:#e2e8f0; color:#334155; }
  .ad-s-rej{ background:#fee2e2; color:#b91c1c; } .ad-s-gray{ background:#e2e8f0; color:#334155; }
  .ad-btn-ok{ background:#15803d; border-color:#15803d; color:#fff; } .ad-btn-ok:hover{ background:#166534; border-color:#166534; }
  .ad-lab{ display:block; font-size:.78rem; font-weight:600; color:#0f172a; margin:0 0 4px; }
  .ad-filters{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .ad-back{ font-size:.8rem; margin-bottom:6px; display:inline-block; }
  .ad-hint{ color:#566178; font-size:.8rem; }
  .ad-h4, .ad-cif h4{ font-size:.9rem; margin:16px 0 6px; color:#0f172a; }
  .ad-kpis-2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ad-kpis-3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .ad-flow{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .ad-score{ border:1px solid #e2e8f0; border-radius:10px; padding:10px 14px; min-width:72px; text-align:center; }
  .ad-score span{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.09em; color:#566178; }
  .ad-score b{ font-size:1.3rem; }
  .ad-score.big{ padding:14px 18px; border-color:#cbd5e1; } .ad-score.big b{ font-size:1.7rem; }
  .ad-arrow{ color:#94a3b8; font-size:1.2rem; }
  .ad-pedm{ display:flex; flex-direction:column; gap:3px; }
  .ad-pedm label{ font-size:.66rem; font-weight:700; letter-spacing:.09em; color:#566178; }
  .ad-pedm input{ width:84px; }
  .ad-hist{ margin-top:14px; padding-top:10px; border-top:1px solid #e2e8f0; font-size:.8rem; }
  .ad-hist > div{ margin-top:6px; }
  .ad-cif{ margin-top:14px; border:1px solid #fecaca; border-left:4px solid #dc2626; background:#fef2f2; border-radius:8px; padding:10px 14px; }
  .ad-cif h4{ margin-top:0; }
  .ad-cif ul{ margin:0; padding-left:18px; font-size:.84rem; }
  .ad-conds{ display:grid; gap:10px; margin:8px 0 4px; }
  .ad-cond{ display:grid; grid-template-columns:30px 1fr; gap:8px; align-items:start; font-size:.84rem; }
  .ad-cond .ad-badge{ text-align:center; }
  .ad-chainwrap{ display:grid; grid-template-columns:minmax(0,220px) 1fr; gap:18px; align-items:start; }
  .ad-chain{ width:100%; height:auto; }
  .ad-chain text{ font-size:10px; fill:#334155; font-family:ui-monospace,Consolas,monospace; }
  .ad-vlist{ margin:0; padding-left:20px; font-size:.84rem; } .ad-vlist li{ margin-bottom:6px; }
  .ad-map{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:18px; align-items:start; }
  .ad-map-side{ font-size:.84rem; } .ad-map-side ol{ padding-left:18px; margin:6px 0 0; } .ad-map-side li{ margin-bottom:8px; }
  .ad-vleg{ list-style:none; margin:0; padding:0; flex:1; min-width:220px; font-size:.8rem; }
  .ad-vleg li{ display:grid; grid-template-columns:12px 1fr auto; gap:8px; align-items:center; padding:4px 0; }
  .ad-vleg i{ width:12px; height:12px; border-radius:3px; } .ad-vleg em{ font-style:normal; color:#566178; }
  .ad-notif-t{ font-weight:600; font-size:.86rem; }
  .ad-dl{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 16px; margin-bottom:10px; }
  .ad-dl-r{ text-align:right; }
  .ad-hl{ outline:3px solid #f59e0b !important; outline-offset:4px; border-radius:10px; animation:adPulse 1.6s ease-in-out infinite; }
  @keyframes adPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(245,158,11,.45); } 50%{ box-shadow:0 0 0 8px rgba(245,158,11,0); } }
  .ad-tour{ display:none; position:absolute; right:22px; bottom:22px; z-index:10; width:340px; max-width:calc(100% - 44px); background:#0f172a; color:#e2e8f0; border:1px solid #334155; border-radius:12px; padding:14px 16px 16px; box-shadow:0 20px 50px rgba(0,0,0,.45); font-size:.86rem; line-height:1.5; }
  .ad-tour.on{ display:block; }
  .ad-tour-top{ display:flex; justify-content:space-between; align-items:center; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#22d3ee; }
  .ad-tour-x{ font-family:inherit; font-size:1.2rem; line-height:1; color:#94a3b8; background:none; border:none; cursor:pointer; padding:2px 6px; }
  .ad-tour-x:hover{ color:#fff; }
  .ad-tour b{ display:block; font-size:1rem; color:#fff; margin:6px 0 4px; }
  .ad-tour p{ margin:0 0 12px; color:#cbd5e1; }
  .ad-tour-btns{ display:flex; gap:8px; flex-wrap:wrap; }
  .ad-tour .ad-btn:not(.ad-btn-primary){ background:transparent; color:#e2e8f0; border-color:#475569; }
  @media (max-width:900px){ .ad-tour{ left:10px; right:10px; bottom:10px; width:auto; max-width:none; } .ad-group{ display:none; } }
  @media (max-width:760px){ .ad-map, .ad-chainwrap, .ad-filters{ grid-template-columns:1fr; } .ad-chain{ max-width:220px; } .ad-kpis-3, .ad-kpis-2{ grid-template-columns:1fr; } }

  .demo-cta{ margin-top:22px; }

  /* ===== Projekty koncepcyjne ===== */
  .cp-head{ margin:80px 0 40px; }
  .cp-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
  .cp-card{ display:flex; flex-direction:column; overflow:hidden; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); transition:opacity .8s var(--ease), transform .5s var(--ease), border-color .3s var(--ease); }
  .cp-card:hover{ border-color:var(--border-strong); transform:translateY(-4px); }
  .cp-thumb{ position:relative; display:block; width:100%; padding:0; border:none; background:#000; cursor:pointer; aspect-ratio:16 / 10; overflow:hidden; }
  .cp-thumb img{ display:block; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s var(--ease); }
  .cp-card:hover .cp-thumb img{ transform:scale(1.03); }
  .cp-thumb:focus-visible, .cp-card .btn-primary:focus-visible, .cp-link:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
  .cp-pill{ position:absolute; top:12px; left:12px; font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#1c1200; background:var(--accent-2); border-radius:999px; padding:3px 10px; }
  .cp-body{ display:flex; flex-direction:column; flex:1; padding:24px 26px 26px; }
  .cp-tag{ font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
  .cp-body h3{ font-size:1.2rem; margin:6px 0 8px; }
  .cp-body p{ color:var(--text-dim); font-size:.94rem; margin:0 0 20px; }
  .cp-actions{ margin-top:auto; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
  .cp-card .btn-primary{ padding:12px 20px; font-size:.9rem; }
  .cp-link{ font-size:.88rem; font-weight:600; color:var(--text-dim); }
  .cp-link:hover{ color:var(--accent); }
  a.ad-topbtn{ text-decoration:none; display:inline-block; }
  .cv-frame{ flex:1; min-height:0; display:flex; flex-direction:column; background:#fff; }
  .cv-frame iframe{ flex:1; width:100%; border:0; background:#fff; }
  @media (max-width:900px){ .cp-grid{ grid-template-columns:1fr; } .cp-head{ margin:56px 0 32px; } .cv-note{ display:none; } }


  /* ===== Nawigacja i podstrony ===== */
  .hero .cta-row{ display:flex; gap:16px; flex-wrap:wrap; }
  .shot-frame img{ width:100%; height:auto; }
  .hero-badges .status-badge{ margin-bottom:0; }
  .nav-links a[aria-current="page"]{ color:var(--text); }
  .nav-links a[aria-current="page"]::after{ width:100%; }
  .nav-links{ gap:30px; }
  a.logo{ color:inherit; }
  .page-hero{ position:relative; padding:150px 0 64px; overflow:hidden; }
  .page-hero::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(700px 320px at 80% 0%, oklch(72% 0.14 210 / .16), transparent 70%), radial-gradient(520px 260px at 8% 100%, oklch(78% 0.13 75 / .08), transparent 70%); }
  .page-hero .container{ position:relative; }
  .page-hero h1{ font-size:clamp(2.2rem, 4.4vw, 3.4rem); max-width:860px; }
  .page-hero .lead{ color:var(--text-dim); font-size:1.15rem; max-width:700px; margin:20px 0 0; }
  .page-hero .cta-row{ display:flex; gap:16px; flex-wrap:wrap; margin-top:32px; }
  .hero-badges{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:26px; }
  .feat-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
  .feat-num{ display:block; font-family:ui-monospace,"SF Mono",Consolas,monospace; font-size:.8rem; font-weight:700; letter-spacing:.1em; color:var(--accent-2); margin-bottom:14px; position:relative; z-index:1; }
  .flow4{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
  .flow4-step{ position:relative; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:28px 24px; }
  .flow4-step b{ display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-size:.95rem; margin-bottom:16px; }
  .flow4-step h3{ font-size:1.05rem; margin-bottom:8px; }
  .flow4-step p{ color:var(--text-dim); font-size:.92rem; margin:0; }
  .showcase{ max-width:1100px; margin:0 auto; }
  .showcase-cta{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; margin-top:32px; }
  .callout{ background:var(--surface); border:1px solid var(--border); border-left:3px solid var(--accent-2); border-radius:var(--radius); padding:30px 32px; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
  .callout h2{ font-size:1.5rem; margin-bottom:8px; }
  .callout p{ color:var(--text-dim); margin:0; max-width:640px; }
  .legal{ max-width:760px; }
  .legal h2{ font-size:1.25rem; margin:42px 0 10px; }
  .legal p, .legal li{ color:var(--text-dim); font-size:1rem; }
  .legal ul{ margin:10px 0 0 22px; }
  .legal a{ color:var(--accent); text-decoration:underline; }
  .legal .updated{ margin-top:48px; font-size:.85rem; color:var(--text-faint); }
  @media (max-width:900px){
    .page-hero{ padding:118px 0 48px; }
    .feat-grid{ grid-template-columns:1fr; }
    .flow4{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  }
  @media (max-width:520px){ .flow4{ grid-template-columns:1fr; } }

  /* ---- Aegis demo: odporność, kontrole, kody ryzyka ---- */
  .ad-rs-svg{ width:100%; height:auto; display:block; }
  .ad-rs-cols{ display:flex; justify-content:space-between; font-size:.68rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#566178; padding:0 4px 6px; }
  .ad-rs-leg{ display:flex; gap:16px; flex-wrap:wrap; margin-top:8px; }
  .ad-par{ display:flex; flex-direction:column; gap:2px; }
  .ad-par-row{ display:grid; grid-template-columns:72px minmax(0,1fr) 128px; gap:10px; align-items:center; width:100%; background:none; border:0; padding:5px 6px; border-radius:8px; font:inherit; color:inherit; cursor:pointer; text-align:left; }
  .ad-par-row:hover{ background:#f8fafc; }
  .ad-par-row[aria-pressed="true"]{ background:#eff6ff; }
  .ad-par-static{ cursor:default; } .ad-par-static:hover{ background:none; }
  .ad-par-k{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.76rem; font-weight:600; color:#0f172a; }
  .ad-par-bar{ position:relative; display:flex; height:16px; background:#f1f5f9; border-radius:4px; }
  .ad-par-bar i{ display:block; height:100%; border-radius:4px; }
  .ad-par-stack i{ border-radius:0; } .ad-par-stack i:first-child{ border-radius:4px 0 0 4px; }
  .ad-par-bar u{ position:absolute; bottom:-8px; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-bottom:6px solid #475569; text-decoration:none; transform:translateX(-4px); }
  .ad-par-v{ font-size:.8rem; color:#0f172a; text-align:right; white-space:nowrap; } .ad-par-v small{ color:#566178; }
  .ad-split > *{ min-width:0; }
  .ad-cardhead > div{ min-width:0; }
  .ad-cardhead select{ max-width:100%; }
  @media (max-width:640px){ .ad-cardhead{ flex-wrap:wrap; } .ad-cardhead select{ width:100%; } .ad-rs-leg{ gap:8px 14px; } }
  @media (max-width:640px){ .ad-par-row{ grid-template-columns:62px minmax(0,1fr) 96px; gap:6px; } .ad-par-v small{ display:none; } }
