/* ============================================================
   Hospital General del Sur — Choluteca, Honduras
   Línea gráfica institucional: azul marino + dorado + crema
   Tres direcciones via [data-dir]: conservadora / equilibrada / moderna
   ============================================================ */

:root{
  /* Institutional palette */
  --navy-900:#101c3f;
  --navy-800:#1d2a52;
  --navy-700:#26356a;
  --navy-600:#324183;
  --navy-050:#eef1f8;

  --gold:#c19a2e;
  --gold-deep:#a07d1c;
  --gold-soft:#e2cd86;
  --gold-050:#f7f1de;

  --cream:#f5f0e1;
  --paper:#fbfaf6;
  --white:#ffffff;

  --ink:#19223e;
  --ink-soft:#48506a;
  --ink-faint:#7e859b;
  --line:#e3e0d4;
  --line-cool:#dfe3ee;

  /* defaults overridden per direction */
  --font-display:'Source Serif 4',Georgia,serif;
  --font-body:'Public Sans',system-ui,sans-serif;
  --radius:6px;
  --radius-lg:12px;
  --radius-pill:999px;
  --card-border:1px solid var(--line);
  --card-shadow:0 1px 2px rgba(16,28,63,.05),0 8px 24px -16px rgba(16,28,63,.18);
  --card-shadow-hover:0 2px 4px rgba(16,28,63,.07),0 18px 40px -20px rgba(16,28,63,.30);
  --section-gap:92px;
  --container:1200px;
  --display-weight:600;
  --display-spacing:-0.01em;
  --display-line:1.08;
  --label-spacing:.14em;
  --base-size:17px;
}

/* ---------- Direction: Conservadora ---------- */
[data-dir="conservadora"]{
  --font-display:'Libre Baskerville',Georgia,'Times New Roman',serif;
  --font-body:'Source Sans 3',system-ui,sans-serif;
  --radius:0px;
  --radius-lg:0px;
  --radius-pill:0px;
  --card-border:1px solid var(--line);
  --card-shadow:none;
  --card-shadow-hover:0 10px 28px -18px rgba(16,28,63,.45);
  --section-gap:72px;
  --container:1140px;
  --display-weight:700;
  --display-spacing:0;
  --display-line:1.16;
  --label-spacing:.2em;
}

/* ---------- Direction: Equilibrada (default) ---------- */
[data-dir="equilibrada"]{ /* uses :root defaults */ }

/* ---------- Direction: Moderna ---------- */
[data-dir="moderna"]{
  --font-display:'Archivo',system-ui,sans-serif;
  --font-body:'Public Sans',system-ui,sans-serif;
  --radius:14px;
  --radius-lg:24px;
  --radius-pill:999px;
  --card-border:1px solid transparent;
  --card-shadow:0 2px 6px rgba(16,28,63,.05),0 24px 50px -30px rgba(16,28,63,.30);
  --card-shadow-hover:0 6px 14px rgba(16,28,63,.10),0 36px 70px -32px rgba(16,28,63,.40);
  --section-gap:120px;
  --container:1260px;
  --display-weight:800;
  --display-spacing:-0.03em;
  --display-line:1.0;
  --label-spacing:.1em;
}

/* ============================================================
   Icon system (dúotono)
   ============================================================ */
.ico{width:1em;height:1em;display:inline-block;vertical-align:middle;flex:none;
  fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  overflow:visible;}
.ico .soft{fill:currentColor;stroke:none;opacity:.14;}
.ico .acc{stroke:var(--gold);}
.ico .acc-f{fill:var(--gold);stroke:none;}
[data-dir="conservadora"] .ico{stroke-width:1.5;}
[data-dir="moderna"] .ico{stroke-width:1.8;}

/* ============================================================
   Base
   ============================================================ */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--base-size);
  line-height:1.62;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--display-weight);
  letter-spacing:var(--display-spacing);line-height:var(--display-line);margin:0;color:var(--navy-900);}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto;}

.eyebrow{font-family:var(--font-body);font-weight:700;font-size:.74rem;
  letter-spacing:var(--label-spacing);text-transform:uppercase;color:var(--gold-deep);}
[data-dir="moderna"] .eyebrow{color:var(--gold-deep);}

/* gold rule under section titles */
.title-rule{display:inline-flex;align-items:center;gap:14px;}
.title-rule::after{content:"";height:3px;width:64px;background:var(--gold);border-radius:2px;}
[data-dir="conservadora"] .title-rule::after{height:0;width:0;}
[data-dir="conservadora"] .section-head{border-bottom:3px double var(--gold);padding-bottom:14px;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-body);
  font-weight:700;font-size:.95rem;padding:13px 26px;border-radius:var(--radius-pill);
  border:1.5px solid transparent;cursor:pointer;transition:.18s ease;line-height:1;}
.btn svg{width:17px;height:17px;}
.btn .ico{font-size:18px;}
/* icon sizing in chrome + components */
.gov-links .ico{font-size:15px;}
.nav-toggle{font-size:26px;}
.footer-bottom .socials a .ico{font-size:16px;}
.qcard .qlink .ico,.ncard .nread .ico,.ncard .ndate .ico{font-size:15px;}
.qcard .qicon .ico{font-size:1em;}
.svc .sicon .ico{font-size:1em;}
.btn-gold{background:var(--gold);color:var(--navy-900);}
.btn-gold:hover{background:var(--gold-deep);color:#fff;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.btn-navy{background:var(--navy-800);color:#fff;}
.btn-navy:hover{background:var(--navy-700);}
.btn-outline{background:transparent;color:var(--navy-800);border-color:var(--line-cool);}
.btn-outline:hover{border-color:var(--navy-600);color:var(--navy-900);}

/* ============================================================
   Top government endorsement bar
   ============================================================ */
.gov-bar{background:var(--navy-900);color:#cdd5ea;font-size:.78rem;}
.gov-bar .container{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px;}
.gov-bar .gov-id{display:flex;align-items:center;gap:11px;}
.gov-bar .escudo{width:22px;height:22px;opacity:.95;}
.gov-bar .gov-id strong{color:#fff;font-weight:700;letter-spacing:.02em;white-space:nowrap;}
.gov-bar .container{flex-wrap:nowrap;}
@media(max-width:1024px){ .gov-bar .gov-id span,.gov-links .util-text{display:none;} }
.gov-bar .gov-id span{color:#9aa6c7;}
.gov-links{display:flex;align-items:center;gap:20px;}
.gov-links a{display:inline-flex;align-items:center;gap:6px;color:#cdd5ea;transition:.15s;}
.gov-links a:hover{color:var(--gold-soft);}
.gov-links svg{width:14px;height:14px;}
.gov-links .sep{width:1px;height:15px;background:rgba(255,255,255,.18);}
@media(max-width:860px){ .gov-bar .gov-links{gap:14px;} }

/* ============================================================
   Masthead (logo + nav)
   ============================================================ */
.masthead{background:var(--navy-800);position:sticky;top:0;z-index:50;
  box-shadow:0 1px 0 rgba(255,255,255,.06);}
.masthead-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;}
.brand{display:flex;align-items:center;gap:16px;}
.brand .mark{width:58px;height:auto;flex:none;}
[data-dir="moderna"] .brand .mark{width:52px;}
.brand .lockup{display:flex;flex-direction:column;gap:3px;color:#fff;min-width:0;}
.brand .lockup .name{font-family:var(--font-display);font-weight:var(--display-weight);
  font-size:1.32rem;line-height:1.14;letter-spacing:.005em;}
.brand .lockup .sub{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;}
[data-dir="conservadora"] .brand .lockup .name{letter-spacing:.01em;}

.masthead-right{display:flex;align-items:center;gap:22px;}
.endorse{display:flex;align-items:center;gap:13px;padding-left:22px;border-left:1px solid rgba(255,255,255,.16);}
.endorse img{height:48px;width:auto;opacity:.96;}
.endorse .endorse-txt{color:#c7cfe6;font-size:.7rem;line-height:1.3;max-width:130px;}
@media(max-width:1080px){ .endorse{display:none;} }
@media(max-width:600px){ .brand .lockup .name{font-size:1.12rem;} .brand .mark{width:48px;} }

/* primary nav */
.nav{background:var(--navy-700);border-top:1px solid rgba(255,255,255,.08);}
.nav .container{display:flex;align-items:center;justify-content:space-between;}
.nav-menu{display:flex;align-items:stretch;list-style:none;margin:0;padding:0;}
.nav-menu>li>a{display:flex;align-items:center;height:52px;padding:0 19px;color:#dde3f1;
  font-weight:600;font-size:.92rem;letter-spacing:.01em;position:relative;transition:.15s;}
.nav-menu>li>a::after{content:"";position:absolute;left:19px;right:19px;bottom:0;height:3px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;}
.nav-menu>li>a:hover{color:#fff;background:rgba(255,255,255,.05);}
.nav-menu>li>a:hover::after,.nav-menu>li>a.active::after{transform:scaleX(1);}
.nav-menu>li>a.active{color:#fff;}
.nav-search{display:flex;align-items:center;justify-content:center;width:42px;height:42px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-pill);color:#cdd5ea;cursor:pointer;font-size:20px;transition:.15s;}
.nav-search:hover{background:rgba(255,255,255,.2);color:#fff;}
[data-dir="conservadora"] .nav-search{border-radius:0;}
.nav-toggle{display:none;background:transparent;border:0;color:#fff;cursor:pointer;}
.nav-toggle svg{width:26px;height:26px;}
@media(max-width:980px){
  .nav-search{display:none;}
  .nav-toggle{display:flex;}
  .nav-menu{position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--navy-700);
    max-height:0;overflow:hidden;transition:max-height .3s ease;z-index:40;}
  .nav-menu.open{max-height:520px;border-top:1px solid rgba(255,255,255,.1);}
  .nav-menu>li>a{height:auto;padding:15px 24px;border-bottom:1px solid rgba(255,255,255,.07);}
  .nav-menu>li>a::after{display:none;}
  .nav .container{position:relative;}
}

/* ============================================================
   Hero carousel
   ============================================================ */
.hero{position:relative;background:var(--navy-800);overflow:hidden;}
.hero-track{display:flex;transition:transform .6s cubic-bezier(.65,.05,.25,1);}
.slide{flex:0 0 100%;min-width:100%;position:relative;}
.slide-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;
  min-height:430px;padding:54px 0;}
.slide-copy{position:relative;z-index:2;color:#fff;max-width:560px;}
.slide-copy .kicker{display:inline-block;white-space:nowrap;background:var(--gold);color:var(--navy-900);
  font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 13px;border-radius:var(--radius-pill);margin-bottom:20px;}
.slide-copy h2{color:#fff;font-size:clamp(2rem,3.4vw,3.05rem);margin-bottom:16px;}
.slide-copy p{color:#cdd5ea;font-size:1.06rem;line-height:1.6;margin-bottom:26px;}
.slide-actions{display:flex;gap:13px;flex-wrap:wrap;}

/* escudo watermark on navy slides */
.hero-watermark{position:absolute;right:-60px;top:50%;transform:translateY(-50%);
  width:520px;max-width:55%;opacity:.06;pointer-events:none;z-index:1;}
.slide-media{position:relative;z-index:2;align-self:stretch;display:flex;}

/* placeholder media */
.ph{position:relative;background:
   repeating-linear-gradient(135deg,rgba(29,42,82,.04) 0 14px,rgba(29,42,82,.07) 14px 28px),
   var(--navy-050);
  border:1px solid var(--line-cool);border-radius:var(--radius-lg);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  color:var(--navy-600);text-align:center;padding:24px;min-height:220px;width:100%;}
.ph svg{width:46px;height:46px;opacity:.5;}
.ph .ph-label{font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--ink-faint);max-width:240px;}
.ph.on-navy{background:
   repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 14px,rgba(255,255,255,.06) 14px 28px),
   rgba(255,255,255,.04);border-color:rgba(255,255,255,.18);color:#aab4d2;border-radius:var(--radius-lg);}
.ph.on-navy .ph-label{color:#aab4d2;}

/* hero dots + arrows */
.hero-nav{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;
  gap:10px;z-index:5;}
.hero-dot{width:11px;height:11px;border-radius:var(--radius-pill);background:rgba(255,255,255,.35);
  border:0;cursor:pointer;padding:0;transition:.2s;}
[data-dir="conservadora"] .hero-dot{border-radius:0;}
.hero-dot.active{background:var(--gold);width:30px;}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;
  border-radius:var(--radius-pill);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s;}
.hero-arrow:hover{background:rgba(255,255,255,.22);}
.hero-arrow.prev{left:18px;} .hero-arrow.next{right:18px;}
.hero-arrow svg{width:20px;height:20px;}
@media(max-width:860px){
  .slide-inner{grid-template-columns:1fr;gap:24px;min-height:auto;padding:38px 0 60px;}
  .slide-media{display:none;}
  .hero-arrow{display:none;}
  .hero-watermark{opacity:.05;right:-120px;}
}

/* ============================================================
   Quick access strip
   ============================================================ */
.quick{position:relative;margin-top:-44px;z-index:20;}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.qcard{background:var(--white);border:var(--card-border);border-radius:var(--radius-lg);
  box-shadow:var(--card-shadow);padding:24px 22px;display:flex;flex-direction:column;gap:12px;
  transition:.2s ease;position:relative;overflow:hidden;}
.qcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold);
  transform:scaleY(0);transform-origin:top;transition:transform .22s ease;}
.qcard:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-3px);}
.qcard:hover::before{transform:scaleY(1);}
.qcard .qicon{width:50px;height:50px;border-radius:14px;position:relative;
  background:linear-gradient(150deg,var(--navy-050),#fff);border:1px solid var(--line-cool);
  display:flex;align-items:center;justify-content:center;color:var(--navy-700);font-size:27px;}
.qcard .qicon::after{content:"";position:absolute;top:7px;right:7px;width:6px;height:6px;
  border-radius:50%;background:var(--gold);opacity:.0;transition:opacity .2s;}
.qcard:hover .qicon::after{opacity:1;}
[data-dir="conservadora"] .qcard .qicon{border-radius:0;}
[data-dir="moderna"] .qcard .qicon{border-radius:16px;width:54px;height:54px;font-size:29px;}
.qcard h3{font-size:1.06rem;color:var(--navy-900);}
.qcard p{font-size:.88rem;color:var(--ink-soft);line-height:1.45;}
.qcard .qlink{margin-top:auto;font-weight:700;font-size:.85rem;color:var(--gold-deep);
  display:inline-flex;align-items:center;gap:6px;}
.qcard .qlink svg{width:14px;height:14px;transition:transform .18s;}
.qcard:hover .qlink svg{transform:translateX(3px);}
@media(max-width:980px){.quick-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.quick-grid{grid-template-columns:1fr;} .quick{margin-top:-28px;}}

/* ============================================================
   Generic section
   ============================================================ */
section.block{padding:var(--section-gap) 0;}
.section-head{margin-bottom:40px;}
.section-head.center{text-align:center;display:flex;flex-direction:column;align-items:center;}
.section-head h2{font-size:clamp(1.7rem,2.6vw,2.4rem);color:var(--navy-900);margin:10px 0 14px;}
.section-head p{color:var(--ink-soft);max-width:640px;font-size:1.02rem;}
.section-head.center p{text-align:center;}

/* ============================================================
   Services grid
   ============================================================ */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.svc{background:var(--white);border:var(--card-border);border-radius:var(--radius-lg);
  padding:26px 22px;transition:.2s ease;box-shadow:var(--card-shadow);}
.svc:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover);border-color:var(--gold-soft);}
.svc .sicon{width:56px;height:56px;border-radius:15px;position:relative;
  background:linear-gradient(150deg,var(--navy-700),var(--navy-900));color:var(--gold-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:29px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.svc .sicon::after{content:"";position:absolute;inset:0;border-radius:inherit;
  box-shadow:0 0 0 0 var(--gold-soft);transition:box-shadow .25s;}
.svc:hover .sicon::after{box-shadow:0 0 0 3px rgba(226,205,134,.25);}
[data-dir="conservadora"] .svc .sicon{background:var(--navy-800);border-radius:0;}
[data-dir="moderna"] .svc .sicon{border-radius:18px;width:60px;height:60px;font-size:31px;}
.svc h3{font-size:1.12rem;color:var(--navy-900);margin-bottom:7px;}
.svc p{font-size:.9rem;color:var(--ink-soft);line-height:1.5;}
@media(max-width:980px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.svc-grid{grid-template-columns:1fr;}}

/* ============================================================
   About / institutional
   ============================================================ */
.about{background:var(--navy-800);color:#fff;position:relative;overflow:hidden;}
.about-watermark{position:absolute;left:-40px;bottom:-40px;width:360px;opacity:.06;pointer-events:none;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;position:relative;z-index:2;}
.about-copy .eyebrow{color:var(--gold-soft);}
.about-copy h2{color:#fff;font-size:clamp(1.8rem,2.8vw,2.5rem);margin:12px 0 18px;}
.about-copy p{color:#c7cfe6;font-size:1.04rem;line-height:1.68;margin-bottom:16px;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:30px;
  padding-top:28px;border-top:1px solid rgba(255,255,255,.15);}
.stat .num{font-family:var(--font-display);font-weight:var(--display-weight);
  font-size:2.5rem;color:var(--gold-soft);line-height:1;}
.stat .lbl{font-size:.82rem;color:#aab4d2;margin-top:7px;line-height:1.35;}
.about-media{position:relative;}
.about-media .ph{min-height:360px;}
.founded-badge{position:absolute;right:-14px;bottom:-14px;background:var(--gold);color:var(--navy-900);
  width:96px;height:96px;border-radius:var(--radius-pill);display:flex;flex-direction:column;
  align-items:center;justify-content:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.4);}
[data-dir="conservadora"] .founded-badge{border-radius:0;}
.founded-badge .y{font-family:var(--font-display);font-weight:700;font-size:1.5rem;line-height:1;}
.founded-badge .t{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;margin-top:3px;}
@media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:36px;} .stats{gap:16px;}}

/* ============================================================
   News
   ============================================================ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ncard{background:var(--white);border:var(--card-border);border-radius:var(--radius-lg);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--card-shadow);transition:.2s ease;}
.ncard:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);}
.ncard .nmedia{position:relative;aspect-ratio:16/10;}
.ncard .nmedia .ph{height:100%;min-height:0;border:0;border-radius:0;}
.ncard .ntag{position:absolute;top:14px;left:14px;background:var(--navy-800);color:#fff;
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 11px;border-radius:var(--radius-pill);z-index:2;}
.ncard .nbody{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.ncard .ndate{font-size:.78rem;color:var(--ink-faint);font-weight:600;letter-spacing:.04em;
  display:flex;align-items:center;gap:7px;}
.ncard .ndate svg{width:14px;height:14px;}
.ncard h3{font-size:1.14rem;color:var(--navy-900);line-height:1.28;}
.ncard p{font-size:.9rem;color:var(--ink-soft);line-height:1.5;}
.ncard .nread{margin-top:auto;font-weight:700;font-size:.85rem;color:var(--gold-deep);
  display:inline-flex;align-items:center;gap:6px;padding-top:4px;}
.ncard .nread svg{width:14px;height:14px;transition:transform .18s;}
.ncard:hover .nread svg{transform:translateX(3px);}
@media(max-width:860px){.news-grid{grid-template-columns:1fr;}}

/* ============================================================
   Contact
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.contact-list{display:flex;flex-direction:column;gap:8px;margin-top:28px;}
.cline{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);}
.cline .ci{width:42px;height:42px;flex:none;border-radius:var(--radius);background:var(--gold-050);
  color:var(--gold-deep);display:flex;align-items:center;justify-content:center;}
[data-dir="moderna"] .cline .ci{border-radius:12px;}
.cline .ci{font-size:22px;}
.cline .ci svg{width:1em;height:1em;}
.cline .ct .lbl{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);font-weight:700;}
.cline .ct .val{font-size:1rem;color:var(--navy-900);font-weight:600;margin-top:2px;}
.cline .ct .val span{display:block;font-weight:400;color:var(--ink-soft);font-size:.92rem;}
.emergency{background:linear-gradient(150deg,var(--navy-700),var(--navy-900));color:#fff;
  border-radius:var(--radius-lg);padding:30px;margin-top:18px;position:relative;overflow:hidden;}
.emergency .etag{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;}
.emergency .enum{font-family:var(--font-display);font-weight:var(--display-weight);font-size:2.4rem;color:#fff;margin:6px 0 4px;}
.emergency p{color:#bcc5e0;font-size:.92rem;}
.map-ph{min-height:100%;height:100%;}
.map-ph .ph{height:100%;min-height:380px;}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:30px;}}

/* ============================================================
   Footer
   ============================================================ */
.footer{background:var(--navy-900);color:#aeb8d4;}
.footer-flag{height:5px;background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-soft),var(--gold));}
.footer-main{padding:58px 0 36px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:38px;}
.footer .f-brand{display:flex;flex-direction:column;gap:16px;}
.footer .f-brand .f-lock{display:flex;align-items:center;gap:14px;}
.footer .f-brand .f-lock img{width:54px;}
.footer .f-brand .f-lock .name{color:#fff;font-family:var(--font-display);font-weight:var(--display-weight);font-size:1.18rem;line-height:1.1;}
.footer .f-brand .f-lock .sub{color:var(--gold-soft);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;}
.footer .f-brand p{font-size:.88rem;line-height:1.6;color:#9aa6c7;max-width:300px;}
.footer h4{color:#fff;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;font-family:var(--font-body);font-weight:700;}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.footer ul a{font-size:.9rem;color:#aeb8d4;transition:.15s;}
.footer ul a:hover{color:var(--gold-soft);}
.footer .f-sesal{display:flex;flex-direction:column;gap:16px;align-items:flex-start;}
.footer .f-sesal img{height:96px;width:auto;opacity:.95;}
.footer .f-sesal .gob-note{font-size:.8rem;color:#9aa6c7;line-height:1.5;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;
  display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:.82rem;color:#8d99bd;flex-wrap:wrap;}
.footer-bottom .socials{display:flex;gap:12px;}
.footer-bottom .socials a{width:34px;height:34px;border-radius:var(--radius-pill);
  border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#aeb8d4;transition:.15s;}
.footer-bottom .socials a:hover{background:var(--gold);color:var(--navy-900);border-color:var(--gold);}
.footer-bottom .socials svg{width:16px;height:16px;}
@media(max-width:980px){.footer-main{grid-template-columns:1fr 1fr;gap:32px;}}
@media(max-width:560px){.footer-main{grid-template-columns:1fr;}}

/* escudo watermark toggle */
body.no-escudo .hero-watermark,
body.no-escudo .about-watermark{display:none;}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
