@font-face{font-family:'TajaribTaweel';src:url('../assets/fonts/TajaribTaweel-Black.otf') format('opentype');font-weight:900;font-display:swap}
@font-face{font-family:'Tajarib';src:url('../assets/fonts/Tajarib-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Tajarib';src:url('../assets/fonts/Tajarib-Bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Comfortaa';src:url('../assets/fonts/Comfortaa-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Comfortaa';src:url('../assets/fonts/Comfortaa-Bold.ttf') format('truetype');font-weight:700;font-display:swap}

:root{
  --night:#0D0C12;--paper:#F7F5F2;--electric:#6E4BFF;
  --yellow:#FAB800;--orange:#EA5F0E;--lilac:#A29BCB;--violet:#4A3C90;
  --mute-d:#CFCBD9;--mute-m:#8F8A9C;--mute-l:#4A4756;--line-d:#2E2B3A;--line-l:#DDD8D0;
  --ar:'Tajarib',system-ui,sans-serif;--disp:'TajaribTaweel','Tajarib',sans-serif;--lat:'Comfortaa',sans-serif;
  --pad:clamp(20px,6vw,110px);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--night);color:var(--paper);font-family:var(--ar);font-size:18px;line-height:1.6;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
a{color:inherit}
h1,h2,h3,p,ol,ul{margin:0}
ol,ul{list-style:none;padding:0}
[lang=en]{font-family:var(--lat);font-weight:500}
.display{font-family:var(--disp);font-weight:900;line-height:1.35}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dt{display:inline-block;width:.26em;height:.26em;border-radius:50%;vertical-align:.28em;margin-inline-end:.18em}
.dt.y{background:var(--yellow)}.dt.o{background:var(--orange)}.dt.l{background:var(--lilac)}
.label{display:flex;justify-content:space-between;font-size:15px;color:var(--mute-l);border-top:1px solid currentColor;padding-top:14px;margin-bottom:6vh}
.label-o{display:block;font-size:15px;color:var(--yellow);font-weight:700;margin-bottom:18px}
.h2{font-size:clamp(34px,4.2vw,64px);padding-bottom:.08em}
.label-n{display:block;font-size:15px;font-weight:700;margin-bottom:18px}

/* header */
.top{position:absolute;inset:0 0 auto 0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:26px var(--pad)}
.brand img{width:150px}
.top nav{display:flex;gap:28px;align-items:center;font-size:16px}
.top nav a{text-decoration:none;color:var(--mute-d)}
.top nav a:hover{color:var(--paper)}
.top .nav-cta{color:var(--night);background:var(--yellow);padding:6px 18px;border-radius:999px;font-weight:700}
.top .nav-cta:hover{color:var(--night)}

/* buttons */
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:700;font-size:17px;padding:13px 28px;border-radius:999px;border:2px solid transparent}
.btn-y{background:var(--yellow);color:var(--night)}
.btn-o{border-color:var(--line-d);color:var(--paper)}
.btn-o:hover{border-color:var(--paper)}

/* scroll scenes */
.scene{position:relative}
.stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}

/* 00 HERO */
.hero{height:270vh}
.hero-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero-svg path,.morph path{fill:none;stroke:var(--paper);stroke-width:82;stroke-linecap:round}
.hero-svg path{stroke-dasharray:1 2;stroke-dashoffset:1}
.hd{position:absolute;left:0;top:0;width:32.7vw;height:32.7vw;border-radius:50%;transform-origin:50% 50%;color:var(--night);display:grid;place-items:center;will-change:transform}
.hd-y{background:var(--yellow)}.hd-o{background:var(--orange)}.hd-l{background:var(--lilac)}
.hd [data-hv]{text-align:center;line-height:1.1}
.hd b{display:block;font-family:var(--disp);font-weight:900;font-size:1em}
.hd i{display:block;font-style:normal;font-size:.34em;margin-top:.7em;opacity:.75}
.hblock{position:absolute;right:6vw;top:50%;transform:translateY(-50%);width:min(46vw,760px);display:flex;flex-direction:column;gap:22px}
.mask{display:block;overflow:hidden;padding:.12em 0 .08em}
[data-htx]{display:block;transform:translateY(110%)}
.kick{color:var(--yellow);font-weight:700;font-size:17px}
.hblock h1{font-size:clamp(44px,6vw,104px);line-height:1.3}
.hblock .lead{color:var(--mute-d);font-size:clamp(17px,1.35vw,21px);max-width:30em}
.hint{position:absolute;left:50%;bottom:4vh;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:13px;color:var(--mute-m)}
.hint i{width:1px;height:34px;background:var(--mute-m)}

/* 01 ABOUT */
.about{background:var(--paper);color:var(--night);padding:16vh var(--pad) 14vh;overflow:hidden}
.drift-lines{font-size:8.6vw;line-height:1.5;margin:0 calc(var(--pad)*-1) 10vh}
.drift-lines span{display:block;white-space:nowrap;padding-inline-start:var(--s);will-change:transform}
.drift-lines span:nth-child(2){color:var(--violet)}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:end}
.about-p{font-size:clamp(22px,2.2vw,34px);font-weight:700;line-height:1.5;max-width:22em}
.tile{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:4/5}
.tile img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;will-change:transform}

/* 01b POSTERS: halftone Build / Integrate / Automate */
.posters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:var(--night);padding:12px}
.pst{position:relative;overflow:hidden;height:min(92vh,880px);min-height:620px;color:var(--night)}
.pst-y{background:var(--yellow)}.pst-o{background:var(--orange)}.pst-e{background:var(--electric);color:var(--paper)}
.pst-img{position:absolute;left:0;top:0;width:100%;height:70%;object-fit:cover;object-position:50% 20%}
.pst-top{position:absolute;top:28px;inset-inline:28px;display:flex;justify-content:space-between;align-items:center}
.pst-top img{height:52px;width:auto}
.pst-top span{font-weight:700;font-size:15px;padding:6px 14px;border-radius:999px}
.pst-y .pst-top span{background:var(--yellow)}.pst-o .pst-top span{background:var(--orange)}.pst-e .pst-top span{background:var(--electric)}
.pst-dot{position:absolute;left:28px;top:calc(70% - 22px);width:44px;height:44px;border-radius:50%;background:var(--night);z-index:2}
.pst-e .pst-dot{background:var(--paper)}
.pst-band{position:absolute;left:0;right:0;bottom:0;height:30%;padding:0 28px 26px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px}
.pst-y .pst-band{background:var(--yellow)}.pst-o .pst-band{background:var(--orange)}.pst-e .pst-band{background:var(--electric)}
.pst-band strong{font-size:clamp(56px,6.4vw,118px);line-height:1.3;white-space:nowrap;padding-bottom:.34em}
.pst-band p{font-weight:700;font-size:clamp(17px,1.3vw,21px);line-height:1.5}
.strip{background:var(--night);padding:6vh var(--pad)}
.strip img{width:100%;height:auto}

/* 02 SERVICES / 03 PRODUCTS: sticky two columns */
.svc{height:340vh}
.svc .stick{background:var(--night) url('../assets/img/bg/aurora-glow.webp') center/cover no-repeat}
.prod{height:300vh;background:var(--violet)}
.grid2{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center;padding:0 var(--pad)}
.col{min-width:0}
.steps{margin-top:5vh;border-top:1px solid var(--line-d)}
.steps li{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-d);color:var(--mute-m);font-size:clamp(17px,1.4vw,22px);transition:color .35s}
.steps li i{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;flex:none;transition:background .35s,border-color .35s}
.steps li.on{color:var(--paper)}
.steps li.on i{background:var(--yellow);border-color:var(--yellow)}
.roll{position:relative;overflow:hidden;height:min(58vh,520px)}
.roll-in{position:absolute;inset:0 0 auto 0;height:calc(var(--n)*100%);will-change:transform}
.roll-in article{height:calc(100%/var(--n));display:flex;flex-direction:column;justify-content:center;gap:18px}
.svc .roll-in img{width:clamp(110px,10vw,170px);height:auto;margin:-14px}
.svc h3{font-size:clamp(32px,3.6vw,60px)}
.svc ul li{font-size:clamp(17px,1.35vw,21px);color:var(--mute-d);padding:10px 0;border-top:1px solid var(--line-d)}
.counter{display:flex;align-items:center;gap:24px;margin-top:4vh;font-size:15px;direction:ltr;justify-content:flex-end}
.counter b{font-weight:700;color:var(--paper);font-size:20px}
.counter em{font-style:normal;color:var(--mute-m)}
.marks{display:flex;gap:6px}
.marks i{width:28px;height:3px;background:var(--line-d);transition:background .35s}
.marks i.on{background:var(--yellow)}
.prod .roll{height:min(40vh,360px)}
.prod .wm{height:clamp(40px,4.4vw,68px);width:auto;align-self:flex-start}
.prod article strong{font-size:clamp(22px,2vw,32px);line-height:1.35}
.prod article span{color:var(--mute-d);font-size:clamp(17px,1.3vw,20px)}
.prod .go{color:var(--yellow);text-decoration:none;font-size:16px;align-self:flex-start;direction:ltr}
.prod .go:hover{text-decoration:underline}
.prod .marks i{background:rgba(247,245,242,.2)}
.prod .marks i.on{background:var(--yellow)}
.prod .counter em{color:var(--lilac)}
.morph{display:grid;place-items:center;height:100%}
.morph svg{width:min(42vw,66vh);height:auto;overflow:visible}

/* 04 PROCESS: circle opens */
.proc{height:480vh}
.layer{position:absolute;inset:0;padding:0 var(--pad);overflow:hidden}
.l0{background:var(--night)}
.l1{background:var(--electric)}
.l2{background:var(--yellow);color:var(--night)}
.l3{background:var(--orange);color:var(--night)}
.ph{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);width:min(44vw,680px);display:flex;flex-direction:column;gap:16px}
.ph>span{font-size:15px;font-weight:700}
.ph strong{font-size:clamp(48px,6.4vw,112px);line-height:1.45;padding-bottom:.1em}
.ph p{font-size:clamp(19px,1.6vw,26px);max-width:22em}
.pn{position:absolute;left:var(--pad);bottom:6vh;font-family:var(--lat);font-weight:700;font-size:19vw;line-height:.8;letter-spacing:-.04em;will-change:transform}
.l0 .pn{color:var(--line-d)}
.l1 .pn{color:rgba(247,245,242,.22)}
.l2 .pn,.l3 .pn{color:rgba(13,12,18,.16)}
.pc{position:absolute;left:var(--pad);top:14vh;font-size:15px;opacity:.7}
.pdot{position:absolute;width:3vw;height:3vw;border-radius:50%;transform:translate(-50%,-50%)}

/* 05 SECTORS */
.sectors{background:var(--paper);color:var(--night);padding:16vh var(--pad);overflow:hidden}
.big-drift{font-size:7vw;line-height:1.45;white-space:nowrap;margin-bottom:8vh;will-change:transform}
.who{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4vw}
.card{position:relative;overflow:hidden;border-radius:24px;height:min(78vh,700px);min-height:560px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.card h3{font-size:clamp(30px,2.8vw,48px);line-height:1.35;padding-bottom:.06em}
.card p{font-size:17px;margin-top:4px}
.c-night{background:var(--night) url('../assets/img/bg/aurora-card.webp') center/cover no-repeat;color:var(--paper)}
.c-night p{color:var(--mute-d)}
.c-sym{height:52px;width:auto;align-self:flex-start}
.c-ico{width:min(62%,260px);align-self:center}
.c-yellow{background:var(--yellow);color:var(--night)}
.c-etc{font-family:var(--lat);font-weight:700;font-size:clamp(72px,7.4vw,140px);line-height:.95;letter-spacing:-.04em;text-align:left}
.c-arch{flex:1;min-height:0;border-radius:999px 999px 24px 24px;overflow:hidden;background:#E3A400}
.c-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.c-electric{background:var(--electric);color:var(--paper);align-items:center}
.c-electric>div{align-self:stretch}
.c-kick{align-self:flex-start;font-weight:700;font-size:17px}
.c-ring{width:min(78%,330px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid var(--paper)}
.c-ring img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}

/* 05b WRAPPED TYPE */
.wrap{position:relative;overflow:hidden;background:var(--yellow);color:var(--night);height:56.25vw;min-height:620px}
.w-etc{position:absolute;right:3vw;top:1vw;font-family:var(--lat);font-weight:700;font-size:21.9vw;line-height:1;letter-spacing:-.04em;white-space:nowrap}
.w-stage{position:absolute;left:0;top:1vw;width:58vw;aspect-ratio:1}
.w-stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.w-tx{font-family:var(--lat);font-weight:700;font-size:48px;letter-spacing:2px;fill:var(--night)}
.w-tx-l{fill:var(--paper)}
.w-arch{position:absolute;left:30.83%;width:38.33%;top:16%;bottom:-10%;border-radius:999px 999px 0 0;overflow:hidden;background:#E3A400}
.w-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.w-copy{position:absolute;right:var(--pad);bottom:8vh;width:min(34vw,560px);display:flex;flex-direction:column;gap:14px;z-index:3}
.w-copy h2{font-size:clamp(36px,3.8vw,68px);line-height:1.35}
.w-copy p{font-size:clamp(17px,1.3vw,21px);line-height:1.6}

/* 06 CONTACT */
.close{position:relative;min-height:100vh;min-height:100svh;padding:22vh var(--pad) 40vw;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center}
.close-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:22px}
.close h2{font-size:clamp(56px,10vw,180px);line-height:1.3}
.close p{font-size:clamp(19px,1.6vw,26px);color:var(--mute-d)}
.close .cta-row{justify-content:center;margin-top:12px}
.rise{position:absolute;left:0;right:0;bottom:-16vw;display:flex;justify-content:center;gap:1.5vw}
.rise span{width:31vw;height:31vw;border-radius:50%;will-change:transform}

/* footer */
.foot{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:32px;align-items:start;padding:56px var(--pad);color:var(--mute-d);font-size:15px;border-top:1px solid var(--line-d);position:relative;z-index:2;background:var(--night)}
.foot-brand img{width:130px;margin-bottom:12px}
.foot-nav{display:flex;flex-direction:column;gap:8px}
.foot-nav a{text-decoration:none}
.foot-nav a:hover{color:var(--paper)}
.copy{font-size:13px}

@media (max-width:900px){
  .top nav a:not(.nav-cta){display:none}
  .hblock{top:auto;bottom:8vh;transform:none;right:var(--pad);left:var(--pad);width:auto;gap:16px}
  .hblock h1{font-size:clamp(38px,10vw,64px)}
  .hint{display:none}
  .drift-lines{font-size:13vw}
  .about-grid{grid-template-columns:1fr}
  .about-grid .tile{aspect-ratio:4/3}
  .posters{grid-template-columns:1fr}
  .pst{height:auto;min-height:0;aspect-ratio:3/4}
  .grid2{grid-template-columns:1fr;align-content:center;gap:3vh}
  .svc .steps{display:none}
  .roll{height:46vh}
  .counter{margin-top:2vh}
  .prod .morph{order:-1;height:auto}
  .morph svg{width:auto;height:30vh}
  .prod .roll{height:30vh}
  .ph{right:var(--pad);left:var(--pad);width:auto;top:22vh;transform:none}
  .pc{top:auto;bottom:4vh;left:auto;right:var(--pad)}
  .pn{font-size:34vw;bottom:10vh}
  .big-drift{font-size:12vw}
  .who{grid-template-columns:1fr;gap:20px}
  .card{height:auto;min-height:540px}
  .c-arch{min-height:260px}
  .wrap{height:auto;min-height:0;padding:14vh var(--pad) 0;display:flex;flex-direction:column}
  .w-etc{font-size:40vw;left:4vw;top:2vh}
  .w-copy{position:relative;right:auto;bottom:auto;width:auto;order:-1;margin-top:26vw}
  .w-stage{position:relative;left:auto;top:auto;width:calc(100% + 2*var(--pad));margin:2vh calc(var(--pad)*-1) 0}
  .rise span{width:33vw;height:33vw}
  .close{padding-bottom:46vw}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .top .nav-cta{font-size:14px;padding:6px 14px}
  .brand img{width:120px}
  .btn{font-size:16px;padding:12px 22px}
}
