
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fff;color:#222;font-family:Arial,Helvetica,sans-serif}
body{font-size:16px;line-height:1.55}
a{text-decoration:none;color:#0b5394}
a:hover{text-decoration:underline}
.gridContainer{width:1232px;max-width:100%;margin:0 auto;background:#fff}
#cabecera{width:100vw;height:313px;overflow:hidden;position:relative;left:50%;margin-left:-50vw;background:#fff}
#cabecera img{display:block;width:100%;height:313px;max-width:none;object-fit:cover;object-position:center center}
#separador{height:10px;background:#fff;border-bottom:1px solid #e6e6e6}
#phone{display:none;height:52px;text-align:right;padding:5px 18px 0 0;background:#fff}
#phone img{width:40px;height:34px;vertical-align:middle}
#menu{min-height:48px;background:#fff;border-top:1px solid #e5e5e5;border-bottom:1px solid #d9d9d9;box-shadow:0 2px 5px rgba(0,0,0,.08)}
#menu ul{list-style:none;margin:0;padding:0}
#menu>ul{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap}
#menu li{position:relative}
#menu>ul>li>a{display:block;padding:14px 16px;color:#222;font-weight:700;font-size:13px;white-space:nowrap}
#menu>ul>li>a:hover,#menu>ul>li:hover>a{background:#0b5394;color:#fff;text-decoration:none}
#menu li ul{display:none;position:absolute;left:0;top:100%;min-width:220px;background:#fff;border:1px solid #d5d5d5;box-shadow:0 5px 12px rgba(0,0,0,.16);z-index:1000}
#menu li:hover>ul{display:block}
#menu li ul li a{display:block;padding:10px 14px;color:#222;font-size:13px;font-weight:600;background:#fff;white-space:nowrap}
#menu li ul li a:hover{background:#0b5394;color:#fff;text-decoration:none}
#menu li ul li ul{left:100%;top:0}
#contenido{padding:0 34px 45px;background:#fff;min-height:300px}
.breadcrumbs{padding:22px 0 10px;color:#777;font-size:13px}
.page-title{margin:0 0 8px;color:#17324d;font-size:30px;line-height:1.2;text-transform:uppercase}
.page-intro{margin:0 0 25px;color:#555;font-size:17px}
.section-title{color:#0b5394;font-size:25px;margin:30px 0 12px;border-bottom:2px solid #0b5394;padding-bottom:7px}
.hero-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:25px;margin:25px 0 35px}
.hero-copy{padding:20px 10px 10px 0}
.hero-copy h1{font-size:38px;line-height:1.15;color:#17324d;margin:0 0 15px}
.hero-copy p{font-size:18px;color:#555}
.notice{border:1px solid #ddd;background:#f7f7f7;padding:22px;border-radius:4px}
.notice strong{display:block;color:#0b5394;font-size:21px;margin-bottom:8px}
.property-grid{display:grid;grid-template-columns:repeat(3,350px);gap:32px 45px;align-items:start;justify-content:center;margin-top:25px}
.property-card{border:1px solid #ddd;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}
.property-card img{display:block;width:350px;height:250px;object-fit:cover}
.property-body{padding:14px 15px 18px}
.property-body h2{font-size:19px;line-height:1.25;color:#0b5394;margin:0 0 8px}
.property-body p{font-size:15px;color:#444;margin:0 0 10px}
.property-key{font-size:14px;font-weight:700;color:#17324d}
.property-price{font-size:15px;font-weight:700;color:#0b5394;margin-top:6px}
.more{display:inline-block;margin-top:12px;padding:9px 15px;background:#0b5394;color:#fff;border-radius:3px;font-weight:700;font-size:14px}
.more:hover{background:#073a68;text-decoration:none}
.info-strip{margin:40px 0 0;padding:25px;background:#f4f7fa;border-top:3px solid #0b5394}
.info-strip h2{margin:0 0 8px;color:#17324d;font-size:23px}
.info-strip p{margin:0;color:#555}
.pagination{display:flex;justify-content:space-between;margin:35px 0 0;padding-top:18px;border-top:1px solid #ddd;font-weight:700}
.pagination a{color:#0b5394}
#redes{text-align:center;border-top:1px solid #ddd;padding:25px 0 12px;background:#fff}
#redes img{vertical-align:middle;margin:0 4px}
#escudo{text-align:center;padding:4px 0 8px}
#escudo img{width:100px;height:50px}
#direccion{text-align:center;color:#333;font-size:15px;line-height:1.7;padding-bottom:10px}
#marca{text-align:center;color:#777;font-size:12px;padding:10px 0 24px;border-top:1px solid #eee}
.article{max-width:900px;margin:0 auto}
.article h1{color:#17324d;font-size:31px}
.article h2{color:#0b5394}
.article p,.article li{font-size:17px;color:#444}
@media(max-width:1100px){.property-grid{grid-template-columns:repeat(2,350px)}.hero-intro{grid-template-columns:1fr}}
@media(max-width:760px){#phone{display:block}#cabecera{height:auto}#cabecera img{height:auto;min-height:190px;object-fit:cover}.gridContainer{width:100%}#menu>ul{justify-content:flex-start}.property-grid{grid-template-columns:1fr}.property-card,.property-card img{width:100%;max-width:350px}.property-card{margin:0 auto}#contenido{padding:0 18px 35px}.page-title{font-size:25px}.hero-copy h1{font-size:30px}}

/* Pie de página profesional */
.site-footer{margin-top:0;background:#10283e;color:#dbe6ef;border-top:4px solid #2a7fb8;width:100vw;position:relative;left:50%;margin-left:-50vw}
.footer-cta{max-width:1160px;margin:0 auto;padding:31px 34px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid rgba(255,255,255,.13)}
.footer-kicker{display:block;color:#86c8e9;font-size:11px;font-weight:800;letter-spacing:1.7px;margin-bottom:7px}
.footer-cta h2{margin:0 0 6px;color:#fff;font-size:25px;line-height:1.2}
.footer-cta p{margin:0;color:#c8d6e1;font-size:15px}
.footer-cta-button{flex:0 0 auto;display:inline-block;background:#fff;color:#123451;padding:13px 20px;border-radius:4px;font-weight:800;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,.18);transition:transform .2s ease,background .2s ease}
.footer-cta-button:hover{background:#edf6fb;color:#0b5394;text-decoration:none;transform:translateY(-1px)}
.footer-cta-button span{font-size:18px;margin-left:7px}
.footer-main{max-width:1160px;margin:0 auto;padding:35px 34px 29px;display:grid;grid-template-columns:1.6fr .8fr .95fr;gap:55px}
.footer-brand img{width:78px;height:40px;object-fit:contain;margin-bottom:10px}
.footer-brand h3{margin:0 0 8px;color:#fff;font-size:19px;text-transform:uppercase;line-height:1.25}
.footer-brand p{margin:0;max-width:470px;color:#b9c9d6;font-size:14px;line-height:1.65}
.footer-social{display:flex;gap:10px;margin-top:19px;align-items:center}
.footer-social a,.footer-social>img{width:50px;height:50px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent;padding:0;border:0;box-shadow:none;transition:transform .2s ease}
.footer-social a:hover,.footer-social>img:hover{transform:translateY(-2px);box-shadow:none}
.footer-social img{width:100%;height:100%;object-fit:cover}
.footer-links h4,.footer-contact h4{margin:2px 0 13px;color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.8px}
.footer-links a{display:block;color:#c8d6e1;font-size:14px;margin:8px 0}
.footer-links a:hover,.footer-contact a:hover{color:#fff;text-decoration:none}
.footer-contact p{margin:0 0 15px;color:#b9c9d6;font-size:14px;line-height:1.65}
.footer-contact p strong{color:#fff}
.footer-contact p span{color:#7fc0e8;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:1px}
.footer-contact a{color:#dceaf3}
.footer-contact-link{display:inline-block;margin-top:2px;padding:9px 13px;border:1px solid rgba(255,255,255,.35);border-radius:3px;font-weight:700;font-size:13px}
.footer-bottom{max-width:1160px;margin:0 auto;padding:15px 34px 18px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;color:#91a8b9;font-size:11px}
@media(max-width:760px){.topbar .phone{display:block}.footer-cta{display:block;padding:26px 18px}.footer-cta-button{margin-top:18px}.footer-main{grid-template-columns:1fr;padding:28px 18px;gap:28px}.footer-bottom{display:block;padding:14px 18px 18px}.footer-bottom span{display:block;margin-top:5px}}

/* Formulario de contacto integrado */
.contact-section{margin:0 auto 45px;max-width:920px;padding:34px 38px;background:#f5f8fb;border-top:4px solid #0b5394;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.contact-section h2{margin:0 0 8px;color:#17324d;font-size:28px}
.contact-section .contact-intro{margin:0 0 24px;color:#596775;font-size:15px;line-height:1.6}
.contact-form-simple{margin:0}
.contact-form-simple .field{margin:0 0 16px}
.contact-form-simple label{display:block;margin:0 0 6px;color:#17324d;font-size:14px;font-weight:700}
.contact-form-simple input,.contact-form-simple textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #cbd5df;border-radius:3px;background:#fff;padding:12px 13px;color:#263746;font:15px Arial,sans-serif;outline:none}
.contact-form-simple input{height:45px}
.contact-form-simple textarea{min-height:125px;resize:vertical}
.contact-form-simple input:focus,.contact-form-simple textarea:focus{border-color:#0b5394;box-shadow:0 0 0 2px rgba(11,83,148,.10)}
.contact-form-simple button{border:0;border-radius:3px;background:#0b5394;color:#fff;padding:13px 24px;font-size:14px;font-weight:800;cursor:pointer}
.contact-form-simple button:hover{background:#17324d}
.contact-form-simple .required-note{margin:10px 0 0;color:#7b8792;font-size:12px}
@media(max-width:760px){.contact-section{padding:28px 18px;margin-bottom:30px}.contact-section h2{font-size:24px}}


/* ===== BLOG / PAGINAS INTERNAS: DISEÑO GLOBAL ===== */
.site{width:100%;max-width:1232px;margin:0 auto;background:#fff;overflow:visible}
.topbar{height:58px;background:#17324d;display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px}
.brand{color:#fff!important;font-size:18px;font-weight:800;letter-spacing:.4px;line-height:1.15;text-decoration:none!important;text-transform:uppercase}
.brand span{font-weight:400;color:#b9d6e9}
.topbar .phone{display:none;color:#fff;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap}
.hero{position:relative;min-height:390px;overflow:hidden;background:#102b45}
.hero>img{display:block;width:100%;height:390px;object-fit:cover;object-position:center}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,31,49,.88) 0%,rgba(8,31,49,.68) 40%,rgba(8,31,49,.08) 78%);pointer-events:none}
.hero .hero-copy{position:absolute;z-index:2;left:0;top:0;width:min(680px,58%);height:100%;padding:62px 42px;color:#fff;display:block}
.hero .eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:#8cc9eb;margin-bottom:10px}
.hero .hero-copy h1{font-size:42px;line-height:1.08;color:#fff;margin:0 0 16px}
.hero .hero-copy p{font-size:17px;line-height:1.6;color:#e2edf4;margin:0 0 22px}
.btn{display:inline-block;padding:11px 17px;border:1px solid rgba(255,255,255,.55);border-radius:3px;color:#fff!important;font-weight:800;font-size:14px;margin:0 8px 8px 0;text-decoration:none!important}
.btn.primary{background:#0b5394;border-color:#0b5394}
.btn:hover{background:#fff;color:#17324d!important;border-color:#fff}
.nav{background:#fff;border-bottom:1px solid #d9e0e6;box-shadow:0 2px 7px rgba(0,0,0,.08);position:relative;z-index:10}
.nav ul{list-style:none;margin:0;padding:0}
.nav>ul{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap}
.nav li{position:relative}
.nav>ul>li>a{display:block;padding:14px 15px;color:#17324d;font-size:13px;font-weight:800;white-space:nowrap;text-decoration:none}
.nav>ul>li:hover>a,.nav>ul>li>a:hover{background:#0b5394;color:#fff;text-decoration:none}
.nav li ul{display:none;position:absolute;left:0;top:100%;min-width:220px;background:#fff;border:1px solid #d5dde4;box-shadow:0 8px 18px rgba(0,0,0,.15);padding:0;z-index:50}
.nav li:hover>ul{display:block}
.nav li ul li a{display:block;padding:11px 14px;color:#17324d;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.nav li ul li a:hover{background:#0b5394;color:#fff}
main{background:#fff}
.section{padding:0 34px 42px}
.section>.article{padding-top:6px}
.article{max-width:920px;margin:0 auto;background:#fff}
.article .breadcrumbs{padding:24px 0 8px;color:#778692;font-size:13px}
.article h1{font-size:34px;line-height:1.2;color:#17324d;margin:0 0 18px}
.article h2{font-size:24px;line-height:1.3;color:#0b5394;margin:28px 0 10px}
.article h3{font-size:20px;line-height:1.35;color:#17324d;margin:25px 0 8px}
.article p,.article li{font-size:17px;line-height:1.72;color:#45535f}
.article ul,.article ol{padding-left:24px}
.article li{margin:5px 0}
.article blockquote{margin:22px 0;padding:18px 22px;border-left:4px solid #0b5394;background:#f4f7fa;color:#53616d}
.blog-head{padding:40px 34px 12px;text-align:center}
.blog-head .eyebrow{font-size:12px;font-weight:800;letter-spacing:1.7px;color:#0b5394;text-transform:uppercase}
.blog-head h1{margin:6px 0 10px;color:#17324d;font-size:38px;line-height:1.15}
.blog-head p{max-width:760px;margin:0 auto;color:#5b6975;font-size:17px}
.blog-grid{max-width:1100px;margin:25px auto 45px;padding:0 34px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.blog-card{border:1px solid #dce3e8;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.07);padding:28px;display:flex;flex-direction:column}
.blog-card .tag{font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:#0b5394;margin-bottom:9px}
.blog-card h2{margin:0 0 10px;color:#17324d;font-size:24px;line-height:1.25}
.blog-card p{margin:0 0 20px;color:#53616d;font-size:16px;line-height:1.65;flex:1}
.blog-card .read{align-self:flex-start;background:#0b5394;color:#fff;padding:10px 16px;border-radius:3px;font-size:14px;font-weight:800;text-decoration:none}
.blog-card .read:hover{background:#17324d}
.footer{margin-top:0;background:#102b45;color:#dbe6ef;border-top:5px solid #1d73a8;width:100vw;position:relative;left:50%;margin-left:-50vw;padding:0!important;text-align:left!important;font-size:inherit!important;line-height:inherit!important}
.footer .social,.footer>strong,.footer>small{display:none}
@media(max-width:760px){
.topbar{height:auto;min-height:58px;padding:12px 18px;flex-direction:column;align-items:flex-start}
.brand{font-size:15px}.topbar .phone{font-size:14px}
.hero{min-height:470px}.hero>img{height:470px}.hero .hero-copy{width:100%;padding:42px 22px}
.hero .hero-copy h1{font-size:31px}.hero .hero-copy p{font-size:16px}
.nav>ul{justify-content:flex-start}.nav>ul>li>a{padding:12px 11px;font-size:12px}
.blog-head{padding:32px 18px 10px}.blog-head h1{font-size:30px}
.blog-grid{grid-template-columns:1fr;padding:0 18px;margin-bottom:30px}
.section{padding:0 18px 30px}.article h1{font-size:28px}.article p,.article li{font-size:16px}
}
