.marketing-page .marketing-main { padding-top: 18px; }
.marketing-page .m-section { padding: 72px 0; }
.marketing-page .m-section + .m-section { border-top: 1px solid rgba(15,23,42,.08); }
.marketing-page .hero { padding-top: 96px; }
.marketing-page .hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap: 24px; align-items:center; }
.marketing-page .hero-visual { width:min(420px, 84vw); aspect-ratio:1/1; border:none; border-radius:999px; overflow:hidden; box-shadow:0 20px 48px rgba(15,23,42,.16); background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.85), rgba(226,236,255,.65)); margin:0 auto; }
.marketing-page .hero-fader { position:relative; width:100%; height:100%; }
.marketing-page .hero-fader img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; animation:heroFade 10s ease-in-out infinite; }
.marketing-page .hero-fader img:nth-child(2) { animation-delay:5s; }
@keyframes heroFade {
  0% { opacity: 0; transform: scale(1.04); }
  8% { opacity: 1; transform: scale(1); }
  42% { opacity: 1; transform: scale(1); }
  50% { opacity: 0; transform: scale(1.04); }
  100% { opacity: 0; transform: scale(1.04); }
}
.marketing-page .m-h1 { font-size: clamp(32px, 5vw, 56px); line-height: 1.06; margin: 0 0 12px; letter-spacing:-.02em; }
.marketing-page .m-h2 { font-size: clamp(24px, 3.4vw, 36px); margin: 0 0 14px; }
.marketing-page .m-h3 { font-size: 20px; margin: 0 0 10px; }
.marketing-page .center { text-align:center; }
.marketing-page .m-lead { color: rgba(15,23,42,.80); font-size: 18px; line-height: 1.7; margin: 0 0 18px; }
.marketing-page p { color: rgba(15,23,42,.80); line-height: 1.7; }
.marketing-page .m-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 16px; border:1px solid rgba(15,23,42,.18); border-radius:12px; text-decoration:none; color:#0f172a; background:#fff; font-weight:700; }
.marketing-page .m-btn-primary { border-color: transparent; background: linear-gradient(135deg, var(--mbrand, #214CB3), #3f7df0); color:#fff; }
.marketing-page .feature-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.marketing-page .feature-card { background:rgba(255,255,255,.92); border:1px solid rgba(15,23,42,.10); border-radius:16px; padding:18px; box-shadow:0 10px 22px rgba(15,23,42,.08); }
.marketing-page .feature-icon { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:12px; margin-bottom:10px; background:linear-gradient(135deg, rgba(33,76,179,.14), rgba(63,125,240,.18)); color:#214cb3; font-size:20px; }
.marketing-page .feature-card h3 { margin:0 0 8px; font-size:20px; }
.marketing-page .band { background: linear-gradient(180deg, rgba(33,76,179,.08), rgba(33,76,179,.03)); }
.marketing-page .two-col { display:grid; grid-template-columns: 1fr 1fr; gap:22px; align-items:center; }
.marketing-page .band-image img { width:108%; max-width:620px; height:auto; border-radius:16px; border:none; display:block; }
.marketing-page .m-list { margin:0 0 16px; padding-left:20px; color: rgba(15,23,42,.82); line-height:1.8; }
.marketing-page .pricing { background: rgba(15,23,42,.02); }
.marketing-page .pricing-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
.marketing-page .pricing-card { background:#fff; border:1px solid rgba(15,23,42,.12); border-radius:16px; padding:18px; text-align:center; box-shadow:0 10px 22px rgba(15,23,42,.08); }
.marketing-page .pricing-card h3 { margin:0 0 10px; }
.marketing-page .pricing-card .price { font-size:34px; margin:0 0 8px; font-weight:900; }
.marketing-page .pricing-card .price span { font-size:15px; font-weight:700; }
.marketing-page .narrow { max-width: 780px; }
.marketing-page .m-form { background:#fff; border:1px solid rgba(15,23,42,.12); border-radius:16px; padding:18px; box-shadow:0 10px 22px rgba(15,23,42,.08); }
.marketing-page .m-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.marketing-page .m-form label { display:block; margin:10px 0 6px; font-weight:700; font-size:14px; color:rgba(15,23,42,.80); }
.marketing-page .m-form input,
.marketing-page .m-form select,
.marketing-page .m-form textarea { width:100%; border:1px solid rgba(15,23,42,.16); border-radius:12px; padding:10px 12px; font-size:16px; }
.marketing-page .m-form-actions { margin-top:14px; display:flex; justify-content:center; }
.marketing-page .m-form-message .ok,
.marketing-page .m-form-message .err { border-radius:10px; padding:10px 12px; margin-bottom:10px; }
.marketing-page .m-form-message .ok { background: rgba(22,163,74,.12); border:1px solid rgba(22,163,74,.3); }
.marketing-page .m-form-message .err { background: rgba(220,38,38,.12); border:1px solid rgba(220,38,38,.3); }
.marketing-page .about-photo img { width:100%; max-height:700px; object-fit:cover; border-radius:16px; border:1px solid rgba(15,23,42,.12); }
.marketing-page .city-grid-lite { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.marketing-page .city-card-lite { background:#fff; border:1px solid rgba(15,23,42,.12); border-radius:16px; padding:14px; box-shadow:0 10px 22px rgba(15,23,42,.08); }
.marketing-page .city-head { display:flex; gap:10px; align-items:center; }
.marketing-page .city-head img { width:52px; height:52px; object-fit:contain; border-radius:10px; border:1px solid rgba(15,23,42,.12); background:#fff; }
.marketing-page .city-head h3 { margin:0; font-size:20px; }
.marketing-page .city-head small { color:rgba(15,23,42,.65); }
.marketing-page .city-actions { margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; }

/* Footer classes from shared partial without Bootstrap */
.marketing-page .container { max-width: 1160px; margin: 0 auto; padding: 0 18px; }
.marketing-page .text-center { text-align:center; }
.marketing-page .py-4 { padding: 24px 0; }
.marketing-page .row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.marketing-page .gy-3 { row-gap: 16px; }
.marketing-page .d-flex { display:flex; }
.marketing-page .justify-content-center { justify-content:center; }
.marketing-page .gap-3 { gap: 12px; }
.marketing-page .mt-2 { margin-top: 8px; }
.marketing-page .fs-4 { font-size: 1.25rem; }
.marketing-page .text-primary { color:#1d4ed8; }
.marketing-page .text-danger { color:#e11d48; }

.marketing-page footer {
  border-top:1px solid rgba(15,23,42,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(243,247,255,.95));
}
.marketing-page footer h6 { margin:0 0 10px; font-size:15px; color:#0f172a; }
.marketing-page footer p { margin:0 0 8px; font-size:14px; }
.marketing-page footer a { color:#1f4db9; text-decoration:none; }
.marketing-page footer a:hover { text-decoration:underline; }

@media (max-width: 1024px) {
  .marketing-page .feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .marketing-page .pricing-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .marketing-page .city-grid-lite { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .marketing-page .hero-grid,
  .marketing-page .two-col,
  .marketing-page .m-grid-2,
  .marketing-page .row,
  .marketing-page .feature-grid,
  .marketing-page .pricing-grid,
  .marketing-page .city-grid-lite { grid-template-columns: 1fr; }
  .marketing-page .band-image img { width:100%; max-width:none; }
  .marketing-page .hero { padding-top: 78px; }
}
