:root{
  --green-950:#022e28;
  --green-900:#063d32;
  --green-850:#06493a;
  --green-800:#075443;
  --green-700:#08765a;
  --green-600:#0d9b68;
  --green-500:#22c76a;
  --green-400:#59d653;
  --mint-100:#eaf9f0;
  --mint-50:#f6fcf8;
  --ink:#10243a;
  --muted:#5e6d78;
  --line:#d9ebe0;
  --white:#ffffff;
  --shadow:0 18px 50px rgba(6,61,50,.10);
  --radius:22px;
}
*{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:linear-gradient(180deg,#fff 0%,#f6fcf8 100%);min-height:100vh}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.site-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}
.site-shell:before,.site-shell:after{content:"";position:fixed;z-index:-2;border-radius:999px;pointer-events:none}
.site-shell:before{width:700px;height:700px;right:-260px;top:-320px;background:radial-gradient(circle,rgba(89,214,83,.14),rgba(234,249,240,0) 68%)}
.site-shell:after{width:900px;height:500px;left:-250px;bottom:-240px;background:radial-gradient(circle,rgba(34,199,106,.10),rgba(245,252,248,0) 72%)}

/* Header oscuro solicitado */
.topbar{position:sticky;top:0;z-index:50;background:linear-gradient(90deg,var(--green-950),var(--green-800));border-bottom:1px solid rgba(255,255,255,.10);box-shadow:0 8px 28px rgba(3,44,36,.18)}
.nav-wrap{max-width:1220px;margin:auto;min-height:80px;display:flex;align-items:center;gap:28px;padding:10px 24px}
.brand{display:flex;align-items:center;min-width:235px}
.brand-badge{background:#fff;border-radius:12px;padding:5px 9px;box-shadow:0 3px 12px rgba(0,0,0,.07)}
.brand img{height:48px;width:auto;object-fit:contain}
.nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:14px;font-weight:650;color:#eef8f4}
.nav a{position:relative;padding:28px 0 24px}
.nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:17px;height:2px;background:var(--green-400);transition:.25s}
.nav a:hover:after,.nav a.active:after{left:0;right:0}
.nav a.active{color:#fff}
.nav-cta{background:linear-gradient(135deg,var(--green-500),var(--green-700));color:white;padding:12px 18px;border:1px solid rgba(255,255,255,.15);border-radius:999px;box-shadow:0 10px 24px rgba(13,155,104,.24);white-space:nowrap}
.nav-cta:hover{transform:translateY(-1px)}
.menu-btn{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;color:white}
main{flex:1}

.page-hero{max-width:1220px;margin:0 auto;padding:64px 24px 32px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;min-height:520px}
.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-700);font-weight:800}
h1{font-size:clamp(46px,6vw,78px);line-height:.96;letter-spacing:-.045em;margin:16px 0 22px;color:#11263b}
.hero-accent{color:var(--green-500)}
.lead{font-size:20px;line-height:1.55;color:#41515f;max-width:720px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 20px;font-weight:750;border:1px solid transparent;transition:.25s}
.btn-primary{background:linear-gradient(135deg,var(--green-500),var(--green-700));color:white;box-shadow:0 12px 28px rgba(13,155,104,.18)}
.btn-secondary{border-color:#bfdccc;background:white;color:var(--green-800)}
.btn:hover{transform:translateY(-2px)}

/* Panel sin superposición */
.visual-panel{position:relative;min-height:390px;border-radius:32px;background:linear-gradient(145deg,#ffffff 0%,#ecf8f1 48%,#dff5e8 100%);border:1px solid #d6ece0;box-shadow:var(--shadow);overflow:hidden;padding:26px;display:grid;grid-template-columns:minmax(150px,.78fr) minmax(0,1.55fr);gap:18px;align-items:stretch}
.visual-panel:before{content:"";position:absolute;inset:auto -50px -95px 20%;height:240px;border-radius:50%;background:linear-gradient(110deg,rgba(34,199,106,.18),rgba(34,199,106,0));transform:rotate(-9deg);pointer-events:none}
.float-card{position:relative;z-index:2;background:white;border:1px solid var(--line);box-shadow:0 12px 32px rgba(6,61,50,.09);border-radius:18px;padding:18px 20px;min-width:0;align-self:start}
.float-card b{display:block;font-size:24px;color:var(--green-800);margin:6px 0}
.float-card small{display:block;line-height:1.45;color:var(--muted)}
.dashboard{position:relative;z-index:2;width:auto!important;height:auto!important;min-height:270px;border-radius:24px;background:linear-gradient(160deg,#0a5545,#082f2c);padding:22px;box-shadow:0 25px 50px rgba(6,61,50,.26)}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;height:100%}
.metric{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px;color:white;overflow:hidden}
.metric strong{font-size:28px;display:block;margin-top:8px}
.metric p{line-height:1.45}
.bars{height:105px;display:flex;align-items:end;gap:8px;margin-top:12px}
.bars i{display:block;width:12%;background:linear-gradient(180deg,#64e66f,#18b96b);border-radius:8px 8px 2px 2px}
.wave{position:absolute;inset:0;pointer-events:none;opacity:.6;background:radial-gradient(ellipse at 80% 0%,rgba(89,214,83,.28),transparent 48%)}

.trust-strip{max-width:1220px;margin:10px auto 60px;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;gap:13px;align-items:center;box-shadow:0 8px 24px rgba(6,61,50,.05)}
.trust-card img,.concept-icon{width:48px;height:48px;object-fit:contain;flex:0 0 auto}
.trust-card b{display:block}.trust-card span{font-size:13px;color:var(--muted)}

.page-head{max-width:1220px;margin:0 auto;padding:68px 24px 20px}.page-head h1{font-size:clamp(44px,5vw,68px);max-width:900px}.page-head .lead{max-width:830px}
.section{max-width:1220px;margin:0 auto;padding:36px 24px 72px}
.section-title{font-size:34px;line-height:1.1;margin:0 0 14px}.section-sub{color:var(--muted);max-width:760px;font-size:17px;line-height:1.6;margin-bottom:28px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 12px 30px rgba(6,61,50,.06);transition:.25s;min-height:190px}.card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(6,61,50,.10)}.card h3{font-size:20px;margin:14px 0 10px}.card p{color:var(--muted);line-height:1.55;margin:0}
.method{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}.step{background:linear-gradient(180deg,#fff,#f7fcf9);border:1px solid var(--line);border-radius:18px;padding:22px}.step h3{margin-top:14px}.step p{color:var(--muted);line-height:1.55}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.feature-panel{background:linear-gradient(145deg,#f6fcf8,#e8f7ee);border:1px solid var(--line);border-radius:26px;padding:30px}.feature-list{display:grid;gap:14px}.feature-item{display:flex;gap:14px;align-items:flex-start;background:white;border:1px solid var(--line);border-radius:16px;padding:16px}.dot{width:12px;height:12px;border-radius:50%;background:var(--green-500);margin-top:6px;flex:0 0 auto}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;min-height:220px;box-shadow:0 10px 28px rgba(6,61,50,.05);transition:.25s}.service:hover{transform:translateY(-4px);border-color:#aad8bd}.service img{width:52px;height:52px;object-fit:contain;margin-bottom:18px}.service h3{margin:0 0 9px;font-size:19px}.service p{margin:0;color:var(--muted);line-height:1.5}
.pub-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.chip{border:1px solid var(--line);background:white;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:700}.chip.active{background:var(--green-700);color:white}.pub-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:22px}.pub-feature{background:linear-gradient(145deg,#0a5847,#073b35);color:white;border-radius:24px;padding:30px;min-height:320px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.pub-feature:after{content:"";position:absolute;right:-70px;top:-50px;width:250px;height:250px;border:44px solid rgba(89,214,83,.16);border-radius:50%}.pub-feature h2{font-size:38px;max-width:650px;margin:10px 0}.pub-feature p{max-width:650px;color:#d7eee3}.pub-side{display:grid;gap:14px}.pub-card{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.pub-card small{color:var(--green-700);font-weight:800}.pub-card h3{margin:8px 0}.pub-card p{color:var(--muted);margin:0}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px}.contact-list{display:grid;gap:14px}.contact-item{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.contact-item b{display:block;margin-bottom:5px}.contact-item span{color:var(--muted)}.form-card{background:white;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:13px;font-weight:750}.field input,.field textarea,.field select{border:1px solid #cfe5d8;border-radius:12px;padding:13px;background:#fbfefc;outline:none}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(34,199,106,.10)}

/* Footer oscuro, misma tonalidad del encabezado */
.footer{background:linear-gradient(90deg,var(--green-950),var(--green-800));color:#ecf8f3;margin-top:auto;border-top:1px solid rgba(255,255,255,.12)}
.footer-inner{max-width:1220px;margin:auto;padding:24px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.footer-grid{display:grid;grid-template-columns:1.1fr 1.2fr auto;gap:28px}
.footer-brand .brand-badge{display:inline-block}
.footer-brand img{height:48px;width:auto}
.footer-contact{display:grid;gap:10px;align-content:center}
.footer-contact-link{display:flex;align-items:center;gap:10px;color:#f2fbf7;font-size:14px}
.footer-contact-link img{width:24px;height:24px;filter:none}
.footer-social{display:flex;gap:10px;align-items:center;justify-content:flex-end}
.social-link{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(89,214,83,.45);background:rgba(255,255,255,.05);transition:.2s}
.social-link:hover{background:rgba(89,214,83,.12);transform:translateY(-2px)}
.social-link img{width:24px;height:24px}
.footer-lower{max-width:1220px;margin:auto;padding:14px 24px 18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:24px;color:#cfe8dd;font-size:12px}
.footer-nav{display:flex;gap:16px;flex-wrap:wrap}.footer-nav a:hover{color:white}
.social-toast{position:fixed;right:18px;bottom:18px;z-index:80;background:#fff;color:var(--green-900);border:1px solid var(--line);border-radius:12px;padding:12px 15px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s;font-size:13px}.social-toast.show{opacity:1;transform:none}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.in{opacity:1;transform:none}
.page-enter{animation:pageIn .5s ease both}@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (max-width:980px){
  .nav{position:fixed;top:78px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;background:var(--green-950);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;box-shadow:var(--shadow)}
  .nav.open{display:flex}.nav a{padding:11px 8px}.nav a:after{bottom:5px}.nav-cta{display:none}.menu-btn{display:block}
  .brand{min-width:0}.brand img{height:42px}.page-hero{grid-template-columns:1fr;gap:30px}.visual-panel{grid-template-columns:1fr}.dashboard{min-height:245px}.trust-strip,.cards,.method,.services-grid{grid-template-columns:repeat(2,1fr)}.split,.pub-grid,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-social{justify-content:flex-start}.footer-lower{flex-direction:column}
}
@media (max-width:620px){
  .nav-wrap{padding:8px 14px;min-height:72px}.brand-badge{padding:4px 6px}.brand img{height:36px}.page-hero,.page-head,.section{padding-left:18px;padding-right:18px}h1{font-size:44px}.lead{font-size:18px}.trust-strip,.cards,.method,.services-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.dashboard-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-inner{padding:20px 18px}.footer-lower{padding:14px 18px 18px}.contact-grid{gap:18px}
}

/* Candidate V3 — approved visual corrections, 2026-09-15 */
:root{
  --fixed-header-height:80px;
}

/* Fixed upper ribbon. The official imagotype sits directly on the ribbon. */
.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:100;
}
.site-shell{
  padding-top:var(--fixed-header-height);
}
.brand-badge{
  background:transparent;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
.brand img{
  height:54px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.28));
}

/* Footer uses the same dark ribbon treatment and transparent canonical imagotype. */
.footer-brand .brand-badge{
  display:inline-flex;
  align-items:center;
  background:transparent;
  padding:0;
  border-radius:0;
  box-shadow:none;
}
.footer-brand img{
  height:54px;
  width:auto;
  object-fit:contain;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.28));
}

/* Prevent the Tecnología + eficiencia label from overflowing its metric card. */
.metric-tech{
  min-width:0;
}
.metric-tech span{
  display:block;
  font-size:15px;
  line-height:1.2;
}
.metric-tech strong{
  display:block;
  font-size:20px;
  line-height:1.16;
  letter-spacing:-.015em;
  margin-top:8px;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  max-width:100%;
}
.metric-tech p{
  font-size:14px;
  line-height:1.38;
}

@media (max-width:980px){
  :root{--fixed-header-height:78px}
  .nav{top:78px}
  .brand img{height:48px}
  .footer-brand img{height:48px}
  .metric-tech strong{font-size:19px}
}
@media (max-width:620px){
  :root{--fixed-header-height:72px}
  .nav{top:72px}
  .brand img{height:42px}
  .footer-brand img{height:44px}
  .metric-tech strong{font-size:18px}
}

/* Candidate V4 — ONLY upper/lower ribbons updated to approved reference, 2026-09-15 */
:root{
  --fixed-header-height:64px;
  --ribbon-top:#00453a;
  --ribbon-bottom:#004139;
  --ribbon-bright:#19c65b;
}

/* Upper ribbon: fixed, compact, full-width, no white logo container. */
.topbar{
  position:fixed;
  inset:0 0 auto 0;
  height:var(--fixed-header-height);
  z-index:100;
  background:linear-gradient(90deg,#003f36 0%,var(--ribbon-top) 48%,#005043 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 4px 14px rgba(0,45,38,.16);
}
.site-shell{padding-top:var(--fixed-header-height)}
.nav-wrap{
  width:100%;
  max-width:none;
  min-height:var(--fixed-header-height);
  height:var(--fixed-header-height);
  margin:0;
  padding:7px clamp(18px,3vw,42px);
  display:flex;
  align-items:center;
  gap:15px;
}
.brand-ribbon{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  background:transparent;
  padding:0;
  border:0;
}
.brand-ribbon img{
  display:block;
  width:auto;
  height:40px;
  object-fit:contain;
}
.brand-separator{
  width:1px;
  height:34px;
  background:rgba(255,255,255,.72);
  flex:0 0 auto;
  margin-left:2px;
}
.brand-tagline{
  color:#f4fbf8;
  font-size:11px;
  line-height:1.18;
  white-space:nowrap;
  letter-spacing:.01em;
  flex:0 0 auto;
}
.nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:clamp(15px,1.8vw,25px);
  font-size:12px;
  font-weight:600;
  color:#f4fbf8;
}
.nav a{padding:20px 0 18px}
.nav a:after{bottom:12px;height:2px;background:var(--ribbon-bright)}
.nav-search{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  color:#fff;
  flex:0 0 auto;
  border-radius:50%;
  transition:.2s;
}
.nav-search:hover{background:rgba(255,255,255,.08)}
.nav-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.nav-cta{
  padding:10px 17px;
  font-size:12px;
  font-weight:700;
  background:linear-gradient(135deg,#15cc61,#07955e);
  border:1px solid rgba(122,245,161,.45);
  box-shadow:none;
}
.menu-btn{margin-left:auto}

/* Lower ribbon: same compact institutional structure as the approved reference. */
.footer{
  margin-top:auto;
  color:#effaf5;
  background:linear-gradient(90deg,#003d35 0%,var(--ribbon-bottom) 52%,#005043 100%);
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-ribbon{
  width:100%;
  padding:12px clamp(18px,3vw,42px) 10px;
  display:grid;
  grid-template-columns:auto minmax(210px,.9fr) auto 1px minmax(340px,1fr);
  align-items:center;
  gap:20px;
}
.footer-brandline{display:flex;align-items:center;gap:10px;min-width:0}
.footer-brand-logo{display:flex;align-items:center;flex:0 0 auto}
.footer-brand-logo img{height:37px;width:auto;object-fit:contain}
.footer-brand-separator{width:1px;height:34px;background:rgba(255,255,255,.58);flex:0 0 auto}
.footer-brand-tagline{font-size:10px;line-height:1.2;color:#f2faf6;white-space:nowrap}
.footer-contact{display:grid;gap:4px;min-width:0}
.footer-contact-link{display:flex;align-items:center;gap:8px;color:#effaf5;font-size:10.5px;white-space:nowrap}
.footer-contact-link img{width:18px;height:18px;flex:0 0 auto}
.footer-social{display:flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap}
.social-link{
  width:28px;
  height:28px;
  border:0;
  border-radius:50%;
  background:var(--ribbon-bright);
  display:grid;
  place-items:center;
  transition:.2s;
}
.social-link:hover{background:#2dd76b;transform:translateY(-1px)}
.social-link img{width:17px;height:17px;filter:brightness(0) invert(1)}
.footer-nav-separator{width:1px;height:28px;background:rgba(255,255,255,.42)}
.footer-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.4vw,18px);flex-wrap:nowrap;font-size:10px;color:#f2faf6;white-space:nowrap}
.footer-bottom{
  margin:0 clamp(18px,3vw,42px);
  padding:7px 0 9px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#cfe5db;
  font-size:9px;
}
.footer-slogan{display:flex;align-items:center;gap:12px;white-space:nowrap}
.footer-slogan>span{display:block;width:28px;height:2px;background:var(--ribbon-bright)}

/* Retire V2/V3 badge styling inside ribbons. */
.topbar .brand-badge,.footer .brand-badge{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important}

@media (max-width:1180px){
  .brand-tagline{display:none}
  .brand-separator{display:none}
  .nav{gap:14px}
  .footer-ribbon{grid-template-columns:auto 1fr auto 1px auto;gap:14px}
  .footer-brand-tagline{display:none}
  .footer-brand-separator{display:none}
}
@media (max-width:980px){
  :root{--fixed-header-height:64px}
  .nav-wrap{height:64px;min-height:64px;padding:7px 16px}
  .brand-ribbon img{height:39px}
  .nav{position:fixed;top:64px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;background:#003f36;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px;box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav a{padding:10px 8px}
  .nav a:after{bottom:4px}
  .nav-search,.nav-cta{display:none}
  .menu-btn{display:block}
  .footer-ribbon{grid-template-columns:1fr 1fr;gap:14px 24px}
  .footer-brandline{grid-column:1}
  .footer-contact{grid-column:2}
  .footer-social{grid-column:1;justify-content:flex-start}
  .footer-nav-separator{display:none}
  .footer-nav{grid-column:2;justify-content:flex-start;flex-wrap:wrap;white-space:normal}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}
}
@media (max-width:620px){
  :root{--fixed-header-height:60px}
  .nav-wrap{height:60px;min-height:60px;padding:6px 12px}
  .brand-ribbon img{height:36px}
  .nav{top:60px}
  .footer-ribbon{grid-template-columns:1fr;padding:14px 16px 10px}
  .footer-brandline,.footer-contact,.footer-social,.footer-nav{grid-column:1}
  .footer-brand-logo img{height:34px}
  .footer-nav{gap:12px}
  .footer-bottom{margin:0 16px;padding-bottom:12px}
  .footer-slogan{white-space:normal}
}


/* Candidate V5 — header/footer logo swap and per-page corner imagotype */

:root{
  --fixed-header-height:64px;
}

/* Use the supplied white transparent imagotype directly inside the ribbons. */
.brand-separator,
.brand-tagline,
.footer-brand-separator,
.footer-brand-tagline{
  display:none !important;
}

.nav-wrap{
  gap:18px;
}
.brand-ribbon{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  min-width:0;
}
.brand-ribbon img{
  height:42px;
  width:auto;
  object-fit:contain;
  display:block;
  filter:none;
}
.nav{
  margin-left:auto;
}

main{
  position:relative;
}
.page-corner-brand{
  position:absolute;
  top:18px;
  right:clamp(18px,3vw,42px);
  z-index:8;
  pointer-events:none;
}
.page-corner-brand img{
  width:min(270px,22vw);
  min-width:170px;
  height:auto;
  display:block;
  opacity:1;
}

.footer-brandline{
  gap:0;
}
.footer-brand-logo{
  display:flex;
  align-items:center;
}
.footer-brand-logo img{
  height:40px;
  width:auto;
  object-fit:contain;
  display:block;
  filter:none;
}

@media (max-width:1100px){
  .brand-ribbon img{height:38px}
  .footer-brand-logo img{height:36px}
  .page-corner-brand img{width:min(220px,28vw);min-width:150px}
}

@media (max-width:980px){
  .nav-wrap{gap:14px}
  .brand-ribbon img{height:34px}
  .footer-brand-logo img{height:34px}
  .page-corner-brand{top:16px;right:18px}
  .page-corner-brand img{width:150px;min-width:0}
}

@media (max-width:620px){
  .brand-ribbon img{height:30px}
  .footer-brand-logo img{height:30px}
  .page-corner-brand{display:none}
}


/* Candidate V6 — proportional enlargement of canonical imagotype in header/footer only */
.brand-ribbon{
  height:100%;
  align-self:stretch;
}
.brand-ribbon img{
  height:100%;
  max-height:50px;
  width:auto;
  object-fit:contain;
}
.footer-brandline{
  align-self:stretch;
  min-height:52px;
}
.footer-brand-logo{
  height:100%;
  align-self:stretch;
}
.footer-brand-logo img{
  height:100%;
  max-height:52px;
  width:auto;
  object-fit:contain;
}

@media (max-width:1100px){
  .brand-ribbon img{height:100%;max-height:48px}
  .footer-brand-logo img{height:100%;max-height:50px}
}
@media (max-width:980px){
  .brand-ribbon img{height:100%;max-height:46px}
  .footer-brand-logo img{height:100%;max-height:48px}
}
@media (max-width:620px){
  .brand-ribbon img{height:100%;max-height:44px}
  .footer-brandline{min-height:46px}
  .footer-brand-logo img{height:100%;max-height:46px}
}


/* Candidate V7 — ONLY enlarge the supplied white transparent imagotype in upper/lower ribbons.
   Transparent outer canvas was trimmed without altering any visible logo pixels. */
.brand-ribbon{
  height:var(--fixed-header-height);
  display:flex;
  align-items:center;
}
.brand-ribbon img{
  height:58px !important;
  max-height:58px !important;
  width:auto !important;
  object-fit:contain;
  display:block;
  filter:none;
}
.footer-brandline{
  min-height:58px;
  display:flex;
  align-items:center;
}
.footer-brand-logo{
  height:58px;
  display:flex;
  align-items:center;
}
.footer-brand-logo img{
  height:56px !important;
  max-height:56px !important;
  width:auto !important;
  object-fit:contain;
  display:block;
  filter:none;
}
@media (max-width:1100px){
  .brand-ribbon img{height:56px !important;max-height:56px !important}
  .footer-brand-logo img{height:54px !important;max-height:54px !important}
}
@media (max-width:980px){
  .brand-ribbon img{height:52px !important;max-height:52px !important}
  .footer-brand-logo img{height:50px !important;max-height:50px !important}
}
@media (max-width:620px){
  .brand-ribbon img{height:48px !important;max-height:48px !important}
  .footer-brandline,.footer-brand-logo{min-height:48px;height:48px}
  .footer-brand-logo img{height:46px !important;max-height:46px !important}
}
