/* Componentes institucionales extraídos del Home Maestro autorizado (noviembre 2026). */
:root{--crp-navy:#001E61;--crp-red:#EE140A;--crp-blue:#0047B8;--crp-soft:#F5F8FC;--crp-border:#D9E2EC}
html{scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
.container{width:min(1240px,calc(100% - 32px));margin-inline:auto}
.site-header,.emergency-bar,footer,.mobile-actions,.mobile-menu{font-family:Poppins,system-ui,sans-serif}
.site-header a,footer a,.mobile-actions a,.mobile-menu a{text-decoration:none}
.site-header .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:45px;border-radius:999px;background:var(--crp-red);color:#fff;font-weight:700;text-decoration:none}
.mobile-menu.open{display:block}
.emergency-bar{
      position:relative;z-index:110;background:var(--crp-red);color:#fff;
      font-size:.9rem;
    }
.emergency-inner{
      min-height:42px;display:flex;align-items:center;justify-content:center;
      gap:16px;flex-wrap:wrap;text-align:center;font-weight:600;
    }
.emergency-actions{display:flex;gap:12px;flex-wrap:wrap}
.emergency-actions a{text-decoration:underline;text-underline-offset:3px}
.site-header{
      position:sticky;top:0;z-index:100;background:rgba(255,255,255,.93);
      border-bottom:1px solid rgba(0,30,97,.08);
      backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    }
.brand{
      display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:230px
    }
.official-logo{width:220px;max-height:70px;object-fit:contain;object-position:left center}
.footer-logo{filter:brightness(0) invert(1);opacity:.96}
.brand-mark{
      width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
      border:2px solid var(--crp-navy);color:var(--crp-red);font-weight:800;
      font-size:1.5rem;background:#fff;
    }
.brand-copy{line-height:1.05}
.brand-copy strong{display:block;color:var(--crp-navy);font-family:"Asap Condensed";font-size:1.15rem}
.brand-copy span{display:block;font-size:.68rem;color:var(--crp-muted);margin-top:4px}
.menu{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}
.menu a,.menu button{
      background:transparent;border:0;color:var(--crp-navy);font-weight:600;
      padding:12px 11px;border-radius:12px;cursor:pointer;white-space:nowrap;
    }
.menu a:hover,.menu button:hover{background:var(--crp-soft)}
.menu .urgent{color:var(--crp-red)}
.nav-cta{flex:0 0 auto}
.mobile-toggle{
      display:none;margin-left:auto;border:0;background:var(--crp-soft);color:var(--crp-navy);
      width:46px;height:46px;border-radius:14px;font-size:1.4rem;cursor:pointer
    }
footer{background:#071B3F;color:#D8E4F0;padding:58px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:30px}
footer h4{font-family:"Asap Condensed";font-size:1.2rem;color:#fff;margin:0 0 14px}
footer a{display:block;color:#C4D2E2;margin:8px 0;font-size:.9rem}
footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.10);margin-top:34px;padding-top:20px;font-size:.78rem;color:#9FB1C6}
footer{padding:38px 0 0}
.footer-grid{grid-template-columns:1.35fr .9fr .9fr .9fr;gap:30px;align-items:start;padding-bottom:28px}
.footer-brand-wrap{max-width:280px}
.footer-brand-wrap .official-logo{width:230px;max-height:72px;object-fit:contain;object-position:left center;display:block;background:#fff;border-radius:10px;padding:6px 8px}
.footer-bottom{margin:0;border-top:1px solid rgba(255,255,255,.10);min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:14px 0}
@media (max-width:1080px){
.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
.footer-grid{grid-template-columns:1fr;gap:18px}
footer{padding-top:30px}
}
.mobile-actions{
      display:none;position:fixed;left:10px;right:10px;bottom:10px;z-index:120;background:#fff;
      border:1px solid var(--crp-border);box-shadow:0 12px 36px rgba(0,30,97,.18);
      border-radius:18px;padding:8px;grid-template-columns:1fr 1fr 1fr;gap:8px
    }
.mobile-actions a{
      min-height:46px;border-radius:13px;display:grid;place-items:center;font-weight:700;
      font-size:.78rem;text-align:center;background:var(--crp-soft);color:var(--crp-navy)
    }
.mobile-actions a:first-child{background:var(--crp-red);color:#fff}
.mobile-menu{
      display:none;position:fixed;inset:0;background:rgba(7,27,63,.55);z-index:130;
    }
.mobile-menu.open{display:block}
.mobile-drawer{
      margin-left:auto;width:min(92%,420px);height:100%;background:#fff;padding:22px;overflow:auto
    }
.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.mobile-drawer nav{display:grid;gap:8px}
.mobile-drawer nav a{
      padding:15px;border-radius:14px;background:var(--crp-soft);color:var(--crp-navy);font-weight:700
    }
.mobile-drawer nav a.urgent{background:var(--crp-red);color:#fff}
@media  (max-width:1080px){
.menu{display:none}
.mobile-toggle{display:block}
.nav-cta{display:none}
}
@media  (max-width:760px){
.emergency-inner{padding:8px 0;gap:8px}
.emergency-actions{justify-content:center}
.brand{min-width:0}
.brand-copy span{display:none}
.need-grid,.feature-grid,.trust-grid,.impact-grid,.quote-grid,.footer-grid,.form-grid{grid-template-columns:1fr}
.mobile-actions{display:grid}
}
.footer-brand-wrap{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
    }
.footer-brand-wrap .official-logo{
      width:210px !important;
      height:auto !important;
      max-height:none !important;
      object-fit:contain !important;
      object-position:left center !important;
      padding:0 !important;
      background:transparent !important;
      border-radius:0 !important;
      display:block;
    }
@media  (max-width:640px){
.footer-brand-wrap .official-logo{
        width:190px !important;
      }
}
.footer-brand-wrap .official-logo{
      width:220px !important;
      height:auto !important;
      background:transparent !important;
      padding:0 !important;
      border-radius:0 !important;
      object-fit:contain !important;
      object-position:left center !important;
    }
@media  (max-width:760px){
footer{
        padding-top:24px !important;
      }
.footer-grid{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:20px 22px !important;
        align-items:start !important;
        padding-bottom:20px !important;
      }
.footer-brand-wrap{
        grid-column:1 / -1;
        display:flex !important;
        flex-direction:row !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:18px !important;
        max-width:none !important;
        padding-bottom:14px;
        border-bottom:1px solid rgba(255,255,255,.10);
      }
.footer-brand-wrap .official-logo{
        width:190px !important;
        flex:0 0 auto;
      }
.footer-brand-wrap p{
        max-width:190px;
        margin:0 !important;
        text-align:right;
        line-height:1.4;
      }
.footer-grid > div:not(.footer-brand-wrap){
        min-width:0;
      }
.footer-grid h4{
        margin-bottom:9px !important;
        font-size:.95rem !important;
      }
.footer-grid a{
        font-size:.83rem !important;
        line-height:1.35 !important;
        margin:5px 0 !important;
      }
.footer-bottom{
        min-height:auto !important;
        padding:12px 0 14px !important;
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:12px !important;
        font-size:.76rem !important;
        line-height:1.35 !important;
      }
.footer-bottom span:last-child{
        text-align:right;
      }
}
@media  (max-width:480px){
.footer-brand-wrap{
        align-items:center !important;
      }
.footer-brand-wrap .official-logo{
        width:165px !important;
      }
.footer-brand-wrap p{
        max-width:145px;
        font-size:.74rem !important;
      }
.footer-grid{
        gap:18px 16px !important;
      }
}
.footer-brand-wrap .official-logo{
      width:220px !important;
      height:auto !important;
      background:#fff !important;
      padding:7px 9px !important;
      border-radius:10px !important;
      object-fit:contain !important;
      object-position:center center !important;
      box-shadow:0 8px 22px rgba(0,0,0,.10);
    }
@media  (max-width:760px){
.footer-brand-wrap .official-logo{
        width:185px !important;
        padding:6px 8px !important;
      }
}
@media  (max-width:480px){
.footer-brand-wrap .official-logo{
        width:160px !important;
      }
}
.site-header .nav{gap:clamp(8px,1.1vw,18px)}
.site-header .menu{min-width:0;gap:clamp(6px,.85vw,16px)}
.site-header .menu>a,.more-trigger{white-space:nowrap}
.site-header .nav-cta{flex-shrink:0;white-space:nowrap}
.more-nav{position:relative;display:flex;align-items:center}
.more-trigger{border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;padding:10px 4px}
.more-dropdown{display:none;position:absolute;top:100%;right:0;min-width:235px;max-width:90vw;padding:10px;background:#fff;box-shadow:0 16px 38px rgba(9,32,62,.18);border-radius:14px;z-index:1000}
.more-nav.open .more-dropdown{display:grid;gap:2px}
.more-dropdown a{color:#183452!important;padding:9px 12px!important;display:block;border-radius:8px;white-space:nowrap}
.more-dropdown a:hover{background:#f0f5fa}
.mobile-more-label{font-weight:700;color:#153a60;padding:15px 0 5px;border-top:1px solid #dde5ee;margin-top:8px}
@media (min-width:901px) and (max-width:1320px){
.site-header .menu{gap:7px;font-size:12px}
.site-header .nav-cta{font-size:12px;padding:10px 12px}
}
@media (max-width:1100px){
.site-header .menu,.site-header .nav-cta{display:none!important}
.site-header .mobile-toggle{display:block!important}
}
@media  (min-width:1401px){
.site-header .nav{gap:clamp(10px,1.1vw,20px)}
.site-header .brand{min-width:0;flex:0 0 165px}
.site-header .brand .official-logo{width:165px;max-width:100%}
.site-header .menu{min-width:0;gap:clamp(7px,.8vw,13px);justify-content:space-between;flex:1 1 auto}
.site-header .menu>a,.site-header .more-trigger{white-space:nowrap;font-size:clamp(11px,.89vw,14px)}
.site-header .nav-cta{white-space:nowrap;flex:0 0 auto;padding:12px 17px;font-size:14px}
}
@media  (min-width:1101px) and (max-width:1400px){
.site-header .menu,.site-header .nav-cta{display:none!important}
.site-header .mobile-toggle{display:block!important}
}
.mobile-more-details{margin-top:8px;border-top:1px solid #dde5ee;padding:12px 0 5px}
.mobile-more-details summary{font-weight:700;color:#153a60;cursor:pointer;list-style:none;padding:8px 0}
.mobile-more-details summary::after{content:"+";float:right;font-size:20px}
.mobile-more-details[open] summary::after{content:"−"}
.mobile-more-details a{display:block;padding:10px 12px!important;margin:2px 0 2px 10px;border-left:2px solid #dde5ee}
@media (min-width:1451px){
.site-header .nav{display:grid!important;grid-template-columns:170px minmax(0,1fr) 154px!important;column-gap:clamp(12px,1.3vw,25px)!important;align-items:center!important}
.site-header .brand{min-width:0!important;width:170px!important;justify-self:start}
.site-header .brand .official-logo{width:165px!important;max-width:100%!important}
.site-header .menu{display:flex!important;justify-content:center!important;gap:clamp(2px,.45vw,10px)!important;min-width:0!important;width:100%;font-size:clamp(11px,.87vw,14px)!important}
.site-header .menu>a,.site-header .more-trigger{padding:10px clamp(3px,.55vw,10px)!important;font-size:inherit!important}
.site-header .nav-cta{justify-self:end!important;min-width:154px!important;text-align:center!important;white-space:nowrap!important}
.site-header .mobile-toggle{display:none!important}
}
@media (max-width:1450px){
.site-header .menu,.site-header .nav-cta{display:none!important}
.site-header .mobile-toggle{display:block!important}
.site-header .nav{display:flex!important;justify-content:space-between!important}
}
@media (hover:hover) and (pointer:fine) and (min-width:1451px){
.more-nav:hover .more-dropdown{display:grid;gap:2px}
}
.more-dropdown{z-index:1200}
.more-trigger:focus-visible,.more-dropdown a:focus-visible{outline:2px solid #e31837;outline-offset:2px}
.official-logo{object-fit:contain!important;object-position:center!important}
@media (min-width:1451px){
.site-header .nav{grid-template-columns:170px minmax(0,1fr) 154px!important;column-gap:12px!important}
.site-header .menu{gap:clamp(1px,.25vw,5px)!important;justify-content:center!important;white-space:nowrap!important}
.site-header .menu>a,.site-header .more-trigger{padding:10px clamp(2px,.35vw,6px)!important;font-size:clamp(10px,.76vw,13px)!important;white-space:nowrap!important}
}
@media (min-width:1600px){
.site-header .nav{width:min(1500px,calc(100% - 40px))!important;max-width:none!important;display:grid!important;grid-template-columns:180px minmax(0,1fr) 154px!important;column-gap:16px!important;align-items:center!important}
.site-header .brand{width:180px!important;min-width:0!important}
.site-header .brand .official-logo{width:176px!important}
.site-header .menu{display:flex!important;gap:clamp(3px,.4vw,9px)!important;justify-content:space-evenly!important;min-width:0!important;width:100%!important;font-size:13px!important}
.site-header .menu>a,.site-header .more-trigger{font-size:13px!important;padding:10px clamp(4px,.5vw,9px)!important}
.site-header .nav-cta{display:inline-flex!important;justify-self:end!important;font-size:13px!important;padding:12px 16px!important;white-space:nowrap!important}
.site-header .mobile-toggle{display:none!important}
}
@media (min-width:1180px){
.site-header .nav{display:grid!important;grid-template-columns:clamp(138px,12vw,175px) minmax(0,1fr) 145px!important;grid-template-rows:auto!important;column-gap:clamp(6px,.85vw,13px)!important;row-gap:0!important;align-items:center!important;width:min(1530px,calc(100% - 28px))!important;max-width:none!important;min-height:78px!important;padding:0!important}
.site-header .brand{grid-column:1!important;grid-row:1!important;min-width:0!important;width:auto!important;justify-self:start!important}
.site-header .brand .official-logo{width:100%!important;max-height:67px!important;object-fit:contain!important}
.site-header .menu{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:0!important;min-width:0!important;width:100%!important;flex-wrap:nowrap!important;font-size:clamp(10.5px,.83vw,13px)!important}
.site-header .menu>a,.site-header .more-trigger{font-size:inherit!important;padding:9px clamp(1px,.22vw,4px)!important;white-space:nowrap!important;letter-spacing:-.012em!important}
.site-header .nav-cta{grid-column:3!important;grid-row:1!important;display:inline-flex!important;justify-self:end!important;justify-content:center!important;min-width:0!important;width:145px!important;padding:11px 10px!important;font-size:12.5px!important;white-space:nowrap!important}
.site-header .mobile-toggle{display:none!important}
}
@media (min-width:761px) and (max-width:1179px){
.site-header .nav{display:flex!important;min-height:78px!important;justify-content:space-between!important}
.site-header .menu,.site-header .nav-cta{display:none!important}
.site-header .mobile-toggle{display:block!important}
}
.mobile-actions .crp-whatsapp-action{border:1.5px solid #25A96A!important;box-shadow:inset 0 0 0 1px rgba(37,169,106,.10);color:#126D48!important;background:#F1FBF5!important}
.mobile-actions .crp-whatsapp-action:hover{background:#E5F7ED!important}
@media (max-width:760px){
.mobile-actions{bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}
.footer-bottom{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;gap:10px!important}
.footer-bottom .crp-credit{text-align:center!important}
}
.footer-bottom .crp-credit{white-space:normal}
.footer-bottom .crp-credit a{display:inline!important;margin:0!important;font-size:inherit!important;font-weight:700!important;background:linear-gradient(100deg,#4B9FEA 0%,#F39A42 52%,#EE75BC 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-decoration:underline;text-decoration-color:#EE75BC;text-underline-offset:4px;text-decoration-thickness:1px}
.footer-bottom .crp-credit a:hover{filter:brightness(1.2);text-decoration-thickness:2px}
