/*
  LMBS Corporate Website
  Primary: Navy #1e3a8a
  Accent:  Gold #f59e0b
*/

:root{
  --navy:#1e3a8a;
  --navy-900:#0b1b4d;
  --gold:#f59e0b;
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --border:rgba(15, 23, 42, .12);
  --shadow: 0 10px 30px rgba(2,6,23,.12);
  --radius: 16px;
  --container: 1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto}

.container{
  width:min(var(--container), calc(100% - 2rem));
  margin-inline:auto;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:1rem;
  background:#fff;
  border:2px solid var(--navy);
  padding:.6rem .8rem;
  border-radius:10px;
  z-index:1000;
}
.skip-link:focus{left:1rem}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:#fff; /* solid white to remove transparency */
  backdrop-filter:none;
  border-bottom:1px solid var(--border);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.9rem 0;
  gap:1rem;
}
.brand{
  display:flex;
  align-items:center;
}

.brand-logo{
  display:block;
  height:56px; /* prominent */
  width:auto;
  border-radius:8px;
  /* Reduce "floating" feel: remove heavy shadow, use subtle border */
  box-shadow:none;
  border:none;
  background:#fff;
}

.brand-mark{
  font-weight:800;
  letter-spacing:.08em;
  color:var(--navy);
  font-size:1.05rem;
}
.brand-sub{
  font-size:.78rem;
  color:var(--muted);
}

.nav{display:flex; align-items:center; gap:.9rem}
.nav-link{
  font-weight:600;
  font-size:.95rem;
  color:rgba(15,23,42,.82);
  padding:.55rem .65rem;
  border-radius:999px;
}
.nav-link:hover{background:rgba(30,58,138,.08); color:var(--navy)}
.nav-link.active{background:rgba(30,58,138,.12); color:var(--navy)}
.nav-cta{
  background:var(--navy);
  color:#fff;
}
.nav-cta:hover{background:var(--navy-900); color:#fff}

.nav-toggle{
  display:none;
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:.55rem .6rem;
}
.nav-toggle-bars{
  display:block;
  width:22px;
  height:14px;
  background:
    linear-gradient(#0f172a,#0f172a) 0 0 / 100% 2px,
    linear-gradient(#0f172a,#0f172a) 0 50% / 100% 2px,
    linear-gradient(#0f172a,#0f172a) 0 100% / 100% 2px;
  background-repeat:no-repeat;
}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  padding:4.2rem 0 2.8rem;
}
.hero-bg{
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(900px 500px at 10% 20%, rgba(245,158,11,.22), transparent 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(30,58,138,.22), transparent 55%),
    linear-gradient(180deg, rgba(30,58,138,.06), transparent 55%);
  pointer-events:none;
}
.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:2rem;
  align-items:start;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--navy);
  margin:0 0 .6rem;
}
.hero h1{
  margin:.1rem 0 .35rem;
  font-size:3.1rem;
  letter-spacing:-.02em;
}

/* Hero main copy (preferred) */
.hero-copy-block{margin:.25rem 0 1.25rem}
.hero-title{
  margin:0 0 .75rem;
  font-size:2.2rem;
  line-height:1.15;
  letter-spacing:-.02em;
  color:rgba(30,58,138,.98);
}
.hero-subtitle{
  margin:0;
  font-size:1.05rem;
  color:var(--muted);
  max-width: 52rem;
}

.tagline{
  margin:0 0 1.1rem;
  font-size:1.1rem;
  font-weight:600;
  color:rgba(15,23,42,.82);
}
.lead{
  margin:0 0 1.35rem;
  font-size:1.05rem;
  color:var(--muted);
}
.hero-actions{display:flex; gap:.8rem; flex-wrap:wrap}

.hero-metrics{
  margin-top:1.7rem;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.8rem;
}
.metric{
  background:rgba(255,255,255,.72);
  border:1px solid var(--border);
  border-radius:14px;
  padding:.85rem .9rem;
}
.metric-value{font-weight:800; color:var(--navy); font-size:1.05rem}
.metric-label{font-size:.84rem; color:var(--muted)}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.75rem 1.05rem;
  border-radius:999px;
  font-weight:700;
  border:1px solid transparent;
  transition:transform .06s ease, background .12s ease, border-color .12s ease;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--navy); color:#fff}
.btn-primary:hover{background:var(--navy-900)}
.btn-ghost{background:transparent; border-color:rgba(30,58,138,.3); color:var(--navy)}
.btn-ghost:hover{background:rgba(30,58,138,.08)}

/* Cards and layout */
.section{padding:3.2rem 0}
.page-hero{padding:3rem 0 1.4rem; background:linear-gradient(180deg, rgba(30,58,138,.06), transparent 70%); border-bottom:1px solid var(--border)}
.section-head{margin-bottom:1.4rem}
.section-head h2{margin:.2rem 0 .3rem; font-size:1.85rem; letter-spacing:-.01em}

.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.25rem 1.25rem;
  box-shadow:0 1px 0 rgba(2,6,23,.02);
}
.hero-card .card{box-shadow:var(--shadow)}

.divider{height:1px; background:var(--border); margin:1.1rem 0}
.muted{color:var(--muted)}
.small{font-size:.88rem}

.grid-3{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem}
.grid-2{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem}

.feature{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.2rem;
  background:linear-gradient(180deg, rgba(30,58,138,.04), rgba(255,255,255,1) 60%);
}
.feature-icon{
  width:40px; height:40px;
  border-radius:12px;
  display:grid; place-items:center;
  font-weight:800;
  color:var(--navy);
  background:rgba(245,158,11,.16);
  border:1px solid rgba(245,158,11,.25);
  margin-bottom:.75rem;
}
.feature h3{margin:.3rem 0 .4rem}
.text-link{display:inline-flex; margin-top:.5rem; color:var(--navy); font-weight:700}
.text-link:hover{text-decoration:underline}

.cta-banner{
  margin-top:1.6rem;
  border-radius:var(--radius);
  padding:1.2rem 1.25rem;
  border:1px solid rgba(245,158,11,.35);
  background:linear-gradient(90deg, rgba(245,158,11,.16), rgba(30,58,138,.06));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

/* Lists */
.checklist{list-style:none; padding:0; margin:.9rem 0 0}
.checklist li{position:relative; padding-left:1.6rem; margin:.5rem 0; color:rgba(15,23,42,.85)}
.checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.35rem;
  width:1rem;
  height:1rem;
  border-radius:999px;
  background:rgba(245,158,11,.2);
  border:1px solid rgba(245,158,11,.45);
  box-shadow:inset 0 0 0 3px rgba(245,158,11,.0);
}

/* Company key-value */
.kv{margin:0}
.kv-row{display:grid; grid-template-columns: 170px 1fr; gap:1rem; padding:.7rem 0; border-bottom:1px dashed rgba(15,23,42,.12)}
.kv-row:last-child{border-bottom:0}
.kv dt{font-weight:700; color:rgba(15,23,42,.85)}
.kv dd{margin:0; color:var(--muted)}
.kv a{color:var(--navy); font-weight:700}

/* Form */
.form{display:grid; gap:1rem}
.field label{display:block; font-weight:700; margin:0 0 .35rem}
.field input,
.field textarea{
  width:100%;
  border-radius:12px;
  border:1px solid var(--border);
  padding:.75rem .85rem;
  font:inherit;
  outline:none;
  background:#fff;
}
.field input:focus,
.field textarea:focus{border-color:rgba(30,58,138,.55); box-shadow:0 0 0 4px rgba(30,58,138,.12)}
.field-hint{margin:.35rem 0 0; color:rgba(71,85,105,.9); font-size:.85rem}
.form-status{margin:.2rem 0 0; font-weight:700}

.mini-card{border:1px solid var(--border); border-radius:14px; padding:1rem; background:#fff}

.spacer{height:1.2rem}

/* Footer */
.site-footer{
  border-top:1px solid var(--border);
  padding:1.4rem 0;
  background:linear-gradient(180deg, transparent, rgba(30,58,138,.03));
}
.footer-inner{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:1rem;
  align-items:center;
}
.footer-brand{font-weight:800; color:var(--navy); letter-spacing:.08em}
.footer-note{color:var(--muted); font-size:.9rem}
.footer-links{display:flex; gap:1rem; flex-wrap:wrap; justify-content:flex-end}
.footer-links a{color:rgba(15,23,42,.8); font-weight:600}
.footer-links a:hover{color:var(--navy)}
.footer-copy{grid-column:1 / -1; color:rgba(71,85,105,.9); font-size:.9rem}

/* Responsive */
@media (max-width: 920px){
  .hero-grid{grid-template-columns:1fr;}
  .hero h1{font-size:2.6rem}
  .hero-title{font-size:1.85rem}
  .hero-metrics{grid-template-columns:repeat(3, minmax(0, 1fr));}
  .footer-inner{grid-template-columns:1fr;}
  .footer-links{justify-content:flex-start}
}

@media (max-width: 720px){
  .brand-logo{height:36px}
  .brand-sub{display:none}

  .nav-toggle{display:inline-flex; align-items:center; justify-content:center}
  .nav{
    position:absolute;
    top:100%;
    right:0;
    left:0;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid var(--border);
    padding:.75rem;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:.35rem;
  }
  .nav.is-open{display:flex}
  .nav-link{border-radius:12px; padding:.75rem .9rem}

  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .hero-metrics{grid-template-columns:1fr;}
  .cta-banner{flex-direction:column; align-items:flex-start}
  .kv-row{grid-template-columns:1fr; gap:.25rem}
}
