:root{
  --primary:#003366;
  --accent:#FF6B00;
  --bg:#ffffff;
  --light:#F8F9FA;
  --text:#343A40;
  --muted:#6c757d;
  --border:#e9ecef;
  --shadow:0 10px 25px rgba(0,0,0,.08);
  --radius:14px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
  color:var(--text);
  background:var(--bg);
}
h1,h2,h3{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--primary);
  line-height:1.2;
}
a{color:inherit}
img{max-width:100%;display:block}

.container{
  width:min(1150px, 92%);
  margin:0 auto;
  padding:64px 0;
}

.section-title{
  text-align:center;
  font-size:2rem;
  margin-bottom:12px;
}
.section-subtitle{
  text-align:center;
  color:var(--muted);
  max-width:860px;
  margin:0 auto 36px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:16px;
}
.col-4{grid-column:span 4;}
.col-6{grid-column:span 6;}
.col-12{grid-column:span 12;}

.card{
  background:var(--light);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
  transition:.2s;
}
.card:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
.card h3{margin-bottom:10px;}
.card p{color:var(--muted); margin-bottom:12px;}
.card a{
  text-decoration:none;
  font-weight:800;
  color:var(--primary);
}
.card a:hover{color:var(--accent);}

.btn-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:16px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  border-radius:14px;
  padding:13px 16px;
  font-weight:900;
  border:1px solid var(--border);
  transition:.2s;
  min-width:220px;
}
.btn-primary{
  background:var(--accent);
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 26px rgba(255,107,0,.24);
}
.btn-primary:hover{transform:translateY(-2px); background:#e65a00;}
.btn-secondary{
  background:#fff;
  color:var(--primary);
}
.btn-secondary:hover{transform:translateY(-2px); border-color:#dfe3e7;}

.pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:14px;
}
.pill{
  background:#fff;
  border:1px solid var(--border);
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  color:var(--text);
  box-shadow:0 8px 18px rgba(0,0,0,.04);
  font-size:.92rem;
}

.panel{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:24px;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
}

.list{
  margin-top:14px;
  display:grid;
  gap:10px;
}
.list-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--light);
}
.dot{
  width:10px;height:10px;border-radius:99px;
  background:var(--accent);
  margin-top:7px;flex:0 0 10px;
}
.list-item strong{display:block;margin-bottom:2px;}
.list-item span{color:var(--muted);display:block;font-weight:650;font-size:.95rem}

/* NAV */
nav{
  background:#fff;
  padding:16px 4%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  box-shadow:0 2px 12px rgba(0,0,0,0.08);
  position:sticky;
  top:0;
  z-index:1000;
}
.logo{
  font-size:1.35rem;
  font-weight:900;
  text-decoration:none;
  letter-spacing:.2px;
}
.logo strong{color:var(--primary)}
.logo span{color:var(--accent)}

.nav-right{display:flex;align-items:center;gap:14px;}
.nav-links{display:flex;align-items:center;gap:16px;}
.nav-links a{
  text-decoration:none;
  color:var(--text);
  font-weight:800;
  font-size:.92rem;
  padding:8px 10px;
  border-radius:10px;
  transition:.2s;
}
.nav-links a:hover{color:var(--accent); background:rgba(255,107,0,.08);}
.nav-cta{
  text-decoration:none;
  font-weight:900;
  font-size:.92rem;
  background:var(--accent);
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  transition:.2s;
}
.nav-cta:hover{transform:translateY(-1px); background:#e65a00;}

.menu-toggle{
  display:none;
  background:none;
  border:none;
  font-size:1.9rem;
  cursor:pointer;
  color:var(--primary);
  padding:6px 10px;
  border-radius:12px;
}
.mobile-panel{
  display:none;
  position:absolute;
  right:4%;
  top:64px;
  width:min(360px, 92vw);
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:10px;
}
.mobile-panel a{
  display:block;
  text-decoration:none;
  padding:12px 12px;
  border-radius:12px;
  font-weight:900;
}
.mobile-panel a:hover{background:var(--light);}
.mobile-panel .mobile-cta{
  margin-top:6px;
  background:var(--accent);
  color:#fff;
}
.mobile-panel .mobile-cta:hover{background:#e65a00;}

/* PAGE HERO (simple) */
.page-hero{
  background:linear-gradient(rgba(0,51,102,.88), rgba(0,51,102,.88)),
  url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?q=80&w=2000&auto=format&fit=crop');
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:78px 4%;
  text-align:center;
}
.page-hero h1{color:#fff;font-size:2.5rem;margin-bottom:10px;}
.page-hero p{max-width:900px;margin:0 auto;opacity:.92}

/* FOOTER */
footer{
  background:var(--primary);
  color:#fff;
  padding:56px 4% 34px;
  margin-top:70px;
}
.footer-grid{
  width:min(1150px, 92%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:22px;
}
footer a{color:rgba(255,255,255,.92);text-decoration:none;font-weight:850;}
footer a:hover{color:var(--accent);}
.footer-note{
  width:min(1150px, 92%);
  margin:22px auto 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:.92rem;
  opacity:.9;
  text-align:center;
}
.small{opacity:.78;font-weight:650;font-size:.94rem}

/* COOKIE */
#cookie-banner{
  position:fixed;
  bottom:0; left:0; width:100%;
  background:#212529;
  color:#fff;
  padding:14px 4%;
  display:none;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  z-index:9999;
  box-shadow:0 -2px 16px rgba(0,0,0,0.35);
}
#cookie-banner a{color:#fff;font-weight:900;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-btn{
  background:var(--accent);
  color:#fff;
  border:none;
  padding:10px 16px;
  border-radius:12px;
  cursor:pointer;
  font-weight:950;
}
.cookie-btn.secondary{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
}
.cookie-btn:hover{filter:saturate(1.08)}

/* RESPONSIVE */
@media (max-width: 860px){
  .nav-links{display:none;}
  .menu-toggle{display:block;}
  .col-4,.col-6{grid-column:span 12;}
  .page-hero h1{font-size:2rem;}
  .footer-grid{grid-template-columns:1fr;}
}

/* ===== AI ASSISTANT & COOKIE BANNER STYLES ===== */
/* AI Assistant floating button */
    .ai-fab{
      position:fixed;
      bottom:28px;
      right:24px;
      z-index:998;
      background:linear-gradient(135deg,var(--primary-blue),#0055aa);
      color:white;
      border:none;
      border-radius:999px;
      padding:14px 22px;
      font-size:.95rem;
      font-weight:800;
      cursor:pointer;
      box-shadow:0 8px 28px rgba(0,51,102,.35);
      display:flex;
      align-items:center;
      gap:10px;
      transition:.2s;
      text-decoration:none;
      font-family:'Inter',sans-serif;
    }
    .ai-fab:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,51,102,.45);}
    .ai-fab-dot{
      width:8px;height:8px;border-radius:50%;
      background:#4ade80;
      box-shadow:0 0 6px #4ade80;
      animation:pulse 2s infinite;
    }
    @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.5;}}

    /* AI modal */
    .ai-modal-overlay{
      display:none;position:fixed;inset:0;z-index:9990;
      background:rgba(0,0,0,.55);backdrop-filter:blur(3px);
    }
    .ai-modal{
      position:fixed;bottom:90px;right:24px;z-index:9991;
      width:min(420px,96vw);height:min(580px,80vh);
      background:white;border-radius:20px;
      box-shadow:0 24px 60px rgba(0,0,0,.22);
      display:none;flex-direction:column;overflow:hidden;
    }
    .ai-modal-header{
      background:linear-gradient(90deg,var(--primary-blue),#004d99);
      color:white;padding:14px 18px;
      display:flex;align-items:center;justify-content:space-between;
    }
    .ai-modal-header h4{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;}
    .ai-modal-header p{font-size:.78rem;opacity:.8;margin-top:2px;}
    .ai-close{background:none;border:none;color:white;font-size:1.4rem;cursor:pointer;padding:4px 8px;border-radius:8px;}
    .ai-close:hover{background:rgba(255,255,255,.15);}
    .ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#f8fafc;}
    .ai-msg{display:flex;gap:8px;align-items:flex-start;}
    .ai-msg.user{flex-direction:row-reverse;}
    .ai-avatar{
      width:28px;height:28px;border-radius:50%;display:flex;align-items:center;
      justify-content:center;font-size:10px;font-weight:800;flex-shrink:0;color:white;
    }
    .ai-avatar.bot{background:linear-gradient(135deg,var(--primary-blue),#0055aa);}
    .ai-avatar.usr{background:var(--accent-orange);}
    .ai-bubble{
      max-width:82%;padding:10px 13px;border-radius:14px;font-size:.85rem;
      line-height:1.65;white-space:pre-wrap;
    }
    .ai-bubble.bot{background:white;border:1px solid var(--border);color:var(--text-dark);border-radius:3px 14px 14px 14px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
    .ai-bubble.usr{background:var(--primary-blue);color:white;border-radius:14px 3px 14px 14px;}
    .ai-typing{display:flex;gap:5px;align-items:center;padding:10px 13px;background:white;border:1px solid var(--border);border-radius:3px 14px 14px 14px;width:fit-content;}
    .ai-typing span{width:6px;height:6px;background:#94a3b8;border-radius:50%;animation:bounce 1.2s infinite;}
    .ai-typing span:nth-child(2){animation-delay:.15s;}
    .ai-typing span:nth-child(3){animation-delay:.3s;}
    @keyframes bounce{0%,80%,100%{transform:translateY(0);}40%{transform:translateY(-5px);}}
    .ai-suggestions{padding:8px 12px;display:flex;gap:6px;flex-wrap:wrap;background:white;border-top:1px solid var(--border);}
    .ai-chip{
      font-size:.75rem;background:#eff6ff;color:var(--primary-blue);
      border:1px solid #bfdbfe;border-radius:20px;padding:4px 10px;
      cursor:pointer;font-weight:600;white-space:nowrap;
    }
    .ai-chip:hover{background:#dbeafe;}
    .ai-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border);background:white;}
    .ai-input{
      flex:1;border:1.5px solid var(--border);border-radius:10px;padding:9px 12px;
      font-size:.88rem;font-family:'Inter',sans-serif;outline:none;resize:none;
      max-height:90px;line-height:1.5;background:#f8fafc;
    }
    .ai-input:focus{border-color:var(--primary-blue);}
    .ai-send{
      background:var(--primary-blue);color:white;border:none;border-radius:10px;
      width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;
    }
    .ai-send:disabled{background:#cbd5e1;cursor:not-allowed;}
    .ai-send:hover:not(:disabled){background:#004d99;}

    /* Updates */
    .update-card{
      border-left:3px solid var(--accent-orange);
      background:var(--light-bg);
      border-radius:0 var(--radius) var(--radius) 0;
      padding:18px 20px;
      border-top:1px solid var(--border);
      border-right:1px solid var(--border);
      border-bottom:1px solid var(--border);
    }
    .update-meta{font-size:.8rem;color:var(--muted);font-weight:600;margin-bottom:6px;}
    .update-card h3{font-size:1rem;margin-bottom:6px;}
    .update-card p{color:var(--muted);font-size:.9rem;margin-bottom:10px;}
    .update-card a{font-weight:800;font-size:.88rem;color:var(--primary-blue);text-decoration:none;}
    .update-card a:hover{color:var(--accent-orange);}

    

/* ===== CONTENT PAGE STYLES (legal, contact, blog) ===== */
main{
  width:min(1100px, 92%);
  margin:0 auto;
  padding:40px 0 60px;
}
.legal-section, .section{
  margin-bottom:32px;
}
.legal-section h2, .section h2{
  font-size:1.3rem;
  font-weight:700;
  color:var(--primary);
  margin-bottom:12px;
  padding-bottom:6px;
  border-bottom:2px solid var(--accent);
}
.legal-section p, .section p{
  margin-bottom:10px;
  line-height:1.7;
  color:#333;
}
.legal-section ul, .section ul{
  padding-left:20px;
  margin-bottom:10px;
}
.legal-section li, .section li{
  margin-bottom:6px;
  line-height:1.6;
}
.legal-meta{
  font-size:.9rem;
  color:#666;
  margin-bottom:28px;
  padding:10px 0;
  border-bottom:1px solid #eee;
}
/* Blog page styles */
.blog-grid{
  display:grid;
  gap:20px;
}
.blog-card{
  background:#fff;
  border:1px solid #e8e8e8;
  border-radius:8px;
  padding:22px 26px;
  transition:box-shadow .2s;
}
.blog-card:hover{border-color:#ccc;box-shadow:0 4px 16px rgba(0,0,0,.08);}
.blog-card h2{font-size:1.2rem;color:var(--primary);margin:6px 0;}
.blog-meta{font-size:.85rem;color:#888;margin-bottom:4px;}
.blog-card p{color:#444;line-height:1.6;}
.blog-card a.read-more{color:var(--accent);font-weight:600;text-decoration:none;}
.blog-cta{
  background:var(--primary);
  color:#fff;
  padding:36px;
  border-radius:10px;
  text-align:center;
  margin-top:32px;
}
.blog-cta h2{color:#fff;margin-bottom:8px;}
/* Contact page styles */
.contact-form-section, .contact-info-section{
  margin-bottom:36px;
}
.form-group{
  margin-bottom:18px;
}
.form-group label{
  display:block;
  font-weight:600;
  margin-bottom:5px;
  color:var(--primary);
}
.form-group input, .form-group textarea, .form-group select{
  width:100%;
  padding:10px 14px;
  border:1px solid #ddd;
  border-radius:6px;
  font-size:1rem;
  box-sizing:border-box;
}
.form-group textarea{resize:vertical;min-height:120px;}
.form-submit{
  background:var(--accent);
  color:#fff;
  border:none;
  padding:12px 28px;
  font-size:1rem;
  font-weight:700;
  border-radius:6px;
  cursor:pointer;
  transition:background .2s;
}
.form-submit:hover{background:#e55a00;}
