.industry-page { background: #050c12; }
.ix-main { --ix-hot: #ff5b25; --ix-cyan: #77d4ff; background: #050c12; overflow: hidden; }
.ix-hero { position: relative; min-height: calc(82svh - var(--header-height)); display: grid; align-items: center; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 71% 40%, #173646 0, #09151d 35%, #050c12 72%); }
.ix-grid { position: absolute; inset: 0; z-index: -1; opacity: .18; background-image: linear-gradient(rgba(122,196,228,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(122,196,228,.22) 1px,transparent 1px); background-size: 78px 78px; mask-image: linear-gradient(90deg,#000,transparent 78%); }
.ix-hero-inner { min-height: inherit; display: grid; grid-template-columns: .76fr 1.24fr; align-items: center; gap: clamp(30px,5vw,80px); }
.ix-hero-copy { position: relative; z-index: 3; padding: 70px 0; }
.ix-hero-copy > p,.ix-heading p,.ix-closing-inner > p { margin: 0 0 19px; color: var(--ix-hot); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.ix-hero-copy h1 { margin: 0; font-size: clamp(76px,10.4vw,164px); font-weight: 600; line-height: .78; letter-spacing: -.085em; }
.ix-hero-copy > span { display: block; margin-top: 42px; color: #95a6af; font-size: 17px; }
.ix-hero-copy > a { width: min(300px,100%); min-height: 58px; margin-top: 46px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(220,236,243,.35); border-bottom: 1px solid rgba(220,236,243,.35); color: #fff; font-size: 13px; text-decoration: none; transition: padding .25s ease,border-color .25s ease; }
.ix-hero-copy > a:hover { padding-left: 26px; border-color: var(--ix-hot); }
.ix-hero-copy > a b { color: var(--ix-hot); font-size: 20px; font-weight: 400; }

.ix-collage { position: relative; height: min(68svh,720px); min-height: 500px; perspective: 1200px; }
.ix-card { position: absolute; margin: 0; overflow: hidden; border: 1px solid rgba(207,231,241,.16); box-shadow: 0 38px 90px rgba(0,0,0,.45); background: #0b151d; }
.ix-card::after { content:""; position:absolute; inset:0; background:linear-gradient(145deg,transparent 45%,rgba(3,9,13,.68)); }
.ix-card img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.72) contrast(1.06); transition: transform 1s cubic-bezier(.2,.65,.2,1),filter .35s ease; }
.ix-card:hover img { transform: scale(1.045); filter: saturate(.94) contrast(1.02); }
.ix-card i { position: absolute; z-index: 2; right: 15px; bottom: 13px; color: rgba(255,255,255,.78); font-size: 10px; font-style: normal; letter-spacing: .15em; }
.ix-card-a { z-index: 2; left: 2%; top: 13%; width: 45%; height: 66%; animation: ix-float-a 8s ease-in-out infinite; }
.ix-card-b { z-index: 1; right: 0; top: 0; width: 48%; height: 54%; animation: ix-float-b 10s ease-in-out infinite; }
.ix-card-c { z-index: 3; right: 6%; bottom: 0; width: 50%; height: 40%; animation: ix-float-c 9s ease-in-out infinite; }
.ix-orbit { position: absolute; left: 25%; top: 1%; width: 420px; height: 420px; border: 1px solid rgba(115,211,255,.18); border-radius: 50%; animation: ix-spin 24s linear infinite; }
.ix-orbit::before,.ix-orbit::after { content:""; position:absolute; left:50%; top:50%; border:1px solid rgba(115,211,255,.12); border-radius:50%; transform:translate(-50%,-50%); }
.ix-orbit::before { width: 72%; height: 72%; }.ix-orbit::after { width: 38%; height: 38%; }
.ix-orbit span { position:absolute; left:-4px; top:50%; width:8px; height:8px; border-radius:50%; background:var(--ix-cyan); box-shadow:0 0 20px var(--ix-cyan); }
.ix-scroll-code { position:absolute; right:30px; bottom:28px; color:rgba(191,216,227,.42); font-size:9px; letter-spacing:.2em; writing-mode:vertical-rl; }

.ix-explorer { padding: clamp(92px,10vw,150px) 0; background: #07121a; color:#fff; }
.ix-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom: clamp(42px,5vw,68px); }
.ix-heading h2 { margin:0; font-size:clamp(46px,6.4vw,96px); font-weight:590; line-height:.95; letter-spacing:-.065em; }
.ix-heading > span { padding-bottom:8px; color:#748690; font-size:12px; }
.ix-stage-wrap { display:grid; grid-template-columns:minmax(0,1.58fr) minmax(300px,.42fr); min-height:min(62vw,680px); border:1px solid rgba(187,219,233,.2); background:#050c12; box-shadow:0 40px 100px rgba(0,0,0,.3); }
.ix-stage { position:relative; min-width:0; margin:0; overflow:hidden; }
.ix-stage figure { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; margin:0; overflow:hidden; background:#0a151d; }
.ix-stage picture { display:block; width:100%; height:100%; }
.ix-stage img { width:calc(100% + 34px); height:calc(100% + 34px); margin:-17px; display:block; object-fit:cover; transform:translate3d(var(--ix-x,0),var(--ix-y,0),0) scale(1.025); filter:saturate(.78) contrast(1.07); transition:opacity .24s ease,transform .7s cubic-bezier(.2,.65,.2,1),filter .3s ease; }
.ix-stage:not(.is-switching):hover img { transform:translate3d(var(--ix-x,0),var(--ix-y,0),0) scale(1.045); filter:saturate(.98) contrast(1.03); }
.ix-stage.is-switching img { opacity:.08; transform:scale(1.09); }
.ix-stage-shade { position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,rgba(2,7,10,.38)),linear-gradient(0deg,rgba(2,7,10,.62),transparent 35%); pointer-events:none; }
.ix-reticle { position:absolute; right:8%; top:11%; width:130px; height:130px; border:1px solid rgba(255,255,255,.28); border-radius:50%; pointer-events:none; animation:ix-spin 18s linear infinite; }
.ix-reticle::before,.ix-reticle::after { content:""; position:absolute; background:rgba(255,255,255,.3); }.ix-reticle::before { left:50%; top:-12px; bottom:-12px; width:1px; }.ix-reticle::after { top:50%; left:-12px; right:-12px; height:1px; }
.ix-reticle i { position:absolute; inset:30px; border:1px solid rgba(255,91,37,.8); border-radius:50%; }.ix-reticle b { position:absolute; left:50%; top:50%; width:6px; height:6px; margin:-3px; border-radius:50%; background:var(--ix-hot); box-shadow:0 0 16px var(--ix-hot); }
.ix-image-code { position:absolute; left:22px; bottom:20px; color:rgba(255,255,255,.64); font-size:9px; letter-spacing:.18em; }

.ix-data { min-width:0; padding:30px 30px 24px; display:flex; flex-direction:column; border-left:1px solid rgba(187,219,233,.2); background:linear-gradient(145deg,rgba(18,41,53,.7),rgba(7,18,26,.95)); }
.ix-data-top { display:flex; justify-content:space-between; color:#69808d; font-size:10px; letter-spacing:.16em; font-variant-numeric:tabular-nums; }
.ix-data-top span { color:var(--ix-hot); }
.ix-data-main { margin:auto 0; }
.ix-data-main > p:first-child { margin:0 0 14px; color:#607582; font-size:10px; letter-spacing:.14em; }
.ix-data-main h3 { margin:0; font-size:clamp(38px,4.2vw,62px); font-weight:570; line-height:1; letter-spacing:-.055em; }
.ix-rule { width:46px; height:2px; margin:30px 0 25px; background:var(--ix-hot); box-shadow:0 0 18px rgba(255,91,37,.6); transition:width .5s ease; }
.ix-data:hover .ix-rule { width:86px; }
.ix-data-main > p:last-child { margin:0; color:#9aabb4; font-size:14px; line-height:1.6; }
.ix-data dl { margin:0 0 28px; }
.ix-data dl div { display:grid; grid-template-columns:76px 1fr; gap:12px; padding:14px 0; border-top:1px solid rgba(187,219,233,.14); }
.ix-data dt { color:#5f7581; font-size:10px; }.ix-data dd { margin:0; color:#b8c4ca; font-size:11px; }
.ix-controls { display:grid; grid-template-columns:48px 1fr 48px; gap:10px; align-items:center; }
.ix-controls button { width:48px; height:48px; border:1px solid rgba(189,218,231,.24); background:transparent; color:#fff; font-size:18px; cursor:pointer; transition:background .2s ease,border-color .2s ease; }
.ix-controls button:hover { border-color:var(--ix-hot); background:var(--ix-hot); }
.ix-autoplay { height:1px; overflow:hidden; background:rgba(255,255,255,.14); }
.ix-autoplay i { display:block; width:100%; height:100%; background:var(--ix-hot); transform-origin:left; animation:ix-progress 6.5s linear infinite; }
.ix-explorer.is-paused .ix-autoplay i { animation-play-state:paused; }

.ix-index-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:22px; border-top:1px solid rgba(187,219,233,.18); border-left:1px solid rgba(187,219,233,.18); }
.ix-index { position:relative; min-width:0; min-height:86px; padding:18px 16px; display:grid; grid-template-columns:30px 1fr; align-items:center; overflow:hidden; border:0; border-right:1px solid rgba(187,219,233,.18); border-bottom:1px solid rgba(187,219,233,.18); background:transparent; color:#71838d; font:inherit; text-align:left; cursor:pointer; transition:color .25s ease,background .25s ease; }
.ix-index span { font-size:10px; font-variant-numeric:tabular-nums; }.ix-index strong { overflow:hidden; font-size:14px; font-weight:540; white-space:nowrap; text-overflow:ellipsis; }
.ix-index i { position:absolute; right:0; bottom:0; left:0; height:2px; background:var(--ix-hot); transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.2,.75,.2,1); }
.ix-index::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent,rgba(111,205,246,.09),transparent); transform:translateX(-110%); transition:transform .55s ease; }
.ix-index:hover::before { transform:translateX(110%); }.ix-index:hover,.ix-index.is-active { color:#fff; background:rgba(255,255,255,.035); }.ix-index.is-active span { color:var(--ix-hot); }.ix-index.is-active i { transform:scaleX(1); }

.ix-method { padding:clamp(84px,9vw,134px) 0; background:#eceeea; color:#071018; }
.light-heading p { color:#a34122; }.light-heading > span { color:#687579; }
.ix-method-grid { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; border-top:1px solid #aeb7b6; border-bottom:1px solid #aeb7b6; list-style:none; }
.ix-method-grid li { position:relative; min-height:210px; padding:26px 25px 28px; display:flex; flex-direction:column; justify-content:space-between; border-left:1px solid #aeb7b6; overflow:hidden; }
.ix-method-grid li:first-child { border-left:0; }.ix-method-grid li::after { content:""; position:absolute; inset:0; background:#071018; transform:translateY(101%); transition:transform .42s cubic-bezier(.2,.75,.2,1); }
.ix-method-grid li:hover::after { transform:none; }.ix-method-grid li > * { position:relative; z-index:1; transition:color .3s ease; }
.ix-method-grid li > span { color:#a34122; font-size:12px; font-weight:700; }.ix-method-grid strong { display:block; font-size:23px; font-weight:590; }.ix-method-grid small { display:block; margin-top:8px; color:#657176; font-size:13px; }.ix-method-grid li:hover strong { color:#fff; }.ix-method-grid li:hover small { color:#9fafb7; }

.ix-closing { position:relative; min-height:min(78vw,820px); display:grid; align-items:end; isolation:isolate; overflow:hidden; }
.ix-closing picture,.ix-closing picture img,.ix-closing-shade { position:absolute; inset:0; width:100%; height:100%; }
.ix-closing picture { z-index:-2; }.ix-closing img { object-fit:cover; transition:transform 1.1s cubic-bezier(.2,.65,.2,1); }.ix-closing:hover img { transform:scale(1.025); }
.ix-closing-shade { z-index:-1; background:linear-gradient(90deg,rgba(2,7,11,.9),rgba(2,7,11,.25) 65%),linear-gradient(0deg,rgba(2,7,11,.76),transparent 65%); }
.ix-closing-inner { padding-bottom:clamp(68px,9vw,126px); }
.ix-closing-inner h2 { margin:0; font-size:clamp(56px,8vw,120px); font-weight:590; line-height:.92; letter-spacing:-.07em; }
.ix-closing-inner a { width:min(340px,100%); min-height:62px; margin-top:48px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(255,255,255,.5); color:#fff; text-decoration:none; font-size:13px; transition:background .25s ease,color .25s ease,border-color .25s ease; }
.ix-closing-inner a:hover { border-color:var(--ix-hot); background:var(--ix-hot); }.ix-closing-inner a span { font-size:19px; }

@keyframes ix-spin { to { transform:rotate(360deg); } }
@keyframes ix-float-a { 50% { transform:translate3d(0,-12px,20px); } }
@keyframes ix-float-b { 50% { transform:translate3d(8px,10px,-10px); } }
@keyframes ix-float-c { 50% { transform:translate3d(-7px,-9px,30px); } }
@keyframes ix-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }

@media(max-width:1060px){
    .ix-stage-wrap { grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr); }
    .ix-hero-inner { grid-template-columns:.68fr 1.32fr; }
    .ix-orbit { width:330px;height:330px; }
}

@media(max-width:820px){
    .ix-hero { min-height:calc(84svh - var(--header-height)); }
    .ix-grid { background-size:44px 44px; }
    .ix-hero-inner { display:block; position:relative; }
    .ix-hero-copy { position:absolute; z-index:5; left:0; bottom:0; padding:0 0 48px; }
    .ix-hero-copy h1 { font-size:72px; line-height:.82; }
    .ix-hero-copy > span { margin-top:22px; font-size:14px; }
    .ix-hero-copy > a { min-height:50px; margin-top:25px; }
    .ix-collage { height:calc(84svh - var(--header-height)); min-height:560px; margin-right:-18px; }
    .ix-card-a { left:15%;top:8%;width:66%;height:44%; }.ix-card-b { right:-20%;top:1%;width:54%;height:36%; }.ix-card-c { right:-4%;bottom:22%;width:55%;height:27%; }
    .ix-orbit { left:22%;top:4%;width:290px;height:290px; }
    .ix-scroll-code { display:none; }
    .ix-explorer { padding:70px 0 82px; }
    .ix-heading { display:block; margin-bottom:34px; }.ix-heading h2 { font-size:42px; white-space:nowrap; }.ix-heading > span { display:block; margin-top:16px; }
    .ix-stage-wrap { display:block; min-height:0; }
    .ix-stage { height:54svh; min-height:390px; }
    .ix-stage figure { aspect-ratio:auto; border:0; }
    .ix-reticle { width:90px;height:90px; }
    .ix-data { min-height:330px; padding:22px 19px 18px; border-top:1px solid rgba(187,219,233,.2); border-left:0; }
    .ix-data-main { margin:34px 0; }.ix-data-main h3 { font-size:42px; }.ix-data dl { display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px; }.ix-data dl div { display:block; }.ix-data dd { margin-top:8px; }
    .ix-index-grid { display:flex; gap:0; margin-right:-18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-left:0; }.ix-index-grid::-webkit-scrollbar{display:none}
    .ix-index { flex:0 0 46%; min-height:76px; scroll-snap-align:start; border-top:1px solid rgba(187,219,233,.18); }
    .ix-method { padding:70px 0; }.ix-method-grid { grid-template-columns:1fr 1fr; }.ix-method-grid li { min-height:155px;padding:19px 16px; border-bottom:1px solid #aeb7b6; }.ix-method-grid li:nth-child(odd){border-left:0}.ix-method-grid strong{font-size:19px}
    .ix-closing { min-height:76svh; }.ix-closing-inner h2{font-size:56px}.ix-closing-inner{padding-bottom:58px}
}

@media(prefers-reduced-motion:reduce){
    .ix-card,.ix-orbit,.ix-reticle,.ix-autoplay i{animation:none}.ix-stage img{transition:opacity .15s ease}.ix-method-grid li::after{transition:none}
}

.ix-controls { grid-template-columns:44px minmax(12px,1fr) 56px 44px; }
.ix-controls button { width:100%; min-height:44px; }
.ix-controls [data-ix-pause] { font-size:13px; }
.ix-controls button:focus-visible { outline:2px solid #77d4ff; outline-offset:4px; }
.ix-controls button:disabled { opacity:.5; cursor:default; }
/* Align the three photographs into one composition. */
.ix-collage { display:grid; grid-template-columns:1.1fr 1fr; grid-template-rows:1fr 1fr; gap:14px; height: min(60svh,620px); min-height:420px; }
.ix-card { position:relative; inset:auto; width:auto; height:auto; animation:none; box-shadow:none; }
.ix-card-a { grid-row:1 / 3; }
.ix-orbit { display:none; }
.ix-hero-copy h1 { line-height:1.05; }
@media(max-width:820px) {
 .ix-hero { min-height:0; }
 .ix-hero-inner { display:flex; flex-direction:column; align-items:stretch; min-height:0; gap:32px; padding-block:40px; }
 .ix-hero-copy { position:relative; inset:auto; padding:0; }
 .ix-hero-copy h1 { font-size:50px; line-height:1.12; letter-spacing:-.04em; }
 .ix-hero-copy h1 br { display:none; }
 .ix-hero-copy > span { margin-top:16px; color:#bdc9cf; }
 .ix-hero-copy > a { margin-top:24px; width:100%; }
 .ix-collage { height:320px; min-height:0; margin:0; gap:10px; }
 .ix-card-a,.ix-card-b,.ix-card-c { inset:auto; width:auto; height:auto; }
 .ix-card i { right:10px; bottom:10px; }
 .ix-heading h2 { font-size:clamp(30px,8vw,42px); white-space:normal; }
}
