:root { --max: 1100px; --radius: 18px; --fg: #0b1022; --muted:#475569; --b1:#0ea5e9; --b2:#1f3a8a; }
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
a, button { touch-action: manipulation; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--fg); background:#f6f8fb; line-height: 1.6; }
.wrap { width: min(100% - 32px, var(--max)); margin: 0 auto; }
.site { display:flex; align-items:center; justify-content:space-between; padding:16px 0; gap: 10px; position: sticky; top: 0; background:#f6f8fb; z-index: 80; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; color: inherit; font-weight: 900; }
.brand img { width: 42px; height: 42px; }
.brand span { font-size: 1.12rem; letter-spacing: .2px; background: linear-gradient(90deg, #1f3a8a, #0ea5e9); -webkit-background-clip: text; background-clip: text; color: transparent; }
nav { display:flex; gap: 16px; align-items:center; z-index: 90; }
nav a { text-decoration:none; color: #1f3a8a; font-weight: 800; padding: 8px 12px; border-radius: 10px; }
nav a.active { border-bottom: 3px solid #1f3a8a; padding-bottom: 3px; }
.menu-btn { display: none; border: 1px solid rgba(2,6,23,.12); background: #fff; padding: 10px 12px; border-radius: 10px; cursor: pointer; }
@media (max-width: 640px){
  .menu-btn { display: inline-flex; align-items:center; justify-content:center; }
  nav { display: none; position: absolute; top: 64px; right: 16px; left: 16px; padding: 10px; background: #fff; border: 1px solid rgba(2,6,23,.12); border-radius: 12px; box-shadow: 0 18px 50px rgba(2,6,23,.10); }
  nav.open { display: grid; grid-template-columns: 1fr; gap: 8px; }
  nav a { padding: 14px; font-size: 1.05rem; background: #f8fafc; }
}
.hero { position: relative; height: clamp(50vh, 64vh, 72vh); display:grid; place-items:center; background: #0b1022; overflow:hidden; }
.hero__content { text-align:center; color:#fff; position: relative; z-index: 1; }
.hero__content h1 { font-size: clamp(2rem, 5vw, 3.4rem); margin: 0 0 8px; letter-spacing: .3px; }
.hero__content .lead { margin: 0 0 18px; color: #e2e8f0; font-weight: 600; }
.pill { display:inline-block; padding:11px 18px; border-radius:999px; background: rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.25); letter-spacing:.02em; font-weight:800; color:#fff; text-decoration:none; }
.with-heartbeat { position: relative; }
.with-heartbeat::after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); bottom: -10px; width: 220px; height: 2px; background: linear-gradient(90deg, #0ea5e9, #1f3a8a); animation: pulse 2.2s ease-in-out infinite; }
@keyframes pulse { 0%,100% { transform: translateX(-50%) scaleX(.6); opacity: .7; } 50% { transform: translateX(-50%) scaleX(1); opacity: 1; } }
.hero--home { background-image: linear-gradient(rgba(15,23,42,.45), rgba(15,23,42,.45)), url('https://images.unsplash.com/photo-1582719478250-c89cae4dc85b?q=80&w=2000&auto=format&fit=crop'); background-size: cover; background-position:center; }
.hero--mission { background-image: linear-gradient(rgba(15,23,42,.45), rgba(15,23,42,.45)), url('https://images.unsplash.com/photo-1505751172876-fa1923c5c528?q=80&w=2000&auto=format&fit=crop'); background-size: cover; background-position:center; }
.hero--services { background-image: linear-gradient(rgba(15,23,42,.45), rgba(15,23,42,.45)), url('https://images.unsplash.com/photo-1519494080410-f9aa76cbc0f8?q=80&w=2000&auto=format&fit=crop'); background-size: cover; background-position:center; }
.hero--referrals { background-image: linear-gradient(rgba(15,23,42,.45), rgba(15,23,42,.45)), url('https://images.unsplash.com/photo-1584515979956-d9f6e5d0f244?q=80&w=2000&auto=format&fit=crop'); background-size: cover; background-position:center; }
.overlay { position:absolute; inset:0; pointer-events:none; }
.cards { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 24px 0; }
.cards article { background:#fff; border:1px solid rgba(2,6,23,.08); border-radius: 18px; padding: 18px; box-shadow: 0 18px 50px rgba(2,6,23,.07), 0 2px 10px rgba(2,6,23,.06); }
.cards h3 { margin: .2rem 0 .3rem; font-size: 1.1rem; }
.cards p { margin: 0; color: var(--muted); }
.gallery { display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 6px 0 30px; }
.gallery figure { margin: 0; overflow: hidden; border-radius: 16px; box-shadow: 0 14px 36px rgba(2,6,23,.08); border: 1px solid rgba(2,6,23,.06); background:#fff; }
.gallery img { width: 100%; height: 220px; object-fit: cover; display:block; }
.gallery figcaption { padding: 10px 12px; color:#334155; font-weight: 700; }
.banner { background: linear-gradient(90deg, #e0f2fe, #eff6ff); border: 1px solid rgba(2,6,23,.06); border-radius: 14px; padding: 12px 16px; margin: 12px 0 30px; text-align:center; color:#0b1022; font-weight:800; }
.twocol { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin: 24px 0; }
.panel { background:#fff; border:1px solid rgba(2,6,23,.08); border-radius: 18px; padding: 18px; box-shadow: 0 18px 50px rgba(2,6,23,.07), 0 2px 10px rgba(2,6,23,.06); }
.values { margin: .2rem 0 0; padding-left: 1.2rem; }
.values li { margin: .3rem 0; }
.fade { opacity: 0; animation: fadeIn .7s ease forwards; }
.fade:nth-of-type(2) { animation-delay: .12s; }
.fade:nth-of-type(3) { animation-delay: .2s; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 768px){
  .cards { grid-template-columns: 1fr; }
  .gallery { grid-template-columns: 1fr; }
  .twocol { grid-template-columns: 1fr; }
  .fade { opacity: 1 !important; animation: none !important; }
  .brand span { font-size: 1rem; }
  .hero { height: clamp(46vh, 56vh, 62vh); }
  .gallery img { height: 180px; }
}
@media (prefers-reduced-motion: reduce){
  .with-heartbeat::after { animation: none !important; }
  .fade { animation: none !important; opacity: 1 !important; }
}
.foot { padding: 24px 0 40px; color: #64748b; }
.referral-frame { width: 100%; height: 1400px; border: none; }
@media (max-width: 640px){ .referral-frame { height: 100dvh; } }

/* Center two-item galleries */
.gallery.centered { justify-content: center; }
.gallery.centered { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 14px; }
@media (max-width: 680px){
  .gallery.centered { grid-template-columns: 1fr; }
}


.alt-overlay { display:grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap:16px; margin: 6px 0 30px; }
.alt-overlay .tile { position:relative; border-radius:16px; overflow:hidden; height:240px; box-shadow: 0 14px 36px rgba(2,6,23,.08); }
.alt-overlay .tile::before { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.5)); }
.alt-overlay .tile h3 { position:absolute; left:16px; bottom:16px; margin:0; color:#fff; letter-spacing:.2px; }
@media (max-width: 680px){ .alt-overlay { grid-template-columns: 1fr; } .alt-overlay .tile{ height:220px; } }
