/* Imperial Holdings — group site */
:root{
  --ink:#0b0d24; --ink-2:#121538; --navy:#221f4e;
  --paper:#f4f1ea; --paper-2:#ebe6db; --white:#fff;
  --sky:#66cfff; --sky-d:#1c86c4;
  --text:#16152f; --mut:#5c5b73; --mut-d:rgba(232,235,246,.68);
  --line:rgba(34,31,78,.14); --line-d:rgba(255,255,255,.13);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:clamp(16px,4vw,60px); --maxw:1340px; --navh:76px;
  --r:18px;
  --fs-h1:clamp(2.7rem,min(7.2vw,12vh),7.4rem);
  --fs-h2:clamp(2.2rem,min(4.8vw,8.6vh),4.9rem);
  --fs-h3:clamp(1.45rem,2.1vw,2.05rem);
  --fs-lead:clamp(1rem,1.18vw,1.2rem);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--paper);color:var(--text);font:400 1rem/1.65 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
figure{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.012em;margin:0}
h1 em,h2 em,h3 em{font-style:italic;font-weight:500}
p{margin:0}
::selection{background:var(--sky);color:var(--ink)}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px;border-radius:4px}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--sky);color:var(--ink);padding:10px 16px;border-radius:8px;font-weight:700}
.skip:focus{top:12px}

.wrap{width:min(100% - 2*var(--gut),var(--maxw));margin-inline:auto}
.dark{background:var(--ink);color:#eceef7}
.dark h1 em,.dark h2 em,.dark h3 em{color:var(--sky)}
.light h2 em,.light h3 em,.light h1 em{color:var(--sky-d)}
.eyebrow{display:flex;align-items:center;gap:.8em;font:700 .72rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--sky-d)}
.dark .eyebrow{color:var(--sky)}
.eyebrow::before{content:"";width:30px;height:1px;background:currentColor;opacity:.7}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--mut)}
.dark .lead{color:var(--mut-d)}
.sec{padding:clamp(80px,13vh,150px) 0;position:relative}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.7em;padding:14px 24px;border-radius:999px;font:700 .82rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);white-space:nowrap}
.btn svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-sky{background:var(--sky);color:var(--ink)}
.btn-sky:hover{background:#fff}
.btn-ghost{border:1px solid rgba(255,255,255,.34);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--navy)}
.btn-line{border:1px solid var(--line);color:var(--text)}
.btn-line:hover{border-color:var(--text)}
.tlink{display:inline-flex;align-items:center;gap:.5em;font:700 .8rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}
.tlink svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.tlink:hover svg{transform:translate(3px,-3px)}

/* mark */
.mark line{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;fill:none}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:90;height:var(--navh);display:flex;align-items:center;transition:transform .5s var(--ease),background .4s,box-shadow .4s}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1500px}
.nav.is-solid{background:rgba(11,13,36,.84);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 1px 0 var(--line-d)}
.nav.is-hidden{transform:translateY(-100%)}
.brand img{height:42px;width:auto}
.nav-links{display:flex;gap:clamp(18px,2.2vw,34px);list-style:none;margin:0;padding:0}
.nav-links a{font:600 .84rem/1 var(--sans);color:rgba(236,238,247,.82);letter-spacing:.02em;position:relative;padding:8px 0;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--sky);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.nav .btn{padding:12px 20px}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;cursor:pointer;position:relative}
.burger span{position:absolute;left:14px;right:14px;height:1.5px;background:#fff;transition:transform .4s var(--ease),opacity .3s}
.burger span:nth-child(1){top:18px}.burger span:nth-child(2){top:26px}
.menu-open .burger span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.menu-open .burger span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:80;background:var(--ink);color:#fff;padding:calc(var(--navh) + 4vh) var(--gut) 32px;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);visibility:hidden}
.menu-open .mmenu{clip-path:inset(0 0 0 0);visibility:visible}
.mmenu ul{list-style:none;margin:0;padding:0}
.mmenu li a{display:flex;align-items:baseline;gap:14px;font:500 clamp(2rem,9vw,2.6rem)/1.25 var(--serif);padding:6px 0;border-bottom:1px solid var(--line-d)}
.mmenu li a small{font:600 .7rem/1 var(--sans);color:var(--sky);letter-spacing:.14em}
.mmenu .mm-foot{display:grid;gap:6px;font-size:.92rem;color:var(--mut-d)}
.mmenu .mm-foot a{color:#fff}

/* intro loader */
.intro{position:fixed;inset:0;z-index:150;background:var(--ink);display:grid;place-items:center;pointer-events:none}
.intro .mark{width:clamp(70px,9vw,110px);color:var(--sky)}
.intro-word{margin-top:20px;font:500 .78rem/1 var(--sans);letter-spacing:.42em;text-transform:uppercase;color:rgba(236,238,247,.8);text-align:center}
.no-js .intro,.intro.is-done{display:none}

/* hero */
.hero{position:relative;height:100svh;min-height:600px;color:#fff;background:var(--ink);overflow:hidden}
.hero-media{position:absolute;inset:0;will-change:clip-path}
.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,36,.72) 0%,rgba(11,13,36,.28) 32%,rgba(11,13,36,.45) 62%,rgba(11,13,36,.94) 100%),radial-gradient(120% 90% at 85% 10%,transparent 40%,rgba(11,13,36,.5))}
.hero-mark{position:absolute;right:calc(var(--gut) + 1vw);top:calc(var(--navh) + 6vh);width:clamp(90px,min(13vw,22vh),210px);color:var(--sky);opacity:.95}
.hero-inner{position:absolute;inset:auto 0 0;padding-bottom:clamp(30px,6vh,64px)}
.hero-inner .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px}
.hero h1{font-size:var(--fs-h1);margin:22px 0 clamp(16px,3vh,28px);letter-spacing:-.02em}
h1 .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
h1 .ln>span{display:block}
.hero .lead{max-width:56ch;color:rgba(236,238,247,.84)}
.hero .eyebrow{text-shadow:0 1px 14px rgba(11,13,36,.9)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(20px,3.6vh,34px)}
.hero-facts{display:grid;gap:14px;padding-left:28px;border-left:1px solid var(--line-d);min-width:210px}
.hero-facts div{display:grid;gap:2px}
.hero-facts b{font:500 1.7rem/1 var(--serif);color:#fff}
.hero-facts span{font:600 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(236,238,247,.62)}
.scroll-cue{position:absolute;left:50%;bottom:18px;width:1px;height:46px;background:linear-gradient(var(--sky),transparent);transform-origin:top;animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* about */
.about-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,3fr);gap:clamp(24px,5vw,80px);align-items:start}
.about-statement{font:500 clamp(1.75rem,3.25vw,3.25rem)/1.18 var(--serif);letter-spacing:-.01em;color:var(--text)}
.about-statement .w{opacity:.16;transition:none}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(48px,9vh,96px);border-top:1px solid var(--line)}
.fact{padding:26px 24px 0 0;display:grid;gap:10px;align-content:start}
.fact+.fact{padding-left:24px;border-left:1px solid var(--line)}
.fact b{font:500 clamp(2.4rem,4.2vw,3.8rem)/1 var(--serif);color:var(--navy)}
.fact span{font-size:.9rem;line-height:1.5;color:var(--mut);max-width:24ch}
.about-img{margin-top:clamp(56px,10vh,110px);position:relative;border-radius:var(--r);overflow:hidden;height:clamp(300px,72svh,760px);clip-path:inset(0 0 0 0 round var(--r))}
.about-img img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover}
.about-img figcaption{position:absolute;left:24px;bottom:22px;right:24px;display:flex;justify-content:space-between;gap:20px;color:#fff;font:600 .72rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.5)}

/* mission & vision */
.mv{position:relative;overflow:hidden}
.mv-bg{position:absolute;right:-6vw;top:50%;width:min(62vw,88vh);translate:0 -50%;color:rgba(102,207,255,.1);pointer-events:none}
.mv-bg line{stroke-width:.9}
.mv-stage{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--navh) + 4vh) 0 6vh}
.mv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,6vw,110px);align-items:center;width:100%}
.mv-label{grid-column:1;grid-row:1}
.mv-text{grid-column:2;grid-row:1}
.mv-label .num{display:block;font:600 .74rem/1 var(--sans);letter-spacing:.24em;color:var(--sky);margin-bottom:18px}
.mv-label h2{font-size:clamp(3.4rem,min(9.5vw,17vh),9.6rem);line-height:.92}
.mv-text p{font:500 clamp(1.3rem,min(2.15vw,3.9vh),2.15rem)/1.34 var(--serif);color:#eef0f8}
.mv-text .chip{margin-top:28px}
.chip{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line-d);border-radius:999px;font:600 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(236,238,247,.8)}
.chip i{width:6px;height:6px;border-radius:50%;background:var(--sky);display:block}
.mv-progress{position:absolute;left:var(--gut);right:var(--gut);bottom:5vh;height:1px;background:var(--line-d)}
.mv-progress i{position:absolute;inset:0;background:var(--sky);transform:scaleX(0);transform-origin:left}

/* sectors */
.sx-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end;padding-bottom:clamp(30px,6vh,60px)}
.sx-intro h2{font-size:var(--fs-h2)}
.sx-stage{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto minmax(0,1fr);column-gap:clamp(30px,5vw,90px);height:100svh;padding:calc(var(--navh) + 3vh) var(--gut) 5vh;max-width:1500px;margin-inline:auto}
.sx-list{grid-column:1;grid-row:1;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.sx-list li{border-bottom:1px solid var(--line);position:relative}
.sx-list button{all:unset;cursor:pointer;display:flex;align-items:baseline;gap:16px;width:100%;padding:clamp(9px,1.7vh,16px) 0;font:500 clamp(1.3rem,min(2.3vw,4.2vh),2.2rem)/1.1 var(--serif);color:rgba(22,21,47,.32);transition:color .4s}
.sx-list button small{font:700 .7rem/1 var(--sans);letter-spacing:.14em;color:inherit}
.sx-list li.is-on button{color:var(--text)}
.sx-list li i{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--sky-d);transform:scaleX(0);transform-origin:left}
.sx-item{display:contents}
.sx-fig{grid-column:2;grid-row:1/span 2;position:relative;border-radius:var(--r);overflow:hidden;margin:0;clip-path:inset(0 0 0 0 round var(--r));height:100%;min-height:0}
.sx-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sx-fig figcaption{position:absolute;left:22px;top:20px;font:500 clamp(3rem,min(7vw,13vh),7rem)/1 var(--serif);color:rgba(255,255,255,.9);text-shadow:0 2px 30px rgba(0,0,0,.35)}
.sx-txt{grid-column:1;grid-row:2;align-self:end;display:grid;gap:clamp(10px,2vh,18px);padding-top:3vh}
.sx-txt h3{font-size:clamp(1.35rem,min(2vw,3.6vh),1.95rem);line-height:1.2}
.sx-txt p{font-size:clamp(.88rem,min(1vw,2.1vh),.98rem);color:var(--mut);max-width:52ch}
.sx-co{display:flex;align-items:center;gap:14px;padding-top:clamp(10px,1.8vh,16px);border-top:1px solid var(--line)}
.sx-co .logo-tile{height:54px;width:136px;padding:8px 14px}
.sx-co span{font:600 .72rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.sx-co a{font-weight:700;color:var(--text)}
.sx-h-mobile{display:none}

.logo-tile{display:grid;place-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 30px -18px rgba(11,13,36,.35)}
.logo-tile img{width:100%;height:100%;min-height:0;object-fit:contain}

/* companies */
.co-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end;margin-bottom:clamp(40px,7vh,70px)}
.co-head h2{font-size:var(--fs-h2)}
.co-list{border-top:1px solid var(--line-d)}
.co-row{display:grid;grid-template-columns:44px 168px minmax(0,1.1fr) minmax(0,1.5fr) 48px;gap:clamp(16px,2.6vw,40px);align-items:center;padding:clamp(20px,3.4vh,30px) 0;border-bottom:1px solid var(--line-d);position:relative;transition:padding .5s var(--ease)}
.co-row::before{content:"";position:absolute;inset:0 calc(-1*var(--gut));background:linear-gradient(90deg,rgba(102,207,255,.07),transparent 70%);opacity:0;transition:opacity .5s}
.co-row:hover::before{opacity:1}
.co-n{font:700 .74rem/1 var(--sans);letter-spacing:.16em;color:var(--sky)}
.co-row .logo-tile{height:74px;padding:12px 18px;position:relative}
.co-name{position:relative}
.co-name b{display:block;font:500 clamp(1.6rem,2.5vw,2.4rem)/1.05 var(--serif);color:#fff}
.co-name small{display:block;margin-top:8px;font:700 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sky)}
.co-desc{color:var(--mut-d);font-size:.95rem;position:relative}
.co-go{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-d);display:grid;place-items:center;transition:background .4s,border-color .4s,transform .4s var(--ease);position:relative}
.co-go svg{width:16px;height:16px}
.co-row:hover .co-go{background:var(--sky);border-color:var(--sky);color:var(--ink);transform:rotate(-45deg)}
.co-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:clamp(30px,5vh,50px)}
.co-foot p{color:var(--mut-d);max-width:60ch;font-size:.95rem}

/* leadership */
.lead-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);align-items:center}
.portrait{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;max-height:min(78svh,760px);width:100%;margin:0;clip-path:inset(0 0 0 0 round var(--r));background:var(--paper-2)}
.portrait img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:50% 30%}
.lead-copy h2{font-size:clamp(2.4rem,min(5vw,9vh),4.8rem);margin:22px 0 10px}
.lead-role{font:700 .78rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sky-d)}
.lead-copy .lead{margin-top:clamp(18px,3vh,28px);max-width:54ch}
.mandate{list-style:none;margin:clamp(26px,4.5vh,44px) 0 0;padding:0;border-top:1px solid var(--line)}
.mandate li{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);font:500 clamp(1.1rem,1.5vw,1.35rem)/1.3 var(--serif)}
.mandate li span{font:700 .7rem/2 var(--sans);letter-spacing:.14em;color:var(--sky-d)}

/* partnerships */
.pt{overflow:hidden}
.pt-pin{height:100svh;display:flex;align-items:center;padding-top:var(--navh)}
.pt-track{display:flex;align-items:center;gap:clamp(24px,3vw,48px);padding-inline:var(--gut);will-change:transform}
.pt-intro{flex:0 0 min(560px,40vw)}
.pt-intro h2{font-size:clamp(2.2rem,min(4.4vw,8vh),4.4rem);margin:22px 0}
.pt-intro .lead{max-width:48ch}
.pt-logos{display:flex;align-items:center;gap:18px;margin-top:clamp(18px,3.5vh,30px)}
.pt-logos .logo-tile{height:62px;width:150px;padding:10px 18px}
.pt-logos .x{font:400 1.6rem/1 var(--serif);color:var(--sky)}
.pt-logos .imp{height:62px;width:190px;padding:12px 16px;background:var(--ink-2);border:1px solid var(--line-d)}
.pt-time{flex:0 0 min(420px,34vw);display:grid;gap:0;border-left:1px solid var(--line-d)}
.pt-time div{padding:clamp(14px,2.6vh,24px) 0 clamp(14px,2.6vh,24px) 28px;position:relative}
.pt-time div+div{border-top:1px solid var(--line-d)}
.pt-time div::before{content:"";position:absolute;left:-5px;top:clamp(20px,3.2vh,30px);width:9px;height:9px;border-radius:50%;background:var(--sky)}
.pt-time time{font:700 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sky)}
.pt-time b{display:block;margin:10px 0 6px;font:500 clamp(1.2rem,1.7vw,1.6rem)/1.15 var(--serif);color:#fff}
.pt-time p{font-size:.9rem;color:var(--mut-d)}
.pt-fig{flex:0 0 auto;margin:0;position:relative}
.pt-fig img{height:clamp(240px,min(58svh,46vw),560px);width:auto;border-radius:14px;object-fit:cover}
.pt-fig.tall img{height:clamp(260px,min(66svh,50vw),620px)}
.pt-fig figcaption{margin-top:12px;font:600 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mut-d)}
.pt-end{flex:0 0 min(400px,32vw);display:grid;gap:18px;margin-right:calc(var(--gut) + 2vw)}
.pt-end p{font:500 clamp(1.25rem,1.9vw,1.7rem)/1.3 var(--serif)}

/* vision 2030 band */
.v30{position:relative;height:clamp(520px,92svh,900px);overflow:hidden;color:#fff;background:var(--ink);display:flex;flex-direction:column;justify-content:center}
.v30-bg{position:absolute;inset:-12% 0;background:url(../img/lusail-night.webp) center/cover no-repeat}
.v30::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,36,.8),rgba(11,13,36,.25) 45%,rgba(11,13,36,.82))}
.v30>*:not(.v30-bg){position:relative;z-index:1}
.v30-run{white-space:nowrap;width:max-content;font:500 clamp(4rem,min(13vw,24vh),14rem)/.95 var(--serif);letter-spacing:-.025em;will-change:transform}
.v30-run em{color:var(--sky)}
.v30-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;margin-top:clamp(26px,5vh,50px)}
.v30-copy p{font:500 clamp(1.15rem,1.7vw,1.6rem)/1.35 var(--serif);max-width:44ch;color:#eef0f8}

/* contact */
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(30px,6vw,110px)}
.ct-grid h2{font-size:var(--fs-h2);margin:22px 0 22px}
.ct-list{list-style:none;margin:clamp(28px,5vh,46px) 0 0;padding:0;border-top:1px solid var(--line)}
.ct-list li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.ct-list span{font:700 .7rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.ct-list a,.ct-list address{font:500 1.22rem/1.4 var(--serif);font-style:normal;color:var(--text)}
.ct-list a:hover{color:var(--sky-d)}
.form{background:#fff;border-radius:var(--r);padding:clamp(24px,3.4vw,44px);box-shadow:0 30px 60px -40px rgba(11,13,36,.35);display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;align-content:start}
.form h3{grid-column:1/-1;font-size:var(--fs-h3);margin-bottom:6px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label{font:700 .68rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0 12px;font-size:1rem;outline:none;border-radius:0;transition:border-color .3s}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sky-d)}
.form .btn{justify-self:start;border:0;cursor:pointer}
.form-note{grid-column:1/-1;font-size:.82rem;color:var(--mut)}
.map{margin-top:clamp(50px,9vh,90px);border-radius:var(--r);overflow:hidden;height:clamp(280px,46svh,460px);background:var(--paper-2)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(.9) contrast(1.05)}

/* footer */
.foot{background:var(--ink);color:#eceef7;padding:clamp(70px,12vh,130px) 0 30px;overflow:hidden;position:relative}
.foot-big{display:flex;align-items:center;gap:clamp(16px,2.5vw,36px);overflow:hidden;padding-bottom:.08em;font:500 clamp(2.8rem,min(10.5vw,20vh),11.5rem)/.9 var(--serif);letter-spacing:-.03em;white-space:nowrap}
.foot-big .mark{width:clamp(56px,7vw,120px);flex:0 0 auto;color:var(--sky)}
.foot-big em{color:var(--sky)}
.foot-line{font:500 clamp(1.1rem,1.6vw,1.45rem)/1.4 var(--serif);max-width:58ch;color:rgba(236,238,247,.82);margin-top:clamp(24px,4vh,40px)}
.foot-cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:30px;margin-top:clamp(50px,9vh,90px);padding-top:36px;border-top:1px solid var(--line-d)}
.foot-cols h4{font:700 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sky);margin-bottom:18px}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-cols a,.foot-cols li,.foot-cols p{font-size:.92rem;color:rgba(236,238,247,.72)}
.foot-cols a:hover{color:#fff}
.foot-cols .brand img{height:44px}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:50px;padding-top:22px;border-top:1px solid var(--line-d);font-size:.8rem;color:rgba(236,238,247,.5)}

/* subsidiaries page */
.ph{position:relative;min-height:min(86svh,820px);display:flex;align-items:flex-end;padding:calc(var(--navh) + 8vh) 0 clamp(36px,7vh,70px);overflow:hidden}
.ph-bg{position:absolute;inset:-8% 0;background:url(../img/doha-night.webp) center/cover no-repeat;opacity:.38}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,36,.6),rgba(11,13,36,.75) 50%,var(--ink))}
.ph>.wrap{position:relative;z-index:1}
.ph h1{font-size:var(--fs-h1);margin:22px 0 22px}
.ph .lead{max-width:62ch}
.ph-mark{position:absolute;z-index:1;right:var(--gut);top:calc(var(--navh) + 5vh);width:clamp(90px,min(12vw,20vh),190px);color:var(--sky)}
.ph-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(30px,6vh,56px)}
.ph-index a{display:grid;gap:12px;padding:16px;border:1px solid var(--line-d);border-radius:14px;transition:border-color .4s,background .4s}
.ph-index a:hover{border-color:var(--sky);background:rgba(102,207,255,.06)}
.ph-index .logo-tile{height:64px;padding:10px 14px}
.ph-index span{font:700 .68rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(236,238,247,.7)}
.subnav{position:sticky;top:0;z-index:70;background:rgba(244,241,234,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:top .5s var(--ease)}
.nav-shown .subnav{top:var(--navh)}
.subnav ul{display:flex;gap:6px;list-style:none;margin:0 auto;padding:10px var(--gut);max-width:1500px;overflow-x:auto;scrollbar-width:none}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{display:flex;gap:10px;align-items:center;white-space:nowrap;padding:9px 16px;border-radius:999px;font:600 .8rem/1 var(--sans);color:var(--mut);transition:background .3s,color .3s}
.subnav a small{font-weight:700;color:var(--sky-d);font-size:.68rem;letter-spacing:.1em}
.subnav a.is-on{background:var(--ink);color:#fff}
.subnav a.is-on small{color:var(--sky)}
.chap{padding:clamp(80px,13vh,140px) 0;scroll-margin-top:calc(var(--navh) + 50px)}
.chap:nth-of-type(even){background:var(--paper-2)}
.chap-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;padding-bottom:clamp(30px,5vh,48px);border-bottom:1px solid var(--line);margin-bottom:clamp(36px,6vh,60px)}
.chap-head h2{font-size:var(--fs-h2);margin-top:20px}
.chap-head .logo-tile{width:clamp(150px,16vw,230px);height:clamp(80px,9vw,112px);padding:16px 24px}
.chap-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,5.5vw,100px);align-items:start}
.chap-copy{display:grid;gap:22px}
.chap-copy .big{font:500 clamp(1.4rem,2.1vw,2rem)/1.3 var(--serif);color:var(--text)}
.chap-copy p{color:var(--mut)}
.chap-copy .focus{padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.chap-copy .focus span{display:block;font:700 .68rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sky-d);margin-bottom:10px}
.chap-copy .focus p{color:var(--text);font-size:1.02rem}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tags li{padding:9px 14px;border:1px solid var(--line);border-radius:999px;font:600 .78rem/1 var(--sans);color:var(--text)}
.chap-media{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:5/4;max-height:72svh;width:100%;clip-path:inset(0 0 0 0 round var(--r))}
.chap-media img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:clamp(40px,7vh,70px)}
.stats div{padding:22px 18px 0 0;display:grid;gap:8px}
.stats div+div{padding-left:18px;border-left:1px solid var(--line)}
.stats b{font:500 clamp(2.2rem,3.8vw,3.4rem)/1 var(--serif);color:var(--navy)}
.stats span{font-size:.86rem;color:var(--mut)}
.disc{margin-top:clamp(40px,7vh,70px)}
.disc h3{font-size:var(--fs-h3);margin-bottom:22px}
.disc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.disc li{display:grid;grid-template-columns:36px 1fr;gap:8px;padding:15px 16px 15px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.disc li span{font:700 .7rem/1.9 var(--sans);color:var(--sky-d);letter-spacing:.1em}
.pec-strip{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin-top:clamp(40px,7vh,70px)}
.pec-strip figure{margin:0;border-radius:14px;overflow:hidden;height:clamp(200px,34svh,340px)}
.pec-strip img{width:100%;height:100%;object-fit:cover}
.cta-band{padding:clamp(80px,14vh,150px) 0;text-align:center}
.cta-band h2{font-size:var(--fs-h2);max-width:16ch;margin:22px auto 26px}
.cta-band .eyebrow{justify-content:center}
.cta-band .lead{max-width:56ch;margin:0 auto 34px}
.cta-band .row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.ptb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:center}
.ptb h2{font-size:clamp(2rem,3.8vw,3.6rem);margin:20px 0}
.ptb-imgs{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}
.ptb-imgs img{width:100%;height:clamp(200px,40svh,380px);object-fit:cover;border-radius:14px}

/* reveal defaults (JS sets them; no-js shows everything) */
.js [data-rv]{opacity:0;transform:translateY(28px)}

/* milestones */
.ms-wrap{position:relative;margin-top:clamp(48px,9vh,96px);border-top:1px solid var(--line)}
.ms-fill{position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--sky-d);transform:scaleX(0);transform-origin:left}
.ms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ms li{position:relative;padding:30px 28px 0 0;display:grid;gap:8px;align-content:start}
.ms li+li{padding-left:28px}
.ms li::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--sky-d)}
.ms li+li::before{left:28px}
.ms time{font:500 clamp(2.4rem,4vw,3.6rem)/1 var(--serif);color:var(--navy)}
.ms b{font:700 .78rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text);margin-top:6px}
.ms p{font-size:.9rem;line-height:1.55;color:var(--mut);max-width:30ch}

/* group structure */
.gs{background:var(--paper-2)}
.gs-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end;margin-bottom:clamp(40px,8vh,80px)}
.gs-head h2{font-size:var(--fs-h2)}
.gs-root{display:flex;align-items:center;gap:20px;width:max-content;max-width:100%;margin:0 auto;padding:18px 30px 18px 22px;background:var(--ink);color:#fff;border-radius:16px;box-shadow:0 24px 50px -30px rgba(11,13,36,.6)}
.gs-root .mark{width:44px;flex:0 0 auto;color:var(--sky)}
.gs-root .mark line{stroke-width:3.4}
.gs-root b{display:block;font:500 clamp(1.4rem,2vw,1.8rem)/1.1 var(--serif)}
.gs-root small{display:block;margin-top:6px;font:600 .68rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(236,238,247,.66)}
.gs-stem{display:block;width:1px;height:clamp(26px,4.5vh,44px);margin:0 auto;background:var(--navy);transform-origin:top}
.gs-bar{display:block;height:1px;margin:0 12.5%;background:var(--navy);transform-origin:center}
.gs-nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,22px)}
.gs-node{--drop:1;position:relative;margin-top:clamp(26px,4.5vh,44px);background:var(--paper);border-radius:16px;padding:20px 20px 22px;display:grid;gap:8px;align-content:start;transition:translate .5s var(--ease),box-shadow .5s var(--ease)}
.gs-node::before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:clamp(26px,4.5vh,44px);background:var(--navy);transform:scaleY(var(--drop));transform-origin:top}
.gs-node:hover{translate:0 -6px;box-shadow:0 26px 50px -30px rgba(11,13,36,.45)}
.gs-node .logo-tile{height:66px;padding:10px 16px;margin-bottom:8px;box-shadow:none;border:1px solid var(--line)}
.gs-node b{font:500 clamp(1.35rem,1.8vw,1.65rem)/1.1 var(--serif)}
.gs-node small{font:700 .68rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sky-d)}
.gs-node p{font-size:.88rem;line-height:1.55;color:var(--mut)}
.gs-go{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;margin-top:8px;transition:background .4s,border-color .4s,color .4s}
.gs-go svg{width:14px;height:14px}
.gs-node:hover .gs-go{background:var(--ink);border-color:var(--ink);color:#fff}

/* companies hover preview */
.co-preview{position:fixed;left:0;top:0;z-index:60;width:clamp(220px,19vw,300px);aspect-ratio:4/3;border-radius:14px;overflow:hidden;pointer-events:none;opacity:0;box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
.co-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}
.co-preview img.on{opacity:1}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav-links{gap:18px}
  .hero-facts{display:none}
  .co-row{grid-template-columns:36px 140px minmax(0,1fr) 48px}
  .co-desc{grid-column:3;grid-row:2}
  .co-name{grid-column:3;grid-row:1}
  .co-go{grid-column:4;grid-row:1/span 2}
  .co-row .logo-tile{grid-column:2;grid-row:1/span 2}
  .co-n{grid-row:1/span 2}
}
@media (max-width:1023px){
  :root{--navh:68px}
  .nav-links,.nav .btn{display:none}
  .burger{display:block}
  .brand img{height:32px}
  .about-top,.sx-intro,.co-head,.lead-grid,.ct-grid,.chap-body,.ptb{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
  .fact:nth-child(3){border-left:0;padding-left:0}
  .fact{padding-bottom:22px}
  .facts .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .mv-stage{min-height:auto;padding:clamp(80px,12vh,120px) 0}
  .mv-grid{grid-template-columns:1fr;gap:0}
  .mv-label,.mv-text{grid-column:auto;grid-row:auto}
  .mv-pair{display:grid;gap:18px;padding:34px 0;border-top:1px solid var(--line-d)}
  .mv-label h2{font-size:clamp(3rem,13vw,5rem)}
  .mv-progress{display:none}
  .sx-stage{display:block;height:auto;padding:0 var(--gut) clamp(60px,10vh,100px)}
  .sx-list{display:none}
  .sx-item{display:block;padding:28px 0;border-top:1px solid var(--line)}
  .sx-fig{height:auto;aspect-ratio:4/3}
  .sx-fig figcaption{font-size:3rem}
  .sx-txt{padding-top:20px}
  .sx-h-mobile{display:block;font:500 2rem/1.1 var(--serif)}
  .pt-pin{height:auto;display:block;padding:clamp(80px,12vh,120px) 0}
  .pt-track{display:grid;gap:34px;transform:none!important}
  .pt-intro,.pt-time,.pt-end{flex:none;width:100%}
  .pt-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scrollbar-width:none}
  .pt-gallery::-webkit-scrollbar{display:none}
  .pt-fig{scroll-snap-align:start}
  .pt-fig img,.pt-fig.tall img{height:260px}
  .foot-cols{grid-template-columns:1fr 1fr}
  .ph-index{grid-template-columns:1fr 1fr}
  .disc ol{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stats div:nth-child(3){border-left:0;padding-left:0}
  .stats div{padding-bottom:20px}
  .stats div:nth-child(n+3){border-top:1px solid var(--line)}
  .chap-media{aspect-ratio:4/3}
  .v30-copy{grid-template-columns:1fr}
}
@media (min-width:1024px){
  .pt-gallery{display:contents}
  .mv-pair{display:contents}
}
@media (max-width:640px){
  .hero{min-height:560px}
  .hero-mark{width:74px;top:calc(var(--navh) + 3vh)}
  .hero .lead{font-size:.98rem}
  .hero-cta .btn{padding:13px 18px;font-size:.76rem}
  .about-statement{font-size:1.6rem}
  .fact b{font-size:2.3rem}
  .co-row{grid-template-columns:1fr 48px;gap:12px 16px}
  .co-n{display:none}
  .co-row .logo-tile{grid-column:1;grid-row:1;width:150px;height:64px}
  .co-name{grid-column:1;grid-row:2}
  .co-desc{grid-column:1/-1;grid-row:3}
  .co-go{grid-column:2;grid-row:1}
  .form{grid-template-columns:1fr}
  .ct-list li{grid-template-columns:1fr;gap:4px}
  .foot-cols{grid-template-columns:1fr}
  .foot-big{font-size:clamp(2.4rem,11.5vw,4rem);white-space:normal}
  .foot-big .mark{width:52px}
  .ph-index{grid-template-columns:1fr 1fr;gap:10px}
  .ph-index a{padding:12px}
  .ph-index .logo-tile{height:54px}
  .chap-head{grid-template-columns:1fr}
  .chap-head .logo-tile{width:170px;height:84px;order:-1}
  .disc ol{grid-template-columns:1fr}
  .pec-strip{grid-template-columns:1fr 1fr}
  .pec-strip figure:first-child{grid-column:1/-1}
  .ptb-imgs{grid-template-columns:1fr}
  .pt-logos .imp{width:160px}
  .pt-logos .logo-tile{width:130px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-rv]{opacity:1;transform:none}
  .about-statement .w{opacity:1}
}

/* v3 additions: responsive */
@media (hover:none),(max-width:1023px){.co-preview{display:none}}
@media (max-width:1023px){
  .gs-head{grid-template-columns:1fr}
  .gs-bar,.gs-node::before{display:none}
  .gs-nodes{grid-template-columns:1fr 1fr;margin-top:clamp(26px,4.5vh,44px)}
  .gs-node{margin-top:0}
  .ms{grid-template-columns:1fr 1fr}
  .ms li:nth-child(3){padding-left:0}
  .ms li:nth-child(3)::before{left:0}
  .ms li{padding-bottom:26px}
}
@media (max-width:600px){
  .gs-root{padding:16px 18px;gap:14px}
  .gs-nodes{grid-template-columns:1fr}
  .ms-wrap{border-top:0;border-left:1px solid var(--line);margin-left:6px}
  .ms-fill{display:none}
  .ms{grid-template-columns:1fr}
  .ms li,.ms li+li,.ms li:nth-child(3){padding:0 0 28px 26px}
  .ms li::before,.ms li+li::before,.ms li:nth-child(3)::before{left:-6px;top:6px}
}
@media (max-width:1180px){.nav-links,.nav .btn{display:none}.burger{display:block}}
