/* Page140 presentation. Global Header geometry and interaction owners are shared. */
.site-header--overlay { position: absolute; inset: 0 0 auto; background: transparent; }
.admin-bar .site-header--overlay { top: var(--wp-admin--admin-bar--height, 32px); }
.site-header--overlay .site-branding img,
.site-header--overlay .site-search-toggle img,
.site-header--overlay #primary-menu > li > .menu-chevron img,
.site-header--overlay #primary-menu > li > .submenu-toggle img { filter: brightness(0) invert(1); }
.site-header--overlay #primary-menu > li > a,
.site-header--overlay .menu-toggle { color: #fff; }
.site-header--overlay #primary-menu > li > a:hover,
.site-header--overlay #primary-menu > li > a:focus-visible { color: var(--ilux-pink); }
.ilux-homepage { padding-top: 34px; }
.ilux-home-hero, .ilux-home-services, .ilux-home-sectors { margin-inline: 30px; border-radius: 50px; }
.ilux-home-hero { position: relative; min-height: 900px; overflow: hidden; background: var(--ilux-navy); color: #fff; }
.ilux-home-hero__media { position: absolute; inset: 0; overflow: hidden; transform: scaleX(-1); }
.ilux-home-hero__media img { position: absolute; max-width: none; width: 134.9%; height: 125.17%; left: -34.68%; top: -5.84%; object-fit: cover; }
.ilux-home-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,19,68,.36), transparent 34.444%); mix-blend-mode: multiply; pointer-events: none; }
.ilux-home-hero__content { position: relative; z-index: 1; padding-block: 273px 120px; }
.ilux-home-hero h1 { max-width: 738px; margin: 0; font-family: Sora, sans-serif; font-weight: 600; font-size: 77.67px; line-height: 1; letter-spacing: -.03em; color: inherit; overflow-wrap: anywhere; }
.ilux-home-hero h1::before { content: ''; float: right; width: 250px; height: .99em; }
.ilux-home-hero p { max-width: 509px; margin: 24px 0 0; font-weight: 700; font-size: 23.66px; line-height: 1.6; letter-spacing: -.01em; }
.ilux-home-hero__buttons { display: flex; flex-wrap: wrap; gap: 25px; margin-top: 42px; }
.ilux-home-glass, .ilux-home-glass:visited { min-width: 187px; padding-inline: 30px; letter-spacing: -.01em; background: rgba(255,255,255,.7); border: 1px solid #fff; color: var(--ilux-navy); backdrop-filter: blur(10px); }
.ilux-home-hero__buttons .ilux-button { min-width: 180px; }
.ilux-home-hero__buttons .ilux-button:first-child { min-width: 215px; }
.ilux-homepage .ilux-button { max-width: 100%; overflow-wrap: anywhere; }
.ilux-home-glass:hover, .ilux-home-glass:focus-visible,
.ilux-home-glass:visited:hover, .ilux-home-glass:visited:focus-visible { background: var(--ilux-blush); border-color: var(--ilux-blush); color: var(--ilux-pink); }
.ilux-home-services { margin-top: 41px; padding-block: 122px 130px; background: url('tiles-gradient.png') center / cover; }
.ilux-home-services__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 30px; }
.ilux-home-service { min-width: 0; display: flex; }
.ilux-home-service__content { display: flex; flex-direction: column; width: 100%; min-height: 443px; padding: 42px 39px 41px; border: 3px solid #fff; border-radius: 34px; color: #fff; text-decoration: none; transition: background-color 700ms ease-in-out, border-color 700ms ease-in-out, color 700ms ease-in-out; }
.ilux-home-service__content:visited { color: #fff; }
.ilux-home-service__content:hover, .ilux-home-service__content:focus-visible { border-color: var(--ilux-pink); color: #fff; background: transparent; }
.ilux-home-service h2 { margin: 0 0 26px; color: inherit; font-family: Sora, sans-serif; font-weight: 600; font-size: 39px; line-height: 44.8px; letter-spacing: -.03em; overflow-wrap: anywhere; }
.ilux-home-service p { margin: 0 0 28px; font-weight: 500; font-size: 16px; line-height: 22.4px; }
.ilux-home-service .ilux-button { align-self: flex-start; margin-top: auto; }
.ilux-home-service__content:hover .ilux-button, .ilux-home-service__content:focus-visible .ilux-button { color: #fff; border-color: var(--ilux-pink); background: var(--ilux-pink); }
.ilux-home-message { margin-top: 15px; }
.ilux-home-message__grid { display: grid; grid-template-columns: minmax(0, 540px) minmax(0, 1fr); gap: 190px; padding-left: 120px; }
.ilux-home-message__media { min-width: 0; }
.ilux-home-message__media img { display: block; width: 122.962963%; max-width: none; height: auto; margin-left: -12.407407%; }
.ilux-home-message__content { min-width: 0; padding-top: 195px; }
.ilux-home-message__content h2 { margin: 0 0 44px; font-family: Sora, sans-serif; font-weight: 600; font-size: 39px; line-height: 44.8px; letter-spacing: -.03em; }
.ilux-home-message__content p { max-width: 448px; margin: 0 0 38px; font-family: Manrope, sans-serif; font-size: 23.66px; line-height: normal; font-weight: 700; letter-spacing: -.01em; color: var(--ilux-blue); }
.ilux-home-message__content .ilux-button { margin-top: 6px; }
.ilux-home-message__content .ilux-button:hover, .ilux-home-message__content .ilux-button:focus-visible { background: var(--ilux-blush); border-color: var(--ilux-blush); color: var(--ilux-pink); }
.ilux-home-sectors { margin-top: 110px; padding-block: 90px 120px; background: var(--ilux-blush); }
.ilux-home-sectors h2 { margin: 0 0 47.2px; text-align: center; font-family: Sora, sans-serif; font-size: 39px; font-weight: 600; line-height: 44.8px; letter-spacing: -.03em; }
.ilux-home-sectors__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 60px; }
.ilux-home-sector { min-width: 0; display: flex; }
.ilux-home-sector__content { display: flex; flex-direction: column; width: calc(100% + 24px); margin: -12px -12px -16px; padding: 22px 12px 16px; border-radius: 24px; color: var(--ilux-navy); text-decoration: none; transition: background-color 700ms ease-in-out, color 700ms ease-in-out; }
.ilux-home-sector h3 { margin: 0 0 27px; font-family: Manrope, sans-serif; font-weight: 700; font-size: 23.66px; line-height: 1.4; letter-spacing: -.01em; }
.ilux-home-sector p { margin: 0 0 45px; font-size: 16px; font-weight: 500; line-height: 22.4px; letter-spacing: -.01em; }
.ilux-home-sector .ilux-button { align-self: flex-start; margin-top: auto; }
.ilux-home-sector__content:hover, .ilux-home-sector__content:focus-visible { background: var(--ilux-pink); color: #fff; }
.ilux-home-sector .ilux-button, .ilux-home-sector .ilux-button:visited { background: var(--ilux-pink); border-color: var(--ilux-pink); color: #fff; }
.ilux-home-sector__content:hover .ilux-button, .ilux-home-sector__content:focus-visible .ilux-button { background: #fff; border-color: #fff; color: var(--ilux-pink); }
.ilux-home-layouts .ilux-section { padding-top: 145px; padding-bottom: 106px; }
@media (min-width: 681px) and (max-width: 1400px) {
 /* Preserve shared logo geometry; retain its white strokes across the Hero edge. */
 .site-header--overlay .site-branding img { filter: brightness(0) invert(1) drop-shadow(0 0 1px var(--ilux-navy)) drop-shadow(0 0 1px var(--ilux-navy)); }
 .ilux-home-hero h1 { font-size: clamp(48px, 5.4vw, 77.67px); }
 .ilux-home-message__grid { padding-left: 40px; gap: 80px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
 .ilux-home-message__content { padding-top: 110px; }
 .ilux-home-service__content { padding: 30px 25px; }
 .ilux-home-service h2 { font-size: 31px; line-height: 1.2; }
 .ilux-home-sectors__grid { gap: 30px; }
}
@media (max-width: 1024px) {
 .site-header--overlay .main-navigation.toggled #primary-menu > li > a { color: var(--ilux-navy); }
 .site-header--overlay .main-navigation.toggled #primary-menu > li > .submenu-toggle img { filter: none; }
 .ilux-home-hero__media img { width: 100%; height: 100%; left: 0; top: 0; object-fit: cover; object-position: 55% center; }
 .ilux-home-services__grid, .ilux-home-sectors__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ilux-home-services__grid:has(> :only-child), .ilux-home-sectors__grid:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
 .ilux-home-message__grid { gap: 55px; padding-left: 20px; }
 .ilux-home-message__content h2 { font-size: 31px; line-height: 1.2; }
 .ilux-home-message__content p { font-size: 18px; }
}
@media (max-width: 680px) {
 .ilux-homepage { padding-top: 0; }
 .ilux-home-services, .ilux-home-sectors { margin-inline: 19px; }
 /* Latest shared Figma Header occupies120px above the inset dynamic Hero. */
 .ilux-home-hero { min-height: 704px; margin-inline: 19px; border-radius: 50px; }
 .ilux-home-hero::after { background: linear-gradient(180deg, rgba(13,19,68,.65), rgba(13,19,68,.45) 70%, transparent); }
 .ilux-home-hero__content { width: auto; margin-left: 31px; margin-right: 3px; padding-block: 128px 70px; }
 .ilux-home-hero h1 { font-size: 39.0625px; line-height: 44.2px; max-width: 318px; }
 .ilux-home-hero h1::before { display: none; }
 .ilux-home-hero p { max-width: 311px; font-size: 20px; line-height: 27px; margin-top: 28px; }
 .ilux-home-hero__buttons { flex-direction: column; align-items: flex-start; margin-top: 27px; gap: 11px; }
 .ilux-home-services { margin-top: 26px; padding-block: 30px 34px; }
 .ilux-home-services__grid { width: auto; margin-inline: 31px; grid-template-columns: minmax(0, 1fr); gap: 30px; }
 .ilux-home-service__content { min-height: 360px; padding: 26px 25px 26px; }
 .ilux-home-service h2 { font-size: 28.25px; line-height: 32.9px; margin-bottom: 24px; }
 .ilux-home-service p { margin-bottom: 26px; }
 .ilux-home-message { margin-top: 15px; }
 .ilux-home-message__grid { width: auto; margin-inline: 50px; padding: 0; display: block; }
 .ilux-home-message__media { width: 100%; }
 .ilux-home-message__content { padding-top: 32px; }
 .ilux-home-message__content h2 { font-size: 28.25px; line-height: 32.9px; margin-bottom: 24px; }
 .ilux-home-message__content p { font-size: 20px; line-height: normal; margin-bottom: 38px; letter-spacing: 0; }
 .ilux-home-message__content .ilux-button--outline:not(:hover):not(:focus-visible) { background: #fff; border-color: var(--ilux-blue); color: var(--ilux-navy); }
 .ilux-home-message__content .ilux-button { margin-top: 0; }
 .ilux-home-sectors { margin-top: 62px; padding-block: 48px 40px; border-radius: 34px; }
 .ilux-home-sectors > .ilux-container { width: auto; margin-inline: 31px; }
 .ilux-home-sectors h2 { max-width: 206px; font-size: 28.25px; line-height: 32.9px; text-align: left; margin-bottom: 38px; }
 .ilux-home-sectors__grid { grid-template-columns: minmax(0, 1fr); gap: 42px; }
 .ilux-home-sector h3 { font-size: 20px; line-height: 1.4; margin-bottom: 10px; }
 .ilux-home-sector p { margin-bottom: 30px; }
 .ilux-home-layouts .ilux-section { padding-top: 40px; padding-bottom: 37px; }
}
@media (prefers-reduced-motion: reduce) {
 .ilux-homepage a, .ilux-homepage .ilux-button { transition-duration: 0s; }
}

/* Source offsets belong to Hero content, independently of shared Header geometry. */
@media (min-width: 1025px) {
 .ilux-home-hero h1 { position: relative; left: -5px; }
 .ilux-home-hero p { position: relative; left: -3px; }
 .ilux-home-hero__buttons { position: relative; left: -4px; }
}
@media (min-width: 1401px) {
 .ilux-home-hero h1 { line-height: 77.7px; }
 .ilux-home-hero__buttons { margin-top: 46px; }
 .ilux-home-message__grid { column-gap: 191px; }
 .ilux-home-message__content h2 { margin-bottom: 34.2px; }
}
@media (max-width: 680px) {
 .ilux-home-hero h1 { letter-spacing: 0; }
 .ilux-home-hero p { position: relative; left: 1px; margin-top: 21px; letter-spacing: 0; line-height: normal; }
}
