
:root{
  --bg:#f8fafc;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --link:#1e3a8a;
  --brand:#2563eb;
  --brand-2:#0ea5e9;
  --ok:#16a34a;
  --radius:18px;
  --shadow: 0 10px 24px rgba(15,23,42,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height:1.6;
}

a{color: var(--link); text-decoration: none}
a:hover{opacity:.9}
img{max-width:100%; display:block}

.container{width:min(1120px, 92vw); margin-inline:auto}
.container.narrow{width:min(880px, 90vw)}
.grid.two{display:grid; gap:28px; grid-template-columns:1fr;}
@media (min-width: 880px){ .grid.two{grid-template-columns:1.2fr .8fr;}}
.grid.three{display:grid; gap:22px; grid-template-columns:1fr; }
@media (min-width: 980px){ .grid.three{grid-template-columns:repeat(3,1fr);}}

.site-header{
  position:sticky; top:0; z-index:50;
  background: var(--surface);
  border-bottom: 1px solid #e2e8f0;
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{display:flex; align-items:center; gap:12px; color:var(--text); font-weight:700}
.brand-text{font-size:1.05rem; letter-spacing:.2px}
.logo{width:44px; height:44px; object-fit:contain}

.nav-toggle{display:inline-flex; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer}
.nav-toggle span{width:24px; height:2px; background:var(--text); display:block}
.nav-menu{list-style:none; margin:0; padding:0; display:none; gap:18px; align-items:center}
.nav-menu li{position:relative}
.nav-menu a{color:var(--text); padding:8px 10px; display:inline-block}
.nav-menu .btn-small{padding:8px 14px}
.has-submenu .submenu{position:absolute; right:0; top:120%; min-width:240px; background:var(--surface); border:1px solid #e2e8f0; border-radius:14px; display:none; padding:8px 6px; box-shadow: var(--shadow)}
.has-submenu:hover .submenu{display:block}
.submenu li a{display:block}
@media (min-width: 880px){
  .nav-menu{display:flex}
  .nav-toggle{display:none}
}

.hero{padding:70px 0}
.hero-grid{display:grid; gap:36px; grid-template-columns:1fr; align-items:center}
@media (min-width: 980px){ .hero-grid{grid-template-columns: 1.1fr .9fr;}}
.hero-copy h1{font-size: clamp(1.9rem, 3.4vw + 1rem, 3rem); line-height:1.15; margin:6px 0 12px}
.lead{color:var(--muted); font-size:1.12rem}
.hero-logo{max-width:380px}
.pill-list{display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; margin-top:18px}
.pill-list li{background: #eef2ff; border:1px solid #c7d2fe; padding:6px 10px; border-radius:999px; color:#1e293b; font-weight:600; font-size:.92rem}

.card{background: var(--surface); border:1px solid #e2e8f0; border-radius: var(--radius); padding:20px; box-shadow: var(--shadow)}
.hero-card .card{padding:26px}
.checklist{list-style:none; padding:0; margin:0 0 16px}
.checklist li{padding-left:28px; position:relative; margin:10px 0}
.checklist li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--ok); font-weight:700}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px; border-radius: 14px; border:1px solid #dbeafe; cursor:pointer; text-decoration:none; transition:.2s}
.btn-primary{background: linear-gradient(180deg, var(--brand), var(--brand-2)); color:white; border-color:transparent}
.btn-ghost{background: transparent; color: var(--text); border-color: #cbd5e1}
.btn:hover{transform: translateY(-1px)}

.w-full{width:100%}

.services{padding:30px 0 70px}
.cards{display:grid; grid-template-columns: 1fr; gap:18px}
@media (min-width: 780px){ .cards{grid-template-columns:repeat(2,1fr)} }
@media (min-width: 1120px){ .cards{grid-template-columns:repeat(3,1fr)} }
.service-card{padding:22px; min-height: 180px}
.service-card .cta{display:inline-block; margin-top:8px}

.cta-bar{margin-top:28px; display:grid; grid-template-columns: 1fr; gap:18px; align-items:center; background: #eef2ff; border:1px solid #c7d2fe; border-radius: var(--radius); padding:18px}
@media (min-width: 980px){ .cta-bar{grid-template-columns: 1fr auto}}
.cta-actions{display:flex; gap:10px; flex-wrap:wrap}

.page-hero{padding:64px 0 24px; border-bottom:1px solid #e2e8f0; background: #f1f5f9}

.list{padding-left:18px}
.list li{margin:6px 0}

.prose h2{margin-top:0}

.site-footer{margin-top:60px; border-top:1px solid #e2e8f0; background: var(--surface)}
.footer-grid{display:grid; gap:22px; grid-template-columns: 1fr; padding:24px 0}
@media (min-width: 980px){ .footer-grid{grid-template-columns:1.1fr .9fr .9fr}}
.footer-brand p{color: var(--muted)}
.footer-logo{width:72px; height:auto; margin-bottom:10px}
.footer-grid a{color: var(--link); font-weight:600}
.footer-bottom{border-top:1px solid #e2e8f0; padding:14px 0; color:#334155}

.form-grid{display:grid; grid-template-columns:1fr; gap:14px}
.form-field label{display:block; font-weight:600; margin-bottom:6px; color: var(--text)}
.form-field input, .form-field textarea{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid #cbd5e1;
  background: #ffffff; color:var(--text); outline:none
}
.form-field input:focus, .form-field textarea:focus{box-shadow: 0 0 0 4px rgba(37,99,235,.2); border-color: #93c5fd}
.form-field.full{grid-column:1/-1}
@media (min-width: 880px){ .form-grid{grid-template-columns: repeat(2, 1fr)} .form-field.full{grid-column: span 2}}

.quote-block{
  background: #f8fafc;
  border:1px solid #e2e8f0;
  padding:16px 18px; border-radius:14px; margin:16px 0
}

.highlights .card{min-height: 160px}

/* reveal on scroll */
.reveal{opacity:0; transform: translateY(10px); transition: .5s ease}
.reveal.visible{opacity:1; transform:none}

/* Mobile nav */
@media (max-width: 879px){
  .nav-menu{position:absolute; right:12px; top:64px; background:var(--surface); border:1px solid #e2e8f0; border-radius:14px; padding:12px; display:none; flex-direction:column; min-width:220px; box-shadow: var(--shadow)}
  .nav-menu.open{display:flex}
}
