:root{
  --blue:#24456f;
  --dark:#202124;
  --muted:#5f6368;
  --line:#ededed;
  --bg:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--dark);font-family:Montserrat,Arial,sans-serif;font-size:16px}
.site-header{height:106px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}
.logo img{width:82px;height:auto;display:block}
.main-nav{display:flex;align-items:center;gap:34px;height:100%;font-size:15px;font-weight:500;letter-spacing:.01em}
.main-nav a{color:#202124;text-decoration:none;white-space:nowrap}
.main-nav a:hover{color:#000}
.nav-dropdown{position:relative;height:100%;display:flex;align-items:center}.nav-dropdown span{font-size:16px;margin-left:4px}.dropdown-menu{position:absolute;top:74px;left:-24px;background:#fff;min-width:230px;box-shadow:0 8px 22px rgba(0,0,0,.16);padding:12px 0;display:none;z-index:20}.dropdown-menu a{display:block;padding:12px 18px;font-size:13px}.nav-dropdown:hover .dropdown-menu{display:block}.search-btn{width:28px;height:28px;border:0;background:transparent;position:relative;cursor:pointer}.search-btn:before{content:"";position:absolute;width:14px;height:14px;border:3px solid #202124;border-radius:50%;left:2px;top:2px}.search-btn:after{content:"";position:absolute;width:11px;height:3px;background:#202124;transform:rotate(-45deg);right:3px;bottom:5px;border-radius:3px}
.hero{height:570px;position:relative;background:url('assets/Portada.png') center center/cover no-repeat;display:flex;align-items:center;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.31)}.hero-content{position:relative;width:min(1050px,92vw);margin:0 auto;padding-top:70px}.hero h1{margin:0;color:#fff;font-size:42px;line-height:1.46;font-weight:300;letter-spacing:.01em;text-shadow:0 1px 4px rgba(0,0,0,.22)}.hero h1 strong{font-weight:800}.scroll-down{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:rgba(255,255,255,.72);font-size:58px;line-height:1;text-decoration:none;font-weight:200}.container{width:min(1060px,92vw);margin:0 auto}.narrow{width:min(920px,90vw)}.section-white{background:#fff;padding:72px 0}.section-gray{background:#f5f5f5;padding:72px 0}.two-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:34px}.credit-card{display:block;text-decoration:none;color:#202124;background:#fff;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.08);transition:.2s}.credit-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.13)}.credit-card img{width:100%;height:260px;object-fit:cover;display:block}.credit-card span{display:block;padding:22px;font-weight:600;font-size:20px}h2{margin:0 0 25px;text-align:center;font-size:32px;font-weight:500;letter-spacing:.01em;color:#222}p{line-height:1.78;color:#3c4043;margin:0 0 18px}.about p{text-align:justify}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px}.grid-3 article{background:#fff;padding:34px 30px;box-shadow:0 1px 10px rgba(0,0,0,.05)}.grid-3 h2{font-size:25px}.grid-3 ul{margin:0;padding-left:24px;color:#3c4043;line-height:2}.quote-band{background:var(--blue);color:#fff;text-align:center;padding:84px 0}.quote-band p{color:#fff;letter-spacing:.16em;font-size:18px;margin:0 0 16px}.quote-band h2{color:#fff;font-size:29px;max-width:850px;margin:0 auto;line-height:1.42}.news h2{text-align:left}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.news-card{background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.08);overflow:hidden}.news-card img{width:100%;height:210px;object-fit:cover;display:block}.news-card h3{font-size:18px;font-weight:600;margin:0;padding:18px 20px 24px}.contact h2{text-align:left}.footer{padding:30px 0;background:#fff;border-top:1px solid var(--line)}.footer-links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.footer a{color:#3c4043;text-decoration:none;font-size:14px}.footer a:hover{text-decoration:underline}@media(max-width:820px){.site-header{height:auto;min-height:88px;padding:18px 22px;align-items:flex-start}.main-nav{gap:16px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.hero{height:520px;background-position:center}.hero-content{padding-top:30px}.hero h1{font-size:34px}.two-cards,.grid-3,.news-grid{grid-template-columns:1fr}.credit-card img,.news-card img{height:220px}}

/* Animaciones y formulario */
@keyframes fadeUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@keyframes zoomIn{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
@keyframes floatSoft{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulseArrow{0%,100%{opacity:.5;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(8px)}}

.site-header{animation:fadeUp .8s ease both}
.logo img{transition:transform .25s ease,filter .25s ease}
.logo:hover img{transform:scale(1.08);filter:drop-shadow(0 7px 12px rgba(0,0,0,.18))}
.main-nav a{position:relative;transition:color .25s ease,transform .25s ease}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#24456f;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-nav a:hover{transform:translateY(-2px)}
.main-nav a:hover::after{transform:scaleX(1)}
.search-btn{transition:transform .25s ease}
.search-btn:hover{transform:scale(1.15) rotate(-8deg)}
.hero{animation:zoomIn 1.1s ease both;background-position:center center}.hero-content{animation:fadeUp 1s ease .25s both}.scroll-down{animation:pulseArrow 1.6s ease-in-out infinite}.credit-card,.news-card,.grid-3 article,.animated-card{animation:fadeUp .8s ease both}.credit-card:nth-child(2),.grid-3 article:nth-child(2),.news-card:nth-child(2){animation-delay:.12s}.grid-3 article:nth-child(3),.news-card:nth-child(3){animation-delay:.24s}.credit-card img,.news-card img{transition:transform .45s ease,filter .45s ease}.credit-card:hover img,.news-card:hover img{transform:scale(1.06);filter:saturate(1.08) contrast(1.05)}.credit-card:hover,.news-card:hover,.grid-3 article:hover,.animated-card:hover{transform:translateY(-6px);box-shadow:0 18px 32px rgba(0,0,0,.14)}

.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:start}.contact-info,.contact-form{background:#fff;border-radius:12px;box-shadow:0 2px 14px rgba(0,0,0,.08);padding:34px}.contact-info h2{text-align:left}.contact-form{border-top:8px solid #673ab7}.form-head{border-bottom:1px solid #e5e7eb;margin:-4px -4px 22px;padding:0 4px 18px}.form-head h2{text-align:left;margin-bottom:10px;font-size:34px;font-weight:400}.form-head p{margin:0;color:#5f6368}.contact-form label{display:block;background:#fff;border:1px solid #dadce0;border-radius:10px;padding:22px;margin-bottom:14px;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.contact-form label:focus-within{border-color:#673ab7;box-shadow:0 8px 20px rgba(103,58,183,.12);transform:translateY(-2px)}.contact-form span{display:block;font-size:18px;color:#3c4043;margin-bottom:18px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #dadce0;outline:0;font:inherit;color:#202124;padding:9px 2px 10px;background:transparent;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:#673ab7}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.btn-submit,.btn-reset{border:0;cursor:pointer;font-family:inherit;font-weight:700;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.btn-submit{background:#673ab7;color:#fff;border-radius:4px;padding:13px 30px;box-shadow:0 6px 14px rgba(103,58,183,.28)}.btn-submit:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(103,58,183,.34);filter:brightness(1.05)}.btn-reset{background:transparent;color:#673ab7;padding:12px}.btn-reset:hover{transform:translateY(-2px);text-decoration:underline}.quote-band h2{animation:floatSoft 4.5s ease-in-out infinite}

@media(max-width:820px){.contact-layout{grid-template-columns:1fr}.form-head h2{font-size:28px}.form-actions{align-items:flex-start;flex-direction:column}.btn-submit{width:100%}}
