/* site.css */
:root {
  --navy:#092c4c;
  --navy-2:#123f68;
  --navy-3:#1c567d;
  --gold:#c79a3f;
  --gold-2:#e4c16f;
  --gold-soft:#f8f0df;
  --ink:#10243a;
  --muted:#5c6c7d;
  --paper:#f5f7fb;
  --paper-2:#eef2f7;
  --white:#fff;
  --line:#dde5ee;
  --line-strong:#c9d4df;
  --ok:#18794e;
  --danger:#b42318;
  --shadow:0 22px 56px rgba(8,47,87,.12);
  --shadow-soft:0 10px 24px rgba(8,47,87,.07);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--gold)}
.eyebrow::before{content:"";width:30px;height:2px;background:currentColor}
.section{padding:84px 0}.section-tight{padding:60px 0}.section-soft{background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(239,243,248,.62));border-block:1px solid rgba(221,229,238,.8)}
.section-head{max-width:820px;margin-bottom:36px}.section-head h2{margin:10px 0;font-size:clamp(2rem,4vw,3.1rem);line-height:1.06;letter-spacing:-.04em}.section-head p{margin:0;color:var(--muted);font-size:1.04rem}

.topbar{background:#071f36;color:#d8e4ef;font-size:.82rem}.topbar .container{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar span{display:inline-flex;align-items:center;gap:8px}.topbar svg{width:16px;height:16px;color:var(--gold-2)}
.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(18px);background:rgba(255,255,255,.93);border-bottom:1px solid rgba(223,230,237,.9)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;text-decoration:none;min-width:190px}.brand img{width:186px;height:62px;object-fit:contain;object-position:left center}
.nav-links{display:flex;align-items:center;gap:24px}.nav-links a{text-decoration:none;font-size:.95rem;font-weight:700;color:#34485c;position:relative;padding:8px 0}.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transform:scaleX(.72);transform-origin:left;transition:.2s ease}.nav-links a:hover,.nav-links a.active{color:var(--navy)}.nav-links a:hover::after,.nav-links a.active::after{opacity:1;transform:scaleX(1)}
.nav-actions{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:13px 20px;text-decoration:none;font-weight:800;cursor:pointer;transition:.18s ease;white-space:nowrap}.btn svg{width:18px;height:18px}.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(8,47,87,.18)}.btn-primary:hover{background:var(--navy-2);transform:translateY(-1px)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#172a3e;box-shadow:0 12px 24px rgba(200,155,60,.24)}.btn-gold:hover{transform:translateY(-1px)}.btn-ghost{border:1px solid var(--line);background:#fff;color:var(--navy)}.btn-ghost:hover{border-color:var(--line-strong);background:#f9fbfd}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy)}.menu-toggle svg{width:19px;height:19px}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#061f3a 0%,#0b355c 54%,#124a72 100%);color:#fff}.hero::before{content:"";position:absolute;inset:-260px -180px auto auto;width:580px;height:580px;border-radius:50%;border:110px solid rgba(224,189,104,.09)}.hero::after{content:"";position:absolute;left:-140px;bottom:-220px;width:430px;height:430px;border-radius:50%;background:rgba(200,155,60,.08)}.hero .container{position:relative;z-index:1}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:56px;align-items:center;padding:82px 0 86px}.hero-copy h1{font-size:clamp(2.85rem,6vw,5.4rem);line-height:.96;letter-spacing:-.06em;margin:14px 0 18px;max-width:760px}.hero-copy h1 span{color:var(--gold-2)}.hero-copy p{max-width:680px;font-size:1.1rem;color:#d8e4ef;margin:0 0 14px}.hero-copy p strong{color:#fff}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 24px}.hero .btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.18)}.hero-points{display:flex;flex-wrap:wrap;gap:10px}.hero-points span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);color:#dce7f0;font-size:.92rem}.hero-points svg{width:16px;height:16px;color:var(--gold-2)}

.quote-card{background:#fff;color:var(--ink);border-radius:28px;padding:26px;box-shadow:0 28px 80px rgba(1,16,32,.28);border:1px solid rgba(255,255,255,.44)}.quote-card .mini{font-size:.84rem;color:var(--muted);margin:0 0 18px}.quote-card h2,.quote-card h3{margin:0 0 6px;line-height:1.2}.quote-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.quote-card-badge{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:800;color:var(--navy);background:var(--gold-soft);padding:8px 12px;border-radius:999px;white-space:nowrap}.quote-card-badge svg{width:15px;height:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{margin-bottom:12px}.field.full{grid-column:1/-1}.field label{display:block;font-size:.79rem;font-weight:800;margin:0 0 6px;color:#34485c}.field input,.field select,.field textarea{width:100%;border:1px solid #d7e0e9;border-radius:14px;padding:12px 13px;background:#fff;color:var(--ink);outline:none;transition:.18s ease}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(200,155,60,.12)}.form-note{font-size:.74rem;color:var(--muted);margin:8px 0 0}.form-message{display:none;padding:10px 12px;border-radius:12px;font-size:.82rem;margin-top:12px}.form-message.ok{display:block;background:#e9f7ef;color:var(--ok)}.form-message.err{display:block;background:#fff0ef;color:var(--danger)}.submit-btn{width:100%;margin-top:4px}

.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:24px 22px;border-right:1px solid var(--line);display:flex;gap:14px}.trust-item:last-child{border-right:0}.trust-item .icon-wrap{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:var(--gold-soft);color:var(--navy)}.trust-item .icon-wrap svg{width:20px;height:20px}.trust-item strong{display:block;color:var(--navy);font-size:1rem}.trust-item span{color:var(--muted);font-size:.88rem;display:block}

.insurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.insurance-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-soft);text-decoration:none;transition:.24s ease}.insurance-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(8,47,87,.12);border-color:#d1dbe5}.insurance-card:focus-visible{outline:3px solid rgba(199,154,63,.38);outline-offset:3px}.card-media{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,#0b355d,#154d76);overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.insurance-card:hover .card-media img{transform:scale(1.025)}.card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,43,.02),rgba(7,24,43,.2));pointer-events:none}.card-media.no-image{display:grid;place-items:center;background:radial-gradient(circle at 78% 22%,rgba(228,193,111,.22),transparent 22%),radial-gradient(circle at 18% 84%,rgba(255,255,255,.12),transparent 26%),linear-gradient(135deg,#092c4c,#174c73)}.card-media.no-image::before{content:"AGESER";position:absolute;z-index:1;color:rgba(255,255,255,.78);letter-spacing:.18em;font-weight:800;font-size:.82rem}.card-media.no-image img{display:none}.card-badge{position:absolute;left:16px;top:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,.94);color:var(--navy);border-radius:999px;font-size:.78rem;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.12)}.card-badge svg{width:16px;height:16px}.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.card-title-row h3{margin:0;font-size:1.22rem;line-height:1.15}.card-arrow{width:42px;height:42px;border-radius:14px;background:var(--paper-2);display:grid;place-items:center;color:var(--navy);flex:0 0 42px}.card-arrow svg{width:18px;height:18px}.card-copy{color:var(--muted);margin:0 0 16px;font-size:.95rem}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.card-meta span{display:inline-flex;align-items:center;gap:4px;padding:7px 9px;border-radius:999px;background:#f6f9fc;color:#4a6074;font-size:.76rem;font-weight:700}.card-meta svg{width:12px;height:12px;color:var(--gold)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.panel-dark{border-radius:34px;padding:36px;background:linear-gradient(145deg,var(--navy),#0b3c67);color:#fff;box-shadow:var(--shadow)}.panel-dark h3{font-size:2rem;line-height:1.08;margin:0 0 14px}.panel-dark p{color:#dbe6ef;margin:0}.value-list,.check-list{list-style:none;padding:0;margin:20px 0 0}.value-list li,.check-list li{padding:11px 0 11px 32px;position:relative;color:var(--muted);border-bottom:1px dashed rgba(221,229,238,.9)}.value-list li:last-child,.check-list li:last-child{border-bottom:0}.panel-dark .check-list li{color:#e5edf4;border-bottom-color:rgba(255,255,255,.12)}.value-list li::before,.check-list li::before{content:"";position:absolute;left:0;top:15px;width:18px;height:18px;border-radius:50%;background:var(--gold-soft)}.value-list li::after,.check-list li::after{content:"";position:absolute;left:6px;top:21px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.feature-box{padding:22px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.feature-box h3{margin:14px 0 6px;font-size:1.08rem}.feature-box p{margin:0;color:var(--muted);font-size:.94rem}.feature-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--gold-soft);color:var(--navy)}.feature-icon svg{width:22px;height:22px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{padding:24px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.step-number{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--navy);color:#fff;font-size:.86rem;font-weight:800}.step h3{margin:14px 0 6px;font-size:1.08rem}.step p{margin:0;color:var(--muted);font-size:.94rem}

.insurer-marquee{position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft);padding:18px 0}.insurer-marquee::before,.insurer-marquee::after{content:"";position:absolute;top:0;bottom:0;width:86px;z-index:3;pointer-events:none}.insurer-marquee::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.insurer-marquee::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}.marquee-track{display:flex;gap:16px;width:max-content;animation:scroll-marquee 36s linear infinite;padding-inline:18px}.insurer-marquee:hover .marquee-track{animation-play-state:paused}.insurer-pill{min-width:210px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fbfcfe;display:flex;align-items:center;justify-content:center;min-height:86px}.insurer-pill img{max-width:155px;max-height:48px;width:auto;height:auto;object-fit:contain}.insurer-name{text-align:center;font-size:.88rem;font-weight:800;color:#274058;line-height:1.35}.insurer-name[hidden]{display:none}@keyframes scroll-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.disclaimer{border-left:4px solid var(--gold);padding:15px 18px;background:var(--gold-soft);color:#5e4b27;border-radius:0 14px 14px 0;font-size:.92rem}.cta-band{background:linear-gradient(135deg,#082f57,#0e4d78);color:#fff;border-radius:30px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:26px;box-shadow:var(--shadow)}.cta-band h2{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.06}.cta-band p{margin:0;color:#dce7f0}

.page-hero{background:linear-gradient(135deg,#061f3a,#0b416c);color:#fff;padding:76px 0 66px;position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;right:-140px;top:-140px;width:360px;height:360px;border-radius:50%;border:80px solid rgba(224,189,104,.08)}.page-hero .container{position:relative;z-index:1}.breadcrumbs{font-size:.84rem;color:#b9c9d8;margin-bottom:18px}.breadcrumbs a{text-decoration:none}.page-hero h1{font-size:clamp(2.6rem,6vw,4.8rem);letter-spacing:-.05em;line-height:.98;margin:0 0 18px;max-width:900px}.page-hero p{max-width:820px;margin:0;color:#dce7f0;font-size:1.08rem}.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:46px;align-items:start}.content h2{font-size:1.95rem;line-height:1.12;margin:42px 0 14px;letter-spacing:-.03em}.content h2:first-child{margin-top:0}.content h3{margin:24px 0 8px}.content p{color:#4d6174}.content ul{color:#4d6174;padding-left:22px}.content li{margin:8px 0}.sticky-form{position:sticky;top:102px;display:grid;gap:16px}.aside-panel{padding:22px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.aside-panel h3{margin:0 0 8px;font-size:1.05rem}.aside-panel p{margin:0;color:var(--muted);font-size:.92rem}.aside-list{list-style:none;padding:0;margin:14px 0 0}.aside-list li{display:flex;gap:10px;color:#42576b;margin:10px 0}.aside-list svg{width:16px;height:16px;color:var(--gold);flex:0 0 16px;margin-top:4px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}.info-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-soft)}.info-box strong{display:block;margin-bottom:6px;color:var(--navy)}.info-box span{color:var(--muted);font-size:.92rem}.info-box svg{width:18px;height:18px;color:var(--gold);margin-bottom:10px}
.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;list-style:none;font-weight:800;color:#263d53;padding-right:30px;position:relative}summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:0;top:-4px;font-size:1.5rem;color:var(--gold)}details[open] summary::after{content:"−"}details p{margin:10px 0 0;color:var(--muted)}
.glossary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.term{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow-soft)}.term h3{margin:12px 0 6px;color:var(--navy);font-size:1.04rem}.term p{margin:0;color:var(--muted);font-size:.93rem}.term svg{width:20px;height:20px;color:var(--gold)}
.placeholder{text-align:center;max-width:860px;margin:0 auto}.placeholder-badge{width:84px;height:84px;border-radius:24px;background:var(--gold-soft);color:var(--navy);display:grid;place-items:center;margin:0 auto 22px}.placeholder-badge svg{width:38px;height:38px}.timeline-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px;text-align:left}.timeline-card{padding:22px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.timeline-card strong{display:block;color:var(--navy);margin-bottom:6px}.timeline-card p{margin:0;color:var(--muted);font-size:.92rem}

.site-footer{background:#061f3a;color:#cbd8e3;margin-top:74px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:42px;padding:56px 0 38px}.footer-brand img{width:200px;background:#fff;border-radius:16px;padding:8px 10px;margin-bottom:16px}.footer-brand p{max-width:430px;color:#aebfce}.footer-links h4{color:#fff;margin:0 0 12px}.footer-links a{display:flex;align-items:center;gap:8px;text-decoration:none;color:#cbd8e3;margin:8px 0;font-size:.92rem}.footer-links svg{width:16px;height:16px;color:var(--gold-2)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0 28px;font-size:.78rem;color:#9eb0c0;display:flex;justify-content:space-between;gap:20px}.mobile-quote{display:none}

@media(max-width:1100px){.insurance-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.topbar .container{justify-content:center;text-align:center}.topbar .container span:last-child{display:none}.nav-links{display:none;position:absolute;left:20px;right:20px;top:78px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:14px}.nav-links.open{display:flex}.menu-toggle{display:grid;place-items:center}.nav-actions .btn-ghost{display:none}.hero-grid,.page-layout,.split{grid-template-columns:1fr}.hero-grid{gap:36px;padding:64px 0 74px}.quote-card{max-width:720px}.sticky-form{position:static}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.feature-grid,.timeline-mini{grid-template-columns:1fr}}
@media(max-width:680px){.container{width:min(100% - 28px,1180px)}.nav{min-height:70px}.brand img{width:150px;height:52px}.nav-actions .btn-primary{display:none}.section{padding:64px 0}.hero-grid{padding:54px 0 62px}.hero-copy h1{font-size:clamp(2.55rem,13vw,4rem)}.quote-card-head{display:block}.quote-card-badge{margin-top:8px}.form-grid,.insurance-grid,.info-grid,.glossary-grid,.footer-grid,.steps,.trust-grid,.feature-grid{grid-template-columns:1fr}.cta-band{padding:28px;flex-direction:column;align-items:flex-start}.page-hero{padding:56px 0 50px}.trust-item{border-right:0!important;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}.footer-bottom{flex-direction:column}.marquee-track{animation-duration:42s}.insurer-pill{min-width:180px}.mobile-quote{display:flex;position:fixed;z-index:90;left:14px;right:14px;bottom:14px;justify-content:center;align-items:center;gap:8px;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#13283b;border-radius:999px;padding:14px 18px;font-weight:900;text-decoration:none;box-shadow:0 18px 45px rgba(0,0,0,.22)}.mobile-quote svg{width:18px;height:18px}body{padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.insurance-card,.btn{transition:none}}

/* site-polish.css */
/* Capa visual final de AGESER: profundidad, movimiento y feedback sin cambiar la identidad. */
:root {
  --polish-ease: cubic-bezier(.22,.8,.24,1);
  --polish-shadow: 0 18px 45px rgba(7,31,54,.10), 0 2px 8px rgba(7,31,54,.04);
  --polish-shadow-hover: 0 28px 70px rgba(7,31,54,.15), 0 8px 20px rgba(7,31,54,.07);
}

body {
  overflow-x: hidden;
}

.site-header {
  transition: box-shadow .28s var(--polish-ease), background-color .28s var(--polish-ease), border-color .28s var(--polish-ease);
}
.site-header.is-scrolled {
  background: rgba(255,255,255,.975);
  border-bottom-color: rgba(199,154,63,.20);
  box-shadow: 0 10px 34px rgba(7,31,54,.10);
}

/* Loader de marca: solo aparece durante una carga real y desaparece suavemente. */
.ageser-page-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 42%, rgba(228,193,111,.13), transparent 24%),
    linear-gradient(145deg, #f8fafc 0%, #fff 58%, #eef3f8 100%);
  opacity: 1;
  visibility: visible;
  transition: opacity .36s ease, visibility .36s ease;
}
.ageser-page-loader.is-hiding {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.ageser-loader-inner {
  display: grid;
  justify-items: center;
  gap: 18px;
  color: var(--navy);
}
.ageser-loader-mark {
  position: relative;
  width: 132px;
  height: 132px;
  display: grid;
  place-items: center;
  border-radius: 34px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 24px 65px rgba(7,31,54,.14);
}
.ageser-loader-mark img {
  width: 96px;
  height: 82px;
  object-fit: contain;
}
.ageser-loader-ring {
  position: absolute;
  inset: -10px;
  border-radius: 42px;
  border: 2px solid rgba(9,44,76,.09);
  border-top-color: var(--gold);
  border-right-color: rgba(199,154,63,.55);
  animation: ageser-loader-spin 1.05s linear infinite;
}
.ageser-loader-inner strong {
  font-size: .88rem;
  letter-spacing: .02em;
}
.ageser-loader-inner span {
  margin-top: -12px;
  font-size: .75rem;
  color: var(--muted);
}
@keyframes ageser-loader-spin { to { transform: rotate(360deg); } }

/* Entrada inicial del hero. */
.hero-copy,
.hero .quote-card {
  animation: ageser-intro .72s var(--polish-ease) both;
}
.hero .quote-card { animation-delay: .10s; }
@keyframes ageser-intro {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Reveal progresivo al hacer scroll. */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity .68s var(--polish-ease),
    transform .68s var(--polish-ease);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.reveal-on-scroll.reveal-from-left { transform: translateX(-24px); }
.reveal-on-scroll.reveal-from-right { transform: translateX(24px); }
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}

/* Profundidad y microinteracciones consistentes. */
.insurance-card,
.feature-box,
.step,
.term,
.quote-card,
.cta-band,
.panel-dark,
.insurer-carousel,
.placeholder,
.faq details {
  transition:
    transform .28s var(--polish-ease),
    box-shadow .28s var(--polish-ease),
    border-color .28s var(--polish-ease),
    background-color .28s var(--polish-ease);
}
.insurance-card,
.feature-box,
.step,
.term,
.faq details {
  box-shadow: var(--polish-shadow);
}
.insurance-card:hover,
.feature-box:hover,
.step:hover,
.term:hover {
  transform: translateY(-5px);
  box-shadow: var(--polish-shadow-hover);
  border-color: rgba(199,154,63,.30);
}
.card-media img {
  transition: transform .65s var(--polish-ease), filter .45s ease;
}
.insurance-card:hover .card-media img {
  transform: scale(1.045);
  filter: saturate(1.03) contrast(1.02);
}
.card-arrow {
  transition: transform .28s var(--polish-ease), background-color .28s ease, color .28s ease;
}
.insurance-card:hover .card-arrow {
  transform: translate(2px,-2px);
  background: var(--gold-soft);
  color: var(--navy);
}

.btn {
  position: relative;
  overflow: hidden;
  transition: transform .22s var(--polish-ease), box-shadow .22s var(--polish-ease), background-color .22s ease, border-color .22s ease;
}
.btn::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -45%;
  width: 34%;
  height: 340%;
  transform: rotate(24deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.30), transparent);
  opacity: 0;
  transition: left .55s var(--polish-ease), opacity .18s ease;
  pointer-events: none;
}
.btn:hover::after { left: 112%; opacity: 1; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.985); }

.nav-links a {
  transition: color .2s ease, transform .2s var(--polish-ease);
}
.nav-links a:hover { transform: translateY(-1px); }

.trust-item .icon-wrap,
.feature-icon,
.card-badge,
.quote-card-badge {
  transition: transform .25s var(--polish-ease), box-shadow .25s ease;
}
.trust-item:hover .icon-wrap,
.feature-box:hover .feature-icon {
  transform: translateY(-2px) rotate(-2deg);
  box-shadow: 0 8px 18px rgba(199,154,63,.18);
}

.faq details {
  background: rgba(255,255,255,.94);
}
.faq details[open] {
  border-color: rgba(199,154,63,.34);
  box-shadow: 0 16px 38px rgba(7,31,54,.09);
  transform: translateY(-1px);
}
.faq summary {
  transition: color .2s ease;
}
.faq details[open] summary { color: var(--navy); }

/* Barra de progreso discretísima en la parte superior al navegar una página larga. */
.ageser-scroll-progress {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10001;
  width: 100%;
  height: 3px;
  pointer-events: none;
  background: transparent;
}
.ageser-scroll-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--gold), var(--gold-2), var(--navy-3));
  box-shadow: 0 1px 8px rgba(199,154,63,.28);
  transition: width .08s linear;
}

/* Footer legal. */
.footer-legal-links {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 16px;
}
.footer-legal-links a {
  color: inherit;
  text-decoration: none;
  opacity: .82;
  transition: opacity .18s ease, color .18s ease;
}
.footer-legal-links a:hover { opacity: 1; color: var(--gold-2); }
.form-note a { color: var(--navy); font-weight: 700; }
.form-note a:hover { text-decoration: underline; }

/* Páginas legales: deliberadamente sobrias y fáciles de leer. */
.legal-page {
  padding: clamp(44px,7vw,82px) 0;
}
.legal-shell {
  max-width: 940px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: clamp(26px,5vw,54px);
  box-shadow: var(--polish-shadow);
}
.legal-shell h1 {
  margin: 8px 0 12px;
  font-size: clamp(2.1rem,5vw,3.7rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.legal-shell h2 {
  margin: 34px 0 9px;
  font-size: 1.3rem;
  color: var(--navy);
}
.legal-shell p,
.legal-shell li { color: var(--muted); }
.legal-shell ul { padding-left: 1.25rem; }
.legal-updated {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--gold-soft);
  color: var(--navy);
  font-size: .76rem;
  font-weight: 800;
}

@media (max-width: 680px) {
  .ageser-loader-mark { width: 112px; height: 112px; border-radius: 28px; }
  .ageser-loader-mark img { width: 82px; height: 70px; }
  .footer-legal-links { justify-content: flex-start; width: 100%; }
  .reveal-on-scroll,
  .reveal-on-scroll.reveal-from-left,
  .reveal-on-scroll.reveal-from-right { transform: translateY(16px); }
}

@media (prefers-reduced-motion: reduce) {
  .ageser-loader-ring { animation: none; border-color: rgba(199,154,63,.55); }
  .hero-copy,
  .hero .quote-card { animation: none; }
  .reveal-on-scroll,
  .reveal-on-scroll.reveal-from-left,
  .reveal-on-scroll.reveal-from-right {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .btn::after { display: none; }
  .insurance-card,
  .feature-box,
  .step,
  .term,
  .card-media img,
  .card-arrow,
  .btn,
  .site-header { transition-duration: .01ms !important; }
}

/* site-density.css */
/* Capa de densidad 2026-08: más información útil por viewport sin perder legibilidad. */
body{font-size:15px;line-height:1.52}
.container{width:min(1240px,calc(100% - 40px))}
.topbar{font-size:.76rem}.topbar .container{min-height:34px}
.nav{min-height:84px;gap:18px}.brand{min-width:276px}.brand img{width:279px!important;height:72px!important;object-fit:contain;object-position:left center}
.nav-links{gap:20px}.nav-links a{font-size:.89rem}.nav-actions{gap:8px}.btn{padding:10px 17px;font-size:.88rem;gap:8px}

.section{padding:54px 0}.section-tight{padding:42px 0}.section-head{max-width:900px;margin-bottom:24px}.section-head h2{margin:7px 0 8px;font-size:clamp(1.55rem,2.7vw,2.35rem);line-height:1.08}.section-head p{font-size:.94rem;line-height:1.52}.eyebrow{font-size:.72rem;gap:8px}.eyebrow::before{width:24px}

.hero,.hero-grid{min-height:auto!important}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:42px;padding:48px 0 52px!important}.hero-copy h1{font-size:clamp(2.45rem,4.1vw,3.85rem)!important;line-height:.98;margin:10px 0 14px!important;max-width:720px}.hero-copy p{font-size:.96rem!important;line-height:1.5!important;margin-bottom:9px!important;max-width:690px}.hero-actions{margin:20px 0 17px!important}.hero-points{gap:7px}.hero-points span{padding:7px 10px!important;font-size:.78rem!important}.hero-brandmark{width:clamp(430px,42vw,680px)!important;opacity:.13!important}
.quote-card{padding:20px 21px!important;border-radius:22px}.quote-card-head{margin-bottom:7px}.quote-card .mini{margin-bottom:10px;font-size:.78rem}.quote-card-badge{padding:6px 9px;font-size:.69rem}.form-grid{gap:8px 10px}.field{margin-bottom:7px}.field label{margin-bottom:4px;font-size:.73rem}.field input,.field select,.field textarea{padding:9px 11px;border-radius:11px;font-size:.88rem}.field textarea{min-height:66px}.form-note{font-size:.68rem;margin-top:5px}

.trust-item{padding:17px 16px;gap:11px}.trust-item .icon-wrap{width:36px;height:36px;flex-basis:36px;border-radius:11px}.trust-item strong{font-size:.9rem}.trust-item span{font-size:.78rem;line-height:1.4}

/* Nueve ramos: cuatro tarjetas por fila en escritorio en vez de tres tarjetas gigantes. */
.insurance-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.insurance-card{border-radius:18px}.card-media{aspect-ratio:16/8.4}.card-badge{left:10px;top:10px;padding:5px 8px;font-size:.68rem;gap:5px}.card-badge svg{width:13px;height:13px}.card-body{padding:14px 15px 15px}.card-title-row{margin-bottom:5px;gap:8px}.card-title-row h3{font-size:1.02rem}.card-arrow{width:32px;height:32px;flex-basis:32px;border-radius:10px}.card-arrow svg{width:15px;height:15px}.card-copy{font-size:.82rem;line-height:1.45;margin-bottom:10px}.card-meta{gap:5px}.card-meta span{padding:4px 6px;font-size:.65rem}.card-meta svg{width:9px;height:9px}

.split{gap:34px}.panel-dark{padding:26px;border-radius:24px}.panel-dark h3{font-size:1.5rem}.value-list,.check-list{margin-top:14px}.value-list li,.check-list li{padding-top:8px;padding-bottom:8px;font-size:.9rem}.steps{gap:12px}.step{padding:17px;border-radius:18px}.step-number{width:29px;height:29px;font-size:.76rem}.step h3{margin:10px 0 4px;font-size:.98rem}.step p{font-size:.83rem}.feature-grid{gap:11px}.feature-box{padding:16px;border-radius:17px}.feature-icon{width:38px;height:38px;border-radius:12px}.feature-icon svg{width:18px;height:18px}.feature-box h3{margin:9px 0 4px;font-size:.96rem}.feature-box p{font-size:.83rem;line-height:1.45}

.page-hero{padding:46px 0 40px!important}.page-hero .breadcrumbs{margin-bottom:10px}.page-hero h1{font-size:clamp(2rem,3.8vw,3.15rem)!important;line-height:1.02;margin-bottom:11px;max-width:980px}.page-hero p{font-size:.94rem;line-height:1.5;max-width:900px}.page-hero-compact{padding:30px 0 27px!important}.page-hero-compact h1{font-size:clamp(1.9rem,3.3vw,2.8rem)!important}.entry-chips{margin-top:13px;gap:7px}.entry-chips a{padding:7px 10px;font-size:.75rem}
.page-layout{grid-template-columns:minmax(0,1fr) 340px;gap:32px}.content h2{font-size:1.48rem;margin:29px 0 9px}.content h3{margin:18px 0 6px;font-size:1.05rem}.content p,.content ul{font-size:.9rem;line-height:1.56}.content li{margin:5px 0}.sticky-form{top:98px;gap:12px}.aside-panel{padding:16px;border-radius:17px}.aside-panel h3{font-size:.95rem}.aside-list{margin-top:10px}.aside-list li{margin:7px 0;font-size:.86rem}.info-grid{gap:10px;margin:15px 0}.info-box{padding:15px;border-radius:16px}.info-box span{font-size:.82rem}.glossary-grid{gap:10px}.term{padding:16px;border-radius:15px}.term h3{margin:8px 0 4px;font-size:.94rem}.term p{font-size:.82rem}.faq details,details{padding:13px 0}summary{font-size:.9rem}details p{font-size:.86rem}

.quote-priority-grid{gap:28px;margin-bottom:36px}.quote-priority-copy h2{font-size:clamp(1.55rem,2.6vw,2.25rem)}.quote-priority-copy>p{font-size:.92rem}.quote-priority-points{margin-top:15px;gap:7px}.quote-priority-points span{font-size:.86rem}.placeholder-secondary{padding-top:30px}.timeline-mini{gap:10px;margin-top:22px}.timeline-card{padding:16px;border-radius:17px}.timeline-card p{font-size:.82rem}

.faq-home-grid{grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr);gap:36px}.faq-home-intro h2{font-size:clamp(1.55rem,2.7vw,2.25rem);margin:7px 0 9px}.faq-home-intro p{font-size:.9rem;margin-bottom:14px}.faq-home-list{padding:2px 20px;border-radius:18px}

.cta-band{padding:27px 30px;border-radius:22px}.cta-band h2{font-size:clamp(1.4rem,2.6vw,2rem)}.cta-band p{font-size:.88rem}
.site-footer{margin-top:48px}.footer-grid{gap:34px;padding:38px 0 26px}.footer-brand img{width:210px;margin-bottom:10px}.footer-brand p{font-size:.86rem}.footer-links a{font-size:.84rem;margin:6px 0}.footer-bottom{padding:14px 0 20px}

/* El HTML histórico trae nombres de aseguradoras como fallback. Se mantienen ocultos
   hasta que el runtime confirme el catálogo REAL de la base de datos. */
[data-marquee]{visibility:hidden}.dynamic-insurers-ready{visibility:visible!important}.dynamic-insurers-static .marquee-track{animation:none;justify-content:center;width:100%;flex-wrap:wrap}.dynamic-insurers-static::before,.dynamic-insurers-static::after{display:none}.insurer-pill{min-width:175px;min-height:68px;padding:11px 13px}.insurer-pill img{max-width:135px;max-height:42px}.insurer-empty{margin:14px 0 24px;padding:16px 18px;border:1px dashed var(--line-strong);border-radius:16px;background:#fff;color:var(--muted);font-size:.86rem}

@media(max-width:1160px){.brand{min-width:235px}.brand img{width:245px!important}.insurance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-links{gap:14px}.nav-links a{font-size:.84rem}.nav-actions .btn{padding-inline:13px}}
/* La capa de densidad se carga después de site.css: debe preservar explícitamente
   el apilado de una sola columna que define el hero responsive. */
@media(max-width:980px){.brand{min-width:220px}.brand img{width:225px!important;height:64px!important}.hero-grid{grid-template-columns:1fr!important;padding:38px 0 44px!important}.hero-copy h1{font-size:clamp(2.35rem,7vw,3.4rem)!important}.page-layout{grid-template-columns:1fr}.insurance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:46px 0}.faq-home-grid{grid-template-columns:1fr}.faq-home-intro{position:static}}
@media(max-width:680px){body{font-size:14.5px}.container{width:min(100% - 28px,1240px)}.topbar .container{min-height:32px}.nav{min-height:70px}.brand{min-width:0}.brand img{width:190px!important;height:56px!important}.section{padding:38px 0}.section-tight{padding:32px 0}.section-head{margin-bottom:18px}.section-head h2{font-size:1.5rem}.hero-grid{grid-template-columns:1fr!important;padding:32px 0 38px!important;gap:24px}.hero-copy h1{font-size:clamp(2.15rem,10.8vw,3rem)!important}.hero-copy p{font-size:.9rem!important}.insurance-grid{grid-template-columns:1fr 1fr;gap:10px}.card-media{aspect-ratio:16/9}.card-badge{position:static;border-radius:0;box-shadow:none;background:#f7f9fc;white-space:normal;min-height:30px}.card-body{padding:12px}.card-copy{font-size:.77rem}.card-meta{display:none}.page-hero{padding:34px 0 30px!important}.page-hero h1{font-size:clamp(1.85rem,9vw,2.45rem)!important}.page-hero p{font-size:.88rem}.info-grid,.glossary-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.footer-grid{padding-top:30px}.cta-band{padding:22px}.insurer-pill{min-width:145px;min-height:60px}}
@media(max-width:430px){.insurance-grid{grid-template-columns:1fr}.card-media{aspect-ratio:16/7.5}.feature-grid{grid-template-columns:1fr}}

/* insurance-card-carousel.css */
/* Carrusel de ramos de seguros de la landing. Mantiene cada tarjeta como enlace real. */
.insurance-card-carousel {
  --insurance-gap: 16px;
  --insurance-per-view: 3;
  position: relative;
  margin: 2px 0 8px;
  padding: 6px 58px 30px;
}
.insurance-card-carousel-viewport {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  border-radius: 24px;
  outline: none;
}
.insurance-card-carousel-viewport::-webkit-scrollbar { display: none; }
.insurance-card-carousel-viewport:focus-visible {
  box-shadow: 0 0 0 3px rgba(199,154,63,.28);
}
.insurance-card-carousel .insurance-grid {
  display: flex !important;
  grid-template-columns: none !important;
  gap: var(--insurance-gap) !important;
  width: 100%;
  min-width: 100%;
  align-items: stretch;
  padding: 8px 4px 18px;
}
.insurance-card-carousel .insurance-card {
  flex: 0 0 calc((100% - (var(--insurance-gap) * (var(--insurance-per-view) - 1))) / var(--insurance-per-view));
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}
.insurance-card-carousel-control {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(255,255,255,.97);
  color: var(--navy);
  font: 700 1.55rem/1 Georgia, serif;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(8,47,87,.13);
  transform: translateY(-68%);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, opacity .18s ease;
}
.insurance-card-carousel-control:hover {
  transform: translateY(-68%) scale(1.06);
  border-color: rgba(199,154,63,.48);
  background: var(--gold-soft);
}
.insurance-card-carousel-control:focus-visible {
  outline: 3px solid rgba(199,154,63,.3);
  outline-offset: 2px;
}
.insurance-card-carousel-prev { left: 2px; }
.insurance-card-carousel-next { right: 2px; }
.insurance-card-carousel-dots {
  position: absolute;
  left: 50%;
  bottom: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  transform: translateX(-50%);
}
.insurance-card-carousel-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #c8d3de;
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}
.insurance-card-carousel-dot.is-active {
  width: 24px;
  background: var(--gold);
}
.insurance-card-carousel-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/*
 * Estabilidad visual de la landing.
 * Este stylesheet se inyecta después de la capa de densidad, por eso aloja los
 * overrides finales del header y el splash de primer paint.
 */
.site-header .brand {
  overflow: visible;
  min-width: 320px;
}
.site-header .brand img {
  transform: scale(1.22);
  transform-origin: left center;
  will-change: transform;
}

/*
 * El loader DOM se monta con JavaScript al final del parseo. Para que nunca
 * exista un flash blanco previo, el navegador pinta primero este splash CSS.
 * :has(.hero) limita el efecto a la landing; las páginas interiores no cambian.
 */
body:has(> .hero):not(.ageser-loader-mounted):not(.ageser-page-ready)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  background:
    radial-gradient(circle at 50% 42%, rgba(228,193,111,.13), transparent 24%),
    linear-gradient(145deg, #f8fafc 0%, #fff 58%, #eef3f8 100%);
  pointer-events: none;
}
body:has(> .hero):not(.ageser-loader-mounted):not(.ageser-page-ready)::after {
  content: "";
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 9999;
  width: 132px;
  height: 132px;
  border-radius: 34px;
  transform: translate(-50%, -50%);
  background:
    rgba(255,255,255,.96)
    url('/api/v1/landing-assets/brand-logo') center / 96px auto no-repeat;
  box-shadow: 0 24px 65px rgba(7,31,54,.14);
  animation: ageser-first-paint-pulse 1s ease-in-out infinite alternate;
  pointer-events: none;
}
@keyframes ageser-first-paint-pulse {
  from { box-shadow: 0 20px 54px rgba(7,31,54,.12); transform: translate(-50%, -50%) scale(.985); }
  to { box-shadow: 0 28px 72px rgba(7,31,54,.18); transform: translate(-50%, -50%) scale(1.015); }
}

@media (max-width: 1160px) {
  .site-header .brand { min-width: 270px; }
  .site-header .brand img { transform: scale(1.18); }
}

@media (max-width: 1100px) {
  .insurance-card-carousel { --insurance-per-view: 2; }
}

@media (max-width: 980px) {
  .site-header .brand { min-width: 245px; }
  .site-header .brand img { transform: scale(1.16); }
}

@media (max-width: 680px) {
  .site-header .brand { min-width: 0; }
  .site-header .brand img { transform: scale(1.12); }
  body:has(> .hero):not(.ageser-loader-mounted):not(.ageser-page-ready)::after {
    width: 112px;
    height: 112px;
    border-radius: 28px;
    background-size: 82px auto;
  }
  .insurance-card-carousel {
    --insurance-per-view: 1;
    --insurance-gap: 12px;
    padding: 3px 0 54px;
  }
  .insurance-card-carousel .insurance-grid {
    gap: var(--insurance-gap) !important;
    padding-inline: 1px;
  }
  .insurance-card-carousel .insurance-card {
    flex-basis: 100%;
  }
  .insurance-card-carousel-control {
    top: auto;
    bottom: 0;
    width: 38px;
    height: 38px;
    transform: none;
    font-size: 1.35rem;
  }
  .insurance-card-carousel-control:hover { transform: scale(1.04); }
  .insurance-card-carousel-prev { left: calc(50% - 78px); }
  .insurance-card-carousel-next { right: calc(50% - 78px); }
  .insurance-card-carousel-dots { bottom: 15px; }
  /* El CSS histórico convierte las tarjetas a una columna; dentro del carrusel
     prevalece el ancho de slide para mostrar exactamente una por vez. */
  .insurance-card-carousel .card-meta { display: flex; }
}

@media (prefers-reduced-motion: reduce) {
  .insurance-card-carousel-viewport { scroll-behavior: auto; }
  .insurance-card-carousel-control,
  .insurance-card-carousel-dot { transition: none; }
  body:has(> .hero):not(.ageser-loader-mounted):not(.ageser-page-ready)::after {
    animation: none;
  }
}

/* header-brand-fix.css */
/* Ajuste final de la marca del header.
 * El JS asociado recorta márgenes transparentes/blancos del archivo administrado
 * para que el tamaño visible dependa del logo real y no del lienzo de la imagen.
 */
.site-header .nav {
  min-height: 96px;
}
.site-header .brand {
  min-width: 320px;
  height: 92px;
  display: flex;
  align-items: center;
  overflow: visible;
}
.site-header .brand img {
  transform: none !important;
  transform-origin: left center !important;
}
.site-header .brand img.ageser-header-logo-cropped {
  width: auto !important;
  height: 92px !important;
  max-width: 330px !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
}

@media (max-width: 1160px) {
  .site-header .brand { min-width: 280px; height: 84px; }
  .site-header .brand img.ageser-header-logo-cropped {
    height: 84px !important;
    max-width: 290px !important;
  }
}

@media (max-width: 980px) {
  .site-header .nav { min-height: 84px; }
  .site-header .brand { min-width: 235px; height: 78px; }
  .site-header .brand img.ageser-header-logo-cropped {
    height: 78px !important;
    max-width: 250px !important;
  }
}

@media (max-width: 680px) {
  .site-header .nav { min-height: 76px; }
  .site-header .brand { min-width: 0; height: 70px; }
  .site-header .brand img.ageser-header-logo-cropped {
    height: 68px !important;
    max-width: min(205px, 48vw) !important;
  }
}

/* honduras-identity.css */
/* Identidad visual hondureña para todo el sitio público.
   Las fotografías se sirven desde /honduras-media/ y no forman parte del build. */
.hn-credit{margin:7px 2px 0;font-size:.68rem;line-height:1.35;color:#728295}.hn-credit a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(114,130,149,.4)}.hn-credit a:hover{color:var(--navy);border-bottom-color:currentColor}.hn-photo{margin:0}.hn-photo img{width:100%;height:100%;display:block;object-fit:cover;background:#e8eef4}.hn-photo-missing{display:none!important}

/* Marca principal: +50% en escritorio, con escalado controlado en tablet/móvil. */
.site-header .nav{min-height:104px}.site-header .brand{min-width:286px}.site-header .brand img{width:279px;height:88px;object-fit:contain;object-position:left center}

/* Hero principal: bandera protagonista a la izquierda + Copán a la derecha. */
.hero.hn-main-photo{isolation:isolate}.hero.hn-main-photo>.container{position:relative;z-index:3}.hn-main-hero-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.hn-main-hero-primary{position:absolute;right:-2%;top:0;width:64%;height:100%;object-fit:cover;object-position:center 52%;opacity:.69;filter:saturate(.92) contrast(1.04)}.hn-main-hero-secondary{position:absolute;left:-1%;top:0;width:49%;height:100%;object-fit:cover;object-position:42% 58%;opacity:.52;filter:saturate(1.04) contrast(1.05);mix-blend-mode:normal;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 53%,rgba(0,0,0,.76) 72%,rgba(0,0,0,.20) 92%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 53%,rgba(0,0,0,.76) 72%,rgba(0,0,0,.20) 92%,transparent 100%)}.hn-main-hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,55,.48) 0%,rgba(5,35,67,.44) 34%,rgba(8,45,80,.48) 53%,rgba(8,45,80,.36) 72%,rgba(8,45,80,.12) 100%),linear-gradient(180deg,rgba(6,31,58,.01),rgba(6,31,58,.16))}.hn-main-hero-credit{position:absolute;z-index:4;right:max(20px,calc((100vw - 1180px)/2));bottom:10px;margin:0;color:rgba(240,246,251,.82);text-shadow:0 1px 8px rgba(0,0,0,.45)}.hn-main-hero-credit a{border-bottom-color:rgba(240,246,251,.35)}.hn-main-hero-credit a:hover{color:#fff;border-bottom-color:#fff}.hero.hn-main-photo .hero-copy{position:relative;padding:30px 34px 30px 0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none}.hero.hn-main-photo .hero-copy h1,.hero.hn-main-photo .hero-copy p,.hero.hn-main-photo .hero-copy .eyebrow,.hero.hn-main-photo .hero-points{text-shadow:0 2px 10px rgba(0,18,38,.34)}.hero.hn-main-photo .quote-card{position:relative;z-index:4}

/* Landing: una sola composición de tres fotos y un solo crédito. */
.hn-heritage{padding:68px 0;background:#fff;border-block:1px solid var(--line)}.hn-heritage-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:44px;align-items:center}.hn-heritage-copy{max-width:490px}.hn-heritage-copy h2{margin:10px 0 14px;font-size:clamp(2rem,3.8vw,3rem);line-height:1.04;letter-spacing:-.04em;color:var(--navy)}.hn-heritage-copy p{margin:0;color:var(--muted);font-size:1rem}.hn-heritage-rule{width:74px;height:3px;border-radius:999px;margin-top:24px;background:linear-gradient(90deg,#0073cf,#fff,#0073cf);box-shadow:0 0 0 1px rgba(9,44,76,.06)}.hn-heritage-visual{min-width:0}.hn-heritage-mosaic{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:210px 210px;gap:14px}.hn-heritage-mosaic .hn-photo{min-width:0;min-height:0}.hn-heritage-mosaic .hn-photo:first-child{grid-row:1/3}.hn-heritage-mosaic .hn-photo-frame{height:100%;overflow:hidden;border-radius:24px;box-shadow:0 16px 36px rgba(8,47,87,.12)}.hn-heritage-mosaic .hn-photo:first-child img{object-position:center}.hn-heritage-mosaic .hn-photo:nth-child(2) img{object-position:center 42%}.hn-heritage-mosaic .hn-photo:nth-child(3) img{object-position:center}.hn-group-credit{text-align:right;margin-top:8px}

/* Páginas interiores: foto editorial a la derecha del hero, con degradado protector. */
.page-hero.hn-page-photo{isolation:isolate;min-height:290px}.page-hero.hn-page-photo::after{z-index:1}.page-hero.hn-page-photo .container{position:relative;z-index:3;padding-right:min(34vw,360px)}.hn-page-hero-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.hn-page-hero-art img{position:absolute;inset:0 0 0 auto;width:min(55%,820px);height:100%;object-fit:cover;opacity:.86;filter:saturate(.96) contrast(1.04)}.hn-page-hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061f3a 0%,#082d50 39%,rgba(8,45,80,.90) 53%,rgba(8,45,80,.49) 72%,rgba(8,45,80,.14) 100%)}.hn-page-hero-credit{position:absolute;z-index:4;right:max(20px,calc((100vw - 1180px)/2));bottom:10px;margin:0;color:rgba(240,246,251,.78);text-shadow:0 1px 8px rgba(0,0,0,.45)}.hn-page-hero-credit a{border-bottom-color:rgba(240,246,251,.35)}.hn-page-hero-credit a:hover{color:#fff;border-bottom-color:#fff}

@media(max-width:1100px){.site-header .brand{min-width:238px}.site-header .brand img{width:238px;height:78px}.site-header .nav{min-height:92px}.page-hero.hn-page-photo .container{padding-right:28vw}.hn-main-hero-primary{width:70%;opacity:.64}.hn-main-hero-secondary{width:54%;opacity:.49}.hero.hn-main-photo .hero-copy{background:transparent}}
@media(max-width:980px){.site-header .brand{min-width:220px}.site-header .brand img{width:220px;height:72px}.site-header .nav{min-height:88px}.site-header .nav-links{top:88px}.hn-heritage-grid{grid-template-columns:1fr;gap:28px}.hn-heritage-copy{max-width:760px}.hn-heritage-mosaic{grid-template-rows:190px 190px}.page-hero.hn-page-photo .container{padding-right:0}.hn-page-hero-art img{width:76%;opacity:.72}.hn-page-hero-art::after{background:linear-gradient(90deg,rgba(6,31,58,.90) 0%,rgba(6,31,58,.84) 40%,rgba(6,31,58,.58) 70%,rgba(6,31,58,.22) 100%)}.hn-main-hero-primary{width:105%;right:-28%;opacity:.55;object-position:66% center}.hn-main-hero-secondary{left:-8%;top:0;width:68%;height:100%;opacity:.49;object-position:42% 58%}.hn-main-hero-art::after{background:linear-gradient(90deg,rgba(5,31,59,.50) 0%,rgba(5,35,66,.46) 42%,rgba(6,40,73,.40) 68%,rgba(6,40,73,.20) 100%),linear-gradient(180deg,rgba(6,31,58,.02),rgba(6,31,58,.18))}.hero.hn-main-photo .hero-copy{padding-right:24px;background:transparent}}
@media(max-width:680px){.site-header .brand{min-width:0}.site-header .brand img{width:205px;height:66px}.site-header .nav{min-height:80px}.site-header .nav-links{top:80px}.hn-credit{font-size:.64rem}.hn-heritage{padding:48px 0}.hn-heritage-grid{gap:24px}.hn-heritage-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:190px 160px}.hn-heritage-mosaic .hn-photo:first-child{grid-column:1/3;grid-row:1}.hn-heritage-mosaic .hn-photo:nth-child(2){grid-column:1;grid-row:2}.hn-heritage-mosaic .hn-photo:nth-child(3){grid-column:2;grid-row:2}.hn-heritage-mosaic .hn-photo-frame{border-radius:18px}.hn-group-credit{text-align:left}

/* En móvil las fotografías mantienen presencia real bajo el azul. */
.page-hero.hn-page-photo{min-height:230px}.hn-page-hero-art img{width:100%;opacity:.68;object-position:center!important;filter:saturate(1) contrast(1.04)}.hn-page-hero-art::after{background:linear-gradient(90deg,rgba(6,31,58,.87) 0%,rgba(6,31,58,.75) 42%,rgba(6,31,58,.49) 72%,rgba(6,31,58,.24) 100%),linear-gradient(180deg,rgba(6,31,58,.03),rgba(6,31,58,.28))}.hn-page-hero-credit{right:14px;bottom:8px;max-width:68%;text-align:right;color:rgba(255,255,255,.90)}

.hero.hn-main-photo{min-height:0}.hn-main-hero-primary{width:116%;right:-37%;opacity:.49;object-position:68% center}.hn-main-hero-secondary{left:-15%;right:auto;top:0;width:104%;height:56%;opacity:.54;object-position:43% 62%;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.72) 76%,rgba(0,0,0,.18) 94%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.72) 76%,rgba(0,0,0,.18) 94%,transparent 100%)}.hn-main-hero-art::after{background:linear-gradient(90deg,rgba(5,31,59,.50) 0%,rgba(5,35,66,.45) 44%,rgba(6,40,73,.36) 72%,rgba(6,40,73,.18) 100%),linear-gradient(180deg,rgba(6,31,58,.01),rgba(6,31,58,.18))}.hero.hn-main-photo .hero-copy{padding:22px 18px 24px 0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none}.hn-main-hero-credit{right:14px;bottom:7px;max-width:74%;text-align:right;color:rgba(255,255,255,.90)}}
@media(prefers-reduced-motion:reduce){.hn-photo img,.hn-page-hero-art img,.hn-main-hero-art img{transition:none!important}}

/* hero-background-override.css */
/* Compatibilidad de despliegue: el hero principal ya no debe combinar la foto
   administrable con la composición legacy de bandera + Copán. Esta capa se carga
   después de honduras-identity.css para neutralizar cualquier JS antiguo que el
   navegador pudiera conservar en caché durante el cambio de versión. */
.hero > .hn-main-hero-art,
.hero > .hn-main-hero-credit {
  display: none !important;
}

/* Si una versión antigua del script alcanzó a agregar la clase legacy, evitamos
   que también cambie el espaciado del bloque de texto del hero administrable. */
.hero.hn-main-photo .hero-copy {
  padding: 0 !important;
}
