/* CrestCore Digital — Main Stylesheet */
:root {
  --primary: #0a2540;
  --accent: #00b4d8;
  --accent2: #c0392b;
  --text: #1a1a2e;
  --light: #f4f6f9;
  --white: #ffffff;
  --grey: #6c757d;
  --border: #dee2e6;
  --shadow: 0 2px 20px rgba(0,0,0,0.08);
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI',Arial,sans-serif; color:var(--text); background:var(--white); line-height:1.6; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }

/* NAV */
nav { background:var(--primary); padding:0 40px; display:flex; align-items:center; justify-content:space-between; height:64px; position:sticky; top:0; z-index:100; box-shadow:0 2px 8px rgba(0,0,0,0.2); }
.nav-brand { color:var(--white); font-size:1.3rem; font-weight:700; letter-spacing:1px; }
.nav-brand span { color:var(--accent); }
.nav-links a { color:rgba(255,255,255,0.85); margin-left:28px; font-size:0.95rem; transition:color .2s; }
.nav-links a:hover { color:var(--accent); text-decoration:none; }

/* HERO */
.hero { background:linear-gradient(135deg,var(--primary) 0%,#16213e 60%,#0f3460 100%); color:var(--white); padding:100px 40px; text-align:center; }
.hero h1 { font-size:2.8rem; font-weight:800; margin-bottom:20px; line-height:1.2; }
.hero h1 span { color:var(--accent); }
.hero p { font-size:1.15rem; max-width:600px; margin:0 auto 32px; color:rgba(255,255,255,0.82); }
.btn { display:inline-block; padding:13px 32px; border-radius:6px; font-weight:600; font-size:1rem; cursor:pointer; transition:all .2s; border:none; }
.btn-primary { background:var(--accent); color:var(--white); }
.btn-primary:hover { background:#0096c7; text-decoration:none; color:var(--white); }
.btn-secondary { background:transparent; color:var(--white); border:2px solid rgba(255,255,255,0.5); margin-left:12px; }
.btn-secondary:hover { background:rgba(255,255,255,0.1); text-decoration:none; color:var(--white); }

/* SECTIONS */
section { padding:80px 40px; }
.section-title { text-align:center; font-size:2rem; font-weight:700; margin-bottom:12px; color:var(--primary); }
.section-sub { text-align:center; color:var(--grey); margin-bottom:48px; max-width:560px; margin-left:auto; margin-right:auto; }

/* STATS */
.stats { background:var(--light); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; max-width:900px; margin:0 auto; text-align:center; }
.stat-num { font-size:2.4rem; font-weight:800; color:var(--accent); }
.stat-label { font-size:0.9rem; color:var(--grey); margin-top:4px; }

/* SERVICES */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1100px; margin:0 auto; }
.service-card { background:var(--white); border:1px solid var(--border); border-radius:10px; padding:32px 28px; box-shadow:var(--shadow); transition:transform .2s,box-shadow .2s; }
.service-card:hover { transform:translateY(-4px); box-shadow:0 8px 30px rgba(0,0,0,0.12); }
.service-icon { font-size:2.2rem; margin-bottom:16px; }
.service-card h3 { font-size:1.15rem; font-weight:700; margin-bottom:10px; color:var(--primary); }
.service-card p { color:var(--grey); font-size:0.95rem; }

/* ABOUT */
.about { background:var(--light); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; max-width:1000px; margin:0 auto; }
.about-text h2 { font-size:1.8rem; font-weight:700; margin-bottom:16px; color:var(--primary); }
.about-text p { color:var(--grey); margin-bottom:14px; }

/* TEAM */
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; max-width:1100px; margin:0 auto; }
.team-card { text-align:center; background:var(--white); border:1px solid var(--border); border-radius:10px; padding:28px 20px; box-shadow:var(--shadow); }
.team-avatar { width:80px; height:80px; border-radius:50%; background:var(--primary); margin:0 auto 16px; display:flex; align-items:center; justify-content:center; color:var(--white); font-size:1.8rem; font-weight:700; }
.team-card h4 { font-weight:700; margin-bottom:4px; color:var(--primary); }
.team-card p { font-size:0.88rem; color:var(--grey); }

/* NEWS */
.news { background:var(--light); }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1100px; margin:0 auto; }
.news-card { background:var(--white); border-radius:10px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--border); }
.news-card-img { height:160px; background:linear-gradient(135deg,var(--primary),var(--accent)); display:flex; align-items:center; justify-content:center; color:var(--white); font-size:2rem; }
.news-card-body { padding:24px; }
.news-tag { font-size:0.78rem; font-weight:700; color:var(--accent); text-transform:uppercase; letter-spacing:1px; }
.news-card-body h3 { font-size:1rem; margin:8px 0; color:var(--primary); font-weight:700; }
.news-card-body p { font-size:0.88rem; color:var(--grey); }
.news-date { font-size:0.8rem; color:var(--grey); margin-top:12px; }

/* FOOTER */
footer { background:var(--primary); color:rgba(255,255,255,0.7); padding:48px 40px 24px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; max-width:1100px; margin:0 auto 40px; }
.footer-brand { font-size:1.2rem; font-weight:700; color:var(--white); margin-bottom:12px; }
.footer-brand span { color:var(--accent); }
.footer-col h4 { color:var(--white); font-size:0.95rem; margin-bottom:14px; font-weight:600; }
.footer-col a { display:block; color:rgba(255,255,255,0.65); font-size:0.9rem; margin-bottom:8px; transition:color .2s; }
.footer-col a:hover { color:var(--accent); text-decoration:none; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; text-align:center; font-size:0.85rem; max-width:1100px; margin:0 auto; }

/* FORMS */
.form-group { margin-bottom:20px; }
.form-group label { display:block; margin-bottom:6px; font-weight:600; font-size:0.95rem; color:var(--primary); }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:12px 16px; border:1px solid var(--border); border-radius:6px; font-size:1rem; font-family:inherit; transition:border .2s; }
.form-group input:focus, .form-group textarea:focus { outline:none; border-color:var(--accent); }
.form-group textarea { height:120px; resize:vertical; }

/* ALERT BOXES */
.alert { padding:14px 18px; border-radius:6px; margin-bottom:16px; font-size:0.95rem; }
.alert-danger { background:#ffeaea; border-left:4px solid var(--accent2); color:#721c24; }
.alert-success { background:#eafaf1; border-left:4px solid #27ae60; color:#155724; }
.alert-info { background:#e8f4fd; border-left:4px solid var(--accent); color:#0c5460; }

/* TEACHING BOXES */
.vuln-box { background:#fff8e1; border:1px solid #f39c12; border-left:5px solid #f39c12; border-radius:6px; padding:16px 20px; margin:20px 0; }
.vuln-box h4 { color:#e67e22; margin-bottom:8px; font-size:0.95rem; }
.vuln-box p, .vuln-box code { font-size:0.9rem; color:#555; }
.defend-box { background:#e8f8f5; border:1px solid #27ae60; border-left:5px solid #27ae60; border-radius:6px; padding:16px 20px; margin:20px 0; }
.defend-box h4 { color:#27ae60; margin-bottom:8px; font-size:0.95rem; }

/* RESPONSIVE */
@media(max-width:900px) {
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .services-grid { grid-template-columns:1fr; }
  .about-grid { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .news-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .hero h1 { font-size:2rem; }
}
@media(max-width:600px) {
  nav { padding:0 20px; }
  .nav-links { display:none; }
  .hero { padding:60px 20px; }
  section { padding:50px 20px; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr; }
}
