:root{
      --blue-900:#0b2a4a;
      --blue-800:#113a66;
      --blue-700:#1b4f88;
      --blue-600:#2d68ad;
      --blue-100:#eaf3ff;
      --blue-050:#f5f9ff;
      --white:#ffffff;
      --text:#16324a;
      --muted:#4b647b;
      --success:#1f7a4d;
      --shadow:0 10px 30px rgba(13,42,74,.12);
      --radius-lg:20px;
      --radius-md:14px;
      --radius-sm:10px;
      --space-1:.5rem;
      --space-2:.875rem;
      --space-3:1.25rem;
      --space-4:2rem;
      --space-5:3.5rem;
      --max:1120px;
      --font: "Segoe UI", "Inter", "Helvetica Neue", Arial, sans-serif;
    }

    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family:var(--font);
      color:var(--text);
      line-height:1.55;
      background:
        radial-gradient(1200px 500px at 10% -10%, rgba(45,104,173,.15), transparent 60%),
        radial-gradient(900px 400px at 90% 0%, rgba(27,79,136,.12), transparent 60%),
        var(--blue-050);
    }

    a{color:inherit}
    img{max-width:100%;height:auto;display:block}
    .container{width:min(var(--max), 92%);margin-inline:auto}

    .skip-link{
      position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
    }
    .skip-link:focus{
      position:fixed;left:1rem;top:1rem;width:auto;height:auto;
      background:var(--white);padding:.6rem .9rem;border-radius:8px;z-index:1000;
      box-shadow:var(--shadow)
    }

    header{
      position:sticky;top:0;z-index:50;
      backdrop-filter: blur(8px);
      background:rgba(245,249,255,.8);
      border-bottom:1px solid rgba(17,58,102,.1);
    }
    .nav{
      display:flex;align-items:center;justify-content:space-between;
      padding:.8rem 0;
    }
    .brand{
      font-weight:700;color:var(--blue-900);letter-spacing:.2px;
      display:flex;align-items:center;gap:.5rem;
    }
    .brand-badge{
      width:30px;height:30px;border-radius:999px;
      background:linear-gradient(145deg,var(--blue-700),var(--blue-600));
      box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);
    }
    .nav-links{
      display:flex;gap:1rem;flex-wrap:wrap;align-items:center;
      font-size:.95rem;color:var(--muted);
    }

    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      border:none;border-radius:999px;
      padding:.8rem 1.2rem;font-weight:700;text-decoration:none;
      transition:.2s ease;cursor:pointer
    }
    .btn-primary{
      background:linear-gradient(145deg,var(--blue-700),var(--blue-600));
      color:var(--white);
      box-shadow:0 8px 18px rgba(27,79,136,.35);
    }
    .btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(27,79,136,.4)}
    .btn-secondary{
      background:var(--white);color:var(--blue-800);
      border:1px solid rgba(17,58,102,.18);
    }

    .hero{
      padding:var(--space-5) 0;
      position:relative;overflow:hidden;
    }
    .hero::before{
      content:"";
      position:absolute;inset:auto -120px -140px auto;width:360px;height:360px;border-radius:50%;
      background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.45), rgba(45,104,173,.22));
      z-index:-1;
    }
    .hero-grid{
      display:grid;grid-template-columns:1.2fr .9fr;gap:2rem;align-items:center;
    }
    .kicker{
      display:inline-block;background:var(--blue-100);color:var(--blue-800);
      padding:.35rem .7rem;border-radius:999px;font-weight:600;font-size:.85rem;
      margin-bottom:.9rem;
    }
    h1,h2,h3{line-height:1.2;color:var(--blue-900);margin:.2rem 0 .7rem}
    h1{font-size:clamp(1.9rem,4vw,3rem)}
    h2{font-size:clamp(1.4rem,2.6vw,2rem)}
    p{margin:.4rem 0 1rem;color:var(--muted)}
    .hero-card{
      background:var(--white);
      border-radius:var(--radius-lg);
      padding:1.15rem;
      box-shadow:var(--shadow);
      border:1px solid rgba(17,58,102,.09);
    }
    .hero-img{
      border-radius:var(--radius-md);
      overflow:hidden;
      margin-bottom:.9rem;
    }
    .cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.7rem}
    .quick-points{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
    .chip{
      background:var(--white);border:1px solid rgba(17,58,102,.12);
      padding:.45rem .75rem;border-radius:999px;color:var(--blue-800);font-size:.9rem;
    }

    section{padding:var(--space-5) 0}
    .section-alt{
      background:
        linear-gradient(180deg, rgba(234,243,255,.8), rgba(245,249,255,.95)),
        repeating-linear-gradient(45deg, rgba(17,58,102,.03) 0 8px, transparent 8px 16px);
      border-top:1px solid rgba(17,58,102,.08);
      border-bottom:1px solid rgba(17,58,102,.08);
    }

    .cards{
      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;
    }
    .card{
      background:var(--white);border-radius:var(--radius-md);
      padding:1rem;border:1px solid rgba(17,58,102,.1);box-shadow:var(--shadow);
    }
    .card h3{font-size:1.1rem}
    .muted{color:var(--muted)}

    .pricing{
      display:grid;grid-template-columns:1fr 1fr;gap:1rem;
    }
    .price-box{
      background:var(--white);border-radius:var(--radius-md);padding:1.2rem;
      border:1px solid rgba(17,58,102,.1);box-shadow:var(--shadow);
    }
    .starting{
      font-size:1.8rem;font-weight:800;color:var(--blue-800);
    }

    .service-area{
      display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:stretch;
    }

    .gallery{
      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;
    }
    .gallery figure{
      margin:0;background:var(--white);border-radius:var(--radius-md);
      overflow:hidden;border:1px solid rgba(17,58,102,.1);box-shadow:var(--shadow);
    }
    .gallery figcaption{padding:.7rem .8rem;color:var(--muted);font-size:.92rem}

    .contact-wrap{
      display:grid;grid-template-columns:1fr 1fr;gap:1rem;
    }
    form{
      background:var(--white);padding:1rem;border-radius:var(--radius-md);
      border:1px solid rgba(17,58,102,.11);box-shadow:var(--shadow);
    }
    label{display:block;font-weight:600;margin:.45rem 0 .3rem;color:var(--blue-900)}
    input,textarea,select{
      width:100%;padding:.7rem .8rem;border-radius:10px;border:1px solid rgba(17,58,102,.2);
      font:inherit;color:var(--text);background:#fff;
    }
    textarea{min-height:120px;resize:vertical}
    .small{font-size:.86rem;color:var(--muted)}
    .cta-banner{
      background:linear-gradient(145deg,var(--blue-800),var(--blue-600));
      color:var(--white);border-radius:var(--radius-lg);padding:1.1rem;
      box-shadow:var(--shadow);
    }
    .cta-banner h3,.cta-banner p{color:var(--white)}

    footer{
      padding:1.2rem 0;
      color:var(--muted);
      border-top:1px solid rgba(17,58,102,.1);
      background:#f4f8ff;
    }

    @media (max-width: 920px){
      .hero-grid,.pricing,.service-area,.contact-wrap{grid-template-columns:1fr}
      .cards,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
      .nav-links a:not(.btn){display:none}
    }
    @media (max-width: 620px){
      .cards,.gallery{grid-template-columns:1fr}
      .btn{width:100%}
      .cta-row{flex-direction:column}
    }