.footer {
  padding: clamp(96px, 12vw, 154px) max(24px, calc((100vw - 1180px) / 2)) 30px;
  background: linear-gradient(112deg, #100675 0%, #132858 48%, #100675 100%);
  color: rgba(255,255,255,.72);
}
.footerMain { display:grid; grid-template-columns:minmax(300px,1.45fr) repeat(2,minmax(190px,.82fr)); gap:clamp(48px,8vw,132px); max-width:1180px; margin:0 auto; padding-bottom:clamp(64px,8vw,106px); }
.footerIdentity img { width:158px; height:auto; filter:brightness(1.12) contrast(1.05); }
.footerIdentity p { max-width:385px; margin:28px 0 0; color:rgba(255,255,255,.62); line-height:1.72; }
.footerActions { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.footerActions a { border:1px solid rgba(255,255,255,.23); padding:10px 12px; color:#fff; font-size:.78rem; font-weight:900; transition:border-color .2s ease,background-color .2s ease; }
.footerActions a:first-child { border-color:#f7ab64; background:#f7ab64; color:#2e2d2c; }
.footerActions a:hover { border-color:#4fb6c8; background:rgba(79,182,200,.13); }
.footerLinks,.footerContact { display:grid; align-content:start; gap:15px; }
.footerLinks p,.footerContact p { margin:0 0 10px; color:#4fb6c8; font-size:.68rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.footerLinks a,.footerContact a { color:rgba(255,255,255,.82); font-size:.94rem; font-weight:700; }
.footerLinks a:hover,.footerContact a:hover { color:#fff; }
.icloFooterCard { display:grid; justify-items:start; gap:9px; }
.icloFooterLogo { display:block; margin-bottom:24px; }
.icloWordmark { display:flex; height:49px; align-items:center; gap:17px; color:#fff; }
.icloWordmark b { font-size:1.55rem; font-weight:900; letter-spacing:.08em; line-height:1; }
.icloWordmark i { display:block; width:1px; height:100%; background:#f7ab64; opacity:.95; }
.icloFooterLogo:hover .icloWordmark { color:#f7ab64; }
.icloFooterLogo:hover .icloWordmark i { background:#fff; }
.icloFooterCard address { margin:0 0 2px; color:rgba(255,255,255,.62); font-size:.84rem; font-style:normal; line-height:1.72; }
.icloFooterContact { color:rgba(255,255,255,.82) !important; font-size:.84rem !important; font-weight:500 !important; }
.icloEventReferences { display:grid; gap:5px; margin-top:13px; padding-top:14px; border-top:1px solid rgba(255,255,255,.16); }
.icloEventReferences span { color:#4fb6c8; font-size:.62rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.icloEventReferences a { color:rgba(255,255,255,.78) !important; font-size:.76rem !important; font-weight:600 !important; }
.icloFooterVat { margin-top:14px; color:rgba(255,255,255,.42); font-size:.78rem; }
.footerSocial { display:flex; align-items:center; gap:16px; margin-top:26px; }
.footerSocial a { display:grid; width:43px; height:43px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease; }
.footerSocial a svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.footerSocial a .linkedinIcon { fill:currentColor; stroke:none; }
.footerSocial a:hover { border-color:#f7ab64; background:#f7ab64; color:#2e2d2c; transform:translateY(-3px); }
.icloTeachingLink { margin-top:6px; color:#4fb6c8 !important; font-size:.78rem !important; line-height:1.35; }
.footerBottom { display:grid; grid-template-columns:1fr auto; align-items:start; gap:18px; max-width:1180px; margin:0 auto; border-top:1px solid rgba(255,255,255,.13); padding-top:27px; color:rgba(255,255,255,.45); font-size:.72rem; }
.footerBottom .footerCopyright { display:grid; justify-items:start; gap:8px; }
.footerBottom .footerLegal { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:16px; }
.footerBottom a,.footerBottom button { border:0; padding:0; background:transparent; color:rgba(255,255,255,.72); font:inherit; font-weight:800; cursor:pointer; }
.footerBottom .poweredBy { color:rgba(255,255,255,.42); font-size:.63rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.footerBottom a:hover,.footerBottom button:hover { color:#fff; }
@media (max-width:900px) {
  .footer { padding-top:72px; }
  .footerMain { grid-template-columns:1fr; gap:34px; padding-bottom:42px; }
  .icloWordmark { height:44px; gap:12px; }
  .footerBottom { grid-template-columns:1fr; align-items:flex-start; }
  .footerBottom .footerLegal { justify-content:flex-start; }
}
