ilumina-global-footer{display:block}
.ilumina-footer{--footer-bg:#092b24;--footer-text:#f5f3eb;--footer-muted:rgba(245,243,235,.7);--footer-line:rgba(245,243,235,.22);--footer-pad:clamp(32px,3vw,64px);width:100%;max-width:none;margin:0;padding:clamp(42px,6vw,78px) var(--footer-pad) 24px;background:var(--footer-bg);color:var(--footer-text);font-family:Barlow,Arial,sans-serif}
.ilumina-footer a{color:inherit;text-decoration:none}
.ilumina-footer__top{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(320px,1fr);align-items:start;gap:clamp(45px,10vw,170px)}
.ilumina-footer__brand{display:block;width:clamp(212px,23.4vw,333px);height:52px;overflow:hidden}
.ilumina-footer__brand img{width:100%;height:100%;object-fit:contain;object-position:left center;filter:invert(1);mix-blend-mode:screen}
.ilumina-footer__top p{max-width:670px;margin:2px 0 0;color:var(--footer-muted);font-size:clamp(1rem,1.55vw,1.35rem);line-height:1.5}
.ilumina-footer__statement{padding:clamp(65px,9vw,125px) 0 clamp(58px,8vw,105px);font-size:clamp(1.55rem,8vw,6.4rem);font-weight:500;line-height:.9;letter-spacing:-.05em;white-space:nowrap}
.ilumina-footer__statement br{display:block}
.ilumina-footer__statement em{display:block;font-style:italic;font-weight:400}
/* Keep the manifesto stacked even when a consuming site has generic footer child rules. */
ilumina-global-footer footer.ilumina-footer>.ilumina-footer__statement{display:block!important;justify-content:initial;align-items:initial;gap:0}
.ilumina-footer__middle{display:grid;grid-template-columns:minmax(500px,1.25fr) minmax(280px,.6fr);gap:clamp(55px,9vw,145px);padding:clamp(38px,5vw,65px) 0;border-top:1px solid var(--footer-line);border-bottom:1px solid var(--footer-line)}
.ilumina-footer__links{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px)}
.ilumina-footer__links section{display:flex;flex-direction:column}
.ilumina-footer small{display:block;margin-bottom:20px;color:var(--footer-muted);font-size:.69rem;font-weight:700;letter-spacing:.17em}
.ilumina-footer__links a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;font-size:1rem;border-bottom:1px solid var(--footer-line)}
.ilumina-footer__links a b{color:var(--footer-muted);font-size:.72rem;font-weight:400}
.ilumina-footer__links a:hover span{opacity:.7}
.ilumina-footer__feature{position:relative;display:flex;min-height:220px;padding:25px;flex-direction:column;background:rgba(255,255,255,.075);transition:background .18s ease}
.ilumina-footer__feature:hover{background:rgba(255,255,255,.11)}
.ilumina-footer__feature strong{max-width:430px;font-size:clamp(1.8rem,2.6vw,3.1rem);font-weight:600;line-height:.95;letter-spacing:-.035em}
.ilumina-footer__feature span{max-width:350px;margin-top:auto;color:var(--footer-muted);font-size:.9rem;line-height:1.4}
.ilumina-footer__feature>b{position:absolute;right:25px;bottom:23px;font-size:1.1rem}
.ilumina-footer__connect{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:31px 0}
.ilumina-footer__contact{display:flex;gap:clamp(22px,4vw,58px);font-size:.84rem}
.ilumina-footer__contact a{color:var(--footer-muted);text-decoration:underline;text-decoration-color:var(--footer-line);text-underline-offset:5px}
.ilumina-footer__contact a:hover{color:var(--footer-text)}
.ilumina-footer__connect nav{display:flex;gap:10px}
.ilumina-footer__connect nav a{display:flex;width:43px;height:43px;align-items:center;justify-content:center;border:1px solid var(--footer-line);border-radius:50%;transition:background .16s ease,color .16s ease}
.ilumina-footer__connect nav a:hover{background:var(--footer-text);color:var(--footer-bg)}
.ilumina-footer__connect svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.ilumina-footer__connect svg .fill{fill:currentColor;stroke:none}
.ilumina-footer__legal{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid var(--footer-line);color:rgba(245,243,235,.48);font-size:.72rem;letter-spacing:.035em}
@media(min-width:1101px){
  .ilumina-footer{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1fr);column-gap:clamp(42px,5vw,86px);row-gap:0}
  .ilumina-footer__top{grid-column:1/-1;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);gap:clamp(55px,8vw,140px)}
  .ilumina-footer__top p{max-width:610px}
  .ilumina-footer__statement{display:block;grid-column:1/-1;width:100%;max-width:1500px;padding:clamp(64px,7vw,105px) 0 clamp(55px,6vw,88px);font-size:clamp(4.5rem,6.25vw,7.25rem);white-space:normal}
  .ilumina-footer__middle{grid-column:1;grid-template-columns:minmax(430px,1.45fr) minmax(280px,.72fr);gap:clamp(38px,4vw,68px)}
  .ilumina-footer__connect{grid-column:2;align-items:flex-start;flex-direction:column;justify-content:space-between;padding:clamp(38px,5vw,65px) 0;border-top:1px solid var(--footer-line);border-bottom:1px solid var(--footer-line)}
  .ilumina-footer__contact{flex-direction:column;gap:20px}
  .ilumina-footer__connect nav{flex-wrap:wrap}
  .ilumina-footer__legal{grid-column:1/-1}
}
@media(max-width:850px){.ilumina-footer__top{grid-template-columns:1fr;gap:27px}.ilumina-footer__middle{grid-template-columns:1fr;gap:38px}.ilumina-footer__feature{min-height:190px}.ilumina-footer__connect{align-items:flex-start;flex-direction:column}.ilumina-footer__contact{flex-wrap:wrap}}
@media(max-width:600px){.ilumina-footer{padding:38px 22px 22px}.ilumina-footer__brand{width:230px;height:43px}.ilumina-footer__top p{font-size:.98rem;line-height:1.48}.ilumina-footer__statement{padding:62px 0 57px;font-size:clamp(1.55rem,8vw,3rem);line-height:.92}.ilumina-footer__middle{padding:34px 0;gap:31px}.ilumina-footer__links{gap:20px}.ilumina-footer small{margin-bottom:10px}.ilumina-footer__links a{padding:9px 0;font-size:.91rem}.ilumina-footer__feature{min-height:175px;padding:21px}.ilumina-footer__feature strong{font-size:1.65rem}.ilumina-footer__feature span{max-width:250px;padding-right:28px;font-size:.79rem}.ilumina-footer__feature>b{right:21px;bottom:20px}.ilumina-footer__connect{padding:27px 0;gap:25px}.ilumina-footer__contact{gap:12px 25px;font-size:.79rem}.ilumina-footer__connect nav a{width:40px;height:40px}.ilumina-footer__legal{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:370px){.ilumina-footer__links{grid-template-columns:1fr}.ilumina-footer__links section+section{margin-top:12px}.ilumina-footer__connect nav{gap:7px}.ilumina-footer__connect nav a{width:37px;height:37px}}
