
:root{--brand:#0a4d8c;--accent:#0db1a8;--ink:#0c2238;--muted:#6b7b8c;--bg:#f7fafc;--card:#ffffff;}
*{box-sizing:border-box}html,body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;border-radius:14px}
.container{max-width:1120px;margin:0 auto;padding:0 16px}
.narrow{max-width:860px}
.mt-20{margin-top:20px}.mt-40{margin-top:40px}.mt-60{margin-top:60px}
.flex{display:flex;gap:16px}.between{justify-content:space-between}.center{align-items:center}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards-3,.cards-4{display:grid;gap:24px}
.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid #e5edf5;padding:20px;border-radius:18px;box-shadow:0 10px 20px rgba(10,77,140,.06)}
.panel{background:linear-gradient(180deg,#ffffff,#f0f5fb);border:1px solid #e6eef7;padding:20px;border-radius:18px;box-shadow:0 8px 16px rgba(12,34,56,.06)}
.topbar{background:#fff;border-bottom:1px solid #e6eef7;position:sticky;top:0;z-index:99}
.logo{display:flex;gap:8px;align-items:center;text-decoration:none}
.logo .brand{font-weight:800;color:var(--brand);font-size:22px}.logo .brand-sub{font-weight:600;color:#0c2238;opacity:.7}
#nav a{margin:0 10px;text-decoration:none;color:var(--ink)}#nav .btn{padding:10px 14px;border-radius:12px;background:var(--brand);color:#fff}
.hamburger{font-size:22px;border:none;background:none;display:none}
.page{padding:20px 0 60px}
.footer{margin-top:60px;background:#0c2238;color:#e7eef7;padding:40px 0}
.footer h4{margin:0 0 10px}.footer .plain{list-style:none;padding:0;margin:0}.footer .plain li{margin:6px 0}.footer a{color:#e7eef7}
.copy{text-align:center;margin-top:20px;opacity:.7}
.hero{min-height:56vh;background-size:cover;background-position:center;border-bottom:1px solid #e6eef7;display:flex;align-items:center}
.hero-overlay{background:rgba(12,34,56,.55);color:#fff;padding:40px;border-radius:18px;margin:40px}
.btn{display:inline-block;border:1px solid #e0e8f2;padding:10px 16px;border-radius:12px;text-decoration:none;transition:all 0.3s ease}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#07263f;font-weight:700}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(13,177,168,0.3)}
.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.ticks{list-style:none;padding-left:0}.ticks li{margin:8px 0;padding-left:28px;position:relative}.ticks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
.ticks.big li{font-size:18px}.clients{list-style:disc;margin-left:16px}
.bio img{width:100%;object-fit:cover}
.ceo{text-align:center}.ceo img{height:220px;width:220px;object-fit:cover;display:block;margin:0 auto}
/* Show Albert's face fully on homepage without cropping */
.ceo img.albert{width:60% !important;max-width:320px;height:auto !important;object-fit:contain !important;object-position:center !important;display:block;margin:0 auto}

/* Subscribe + Rating Section */
.subscribe-rating{margin:60px auto;padding:30px;background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,0.08)}
.subscribe-rating h2{font-size:1.8rem;margin-bottom:10px}
.subscribe-rating h3{font-size:1.2rem;margin-top:30px}
.subscribe-rating .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.subscribe-rating .form-group{margin-bottom:16px;text-align:left}
.subscribe-rating label{display:block;margin-bottom:6px;font-weight:600}
.subscribe-rating input[type="text"],
.subscribe-rating input[type="email"],
.subscribe-rating select,
.subscribe-rating textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:#fafafa}
.subscribe-rating .alert{padding:12px 14px;border-radius:8px;margin-bottom:14px}
.subscribe-rating .alert.success{background:#eaf7ea;color:#1f7a1f;border:1px solid #cfe9cf}
.subscribe-rating .alert.error{background:#fbe9e9;color:#a33;border:1px solid #f1c1c1}

/* Stars */
.subscribe-rating .stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:6px}
.subscribe-rating .stars input{display:none}
.subscribe-rating .stars label{font-size:28px;color:#ccc;cursor:pointer;transition:color .2s ease}
.subscribe-rating .stars input:checked ~ label{color:#ffb400}
.subscribe-rating .stars label:hover,
.subscribe-rating .stars label:hover ~ label{color:#ffc94d}
.subscribe-rating .star-display{margin-left:8px;color:#ffb400;font-weight:700}

@media(max-width:768px){
  .subscribe-rating .grid-2{grid-template-columns:1fr}
}
.form label{display:block;margin:10px 0}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #d6e0ea;border-radius:10px}
.quote{background:#fff;border:1px solid #e6eef7;padding:24px;border-radius:18px;box-shadow:0 10px 20px rgba(10,77,140,.06)}
.underline{text-decoration:underline}
/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease}
.reveal.reveal-visible{opacity:1;transform:none}
.card:hover{transform:translateY(-4px);transition:transform .2s ease}
.img-strip{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;align-items:center}
.img-strip img{width:100%;height:120px;object-fit:cover;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.08)}
.badges{display:flex;gap:10px;flex-wrap:wrap}
.badge{background:#eaf4ff;color:#0a4d8c;padding:6px 10px;border-radius:999px;border:1px solid #d5e6fb;font-size:13px}
.stat{background:#fff;border:1px solid #e6eef7;border-radius:18px;padding:18px;text-align:center}.stat h3{margin:4px 0 0}
figure.service{margin:0}figure.service img{height:140px;width:100%;object-fit:cover;margin-bottom:10px}
/* Responsive */
@media (max-width: 900px){
  .grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.cards-4{grid-template-columns:1fr 1fr}
  .hamburger{display:block}
  #nav{display:none;position:absolute;right:16px;top:64px;background:#fff;border:1px solid #e6eef7;border-radius:12px;padding:12px;box-shadow:0 14px 28px rgba(12,34,56,.12)}
  #nav a{display:block;margin:8px 0}
}
@media (max-width: 520px){.cards-3{grid-template-columns:1fr}.cards-4{grid-template-columns:1fr}.hero-overlay{margin:16px}}
