*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f6fb;color:#182033;line-height:1.6}
.top{height:76px;background:#ffffffee;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 6%;box-shadow:0 4px 24px #00000014;position:sticky;top:0;z-index:10}
.brand{font-weight:900;color:#0f172a;text-decoration:none;font-size:22px;letter-spacing:-.5px}
.brand span{background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;border-radius:14px;padding:10px 13px;margin-right:8px;box-shadow:0 8px 18px #1d4ed833}
.top nav a{margin-left:22px;text-decoration:none;color:#334155;font-weight:700}
.top nav a:hover{color:#1d4ed8}

.hero{padding:95px 6%;background:radial-gradient(circle at top right,#38bdf855,transparent 35%),linear-gradient(135deg,#0f172a,#1d4ed8);color:white}
.hero h1{font-size:52px;line-height:1.08;max-width:850px;margin:14px 0 18px;letter-spacing:-1.6px}
.hero p{font-size:21px;max-width:720px;color:#e0f2fe}
.tag,.badge{display:inline-block;background:#e0f2fe;color:#075985;border-radius:999px;padding:8px 16px;font-weight:900;font-size:14px}

.search{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;max-width:980px;margin-top:32px;background:#ffffff1a;padding:16px;border-radius:24px;backdrop-filter:blur(8px)}
.search select,.search button,.filter,input,textarea,select{border:1px solid #d9e1ef;border-radius:16px;padding:16px;font-size:16px;outline:none}
.search select:focus,.filter:focus,input:focus,textarea:focus,select:focus{border-color:#1d4ed8;box-shadow:0 0 0 4px #1d4ed81a}
.search button,button,.whats{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border:0;border-radius:16px;padding:16px 24px;font-weight:900;text-decoration:none;display:inline-block;cursor:pointer;box-shadow:0 10px 24px #16a34a33}
.search button:hover,button:hover,.whats:hover,.float:hover{transform:translateY(-1px);filter:brightness(1.04)}

.wrap{padding:46px 6%;max-width:1180px;margin:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;padding:30px 6%}
.wrap .grid{padding:26px 0}
.card{background:#fff;border:1px solid #e5eaf3;border-radius:22px;padding:24px;text-decoration:none;color:#182033;box-shadow:0 12px 30px #0000000b;transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 42px #00000014;border-color:#bfdbfe}
.card b{display:block;font-size:21px;color:#0f172a;margin-bottom:4px}
.card span{color:#64748b;font-weight:700}

.lead{font-size:20px;color:#475569}
.crumb{color:#64748b;font-weight:700}
.crumb a{color:#1d4ed8;text-decoration:none}
.ad{display:grid;grid-template-columns:1.7fr .8fr;gap:24px;align-items:stretch}
.ad>div,.content,.box{background:#fff;border-radius:28px;padding:32px;box-shadow:0 14px 40px #0000000d;border:1px solid #e5eaf3}
.ad h1{font-size:44px;line-height:1.12;margin:16px 0;color:#0f172a;letter-spacing:-1px}
.box b{display:block;color:#0f172a;margin-top:8px}
.box p{color:#475569;margin-top:6px}

.content h2{font-size:28px;color:#0f172a;margin-top:8px}
.content p{color:#475569;font-size:17px}
.map{width:100%;height:380px;border:0;border-radius:24px;margin:24px 0;box-shadow:0 10px 28px #00000012}
.bottom{margin-top:22px}
.float{position:fixed;right:20px;bottom:20px;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;text-decoration:none;border-radius:999px;padding:15px 20px;font-weight:900;box-shadow:0 12px 30px #0004;z-index:20}
.foot{background:#0f172a;color:white;padding:38px 6%;margin-top:55px}
details{background:#f8fafc;border:1px solid #e5eaf3;border-radius:16px;padding:18px;margin:12px 0}
summary{font-weight:900;color:#0f172a;cursor:pointer}
.filter{width:100%;margin:16px 0 8px;background:#fff}
.content label{display:block;font-weight:900;margin:14px 0 6px}
.content input,.content select,.content textarea{width:100%;margin-bottom:8px;background:#fff}

@media(max-width:760px){
  .search,.ad{grid-template-columns:1fr}
  .hero{padding:70px 4%}
  .hero h1,.ad h1{font-size:34px}
  .hero p,.lead{font-size:18px}
  .top{padding:0 4%;height:70px}
  .top nav{display:none}
  .grid{grid-template-columns:1fr;padding:22px 4%}
  .wrap{padding:28px 4%}
  .ad>div,.content,.box{padding:24px}
}
@keyframes leadPulse{0%{opacity:1}50%{opacity:.35}100%{opacity:1}}
