:root{
    --bg:#ffffff;
    --surface:#f8fafc;
    --surface2:#eef2ff;
    --text:#0f172a;
    --muted:#475569;
    --line:#e2e8f0;
    --accent:#1d4ed8;
    --accent-dark:#1e40af;
  
    --radius:16px;
    --shadow:0 10px 30px rgba(15,23,42,.08);
  }
  
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:var(--text);
    background:
      radial-gradient(900px 380px at 15% 10%, rgba(29,78,216,.08), transparent 55%),
      radial-gradient(900px 380px at 85% 0%, rgba(99,102,241,.08), transparent 55%),
      var(--bg);
    line-height:1.55;
  }
  
  .container{width:min(1120px,92%);margin-inline:auto}
  
  .skip-link{
    position:absolute;
    left:-999px;
    top:auto;
    width:1px;height:1px;
    overflow:hidden;
  }
  .skip-link:focus{
    left:16px;top:16px;
    width:auto;height:auto;
    padding:.6rem .8rem;
    background:var(--bg);
    border:1px solid var(--line);
    border-radius:12px;
    z-index:9999;
  }
  
  .site-header{
    position:sticky;top:0;z-index:1000;
    background:rgba(255,255,255,.86);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--line);
  }
  
  .nav-wrap{
    display:flex;align-items:center;justify-content:space-between;
    min-height:72px;
  }
  
  .brand{
    display:flex;align-items:center;gap:.7rem;
    text-decoration:none;color:var(--text);
    font-weight:800;
  }
  /* Corporate brand mark: clean, minimal, trustworthy */
.brand-mark {
    --size: 1rem;
    width: var(--size);
    height: var(--size);
    border-radius: 999px;
    display: inline-block;
    position: relative;
    flex: 0 0 var(--size);
  
    /* subtle professional gradient */
    background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
  
    /* crisp ring + gentle depth */
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.18),
      0 0 0 1px rgba(15, 23, 42, 0.18);
  }
  
  /* tiny top-left highlight for polish */
  .brand-mark::before {
    content: "";
    position: absolute;
    width: 34%;
    height: 34%;
    left: 18%;
    top: 18%;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
  }
  
  /* optional micro accent dot (brand blue) */
  .brand-mark::after {
    content: "";
    position: absolute;
    width: 18%;
    height: 18%;
    right: 16%;
    bottom: 16%;
    border-radius: 999px;
    background: #2563eb;
    opacity: 0.9;
  }
  
  /* Keep motion off for corporate feel */
  .brand-mark,
  .brand-mark::before,
  .brand-mark::after {
    transition: none;
  }
  
  /* Header/footer sizing balance */
  .site-header .brand-mark { --size: 1.05rem; }
  .footer-brand .brand-mark { --size: 0.95rem; opacity: 0.95; }
  .brand-text {
    font-weight: 700;
    letter-spacing: -0.015em;
    color: #0f172a;
  }
  .brand-text .dot {
    color: #334155;   /* less “startup bright”, more executive */
    font-weight: 600;
  }
  
  nav{
    display:flex;align-items:center;gap:1rem;
  }
  nav a{
    color:var(--muted);
    text-decoration:none;
    font-weight:600;
    font-size:.95rem;
  }
  nav a:hover{color:var(--text)}
  nav a.active{color:var(--text)}
  
  .menu-toggle{
    display:none;
    width:46px;height:40px;
    border:1px solid var(--line);
    background:var(--bg);
    border-radius:12px;
    padding:10px;
    cursor:pointer;
  }
  .menu-toggle span{
    display:block;height:2px;margin:5px 0;
    background:var(--text);
    border-radius:2px;
  }
  
  .btn{
    display:inline-flex;align-items:center;justify-content:center;
    gap:.5rem;
    text-decoration:none;
    border:1px solid transparent;
    background:var(--accent);
    color:#fff;
    font-weight:700;
    border-radius:14px;
    padding:.82rem 1.05rem;
    box-shadow:0 10px 20px rgba(29,78,216,.18);
  }
  .btn:hover{background:var(--accent-dark)}
  .btn-sm{padding:.58rem .9rem;border-radius:12px}
  .btn-ghost{
    background:transparent;
    border:1px solid var(--line);
    color:var(--text);
    box-shadow:none;
  }
  .btn-ghost:hover{border-color:#cbd5e1;background:rgba(15,23,42,.02)}
  
  .hero{padding:4.2rem 0 2.6rem}
  .hero-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:2rem;
    align-items:start;
  }
  .kicker{
    color:var(--accent);
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:.78rem;
    margin:0 0 .8rem;
  }
  h1{
    font-size:clamp(2.1rem,4.2vw,3.25rem);
    line-height:1.08;
    letter-spacing:-.02em;
    margin:.2rem 0 1rem;
  }
  .lead{
    font-size:1.05rem;
    color:var(--muted);
    max-width:66ch;
  }
  .hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.2rem 0 1.1rem}
  .pill-row{display:flex;gap:.6rem;flex-wrap:wrap}
  .pill{
    background:rgba(255,255,255,.9);
    border:1px solid var(--line);
    border-radius:999px;
    padding:.45rem .7rem;
    font-size:.88rem;
    color:var(--muted);
  }
  .pill strong{color:var(--text)}
  
  .hero-card{
    background:rgba(255,255,255,.92);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:1.2rem;
    box-shadow:var(--shadow);
  }
  .hero-card h3{margin:.1rem 0 .6rem}
  .hero-card ul{margin:.6rem 0 0;padding-left:1.05rem;color:var(--muted)}
  .hero-card li{margin:.4rem 0}
  .card-note{
    margin-top:1rem;
    display:flex;gap:.6rem;align-items:flex-start;
    padding:.85rem;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    color:var(--muted);
    font-size:.92rem;
  }
  .note-dot{
    width:10px;height:10px;border-radius:999px;margin-top:.35rem;
    background:var(--accent);
  }
  
  .section{padding:3.2rem 0}
  .section.soft{background:rgba(248,250,252,.85); border-top:1px solid rgba(226,232,240,.8); border-bottom:1px solid rgba(226,232,240,.8)}
  .section-head{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.2rem}
  .section-head p{margin:0}
  h2{
    font-size:clamp(1.55rem,2.6vw,2.05rem);
    letter-spacing:-.01em;
    margin:0;
  }
  .muted{color:var(--muted)}
  .tiny{font-size:.86rem}
  
  .grid-3{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
  }
  .card{
    background:rgba(255,255,255,.92);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:1.1rem;
    box-shadow:0 14px 35px rgba(15,23,42,.06);
  }
  .card h3{margin:.15rem 0 .35rem}
  .card h4{margin:.15rem 0 .55rem}
  .card-accent{
    border-color:rgba(29,78,216,.25);
    background:linear-gradient(180deg, rgba(238,242,255,.8), rgba(255,255,255,.92));
  }
  .bullets{margin:.6rem 0 0;padding-left:1.05rem;color:var(--muted)}
  .bullets li{margin:.38rem 0}
  
  .split{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:1.2rem;
    align-items:start;
  }
  .panel{
    background:rgba(255,255,255,.92);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:1.2rem;
    box-shadow:var(--shadow);
  }
  .price{
    font-size:2.2rem;
    font-weight:800;
    margin:.2rem 0 .8rem;
    letter-spacing:-.02em;
  }
  .steps{padding-left:1.2rem;color:var(--muted)}
  .steps li{margin:.55rem 0}
  
  .page-hero{padding:2.8rem 0 1.2rem}
  
  .service-block{margin-top:2rem}
  .service-title{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.9rem}
  .service-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
  }
  
  .callout{
    margin-top:2.4rem;
    display:flex;
    justify-content:space-between;
    gap:1.2rem;
    background:linear-gradient(135deg, rgba(29,78,216,.08), rgba(99,102,241,.06));
    border:1px solid rgba(29,78,216,.18);
    border-radius:var(--radius);
    padding:1.2rem;
  }
  .callout-cta{display:flex;flex-direction:column;gap:.6rem;min-width:240px}
  .callout .bullets{margin-top:.4rem}
  
  .download{
    display:block;
    text-decoration:none;
    color:var(--text);
    background:rgba(255,255,255,.92);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:1.1rem;
    box-shadow:0 14px 35px rgba(15,23,42,.06);
    transition:transform .08s ease;
  }
  .download:hover{transform:translateY(-2px)}
  .download-top{display:flex;flex-direction:column;gap:.25rem}
  .badge{
    display:inline-flex;
    align-self:flex-start;
    background:var(--surface2);
    color:var(--accent-dark);
    border:1px solid rgba(29,78,216,.20);
    border-radius:999px;
    padding:.22rem .55rem;
    font-size:.78rem;
    font-weight:700;
  }
  .download-cta{display:inline-block;margin-top:.65rem;color:var(--accent);font-weight:800}
  
  .form-wrap{max-width:980px}
  .form-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:1rem;
    align-items:start;
  }
  .contact-form{
    background:rgba(255,255,255,.95);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:1.1rem;
    box-shadow:var(--shadow);
    display:grid;
    gap:.85rem;
  }
  label{display:grid;gap:.45rem;font-weight:700}
  input,textarea{
    font:inherit;
    padding:.78rem .85rem;
    border-radius:14px;
    border:1px solid #cbd5e1;
    background:#fff;
  }
  input:focus,textarea:focus{outline:3px solid rgba(29,78,216,.18);border-color:rgba(29,78,216,.35)}
  .divider{height:1px;background:var(--line);margin:1rem 0}
  
  .alert.success{
    background:rgba(22,163,74,.10);
    border:1px solid rgba(22,163,74,.25);
    border-radius:14px;
    padding:.85rem;
    margin-bottom:.8rem;
  }
  
  .center{text-align:center}
  .prose p{max-width:78ch;color:var(--muted)}
  
  .site-footer{
    border-top:1px solid var(--line);
    padding-top:2rem;
    background:rgba(255,255,255,.75);
  }
  .footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:1rem;
    padding-bottom:1rem;
  }
  .footer-col h4{margin:.1rem 0 .6rem}
  .site-footer a{display:block;text-decoration:none;color:var(--muted);margin:.2rem 0;font-weight:600}
  .site-footer a:hover{color:var(--text)}
  .footer-bottom{
    border-top:1px solid var(--line);
    padding:1rem 0;
  }
  .footer-brand{margin-bottom:.35rem}
  
  code{
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size:.9em;
    background:rgba(15,23,42,.04);
    border:1px solid rgba(226,232,240,.9);
    padding:.15rem .35rem;
    border-radius:10px;
  }

  .alert.error{
    background: rgba(220, 38, 38, 0.10);
    border: 1px solid rgba(220, 38, 38, 0.30);
    color: #991b1b;
    border-radius: 14px;
    padding: .85rem;
    margin-bottom: .8rem;
  }
  
  @media (max-width: 980px){
    .hero-grid, .split, .service-grid, .grid-3, .footer-grid, .form-grid{
      grid-template-columns:1fr;
    }
    .callout{flex-direction:column}
    .callout-cta{min-width:auto}
  
    .menu-toggle{display:block}
    nav{
      position:absolute;
      top:72px;
      right:4%;
      width:min(320px,92vw);
      padding:.75rem;
      background:rgba(255,255,255,.96);
      border:1px solid var(--line);
      border-radius:16px;
      box-shadow:var(--shadow);
      display:none;
      flex-direction:column;
      align-items:flex-start;
      gap:.65rem;
    }
    nav.open{display:flex}
  }