/* ==========================================================================
   IITWares homepage v2 — extended flight + design/motion showcase sections.
   Loaded after iw-home.css on / and /ar/ only.
   Brand mark colours (from the master logo) are used only inside artwork.
   ========================================================================== */
:root{--brand-green:#1E8E44;--brand-blue:#036EEA;}

/* ------------------------------------------------ the flight, one act longer */
.js .hx{height:440vh;}
.js .hx.hx--short{height:330vh;}
.hx-ch-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px;}
.hx-chapter--end{width:min(520px,calc(100% - 2 * var(--gutter)));}

/* ------------------------------------------------------------ the numbers */
.nums{max-width:var(--shell);margin:0 auto;padding:0 var(--gutter) clamp(56px,6vw,96px);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;}
.num{padding:clamp(18px,2vw,28px) 0;border-top:1px solid var(--line-dark);padding-inline-end:16px;}
.num dt{order:2;margin-top:10px;font-size:14px;color:var(--mist);}
.num{display:flex;flex-direction:column;}
.num dd{order:1;margin:0;font-family:var(--font-display);font-stretch:var(--wide);font-weight:600;
  font-size:clamp(44px,2rem + 3.4vw,96px);line-height:.95;letter-spacing:-.04em;color:var(--on-dark);font-variant-numeric:tabular-nums;}
.num:first-child dd{color:var(--amber-2);}
[dir="rtl"] .num dd{font-family:var(--font-display);}
@media (max-width:860px){.nums{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* --------------------------------------------------- bilingual kinetic band */
.band{overflow:hidden;background:var(--night);color:var(--on-dark);padding-block:clamp(26px,3vw,44px);border-top:1px solid var(--hair-dark);}
.band-row{overflow:hidden;white-space:nowrap;}
.band-row + .band-row{margin-top:clamp(4px,.6vw,10px);}
.band-track{display:inline-flex;align-items:center;will-change:transform;transform:translate3d(var(--bx,0px),0,0);}
.bw{display:inline-flex;align-items:center;gap:clamp(16px,1.6vw,28px);padding-inline-end:clamp(16px,1.6vw,28px);}
.bw b{font-family:var(--font-display);font-stretch:var(--wide);font-weight:600;font-size:clamp(40px,1.6rem + 4vw,104px);letter-spacing:-.035em;line-height:1.08;}
.bw em{font-style:normal;font-family:var(--font-ar);font-weight:600;font-size:clamp(30px,1.2rem + 3vw,80px);color:transparent;-webkit-text-stroke:1px rgba(238,242,245,.42);line-height:1.3;}
[dir="rtl"] .bw b{font-family:var(--font-ar);font-stretch:normal;letter-spacing:0;line-height:1.3;}
[dir="rtl"] .bw em{font-family:var(--font-display);font-stretch:var(--wide);}
.bw i{width:12px;height:12px;flex:none;background:var(--amber);transform:rotate(45deg);}
.band-row--rev .bw b{color:transparent;-webkit-text-stroke:1px rgba(238,242,245,.42);}
.band-row--rev .bw em{color:var(--on-dark);-webkit-text-stroke:0;}

/* ------------------------------------------------ anatomy: exploded 3D stack */
.ana{position:relative;background:linear-gradient(180deg,var(--night) 0%,#0E2034 60%,var(--night-2) 100%);color:var(--on-dark);}
.js .ana{height:340vh;}
.ana-stage{position:relative;max-width:var(--shell);margin-inline:auto;padding:clamp(80px,9vw,140px) var(--gutter);
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,80px);align-items:center;}
.js .ana-stage{position:sticky;top:0;height:100vh;height:100svh;min-height:640px;padding-block:clamp(70px,8vh,110px) 40px;}
.ana-copy h2{font-size:var(--t-4);line-height:1.04;max-width:15ch;color:var(--on-dark);}
.ana-copy .dek{margin-top:16px;color:var(--on-dark-dim);max-width:40ch;}
.ana-steps{list-style:none;margin:clamp(22px,3vw,40px) 0 0;padding:0;}
.ana-step{position:relative;padding:12px 0 12px;padding-inline-start:44px;border-top:1px solid var(--line-dark);opacity:.42;transition:opacity .45s var(--ease-out);}
.ana-step:last-child{border-bottom:1px solid var(--line-dark);}
.ana-step.is-on{opacity:1;}
.ana-n{position:absolute;inset-inline-start:0;top:14px;font-size:13.5px;color:var(--amber-2);font-variant-numeric:tabular-nums;}
.ana-step h3{margin:0;font-size:var(--t-1);line-height:1.25;color:var(--on-dark);}
.ana-step p{margin:0;max-height:0;overflow:hidden;color:var(--on-dark-dim);font-size:15px;line-height:1.6;transition:max-height .5s var(--ease-out),margin .5s var(--ease-out);}
.ana-step.is-on p{max-height:7em;margin-top:6px;}
html:not(.js) .ana-step,.ana--static .ana-step{opacity:1;}
html:not(.js) .ana-step p,.ana--static .ana-step p{max-height:none;margin-top:6px;}

.ana-art{position:relative;height:min(70vh,640px);perspective:1800px;perspective-origin:50% 30%;}
.stack{--p:0;position:absolute;left:50%;top:52%;width:min(440px,72%);aspect-ratio:4/3;transform-style:preserve-3d;
  transform:translate(-50%,-50%) rotateX(calc(58deg - var(--p) * 6deg)) rotateZ(calc(-34deg + var(--p) * 14deg));}
[dir="rtl"] .stack{transform:translate(-50%,-50%) rotateX(calc(58deg - var(--p) * 6deg)) rotateZ(calc(34deg - var(--p) * 14deg));}
.ly{position:absolute;inset:0;border-radius:6px;transform-style:preserve-3d;
  transform:translateZ(calc((var(--i) - 2) * var(--sep,10px)));
  background:linear-gradient(160deg,rgba(36,66,98,.78),rgba(16,34,56,.82));
  border:1px solid rgba(190,205,220,.42);box-shadow:0 30px 60px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);
  transition:border-color .4s,box-shadow .4s,opacity .4s;}
.ly.is-on{border-color:var(--amber);box-shadow:0 0 0 1px rgba(242,165,65,.4),0 30px 70px rgba(0,0,0,.45),0 0 60px rgba(242,165,65,.18);}
.ly.is-dim{opacity:.62;}
.ly-lab{position:absolute;top:-30px;inset-inline-start:0;font-size:14px;font-weight:500;color:var(--on-dark-dim);white-space:nowrap;transform:translateZ(1px);}
.ly.is-on .ly-lab{color:var(--amber-2);}
.la{position:absolute;inset:14px;}
.la i{position:absolute;display:block;border-radius:2px;}
/* sitemap */
.la-map i{width:22%;height:14%;border:1.5px solid rgba(220,230,240,.7);background:rgba(238,242,245,.06);}
.la-map .n0{left:39%;top:6%;border-color:var(--amber);}
.la-map .n1{left:6%;top:40%}.la-map .n2{left:39%;top:40%}.la-map .n3{left:72%;top:40%}
.la-map .n4{left:6%;top:74%}.la-map .n5{left:39%;top:74%}.la-map .n6{left:72%;top:74%}
.la-map::before,.la-map::after{content:"";position:absolute;left:17%;right:17%;top:30%;height:1.5px;background:rgba(220,230,240,.55);}
.la-map::after{top:64%;}
/* layout */
.la-ui .u-bar{left:0;right:0;top:0;height:9%;background:rgba(238,242,245,.3);}
.la-ui .u-hero{left:0;right:0;top:15%;height:38%;background:linear-gradient(120deg,rgba(242,165,65,.7),rgba(124,196,189,.45));}
.la-ui .u-c1,.la-ui .u-c2,.la-ui .u-c3{top:60%;height:36%;width:31%;background:rgba(238,242,245,.24);}
.la-ui .u-c1{left:0}.la-ui .u-c2{left:34.5%}.la-ui .u-c3{right:0}
/* bilingual copy */
.la-copy{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;}
.la-copy>div{position:relative;}
.la-copy b{display:block;font-family:var(--font-display);font-stretch:var(--wide);font-size:clamp(11px,1vw,15px);line-height:1.15;color:var(--on-dark);}
.la-copy [lang="ar"] b{font-family:var(--font-ar);font-stretch:normal;line-height:1.4;}
.la-copy i{position:relative;height:5px;margin-top:9px;background:rgba(238,242,245,.42);width:100%;}
.la-copy i.s{width:62%;}
.la-copy [dir="rtl"] i.s{margin-inline-start:0;margin-left:auto;}
/* code */
.la-code i{left:0;height:7px;background:rgba(124,196,189,.85);}
.la-code .c1{top:10%;width:46%}.la-code .c2{top:24%;left:8%;width:58%;background:rgba(242,165,65,.9)}
.la-code .c3{top:38%;left:8%;width:40%}.la-code .c4{top:52%;left:16%;width:52%;background:rgba(238,242,245,.55)}.la-code .c5{top:66%;width:30%}
.la-code .gauge{position:absolute;right:0;bottom:0;padding:6px 10px;border-radius:999px;border:1px solid var(--sea);color:var(--sea);font-size:12px;font-weight:600;}
.la-code .gauge b{margin-inline-end:6px;font-weight:500;color:var(--mist);}
/* search result */
.la-serp .q{display:block;padding:6px 12px;border-radius:999px;background:rgba(238,242,245,.12);font-size:12px;color:var(--on-dark);width:72%;}
.la-serp .t{top:30%;left:0;width:64%;height:9px;background:#8fb6ff;}
.la-serp .u{top:41%;left:0;width:40%;height:5px;background:rgba(124,196,189,.6);}
.la-serp .d{top:51%;left:0;width:92%;height:5px;background:rgba(238,242,245,.45);}
.la-serp .d.s{top:59%;width:70%;}
.la-serp .rich{position:absolute;left:0;right:8%;top:70%;display:grid;gap:6px;}
.la-serp .rich i{position:relative;height:16px;border:1.5px solid rgba(242,165,65,.8);border-radius:3px;}

@media (max-width:960px){
  .js .ana{height:auto;}
  .js .ana-stage{position:relative;height:auto;min-height:0;padding-block:var(--sec);}
  .ana-stage{grid-template-columns:1fr;}
  .ana-art{height:min(78vw,440px);order:-1;}
  .ana-step{opacity:1;}
  .ana-step p{max-height:none;margin-top:6px;}
}

/* -------------------------------------------------- selected work: the ring */
.work2{max-width:var(--shell);margin-inline:auto;padding:var(--sec) var(--gutter) clamp(60px,6vw,100px);overflow:hidden;}
.ring-stage{position:relative;height:clamp(300px,34vw,470px);perspective:1600px;perspective-origin:50% 40%;margin-top:clamp(10px,2vw,30px);
  touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;}
.ring-stage.is-drag{cursor:grabbing;}
.ring{--rot:0deg;--R:clamp(300px,36vw,560px);position:absolute;left:50%;top:50%;width:0;height:0;margin:0;padding:0;list-style:none;
  transform-style:preserve-3d;transform:translateZ(calc(var(--R) * -1)) rotateY(var(--rot));transition:transform .9s cubic-bezier(.19,.9,.26,1);}
.ring.is-drag{transition:none;}
.rc{position:absolute;left:0;top:0;width:clamp(240px,27vw,420px);aspect-ratio:16/10;margin:0;
  transform:translate(-50%,-50%) rotateY(calc(var(--k) * 60deg)) translateZ(var(--R));transform-style:preserve-3d;}
.rc-a{position:absolute;inset:0;display:block;border-radius:8px;overflow:hidden;background:var(--night);
  box-shadow:0 30px 60px rgba(13,26,40,.28);border:1px solid rgba(13,26,40,.12);backface-visibility:hidden;
  transition:filter .6s,opacity .6s,box-shadow .4s;filter:saturate(.6) brightness(.8);opacity:.75;}
.rc.is-front .rc-a{filter:none;opacity:1;box-shadow:0 40px 80px rgba(13,26,40,.35),0 0 0 2px var(--amber);}
.rc-a img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.rc-n{position:absolute;inset-inline:0;bottom:0;padding:28px 14px 12px;font-size:14px;font-weight:500;color:#fff;
  background:linear-gradient(0deg,rgba(5,12,21,.85),rgba(5,12,21,0));}
.rc-a:focus-visible{outline:3px solid var(--amber-ink);outline-offset:4px;}
.ring-ui{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,3vw,40px);max-width:860px;margin:clamp(18px,2.4vw,34px) auto 0;}
.ring-btn{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;cursor:pointer;transition:background-color .25s,border-color .25s;}
.ring-btn:hover{background:var(--night);border-color:var(--night);}
.ring-btn span{width:11px;height:11px;border-top:2px solid var(--ink);border-left:2px solid var(--ink);transform:translateX(2px) rotate(-45deg);}
.ring-btn--next span{transform:translateX(-2px) rotate(135deg);}
[dir="rtl"] .ring-btn span{transform:translateX(-2px) rotate(135deg);}
[dir="rtl"] .ring-btn--next span{transform:translateX(2px) rotate(-45deg);}
.ring-btn:hover span{border-color:var(--amber);}
.ring-caps{text-align:center;min-height:9.5em;}
.rcap-k{margin:0;font-size:13.5px;color:var(--amber-ink);}
.rcap h3{margin:6px 0 0;font-size:var(--t-2);line-height:1.15;}
.rcap-d{margin:8px auto 0;max-width:52ch;color:var(--slate);font-size:15.5px;line-height:1.6;}
.rcap-go{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;margin:12px 0 0;}
.ring-hint{margin:14px auto 0;max-width:none;text-align:center;font-size:13.5px;color:var(--slate);}
html:not(.js) .ring-stage,.ring--flat .ring-stage{height:auto;perspective:none;cursor:auto;}
html:not(.js) .ring,.ring--flat .ring{position:static;width:auto;height:auto;transform:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
html:not(.js) .rc,.ring--flat .rc{position:relative;transform:none;width:auto;}
html:not(.js) .rc-a,.ring--flat .rc-a{filter:none;opacity:1;}
html:not(.js) .ring-btn,html:not(.js) .ring-hint,.ring--flat .ring-btn,.ring--flat .ring-hint{display:none;}
@media (max-width:760px){.ring{--R:clamp(220px,64vw,300px);}.rc{width:min(68vw,300px);}.ring-stage{height:clamp(240px,62vw,320px);}}

/* ------------------------------------------------- process: the drawn route */
.route-wrap{position:relative;}
.route-svg{position:absolute;left:0;right:0;top:-34px;width:100%;height:80px;overflow:visible;pointer-events:none;}
[dir="rtl"] .route-svg{transform:scaleX(-1);}
.route-bg{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 6;}
.route-fg{fill:none;stroke:var(--amber);stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--rp,1));stroke-linecap:round;}
@media (max-width:960px){.route-svg{display:none;}}

/* ---------------------------------------------- one design, two directions */
.dm{background:var(--night);color:var(--on-dark);}
.dm-in{max-width:var(--shell);margin-inline:auto;padding:var(--sec) var(--gutter);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,90px);align-items:center;}
.dm-text h2{font-size:var(--t-4);line-height:1.04;max-width:13ch;color:var(--on-dark);}
.dm-text .dek{margin-top:16px;color:var(--on-dark-dim);max-width:42ch;}
.dm-switch{display:inline-flex;margin-top:28px;padding:4px;border-radius:999px;border:1px solid var(--line-dark);background:rgba(238,242,245,.04);}
.dm-switch button{min-width:108px;min-height:46px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--on-dark-dim);font:inherit;font-size:15px;cursor:pointer;transition:background-color .3s,color .3s;}
.dm-switch button[lang="ar"]{font-family:var(--font-ar);}
.dm-switch button[aria-pressed="true"]{background:var(--amber);color:var(--ink);}
.dm-switch button:focus-visible{outline:2px solid var(--amber);outline-offset:3px;}
.dm-notes{margin:28px 0 0;padding:0;list-style:none;}
.dm-notes li{position:relative;padding:10px 0;padding-inline-start:24px;border-top:1px solid var(--line-dark);color:var(--on-dark-dim);font-size:15px;}
.dm-notes li::before{content:"";position:absolute;inset-inline-start:2px;top:17px;width:7px;height:7px;background:var(--amber);transform:rotate(45deg);}
.dm-frame{position:relative;padding:clamp(12px,1.6vw,20px);border-radius:14px;background:linear-gradient(160deg,var(--night-3),var(--night-2));border:1px solid var(--line-dark);}
.dm-tag{position:absolute;top:-12px;inset-inline-end:18px;padding:3px 10px;border-radius:999px;background:var(--night);border:1px solid var(--line-dark);font-size:12.5px;color:var(--mist);}
.dm-card{border-radius:8px;overflow:hidden;background:var(--paper);color:var(--ink);font-family:var(--font-sans);}
.dm-card[lang="ar"]{font-family:var(--font-ar);}
.dm-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--hair);}
.dm-logo{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--night);color:#fff;font-family:var(--font-display);font-stretch:var(--wide);font-weight:600;font-size:13px;direction:ltr;}
.dm-top nav{display:flex;gap:18px;font-size:14px;color:var(--ink-3);}
.dm-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;padding:22px 20px;align-items:center;}
.dm-copy h3{margin:0;font-family:var(--font-display);font-stretch:var(--wide);font-weight:600;font-size:clamp(20px,1rem + 1.1vw,30px);line-height:1.08;letter-spacing:-.02em;}
.dm-card[lang="ar"] .dm-copy h3{font-family:var(--font-ar);font-stretch:normal;letter-spacing:0;line-height:1.35;font-weight:700;}
.dm-copy p{margin:10px 0 0;font-size:14.5px;line-height:1.6;color:var(--slate);}
.dm-card[lang="ar"] .dm-copy p{font-size:15.5px;line-height:1.9;}
.dm-cta{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:10px 18px;border-radius:999px;background:var(--night);color:#fff;font-size:14px;}
.dm-tel{display:block;margin-top:12px;font-size:13.5px;color:var(--slate);font-variant-numeric:tabular-nums;}
.dm-img{aspect-ratio:4/3;border-radius:6px;background:
  radial-gradient(60% 70% at 30% 30%,rgba(124,196,189,.55),transparent 70%),
  radial-gradient(50% 60% at 80% 80%,rgba(242,165,65,.5),transparent 70%),linear-gradient(135deg,#1A3550,#0A1726);}
.dm-list{margin:0;padding:6px 20px 16px;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.dm-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:6px;background:var(--haze);font-size:14px;}
.chev{display:inline-block;width:7px;height:7px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:rotate(45deg);}
.dm-card[dir="rtl"] .chev{transform:rotate(-135deg);}
@media (max-width:960px){.dm-in{grid-template-columns:1fr;}}
@media (max-width:560px){.dm-body{grid-template-columns:1fr;}.dm-img{display:none;}.dm-top nav{gap:12px;font-size:13px;}.dm-list{grid-template-columns:1fr;}}

/* ------------------------------------------------------ reduced motion */
@media (prefers-reduced-motion:reduce){
  .js .ana{height:auto;}
  .js .ana-stage{position:relative;height:auto;}
  .ana-step{opacity:1;} .ana-step p{max-height:none;margin-top:6px;}
  .stack{--p:.6;} .ly{--sep:34px;}
  .ring{transition:none;}
  .band-track{transform:none;}
}
[dir="rtl"] .rc{transform:translate(-50%,-50%) rotateY(calc(var(--k) * -60deg)) translateZ(var(--R));}
html:not(.js) .rc,.ring--flat .rc{transform:none;}
.dm-card bdi.dm-tel{display:block;}
.band-row{direction:ltr;}
.rc-a{cursor:pointer;}
html:not(.js) .ring-caps{display:grid;gap:28px;}
html:not(.js) .ring-stage{display:none;}
/* short landscape screens: keep the opening headline clear of the header */
@media (max-height:720px) and (min-width:761px){
  .hx h1{font-size:clamp(34px,7.2vh,64px);}
  .hx-kicker{margin-bottom:12px;}
  .hx-lede{margin-top:14px;font-size:17px;}
  .hx-intro{padding-bottom:64px;}
}
