:root{--hdr-h:clamp(64px,7vw,88px);--page-gutter:clamp(20px,4vw,48px)}
[hidden]{display:none!important}
body{margin:0;background:var(--ez-dark-900)}
[data-reveal]:not(.is-in),[data-reveal]:not(.is-in) *{animation-play-state:paused!important}
.container{max-width:1376px;margin-inline:auto;padding-inline:var(--page-gutter)}
.headline{margin:0;font-family:var(--font-headline);font-weight:700;text-transform:uppercase}
.eyebrow{margin:0;display:flex;align-items:center;gap:12px;font-family:var(--font-body);font-size:13px;letter-spacing:.16em;font-weight:600;text-transform:uppercase;color:var(--ez-secondary)}
.eyebrow--light{color:var(--ez-plum-300)}
.eyebrow__num{font-weight:500}
.eyebrow__rule{width:1px;height:1.6em;background:currentColor;opacity:.7}
.mask-icon{display:block;flex:none;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.icon-freight{--icon:url(../assets/icons/core-logistics/freight-forwarding.svg)}
.icon-distribution{--icon:url(../assets/icons/core-logistics/distribution.svg)}
.icon-warehousing{--icon:url(../assets/icons/core-logistics/warehousing.svg)}
.icon-air{--icon:url(../assets/icons/core-logistics/air-freight.svg)}
.icon-sea{--icon:url(../assets/icons/core-logistics/sea-freight.svg)}
.icon-road{--icon:url(../assets/icons/core-logistics/road-freight.svg)}
.icon-supply-chain{--icon:url(../assets/icons/sector/supply-chain.svg)}
.icon-e-commerce{--icon:url(../assets/icons/sector/e-commerce.svg)}
.icon-fashion{--icon:url(../assets/icons/sector/fashion.svg)}
.icon-life-sciences{--icon:url(../assets/icons/sector/life-sciences.svg)}
.icon-it-telecoms{--icon:url(../assets/icons/sector/it-and-telecoms.svg)}
.icon-food{--icon:url(../assets/icons/sector/food-and-perishables.svg)}
.icon-spare-parts{--icon:url(../assets/icons/sector/spare-parts.svg)}
.icon-oil-gas{--icon:url(../assets/icons/sector/oil-and-gas.svg)}
.icon-arrow{position:relative;display:block;width:16px;height:2px;background:currentColor}
.icon-arrow::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.icon-dl{position:relative;display:block;flex:none;width:14px;height:18px}
.icon-dl::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor}
.icon-dl__arrow{position:absolute;left:0;top:0;width:14px;height:14px;animation:ezBrDrop 1600ms var(--ease-out) infinite}
.icon-dl__arrow::before{content:"";position:absolute;left:6px;top:0;width:2px;height:11px;background:currentColor}
.icon-dl__arrow::after{content:"";position:absolute;left:3px;top:4px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.icon-dl--cta{width:16px}
.icon-dl--cta .icon-dl__arrow{width:16px;animation:ezStDrop 2.4s var(--ease-out) infinite}
.icon-dl--cta .icon-dl__arrow::before{left:7px}
.icon-dl--cta .icon-dl__arrow::after{left:4px;top:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:0 28px;border:2px solid transparent;border-radius:2px;font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:.03em;text-decoration:none;cursor:pointer;transition:background-color 240ms var(--ease-out),border-color 240ms var(--ease-out),color 240ms var(--ease-out),gap 240ms var(--ease-out)}
.btn--primary{background:var(--ez-secondary);border-color:var(--ez-secondary);color:#fff}
.btn--primary:hover{background:var(--ez-plum-600);border-color:var(--ez-plum-600);color:#fff}
.btn--light-outline{background:transparent;border-color:#fff;color:#fff}
.btn--light-outline:hover{background:#fff;border-color:#fff;color:var(--ez-primary)}
.btn--plum{background:var(--ez-primary);border-color:var(--ez-primary);color:#fff}
.btn--plum:hover{background:var(--ez-plum-900);border-color:var(--ez-plum-900);color:#fff}
.btn--accent{background:var(--ez-secondary);border-color:var(--ez-secondary);color:#fff}
.btn--accent:hover{background:var(--ez-primary);border-color:var(--ez-primary);color:#fff}
.btn--ghost{padding:0 18px;background:#fff;border-color:var(--ez-dark-200);color:var(--ez-primary)}
.btn--ghost:hover{border-color:var(--ez-primary);color:var(--ez-primary)}
.btn--submit{padding:0 30px;position:relative;min-width:180px}
.btn--submit:hover{gap:20px}
.btn--submit .btn__busy{display:none}
.btn--submit .btn__spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;flex:none;box-sizing:border-box;animation:ezBtnSpin .7s linear infinite}
.btn--submit.is-loading,.btn--submit:disabled{cursor:wait;pointer-events:none;opacity:1;background:var(--ez-primary);border-color:var(--ez-primary)}
.btn--submit.is-loading:hover,.btn--submit:disabled:hover{gap:14px;background:var(--ez-primary);border-color:var(--ez-primary)}
.btn--submit.is-loading .btn__idle,.btn--submit.is-loading .icon-arrow{display:none !important}
.btn--submit.is-loading .btn__busy{display:inline !important}
.btn--submit.is-loading .btn__spinner{display:inline-block !important}
@keyframes ezBtnSpin{to{transform:rotate(360deg)}}
.btn--sm{min-height:48px;gap:12px;white-space:nowrap;flex:0 1 auto}
.btn--sm:not(.btn--ghost){padding:0 22px}
.btn--primary:focus-visible,.btn--light-outline:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:3px}
.btn--plum:focus-visible,.btn--accent:focus-visible,.btn--ghost:focus-visible{outline:2px solid var(--ez-blue);outline-offset:3px}
.hero{position:relative;z-index:10;overflow:hidden;background:var(--ez-dark-900)}
.hero.is-stuck{padding-top:var(--head-h,0px)}
.hero__bg{position:absolute;inset:0;display:block;overflow:hidden;pointer-events:none;z-index:0}
.hero-bg__canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-bg__veil{position:absolute;inset:0;background:radial-gradient(ellipse 58% 46% at 50% 24%,rgba(51,8,74,.78),rgba(51,8,74,0) 100%)}
.hero__inner{position:relative;z-index:1}
.site-header{animation:ezFadeDown 700ms var(--ease-out) both}
.site-header.is-stuck{position:fixed;top:0;left:0;right:0;z-index:900;background:rgba(51,8,74,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 32px rgba(51,8,74,.35);animation:ezStickIn 420ms var(--ease-out) both}
.site-header.is-unstuck{animation:none}
.site-header__bar{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:center;justify-content:space-between;column-gap:24px;height:var(--hdr-h);overflow:hidden;max-width:1376px;margin-inline:auto;padding-inline:var(--page-gutter);border-bottom:1px solid rgba(248,242,246,.16)}
.site-header__logo{display:flex;align-items:center;height:var(--hdr-h);line-height:0}
.site-header__logo img{height:clamp(32px,3.4vw,44px);width:auto}
.site-header__tagline{display:flex;align-items:center;justify-content:flex-end;height:var(--hdr-h);margin:0 0 0 auto;flex:0 1 340px;min-width:260px;max-width:340px;font-family:var(--font-body);font-size:13px;line-height:1.5;letter-spacing:.12em;font-weight:500;text-transform:uppercase;text-align:right;color:var(--ez-dark-200)}
.site-header__tagline strong{font-weight:700;color:#fff}
.main-nav{position:absolute;top:0;left:50%;z-index:3;display:flex;align-items:center;gap:clamp(20px,1.9vw,30px);height:var(--hdr-h);transform:translateX(-50%);animation:ezFade 900ms var(--ease-out) 300ms both}
.main-nav__link{color:#fff;text-decoration:none;font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.02em;padding-block:6px;white-space:nowrap;background:linear-gradient(var(--ez-plum-300),var(--ez-plum-300)) left bottom/0 2px no-repeat;transition:background-size 300ms var(--ease-out)}
.main-nav__link:hover{color:#fff;background-size:100% 2px}
.main-nav__link:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:4px}
.menu-toggle{position:absolute;top:0;left:50%;z-index:3;display:flex;align-items:center;height:var(--hdr-h);transform:translateX(-50%)}
.menu-toggle__btn{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 0 0 8px;background:none;border:0;color:#fff;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:color 240ms ease;-webkit-tap-highlight-color:transparent}
.menu-toggle__btn:hover{color:var(--ez-plum-300)}
.menu-toggle__btn:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:4px}
.menu-toggle__icon{position:relative;display:block;flex:none;width:28px;height:16px}
.menu-toggle__icon span{position:absolute;right:0;height:2px;background:#fff;transition:width 320ms var(--ease-out)}
.menu-toggle__icon span:nth-child(1){top:0;width:28px}
.menu-toggle__icon span:nth-child(2){top:7px;width:16px}
.menu-toggle__icon span:nth-child(3){top:14px;width:28px}
.menu-toggle__icon::after{content:"";position:absolute;top:5px;right:19px;width:6px;height:6px;background:var(--ez-plum-300);transform:rotate(45deg);transition:right 320ms var(--ease-out)}
.menu-toggle__btn:hover .menu-toggle__icon span:nth-child(2){width:28px}
.menu-toggle__btn:hover .menu-toggle__icon::after{right:31px}
.hero__content{padding-top:clamp(56px,7vw,112px)}
.hero__intro{display:flex;flex-direction:column;align-items:center;gap:clamp(24px,2.4vw,32px);max-width:1040px;margin-inline:auto;padding-inline:var(--page-gutter);text-align:center}
.hero__title{font-size:clamp(32px,4vw,60px);line-height:1.08;letter-spacing:.01em;color:#fff;text-wrap:balance;animation:ezFadeUp 900ms var(--ease-out) 150ms both}
.hero__title-accent{color:var(--ez-plum-300)}
.hero__copy{display:flex;flex-direction:column;gap:16px;max-width:700px;font-family:var(--font-body);animation:ezFadeUp 900ms var(--ease-out) 320ms both}
.hero__lead{margin:0;font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:var(--ez-dark-50);text-wrap:pretty}
.hero__text{margin:0;font-size:16px;line-height:1.65;color:var(--ez-dark-200);text-wrap:pretty}
.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:8px;animation:ezFadeUp 900ms var(--ease-out) 480ms both}
.hero__strip{margin-top:clamp(56px,7vw,96px)}
.hero__panels{display:flex;align-items:flex-end;gap:clamp(8px,1vw,14px);height:clamp(240px,30vw,440px);margin:0 -8%}
.hero-panel{position:relative;display:block;flex:1 1 0;height:62%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;pointer-events:none;-webkit-tap-highlight-color:transparent}
.hero-panel:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:4px}
.hero-panel.is-clone{display:none}
.hero-panel--2,.hero-panel--3{flex:1.3 1 0;height:100%}
.hero-panel--1{animation:ezInL 1200ms var(--ease-out) 640ms both}
.hero-panel--2{animation:ezRise 1200ms var(--ease-out) 760ms both}
.hero-panel--3{animation:ezRise 1200ms var(--ease-out) 860ms both}
.hero-panel--4{animation:ezInR 1200ms var(--ease-out) 640ms both}
.hero-panel__frame{position:relative;display:block;height:100%;overflow:hidden;transform:skewX(-14deg);transform-origin:bottom}
.hero-panel__unskew{position:absolute;inset:0 -40%;transform:skewX(14deg)}
.hero-panel__img{position:absolute;inset:0;background-repeat:no-repeat;background-size:cover}
.hero-panel--1 .hero-panel__img{background-image:url(../assets/imagery/image-3.jpg);background-position:70% center;animation:ezDrift 3200ms var(--ease-out) 640ms both,ezFloat 16s ease-in-out 3840ms infinite alternate}
.hero-panel--2 .hero-panel__img{background-image:url(../assets/imagery/image-1.jpg);background-position:72% center;animation:ezDrift 3200ms var(--ease-out) 760ms both,ezFloat 16s ease-in-out 3960ms infinite alternate}
.hero-panel--3 .hero-panel__img{background-image:url(../assets/imagery/image-2.jpg);background-position:66% center;animation:ezDrift 3200ms var(--ease-out) 860ms both,ezFloat 16s ease-in-out 4060ms infinite alternate}
.hero-panel--4 .hero-panel__img{background-image:url(../assets/imagery/image-5.jpg);background-position:177% center;animation:ezDrift 3200ms var(--ease-out) 640ms both,ezFloat 16s ease-in-out 3840ms infinite alternate}
.hero-panel__sheen{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.22) 50%,rgba(255,255,255,0) 100%);animation:ezSheen 1500ms var(--ease-out) 1640ms both}
.hero-panel--2 .hero-panel__sheen{animation-delay:1760ms}
.hero-panel--3 .hero-panel__sheen{animation-delay:1860ms}
.facilities{position:relative;overflow:hidden;background:var(--ez-neutral-50);padding-top:clamp(64px,8vw,128px)}
.facilities__inner{position:relative;z-index:1}
.facilities__head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px 64px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.facilities__heading{display:flex;flex-direction:column;gap:16px;animation:ezFacUp 900ms var(--ease-out) both}
.facilities__title{font-size:clamp(28px,3.2vw,48px);line-height:1.1;color:var(--ez-primary)}
.facilities__intro{margin:0;max-width:520px;font-family:var(--font-body);font-size:clamp(17px,1.3vw,20px);line-height:1.6;color:var(--ez-neutral-900);text-wrap:pretty;animation:ezFacUp 900ms var(--ease-out) 120ms both}
.facilities__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.facility{display:flex;animation:ezFacUp 900ms var(--ease-out) both}
.facility:nth-child(1){animation-delay:240ms}
.facility:nth-child(2){animation-delay:360ms}
.facility:nth-child(3){animation-delay:480ms}
.facility-card{flex:1;display:flex;flex-direction:column;gap:24px;padding:clamp(28px,2.6vw,40px);background:#fff;border:1px solid var(--ez-neutral-200);font-family:var(--font-body);transition:transform 450ms var(--ease-out),border-color 240ms var(--ease-out),box-shadow 450ms var(--ease-out)}
.facility-card:hover{transform:translateY(-6px);border-color:var(--ez-primary);box-shadow:0 1px 2px rgba(51,8,74,.06),0 28px 48px -28px rgba(51,8,74,.4)}
.facility-card__top{display:flex;justify-content:space-between;align-items:flex-start}
.facility-card__icon{width:56px;height:56px;background-color:var(--ez-primary)}
.facility-card__num{font-size:13px;font-weight:600;letter-spacing:.16em;color:var(--ez-secondary)}
.facility-card__title{font-size:clamp(20px,1.6vw,24px);line-height:1.2;color:var(--ez-primary)}
.facility-card__size{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.facility-card__value{font-family:var(--font-headline);font-weight:700;font-size:clamp(30px,2.8vw,42px);line-height:1;color:var(--ez-neutral-900);font-variant-numeric:tabular-nums}
.facility-card__unit{font-size:14px;font-weight:600;color:var(--ez-secondary)}
.facility-card__stripes{height:clamp(30px,2.8vw,42px);background:url(../assets/patterns/diagonal-stripes.png) left center/auto 200px repeat-x;transform-origin:left;animation:ezFacGrow 1200ms var(--ease-out) 700ms both}
.facility-card__desc{margin:auto 0 0;padding-top:24px;border-top:1px solid var(--ez-neutral-200);font-size:16px;line-height:1.65;color:var(--ez-neutral-600);text-wrap:pretty}
.facilities__cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;margin-top:clamp(40px,5vw,64px);padding-top:32px;border-top:1px solid var(--ez-neutral-200);animation:ezFacUp 900ms var(--ease-out) 640ms both}
.facilities__cta-text{margin:0;max-width:620px;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--ez-neutral-600);text-wrap:pretty}
.facilities__lines{position:relative;height:clamp(80px,8vw,130px);margin-top:clamp(16px,2vw,24px);background:url(../assets/patterns/isometric-lines.png) 0 18%/1400px auto repeat-x;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 45%);mask-image:linear-gradient(180deg,transparent 0%,#000 45%);animation:ezFacFade 1600ms var(--ease-out) 800ms both,ezFacPan 140s linear 0s infinite}
.connectivity{background:var(--ez-dark-900);padding-block:clamp(64px,8vw,128px);font-family:var(--font-body)}
.connectivity__head{display:flex;flex-direction:column;gap:16px;max-width:900px;margin-bottom:clamp(40px,5vw,64px);animation:ezCnUp 900ms var(--ease-out) both}
.connectivity__title{font-size:clamp(30px,4vw,60px);line-height:1.06;color:#fff}
.connectivity__map{overflow-x:auto;animation:ezCnWipe 1400ms var(--ease-out) 200ms both}
.connectivity__canvas{position:relative;min-width:860px}
.connectivity__img{display:block;width:100%;height:auto}
.hotspot{position:absolute;width:48px;height:48px;transform:translate(-50%,-50%);background:transparent;border:0;cursor:pointer;animation:ezCnFade 600ms ease both}
.hotspot:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:3px}
.hotspot--air{left:64.4%;top:44.4%;animation-delay:1200ms}
.hotspot--sea{left:60.6%;top:74%;animation-delay:1400ms}
.hotspot--land{left:73.8%;top:78.5%;animation-delay:1600ms}
.hotspot__pulse{position:absolute;left:50%;top:50%;width:24px;height:24px;border:2px solid #fff;animation:ezCnPulse 2200ms ease-out infinite}
.hotspot--sea .hotspot__pulse{animation-delay:700ms}
.hotspot--land .hotspot__pulse{animation-delay:1400ms}
.hotspot__dot{position:absolute;left:17px;top:17px;width:14px;height:14px;background:#fff;transform:rotate(45deg)}
.hotspot__ring{position:absolute;left:11px;top:11px;width:26px;height:26px;border:2px solid var(--ez-plum-300);transform:rotate(45deg)}
.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0 clamp(24px,3vw,48px)}
.mode{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:28px;border-top:1px solid rgba(248,242,246,.16);animation:ezCnUp 900ms var(--ease-out) both}
.mode:nth-child(1){animation-delay:700ms}
.mode:nth-child(2){animation-delay:850ms}
.mode:nth-child(3){animation-delay:1000ms}
.mode__bar{position:absolute;top:-1px;left:0;right:0;height:3px;background:var(--ez-plum-300);transform-origin:left;animation:ezCnX 500ms var(--ease-out) both}
.mode__head{display:flex;align-items:center;gap:14px}
.mode__icon{width:36px;height:36px;background-color:#fff}
.mode__title{font-size:clamp(20px,1.8vw,26px);color:#fff}
.mode__text{margin:0 0 24px;font-size:16px;line-height:1.65;color:var(--ez-dark-200);text-wrap:pretty}
.flex-ops{background:var(--ez-neutral-100);padding-block:clamp(64px,8vw,128px);font-family:var(--font-body)}
.flex-ops__inner{display:flex;flex-direction:column;gap:16px}
.flex-ops__row{display:flex;flex-wrap:wrap;gap:16px}
.flex-ops__main{flex:2 1 520px;display:flex;flex-direction:column;gap:16px}
.flex-ops__intro{display:flex;flex-direction:column;gap:16px;padding:clamp(28px,3.4vw,48px);background:#fff;animation:ezFxUp 900ms var(--ease-out) both}
.flex-ops__title{font-size:clamp(30px,3.6vw,54px);line-height:1.06;color:var(--ez-primary);text-wrap:balance}
.flex-ops__tiles{display:flex;flex-wrap:wrap;gap:16px;flex:1}
.flex-ops__roof{flex:1 1 220px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(24px,2.6vw,36px);background:var(--ez-primary) url(../assets/patterns/layered-diamonds-dark.png) center/cover no-repeat;animation:ezFxUp 900ms var(--ease-out) 300ms both}
.flex-ops__chevron{display:block;width:clamp(72px,7vw,104px);height:auto;overflow:visible;animation:ezFxWipe 1200ms var(--ease-out) 900ms both}
.flex-ops__chevron polyline{fill:none;stroke:var(--ez-plum-300)}
.flex-ops__roof-text{font-size:clamp(22px,2.2vw,32px);line-height:1.1;color:#fff}
.flex-ops__desc{flex:2 1 300px;display:flex;align-items:flex-end;padding:clamp(24px,2.6vw,36px);background:#fff;animation:ezFxUp 900ms var(--ease-out) 400ms both}
.flex-ops__desc-text{margin:0;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--ez-neutral-900);text-wrap:pretty}
.flex-ops__media{flex:1 1 380px;display:flex;gap:16px;min-height:clamp(360px,34vw,520px)}
.flex-ops__photo{position:relative;flex:1 1 0;min-width:0;overflow:hidden;animation:ezFxUp 900ms var(--ease-out) 150ms both}
.flex-ops__photo--nonbonded{animation-delay:250ms}
.flex-ops__photo-img{position:absolute;inset:0;background-repeat:no-repeat;background-size:cover;transition:transform 900ms var(--ease-out)}
.flex-ops__photo--bonded .flex-ops__photo-img{background-image:url(../assets/imagery/image-3.jpg);background-position:60% center}
.flex-ops__photo--nonbonded .flex-ops__photo-img{background-image:url(../assets/imagery/image-4.jpg);background-position:40% center}
.flex-ops__photo:hover .flex-ops__photo-img{transform:scale(1.06)}
.flex-ops__photo-tint{position:absolute;inset:0;background:var(--ez-primary);mix-blend-mode:color;opacity:.75;pointer-events:none}
.flex-ops__photo--nonbonded .flex-ops__photo-tint{background:var(--ez-blue);opacity:.55}
.flex-ops__photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(51,8,74,.8) 0%,rgba(51,8,74,0) 50%);pointer-events:none}
.flex-ops__photo-label{position:absolute;left:20px;right:20px;bottom:20px;font-size:clamp(18px,1.8vw,26px);color:#fff;pointer-events:none}
.flex-ops__note{margin:0;padding:20px clamp(24px,2.6vw,36px);background:#fff;font-size:14px;line-height:1.6;color:var(--ez-neutral-600);text-wrap:pretty;animation:ezFxUp 900ms var(--ease-out) 500ms both}
.sectors{position:relative;overflow:hidden;background:var(--ez-dark-900);padding-block:clamp(72px,9vw,140px);font-family:var(--font-body)}
.sectors__bg,.sectors__tint,.sectors__shade{position:absolute;inset:0}
.sectors__bg{background:url(../assets/imagery/image-5.jpg) 70% center/cover no-repeat;animation:ezScZoom 22s ease-in-out infinite alternate}
.sectors__tint{background:var(--ez-dark-900);mix-blend-mode:color;opacity:.65}
.sectors__shade{background:linear-gradient(180deg,rgba(51,8,74,.88) 0%,rgba(51,8,74,.55) 45%,rgba(51,8,74,.9) 100%)}
.sectors__inner{position:relative}
.sectors__head{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:900px;margin-inline:auto;text-align:center;animation:ezScUp 900ms var(--ease-out) both}
.sectors__title{font-size:clamp(30px,4vw,60px);line-height:1.06;color:#fff;text-wrap:balance}
.sectors__title-accent{color:var(--ez-plum-300)}
.sectors__sub{margin:8px 0 0;font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ez-dark-50)}
.sectors__list{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}
.sector{position:relative;display:flex;align-items:center;gap:18px;min-height:112px;padding:24px;background:rgba(248,242,246,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(248,242,246,.22);transition:background-color 320ms var(--ease-out),transform 320ms var(--ease-out),border-color 320ms var(--ease-out);animation:ezScBlur 900ms var(--ease-out) both}
.sector:nth-child(1){animation-delay:250ms}
.sector:nth-child(2){animation-delay:340ms}
.sector:nth-child(3){animation-delay:430ms}
.sector:nth-child(4){animation-delay:520ms}
.sector:nth-child(5){animation-delay:610ms}
.sector:nth-child(6){animation-delay:700ms}
.sector:nth-child(7){animation-delay:790ms}
.sector:nth-child(8){animation-delay:880ms}
.sector:hover{background:rgba(248,242,246,.16);border-color:var(--ez-plum-300);transform:translateY(-4px)!important}
.sector__num{position:absolute;right:14px;top:10px;font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--ez-dark-200)}
.sector__icon{width:48px;height:48px;background-color:#fff}
.sector__name{min-width:0;font-family:var(--font-headline);font-weight:700;text-transform:uppercase;font-size:clamp(15px,1.3vw,18px);line-height:1.2;color:#fff;overflow-wrap:break-word;hyphens:manual}
.slider-controls{display:none}
.slider-arrow{position:relative;flex:none;width:34px;height:34px;padding:0;background:transparent;border:1px solid rgba(248,242,246,.45);border-radius:2px;color:#fff;cursor:pointer;transition:border-color 240ms ease,opacity 240ms ease}
.slider-arrow:hover{border-color:var(--ez-plum-300)}
.slider-arrow:disabled{opacity:.3;cursor:default}
.slider-arrow:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:2px}
.slider-arrow::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.slider-arrow--next::after{transform:translate(-70%,-50%) rotate(45deg)}
.slider-arrow--prev::after{transform:translate(-30%,-50%) rotate(-135deg)}
.slider-dots{display:flex;justify-content:center;flex:1;min-width:0}
.slider-dot{position:relative;flex:0 1 26px;min-width:16px;height:44px;padding:0;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.slider-dot::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;background:rgba(248,242,246,.35);transform:rotate(45deg);transition:background-color 240ms ease,transform 240ms var(--ease-out)}
.slider-dot[aria-current="true"]::before{background:var(--ez-plum-300);transform:rotate(45deg) scale(1.4)}
.slider-dot:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:-8px}
.brochure{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;background:var(--ez-primary);font-family:var(--font-body)}
.brochure__head{position:relative;flex:0 1 auto;display:flex;align-items:center;padding:clamp(32px,4vw,48px) clamp(64px,8vw,120px) clamp(32px,4vw,48px) max(clamp(20px,4vw,48px),calc((100vw - 1280px) / 2))}
.brochure__slab{position:absolute;inset:0;background:var(--ez-secondary);clip-path:polygon(0 0,100% 0,calc(100% - clamp(40px,5vw,72px)) 100%,0 100%);animation:ezBrSlideL 1000ms var(--ease-out) both}
.brochure__stripes{position:absolute;top:0;bottom:0;right:calc(-1 * clamp(14px,1.6vw,24px));width:clamp(40px,5vw,72px);background:url(../assets/patterns/diagonal-stripes.png) center/cover;opacity:.6;clip-path:polygon(clamp(40px,5vw,72px) 0,100% 0,calc(100% - clamp(40px,5vw,72px)) 100%,0 100%);animation:ezBrFade 700ms ease 700ms both}
.brochure__title{position:relative;font-size:clamp(24px,2.6vw,38px);line-height:1.05;color:#fff;animation:ezBrUp 800ms var(--ease-out) 300ms both}
.brochure__body{flex:1 1 420px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;padding:clamp(28px,3.4vw,44px) max(clamp(20px,4vw,48px),calc((100vw - 1280px) / 2)) clamp(28px,3.4vw,44px) clamp(20px,3vw,40px)}
.brochure__text{flex:1 1 300px;margin:0;font-size:16px;line-height:1.6;color:#fff;text-wrap:pretty;animation:ezBrUp 800ms var(--ease-out) 450ms both}
.brochure__btn{flex:none;white-space:nowrap;animation:ezBrUp 800ms var(--ease-out) 550ms both}
.enquiry{background:var(--ez-dark-50);padding-bottom:clamp(64px,8vw,128px);font-family:var(--font-body)}
.enquiry__banner{position:relative;overflow:hidden;height:clamp(260px,30vw,420px);background:var(--ez-neutral-200)}
.enquiry__banner-img{position:absolute;inset:0;background:url(../assets/imagery/image-2.jpg) center 60%/cover no-repeat;animation:ezEqZoom 24s ease-in-out infinite alternate}
.enquiry__banner-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,242,246,0) 40%,rgba(248,242,246,.85) 100%)}
.enquiry__wrap{position:relative;max-width:1280px;margin:calc(-1 * clamp(120px,14vw,200px)) auto 0;padding-inline:var(--page-gutter)}
.enquiry__card{display:flex;flex-wrap:wrap;background:#fff;box-shadow:0 24px 64px rgba(51,8,74,.12);animation:ezEqUp 1000ms var(--ease-out) 100ms both}
.enquiry__aside{flex:1 1 360px;display:flex;flex-direction:column;gap:24px;padding:clamp(28px,4vw,56px);border-right:1px solid var(--ez-neutral-100)}
.enquiry__heading{display:flex;flex-direction:column;gap:16px}
.enquiry__title{font-size:clamp(30px,3.4vw,50px);line-height:1.06;color:var(--ez-primary);text-wrap:balance}
.enquiry__title-accent{color:var(--ez-secondary)}
.enquiry__lead{margin:0;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--ez-neutral-900);text-wrap:pretty}
.enquiry__sign{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:14px}
.enquiry__sign-rule{width:56px;height:4px;background:var(--ez-secondary);transform-origin:left;animation:ezEqX 900ms var(--ease-out) 600ms both}
.enquiry__sign-text{font-size:clamp(20px,2vw,30px);line-height:1.1;letter-spacing:.02em;color:var(--ez-primary)}
.enquiry__form-col{flex:1.4 1 480px;padding:clamp(28px,4vw,56px);background:#fff}
.enquiry-form{display:flex;flex-direction:column;gap:24px;animation:ezEqUp 900ms var(--ease-out) 300ms both}
.enquiry-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.enquiry-form .field--full{width:100%}
@media (max-width:720px){.enquiry-form__grid{grid-template-columns:1fr}}
.enquiry-form__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.enquiry-form__note{margin:0;font-size:13px;color:var(--ez-neutral-600)}
.enquiry-form__alert{margin:0 0 8px;padding:12px 14px;border-radius:2px;font-size:14px;line-height:1.45;background:var(--ez-error-100);color:var(--ez-error-600);border:1px solid var(--ez-error-300)}
.enquiry-form__alert.is-error{display:block}
.field__error{margin:0;padding:0;font-size:12px;line-height:1.4;color:#B3261E}
.field--error .field__control{border-color:var(--ez-error-600);box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.field{display:flex;flex-direction:column;gap:8px}
.field__label{font-size:14px;font-weight:600;color:var(--ez-neutral-900)}
.field__req{color:var(--ez-secondary)}
.field__control{width:100%;min-height:52px;padding:0 14px;border-radius:2px;font-family:var(--font-body);font-size:16px;background:#fff;border:1px solid var(--ez-dark-200);color:var(--ez-neutral-900);transition:border-color 200ms ease,box-shadow 200ms ease}
.field__control:focus-visible{border-color:var(--ez-primary);box-shadow:0 0 0 3px rgba(111,13,70,.16);outline:none}
select.field__control{cursor:pointer}
textarea.field__control{padding-block:12px;resize:vertical}
.field__phone{display:flex;gap:8px}
.field__cc{flex:none;width:78px}
.field__tel{flex:1 1 auto;min-width:0}
.field__help{margin:0;font-size:13px;line-height:1.5;color:var(--ez-neutral-600)}
.cc-picker{position:relative;flex:none;width:78px}
.cc-picker__btn{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:52px;padding:0 8px 0 10px;background:#fff;border:1px solid var(--ez-dark-200);border-radius:2px;color:var(--ez-neutral-900);font-family:var(--font-body);font-size:16px;cursor:pointer;transition:border-color 200ms ease,box-shadow 200ms ease}
.cc-picker__btn:hover{border-color:var(--ez-secondary)}
.cc-picker__btn:focus-visible,.cc-picker.is-open .cc-picker__btn{outline:none;border-color:var(--ez-secondary);box-shadow:0 0 0 3px rgba(166,31,108,.18)}
.cc-picker__btn::after{content:"";flex:none;width:6px;height:6px;margin-top:-4px;border-right:2px solid var(--ez-primary);border-bottom:2px solid var(--ez-primary);transform:rotate(45deg);transition:transform 200ms ease}
.cc-picker.is-open .cc-picker__btn::after{transform:rotate(225deg);margin-top:4px}
.cc-picker__pop{position:absolute;left:0;top:calc(100% + 6px);z-index:60;width:min(200px,calc(100vw - 40px));background:#fff;border:1px solid var(--ez-dark-200);border-radius:2px;box-shadow:0 16px 40px rgba(51,8,74,.16);animation:ezEqUp 220ms var(--ease-out) both}
.cc-picker__search{display:block;width:calc(100% - 16px);margin:8px;min-height:40px;padding:0 12px;border:1px solid var(--ez-dark-200);border-radius:2px;font-family:var(--font-body);font-size:16px;color:var(--ez-neutral-900);background:var(--ez-neutral-50)}
.cc-picker__search:focus{outline:none;border-color:var(--ez-secondary)}
.cc-picker__list{list-style:none;margin:0;padding:0 0 6px;max-height:232px;overflow-y:auto}
.cc-picker__list li{padding:10px 16px;font-family:var(--font-body);font-size:15px;font-weight:500;color:var(--ez-neutral-900);cursor:pointer}
.cc-picker__list li:hover,.cc-picker__list li.is-active{background:var(--ez-neutral-100);color:var(--ez-primary)}
.cc-picker__list li[aria-selected="true"]{font-weight:700;color:var(--ez-secondary)}
.cc-picker__empty{padding:10px 16px;font-family:var(--font-body);font-size:14px;color:var(--ez-neutral-600)}
.app-menu{position:fixed;inset:0;z-index:1100;display:flex;flex-direction:column;background:var(--ez-dark-800);color:#fff;font-family:var(--font-body);overflow:hidden;will-change:transform;animation:ezMenuIn 480ms cubic-bezier(.32,.72,0,1) both}
.app-menu.is-closing{animation:ezMenuOut 320ms cubic-bezier(.4,0,1,1) both}
.app-menu.is-closing .app-menu__link,.app-menu.is-closing .app-menu__actions,.app-menu.is-closing .app-menu__contact,.app-menu.is-closing .app-menu__tagline{animation:none}
.app-menu::before{content:"";position:absolute;right:0;bottom:0;width:100%;height:70%;background:url(../assets/patterns/layered-diamonds-dark.png) right bottom/cover no-repeat;opacity:.45;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 70%);mask-image:linear-gradient(180deg,transparent 0%,#000 70%);pointer-events:none}
.app-menu__bar{position:relative;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;height:calc(var(--hdr-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--page-gutter) 0;border-bottom:1px solid rgba(248,242,246,.12)}
.app-menu__logo{display:flex;align-items:center;line-height:0}
.app-menu__logo img{height:clamp(32px,3.4vw,44px);width:auto}
.app-menu__close{position:relative;flex:none;width:44px;height:44px;padding:0;background:transparent;border:1px solid rgba(248,242,246,.45);border-radius:2px;color:#fff;cursor:pointer;transition:border-color 240ms ease,color 240ms ease}
.app-menu__close:hover{border-color:var(--ez-plum-300);color:var(--ez-plum-300)}
.app-menu__close::before,.app-menu__close::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.app-menu__close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.app-menu__body{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:24px;width:100%;max-width:640px;margin-inline:auto;padding:12px var(--page-gutter) calc(24px + env(safe-area-inset-bottom))}
.app-menu__nav{display:flex;flex-direction:column;margin-bottom:auto}
.app-menu__link{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(248,242,246,.12);color:#fff;text-decoration:none;transition:color 240ms ease,padding-left 300ms var(--ease-out);animation:ezMenuItem 520ms var(--ease-out) both}
.app-menu__link:nth-child(1){animation-delay:120ms}
.app-menu__link:nth-child(2){animation-delay:160ms}
.app-menu__link:nth-child(3){animation-delay:200ms}
.app-menu__link:nth-child(4){animation-delay:240ms}
.app-menu__link:nth-child(5){animation-delay:280ms}
.app-menu__link:hover,.app-menu__link[aria-current="true"]{color:var(--ez-plum-300);padding-left:8px}
.app-menu__link:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:2px}
.app-menu__num{flex:none;min-width:22px;font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--ez-plum-300)}
.app-menu__link[aria-current="true"] .app-menu__num{color:#fff}
.app-menu__label{font-family:var(--font-headline);font-weight:700;text-transform:uppercase;font-size:clamp(26px,7.4vw,38px);line-height:1.1}
.app-menu__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;animation:ezMenuItem 520ms var(--ease-out) 330ms both}
.app-menu__actions .btn{width:100%;padding-inline:16px}
.app-menu__contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;animation:ezMenuItem 520ms var(--ease-out) 370ms both}
.app-menu__shortcut{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:64px;padding:12px 14px;background:rgba(248,242,246,.06);border:1px solid rgba(248,242,246,.18);border-radius:2px;color:#fff;text-decoration:none;transition:border-color 240ms ease,background-color 240ms ease}
.app-menu__shortcut:hover{color:#fff;border-color:var(--ez-plum-300);background:rgba(248,242,246,.1)}
.app-menu__shortcut:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:2px}
.app-menu__shortcut-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ez-dark-200)}
.app-menu__shortcut-value{font-size:14px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.app-menu__tagline{margin:0;font-size:12px;line-height:1.5;letter-spacing:.12em;font-weight:500;text-transform:uppercase;color:var(--ez-dark-200);animation:ezMenuItem 520ms var(--ease-out) 410ms both}
.app-menu__tagline strong{font-weight:700;color:#fff}
@media (max-height:720px){.app-menu__body{gap:16px}
.app-menu__link{padding:10px 0}
.app-menu__label{font-size:clamp(22px,6.4vw,30px)}
.app-menu__shortcut{min-height:56px;padding-block:8px}
}
.is-locked,.is-locked body{overflow:hidden}
.lightbox{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:rgba(36,16,47,.97);color:#fff;font-family:var(--font-body);animation:ezFade 260ms ease both}
.lightbox__bar{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 8px 8px var(--page-gutter)}
.lightbox__count{margin:0;font-size:13px;font-weight:600;letter-spacing:.16em;color:var(--ez-dark-200);font-variant-numeric:tabular-nums}
.lightbox__current{color:#fff}
.lightbox__close{position:relative;flex:none;width:48px;height:48px;padding:0;background:transparent;border:0;color:#fff;cursor:pointer;transition:color 200ms ease,transform 300ms var(--ease-out)}
.lightbox__close:hover{color:var(--ez-plum-300);transform:rotate(90deg)}
.lightbox__close::before,.lightbox__close::after{content:"";position:absolute;left:13px;top:23px;width:22px;height:2px;background:currentColor;transform:rotate(45deg)}
.lightbox__close::after{transform:rotate(-45deg)}
.lightbox__track{position:relative;flex:1;min-height:0;display:flex;overflow-x:auto;overscroll-behavior:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.lightbox__track::-webkit-scrollbar{display:none}
.lightbox__track{cursor:grab;touch-action:pan-x pan-y}
.hero__panels.is-dragging,.lightbox__track.is-dragging,.sectors__list.is-dragging,.modes.is-dragging{scroll-snap-type:none;cursor:grabbing;-webkit-user-select:none;user-select:none}
.hero__panels.is-dragging .hero-panel{cursor:grabbing}
.lightbox__slide{flex:0 0 100%;margin:0;display:flex;align-items:center;justify-content:center;padding:0 var(--page-gutter);scroll-snap-align:center;scroll-snap-stop:always}
.lightbox__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;-webkit-user-drag:none;user-select:none;pointer-events:none}
.lightbox__nav{display:flex;justify-content:center;gap:12px;padding:16px 0 calc(16px + env(safe-area-inset-bottom))}
.lightbox__arrow{position:relative;width:52px;height:52px;padding:0;background:transparent;border:1px solid rgba(248,242,246,.45);border-radius:2px;color:#fff;cursor:pointer;transition:border-color 240ms ease,opacity 240ms ease}
.lightbox__arrow:hover{border-color:var(--ez-plum-300)}
.lightbox__arrow:disabled{opacity:.3;cursor:default}
.lightbox__arrow::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.lightbox__arrow--next::after{transform:translate(-70%,-50%) rotate(45deg)}
.lightbox__arrow--prev::after{transform:translate(-30%,-50%) rotate(-135deg)}
.lightbox__close:focus-visible,.lightbox__arrow:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:2px}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:950;pointer-events:none;opacity:0;transform:translateY(140%);transition:transform 600ms var(--ease-out),opacity 400ms ease;font-family:var(--font-body)}
.sticky-cta.is-shown{opacity:1;transform:none}
.sticky-cta__panel{pointer-events:auto;position:relative;background:#fff;box-shadow:0 -12px 40px rgba(51,8,74,.14)}
.sticky-cta__track{position:absolute;left:0;right:0;top:0;height:3px;background:var(--ez-neutral-100)}
.sticky-cta__progress{height:100%;background:var(--ez-secondary);transform-origin:left;transform:scaleX(var(--progress,0));transition:transform 120ms linear}
.sticky-cta__inner{max-width:1376px;margin-inline:auto;padding:14px clamp(16px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:12px 24px}
.sticky-cta__title{display:flex;align-items:center;gap:14px;font-size:clamp(16px,1.5vw,20px);line-height:1.1;color:var(--ez-primary)}
.sticky-cta__diamond{flex:none;width:10px;height:10px;background:var(--ez-secondary);transform:rotate(45deg)}
.sticky-cta__actions{display:flex;align-items:center;gap:10px;flex:1 1 auto;justify-content:flex-end}
.sticky-cta__nudge{display:block;animation:ezStNudge 1.6s ease-in-out infinite}
.sticky-cta__close{position:relative;flex:none;width:44px;height:44px;padding:0;background:transparent;border:0;color:var(--ez-neutral-600);cursor:pointer;transition:color 200ms ease,transform 300ms var(--ease-out)}
.sticky-cta__close:hover{color:var(--ez-secondary);transform:rotate(90deg)}
.sticky-cta__close:focus-visible{outline:2px solid var(--ez-blue);outline-offset:2px}
.sticky-cta__close::before,.sticky-cta__close::after{content:"";position:absolute;left:13px;top:21px;width:18px;height:2px;background:currentColor;transform:rotate(45deg)}
.sticky-cta__close::after{transform:rotate(-45deg)}
.marquee{position:relative;overflow:hidden;padding-block:clamp(18px,2.2vw,28px);background:var(--ez-primary);border-bottom:1px solid rgba(248,242,246,.18);animation:ezFtFade 1000ms ease both}
.marquee__track{display:flex;align-items:center;width:max-content;animation:ezFtMarq 46s linear infinite}
.marquee__track:hover{animation-play-state:paused}
.marquee__group{display:flex;align-items:center}
.marquee__text{font-family:var(--font-headline);font-weight:700;text-transform:uppercase;font-size:clamp(24px,3.2vw,48px);line-height:1;white-space:nowrap;color:#fff}
.marquee__text--accent{color:var(--ez-plum-300)}
.marquee__sep{flex:none;width:10px;height:10px;margin-inline:clamp(22px,2.6vw,40px);background:var(--ez-dark-50);transform:rotate(45deg)}
.site-footer{position:relative;overflow:hidden;background:var(--ez-dark-900);color:var(--ez-dark-50);font-family:var(--font-body)}
.site-footer__pattern{position:absolute;top:0;right:0;bottom:0;width:min(62%,880px);background:url(../assets/patterns/layered-diamonds-dark.png) right center/cover no-repeat;opacity:.6;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%);pointer-events:none;animation:ezFtPat 1400ms ease both}
.site-footer__inner{position:relative;max-width:1376px;margin-inline:auto;padding:clamp(56px,6vw,88px) var(--page-gutter) 28px;display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.site-footer__top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;animation:ezFtUp 800ms var(--ease-out) both}
.site-footer__contact{display:flex;flex-direction:column;gap:10px}
.site-footer__label{margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ez-dark-200)}
.site-footer__label--accent{color:var(--ez-plum-300)}
.site-footer__email{color:#fff;text-decoration:none;font-family:var(--font-headline);font-weight:700;font-size:clamp(28px,4.4vw,64px);line-height:1.1;padding-bottom:4px;background:linear-gradient(var(--ez-plum-300),var(--ez-plum-300)) left bottom/0 3px no-repeat;transition:background-size 300ms var(--ease-out);overflow-wrap:anywhere}
.site-footer__email:hover{color:#fff;background-size:100% 2px}
.site-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:420px}
.site-footer__logo{display:block;height:clamp(38px,3.6vw,48px);width:auto}
.site-footer__tagline{font-size:clamp(16px,1.5vw,20px);line-height:1.25;letter-spacing:.02em;color:#fff;text-wrap:balance}
.site-footer__tagline-accent{color:var(--ez-plum-300)}
.site-footer__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px clamp(24px,4vw,64px);padding-block:28px 12px;border-top:1px solid rgba(248,242,246,.18);animation:ezFtUp 800ms var(--ease-out) 150ms both}
.site-footer__col{display:flex;flex-direction:column;gap:10px}
.site-footer__address{margin:0;font-style:normal;font-size:15px;line-height:1.7;color:var(--ez-dark-50)}
.site-footer__phones{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.6;color:var(--ez-dark-50)}
.site-footer__muted{color:var(--ez-dark-200)}
.site-footer__link{white-space:nowrap;color:var(--ez-dark-50);text-decoration:none;font-weight:600;padding-bottom:2px;background:linear-gradient(var(--ez-plum-300),var(--ez-plum-300)) left bottom/0 2px no-repeat;transition:background-size 300ms var(--ease-out)}
.site-footer__link:hover{color:var(--ez-dark-50);background-size:100% 2px}
.site-footer__email:focus-visible,.site-footer__link:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:3px}
.site-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:20px;border-top:1px solid rgba(248,242,246,.18);font-size:13px;color:var(--ez-dark-200);animation:ezFtUp 800ms var(--ease-out) 300ms both}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:8px 24px;margin-right:auto}
.site-footer__legal-link{position:relative;color:var(--ez-dark-200);text-decoration:none;font-size:13px;font-weight:600;transition:color 240ms ease}
.site-footer__legal-link:hover{color:var(--ez-plum-300)}
.site-footer__legal-link:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:3px}
.site-footer__legal-link::after{content:"";position:absolute;inset:-12px -4px}
@media (max-width:767px){.site-footer__legal{order:-1;width:100%;margin-right:0}
}
.back-to-top{display:inline-flex;align-items:center;gap:8px;color:var(--ez-dark-200);text-decoration:none;font-size:13px;font-weight:600;transition:gap 300ms var(--ease-out),color 300ms ease}
.back-to-top:hover{gap:12px;color:var(--ez-plum-300)}
.back-to-top:focus-visible{outline:2px solid var(--ez-plum-300);outline-offset:3px}
.back-to-top__icon{position:relative;display:block;width:2px;height:14px;background:currentColor}
.back-to-top__icon::after{content:"";position:absolute;left:-3px;top:0;width:8px;height:8px;border-top:2px solid currentColor;border-left:2px solid currentColor;transform:rotate(45deg)}
.site-footer__email,.site-footer__link,.back-to-top{position:relative}
.site-footer__email::after,.site-footer__link::after,.back-to-top::after{content:"";position:absolute;inset:-12px -4px}
.site-footer__email::after{inset:-6px -4px}
@media (max-width:759px){:root{--page-gutter:15px}
.brochure__head{padding-inline:15px clamp(64px,8vw,120px)}
.brochure__body{padding-inline:15px}
.sticky-cta__inner{padding-inline:15px}
.flex-ops__intro,.flex-ops__roof,.flex-ops__desc,.flex-ops__note{padding:20px 15px}
.flex-ops__photo-label{left:15px;right:15px;bottom:20px}
.enquiry__aside,.enquiry__form-col{padding:20px 15px}
.field__control,.cc-picker__btn{min-height:46px}
.site-footer__top{flex-direction:column;align-items:flex-start;gap:40px}
.site-footer__brand{order:-1}
.facilities{padding-top:clamp(32px,11.5vw,45px)}
.connectivity,.flex-ops,.sectors{padding-block:clamp(32px,11.5vw,45px)}
.enquiry{padding-bottom:clamp(32px,11.5vw,45px)}
.hero__content{padding-top:clamp(32px,11.5vw,45px)}
.site-footer__inner{padding-top:clamp(32px,11.5vw,45px)}
.facility-card{padding-inline:15px}
.sectors__list{display:flex;gap:12px;margin-inline:calc(-1 * var(--page-gutter));padding-inline:var(--page-gutter);scroll-padding-inline:var(--page-gutter);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.sectors__list::-webkit-scrollbar{display:none}
.sectors__list .sector{flex:0 0 78%;scroll-snap-align:start;padding:15px}
.slider-controls{display:flex;align-items:center;gap:8px;margin-top:20px}
.modes{display:flex;gap:calc(var(--page-gutter) * 2);margin-inline:calc(-1 * var(--page-gutter));padding-inline:var(--page-gutter);scroll-padding-inline:var(--page-gutter);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.modes::-webkit-scrollbar{display:none}
.sectors__list,.modes{cursor:grab;touch-action:pan-x pan-y}
.modes .mode{flex:0 0 100%;scroll-snap-align:start}
.modes .mode__text{margin-bottom:0}
.site-header__tagline{display:none}
.menu-toggle{left:auto;right:var(--page-gutter);transform:none}
.hero__strip{margin-top:clamp(40px,10vw,56px)}
.hero__panels{--strip-h:clamp(240px,72vw,320px);height:var(--strip-h);margin:0;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:var(--page-gutter);scroll-padding-inline:var(--page-gutter)}
.hero__panels::-webkit-scrollbar{display:none}
.hero-panel.is-clone{display:block}
.hero__panels .hero-panel__unskew{inset:0 -16%}
.hero__panels .hero-panel .hero-panel__img{background-position:85% center}
.hero__panels{cursor:grab;touch-action:pan-x pan-y}
.hero-panel,.hero-panel--2,.hero-panel--3{flex:0 0 min(76vw,320px);height:100%;pointer-events:auto;scroll-snap-align:start;animation:ezRise 1000ms var(--ease-out) 640ms both}
.hero-panel--2{animation-delay:740ms}
.hero-panel--3{animation-delay:840ms}
.hero-panel--4{animation-delay:940ms}
.flex-ops__media{flex-direction:column;min-height:0}
.flex-ops__photo{flex:none;height:clamp(180px,52vw,240px)}
.connectivity__map{overflow:hidden}
.connectivity__canvas{min-width:0;width:calc(100% / .38);margin-left:calc(-48% / .38)}
.sticky-cta__actions{gap:8px;min-width:0}
.sticky-cta__actions .btn{flex:1 1 0;min-width:0;padding:0 12px}
.sticky-cta__close{width:24px;height:24px}
.sticky-cta__close::before,.sticky-cta__close::after{left:3px;top:11px}
}
@media (max-width:479px){.sticky-cta__nudge{display:none}
.sector{min-height:88px}
}
@media (max-width:374px){.sticky-cta__actions .btn{padding:0 8px;font-size:14px;gap:8px}
}
.menu-scrim{position:fixed;inset:0;z-index:1090;background:rgba(20,6,28,.6);animation:ezFade 320ms ease both}
.menu-scrim.is-closing{animation:ezMenuScrimOut 320ms ease both}
@keyframes ezMenuIn{from{transform:translate3d(100%,0,0)}
to{transform:none}
}
@keyframes ezMenuOut{from{transform:translate3d(var(--drag,0px),0,0)}
to{transform:translate3d(100%,0,0)}
}
.app-menu.is-dragging{animation:none;transform:translate3d(var(--drag,0px),0,0)}
.app-menu.is-settling{animation:none;transform:none;transition:transform 260ms var(--ease-out)}
.app-menu.is-static,.app-menu.is-static .app-menu__link,.app-menu.is-static .app-menu__actions,.app-menu.is-static .app-menu__contact,.app-menu.is-static .app-menu__tagline{animation:none}
.app-menu.is-dragging .app-menu__link,.app-menu.is-dragging .app-menu__actions,.app-menu.is-dragging .app-menu__contact,.app-menu.is-dragging .app-menu__tagline,.app-menu.is-settling .app-menu__link,.app-menu.is-settling .app-menu__actions,.app-menu.is-settling .app-menu__contact,.app-menu.is-settling .app-menu__tagline{animation:none}
@keyframes ezMenuItem{from{opacity:0;transform:translate3d(32px,0,0)}
to{opacity:1;transform:none}
}
@keyframes ezMenuScrimOut{from{opacity:1}
to{opacity:0}
}
@keyframes ezFadeUp{from{opacity:0;transform:translateY(24px)}
to{opacity:1;transform:none}
}
@keyframes ezFadeDown{from{opacity:0;transform:translateY(-12px)}
to{opacity:1;transform:none}
}
@keyframes ezStickIn{from{opacity:0;transform:translateY(-12px)}
to{opacity:1;transform:none}
}
@keyframes ezFade{from{opacity:0}
to{opacity:1}
}
@keyframes ezInL{from{opacity:0;transform:translateX(-90px)}
to{opacity:1;transform:none}
}
@keyframes ezInR{from{opacity:0;transform:translateX(90px)}
to{opacity:1;transform:none}
}
@keyframes ezRise{from{opacity:0;transform:translateY(70px)}
to{opacity:1;transform:none}
}
@keyframes ezDrift{from{transform:scale(1.14)}
to{transform:scale(1)}
}
@keyframes ezFloat{from{transform:scale(1)}
to{transform:scale(1.06)}
}
@keyframes ezSheen{from{transform:translateX(-120%)}
to{transform:translateX(120%)}
}
@keyframes ezFacUp{from{opacity:0;transform:translateY(32px)}
to{opacity:1;transform:none}
}
@keyframes ezFacGrow{from{transform:scaleX(0)}
to{transform:scaleX(1)}
}
@keyframes ezFacPan{from{background-position:0 18%}
to{background-position:-1400px 18%}
}
@keyframes ezFacFade{from{opacity:0}
to{opacity:1}
}
@keyframes ezCnUp{from{opacity:0;transform:translateY(32px)}
to{opacity:1;transform:none}
}
@keyframes ezCnX{from{transform:scaleX(0)}
to{transform:scaleX(1)}
}
@keyframes ezCnPulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:.9}
100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}
}
@keyframes ezCnWipe{from{clip-path:inset(0 100% 0 0)}
to{clip-path:inset(0 0 0 0)}
}
@keyframes ezCnFade{from{opacity:0}
to{opacity:1}
}
@keyframes ezFxUp{from{opacity:0;transform:translateY(32px)}
to{opacity:1;transform:none}
}
@keyframes ezFxWipe{from{clip-path:inset(-50% 100% -50% 0)}
to{clip-path:inset(-50% 0 -50% 0)}
}
@keyframes ezScUp{from{opacity:0;transform:translateY(28px)}
to{opacity:1;transform:none}
}
@keyframes ezScZoom{from{transform:scale(1)}
to{transform:scale(1.08)}
}
@keyframes ezScBlur{from{opacity:0;filter:blur(8px);transform:translateY(20px)}
to{opacity:1;filter:none;transform:none}
}
@keyframes ezBrUp{from{opacity:0;transform:translateY(28px)}
to{opacity:1;transform:none}
}
@keyframes ezBrFade{from{opacity:0}
to{opacity:1}
}
@keyframes ezBrDrop{0%{transform:translateY(-30%);opacity:0}
30%{opacity:1}
70%{transform:translateY(10%);opacity:1}
100%{transform:translateY(25%);opacity:0}
}
@keyframes ezBrSlideL{from{transform:translateX(-100%)}
to{transform:none}
}
@keyframes ezEqUp{from{opacity:0;transform:translateY(28px)}
to{opacity:1;transform:none}
}
@keyframes ezEqFade{from{opacity:0}
to{opacity:1}
}
@keyframes ezEqX{from{transform:scaleX(0)}
to{transform:scaleX(1)}
}
@keyframes ezEqZoom{from{transform:scale(1)}
to{transform:scale(1.08)}
}
@keyframes ezEqPop{from{opacity:0;transform:scale(.4) rotate(-90deg)}
to{opacity:1;transform:none}
}
@keyframes ezStDrop{0%,60%,100%{transform:none}
70%{transform:translateY(-3px)}
80%{transform:translateY(3px)}
90%{transform:translateY(0)}
}
@keyframes ezStNudge{0%,100%{transform:none}
50%{transform:translateX(5px)}
}
@keyframes ezFtUp{from{opacity:0;transform:translateY(28px)}
to{opacity:1;transform:none}
}
@keyframes ezFtPat{from{opacity:0}
to{opacity:.6}
}
@keyframes ezFtFade{from{opacity:0}
to{opacity:1}
}
@keyframes ezFtMarq{from{transform:translateX(0)}
to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}
}
