/* ================= Basiqat Al-Janoub — tokens ================= */
:root{--bg:#06101f;--bg2:#0a1830;--card:#0e1f3b;--line:rgba(180,205,255,.12);--ink:#f3f6fb;--ink2:#b9c6da;--muted:#7f8fa8;
  --blue:#1f6fe0;--blue2:#0b4fb3;--orange:#f5a623;--ease:cubic-bezier(.22,1,.36,1);--ar:'Cairo',system-ui,sans-serif;--lat:'Montserrat',system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:auto}
body{background:var(--bg);color:var(--ink);font-family:var(--ar);-webkit-font-smoothing:antialiased;overflow-x:clip;line-height:1.7}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[hidden]{display:none!important}
.wrap{width:min(1240px,calc(100% - 48px));margin:0 auto}
.kick{display:inline-flex;align-items:center;gap:10px;font:700 13px var(--ar);letter-spacing:.08em;color:var(--orange)}
.kick::before{content:"";width:28px;height:2px;background:var(--orange)}
h2{font:900 clamp(34px,5vw,64px)/1.15 var(--ar);margin:10px 0 0}
h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.sh{margin-bottom:44px}
.btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;font:800 15px var(--ar);transition:transform .4s var(--ease),background .3s,border-color .3s}
.btn:hover{transform:translateY(-3px)}
.btn.pri{background:var(--orange);color:#1a1205}.btn.pri:hover{background:#ffb83d}
.btn.ghost{border:1.5px solid rgba(255,255,255,.35)}.btn.ghost:hover{border-color:#fff}

/* loader */
.loader{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;place-content:center;justify-items:center;gap:26px;transition:opacity .9s var(--ease),visibility .9s}
.loader img{width:120px;animation:pulse 1.6s var(--ease) infinite}
.loader .bar{width:160px;height:2px;background:rgba(255,255,255,.12);overflow:hidden}.loader .bar i{display:block;height:100%;width:40%;background:var(--orange);animation:load 1.1s ease-in-out infinite}
.loader.done{opacity:0;visibility:hidden}
@keyframes pulse{50%{transform:scale(.94)}}@keyframes load{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(18px,3vw,44px);transition:background .4s,padding .4s,box-shadow .4s}
.hdr.solid{background:rgba(6,16,31,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-block:10px;box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:52px;height:52px;transition:width .4s,height .4s}.hdr.solid .brand img{width:42px;height:42px}
.brand b{display:block;font:900 19px/1.1 var(--ar)}.brand small{display:block;font:700 10px var(--lat);letter-spacing:.22em;color:var(--orange);direction:ltr;text-align:right}
.nav{display:flex;gap:26px;font-weight:700;font-size:15px}
.nav a{position:relative;opacity:.82;transition:opacity .3s}.nav a:hover,.nav a.on{opacity:1}
.nav a::after{content:"";position:absolute;inset:auto 0 -6px 0;height:2px;background:var(--orange);transform:scaleX(0);transition:transform .4s var(--ease)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);position:relative}
.burger i{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:transform .4s var(--ease)}.burger i:first-child{top:17px}.burger i:last-child{top:25px}
body.menu .burger i:first-child{transform:translateY(4px) rotate(45deg)}body.menu .burger i:last-child{transform:translateY(-4px) rotate(-45deg)}

/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:-4%}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(270deg,rgba(6,16,31,.96) 0%,rgba(6,16,31,.82) 38%,rgba(6,16,31,.35) 70%,rgba(6,16,31,.6) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 30%)}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(270deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(270deg,#000,transparent 70%)}
.hero-in{position:relative;z-index:2;width:min(1240px,calc(100% - 48px));margin:0 auto;padding-top:60px}
.hero-in>*{max-width:620px}
.hero h1{font:900 clamp(40px,6.2vw,88px)/1.08 var(--ar);margin:18px 0 20px}
.hero h1 .ln{display:block;overflow:hidden}.hero h1 .ln>span{display:inline-block}
.hero p{font-size:clamp(16px,1.4vw,19px);color:var(--ink2);max-width:540px}
.hero-cta{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.hero-film{position:absolute;z-index:2;left:clamp(24px,6vw,110px);top:calc(50% + 34px);transform:translateY(-50%);height:min(68svh,640px,45vw);width:auto;aspect-ratio:9/16;border-radius:26px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.12)}
.hero-film video{width:100%;height:100%;object-fit:cover}
.rec{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:8px;font:700 10px var(--lat);letter-spacing:.14em;background:rgba(0,0,0,.45);padding:6px 10px;border-radius:999px;direction:ltr;backdrop-filter:blur(6px)}
.rec i{width:7px;height:7px;border-radius:50%;background:#ff3b3b;animation:blink 1.4s infinite}@keyframes blink{50%{opacity:.25}}
.hero-side{position:absolute;z-index:2;right:clamp(18px,3vw,44px);bottom:40px;display:flex;flex-direction:column;align-items:center;gap:12px;font:700 10px var(--lat);letter-spacing:.3em;writing-mode:vertical-rl;color:var(--muted)}
.hero-side i{width:1px;height:70px;background:linear-gradient(var(--orange),transparent);animation:drop 2s infinite}@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hero-coords{position:absolute;z-index:2;left:clamp(18px,3vw,44px);bottom:36px;font:600 11px/1.7 var(--lat);letter-spacing:.18em;color:var(--muted);direction:ltr}

/* pile driving */
.drive{position:relative;background:linear-gradient(var(--bg),var(--bg2))}
.drive-stage{height:100vh;height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;width:min(1240px,calc(100% - 48px));margin:0 auto}
.drive-copy h2{margin-bottom:30px}
.dsteps{display:grid;gap:14px;margin-bottom:34px}
.ds{display:flex;align-items:center;gap:16px;opacity:.32;transition:opacity .5s,transform .5s var(--ease)}
.ds b{font:800 14px var(--lat);color:var(--orange);width:40px;height:40px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;flex-shrink:0}
.ds span{font-weight:700;font-size:17px}.ds.on{opacity:1;transform:translateX(-8px)}
.depth{display:flex;align-items:baseline;gap:10px;direction:ltr;justify-content:flex-end}
.depth small{font:700 13px var(--ar);color:var(--muted);order:3}
.depth b{font:900 clamp(64px,8vw,110px)/1 var(--lat);color:var(--ink);font-variant-numeric:tabular-nums}
.depth span{font:800 28px var(--lat);color:var(--orange)}
.drive-art{position:relative;height:84vh;display:flex;align-items:center;justify-content:center}
.drive-art svg{height:100%;width:auto;max-width:100%;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(143,180,255,.25)}
.drive-video{position:absolute;left:-12px;bottom:6%;width:34%;aspect-ratio:9/16;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 0 3px var(--bg)}
.drive-video video{width:100%;height:100%;object-fit:cover}
.drive-video span{position:absolute;inset:auto 0 0 0;padding:20px 10px 8px;font-size:12px;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.75));text-align:center}

/* stats */
.stats{padding:20px 0 90px;background:var(--bg2)}
#statsIn{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.st{padding:34px 24px;border-inline-start:1px solid var(--line)}.st:first-child{border-inline-start:0}
.st b{display:block;font:900 clamp(40px,5vw,66px)/1 var(--lat);color:var(--ink);direction:ltr;text-align:right}
.st span{display:block;margin-top:10px;color:var(--ink2);font-weight:700}

/* about */
.about{padding:110px 0;background:var(--bg2)}
.about-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.about-media{position:relative;aspect-ratio:4/5;border-radius:28px;overflow:hidden}
.about-media video{width:100%;height:100%;object-fit:cover}
.about-media .tag{position:absolute;right:18px;bottom:18px;background:var(--orange);color:#1a1205;padding:12px 18px;border-radius:14px}
.about-media .tag b{display:block;font:900 20px var(--lat)}.about-media .tag span{font:700 11px var(--lat);letter-spacing:.14em;direction:ltr;display:block}
.about-copy p{color:var(--ink2);font-size:18px;margin:22px 0 28px;max-width:560px}
.ticks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ticks li{display:flex;align-items:center;gap:10px;font-weight:700}
.ticks li::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='white' stroke-width='3'/%3E%3C/svg%3E") center/14px no-repeat;flex-shrink:0}

/* services */
.services{padding:110px 0;background:var(--bg)}
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sv{position:relative;border-radius:24px;overflow:hidden;min-height:430px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;isolation:isolate}
.sv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}
.sv::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,16,31,0) 35%,rgba(6,16,31,.92) 92%)}
.sv:hover img{transform:scale(1.08)}
.sv .no{position:absolute;top:22px;right:24px;font:800 13px var(--lat);color:var(--orange)}
.sv h3{font:900 22px/1.3 var(--ar)}.sv small{display:block;font:700 11px var(--lat);letter-spacing:.12em;color:var(--orange);direction:ltr;text-align:right;margin:4px 0 10px}
.sv p{color:var(--ink2);font-size:14.5px;max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s}
.sv:hover p{max-height:120px;opacity:1}

/* process */
.process{background:var(--bg2);overflow:hidden}
.proc-pin{padding:110px 0 80px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.track{display:flex;gap:20px;padding:0 max(24px,calc((100vw - 1240px)/2));width:max-content}
.pc{width:min(380px,78vw);flex-shrink:0;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:30px;position:relative;overflow:hidden}
.pc .big{position:absolute;left:14px;top:-10px;font:900 120px/1 var(--lat);color:rgba(255,255,255,.04)}
.pc b{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--blue);font:800 16px var(--lat)}
.pc h3{font:900 23px var(--ar);margin:22px 0 10px}.pc p{color:var(--ink2)}
.proc-bar{width:min(1240px,calc(100% - 48px));margin:40px auto 0;height:2px;background:var(--line)}.proc-bar i{display:block;height:100%;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:right}

/* fleet */
.fleet{padding:110px 0 0;background:var(--bg)}
.flt{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.fc2{background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:transform .5s var(--ease),border-color .4s}
.fc2:hover{transform:translateY(-6px);border-color:rgba(245,166,35,.5)}
.fc2 .ph{aspect-ratio:4/3;overflow:hidden}.fc2 img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.fc2:hover img{transform:scale(1.06)}
.fc2 .in{padding:20px 22px 24px}.fc2 h3{font:900 19px var(--ar)}.fc2 .md{font:700 12px var(--lat);color:var(--orange);letter-spacing:.1em}.fc2 p{color:var(--ink2);font-size:14px;margin-top:8px}
.fc2 .q{float:left;font:900 30px/1 var(--lat);color:var(--blue)}
.band{position:relative;height:70vh;margin-top:110px;overflow:hidden}
.band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,31,.2),rgba(6,16,31,.85))}
.band-txt{position:absolute;z-index:2;right:max(24px,calc((100vw - 1240px)/2));top:50%;transform:translateY(-50%);max-width:520px}
.band-txt b{display:block;font:900 clamp(30px,4vw,52px)/1.2 var(--ar)}.band-txt span{display:block;margin-top:12px;color:var(--orange);font-weight:800}

/* projects */
.projects{padding:110px 0;background:var(--bg)}
.prj{display:grid;gap:22px}
.pj{display:grid;grid-template-columns:1.2fr 1fr;border-radius:28px;overflow:hidden;background:var(--card);border:1px solid var(--line);min-height:420px}
.pj:nth-child(even){grid-template-columns:1fr 1.2fr}.pj:nth-child(even) .pm{order:2}
.pm{position:relative;overflow:hidden;cursor:zoom-in}.pm img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.pj:hover .pm img{transform:scale(1.05)}
.pm .cnt{position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700}
.pi{padding:44px;display:flex;flex-direction:column;justify-content:center}
.pi .loc{font:700 13px var(--ar);color:var(--orange);display:flex;gap:8px;align-items:center}
.pi h3{font:900 clamp(28px,3vw,40px)/1.2 var(--ar);margin:10px 0 14px}.pi p{color:var(--ink2)}
.thumbs{display:flex;gap:8px;margin-top:24px}.thumbs img{width:64px;height:64px;border-radius:12px;object-fit:cover;cursor:zoom-in;opacity:.75;transition:opacity .3s,transform .3s}.thumbs img:hover{opacity:1;transform:translateY(-3px)}

/* safety */
.safety{padding:110px 0;background:linear-gradient(var(--bg),var(--bg2))}
.safe-in{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}
.safe-copy p{color:var(--ink2);font-size:18px;margin-top:20px}
.safe-pics{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:520px}
.safe-pics img{width:100%;height:100%;object-fit:cover;border-radius:22px;cursor:zoom-in}.safe-pics img:first-child{grid-row:span 2}

/* gallery */
.gallery{padding:110px 0;background:var(--bg2)}
.gal{columns:4 240px;column-gap:14px}
.gal img{width:100%;margin-bottom:14px;border-radius:18px;break-inside:avoid;cursor:zoom-in;transition:transform .5s var(--ease);background:var(--card);animation:gin .6s var(--ease) both}@keyframes gin{from{opacity:0;transform:translateY(16px)}}
.gal img:hover{transform:scale(1.02)}
.more{display:flex;margin:20px auto 0}

/* contact */
.contact{padding:110px 0;background:var(--bg)}
.contact-in{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.cinfo{list-style:none;margin-top:30px;display:grid;gap:14px}.cinfo li{display:flex;gap:12px;align-items:center;font-weight:700;font-size:17px}.cinfo a{color:var(--orange)}
.cform{display:grid;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:26px;padding:28px}
.cform .fr{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cform input,.cform textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink);font:600 16px var(--ar)}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--orange)}
.cmsg{font-weight:700;color:var(--orange)}

/* footer */
.foot{border-top:1px solid var(--line);padding:40px 0;background:var(--bg)}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.fb{display:flex;align-items:center;gap:14px}.fb img{width:60px}.fb b{display:block;font:900 18px var(--ar)}.fb small{color:var(--muted)}
.fc{color:var(--muted);font-size:13px}
.wa{position:fixed;z-index:70;left:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 14px 30px rgba(0,0,0,.4)}
.wa svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(3,8,16,.94);display:grid;place-items:center;padding:30px}
.lb img{max-width:min(1200px,92vw);max-height:84vh;border-radius:14px;object-fit:contain}
.lb button{position:absolute;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);font-size:26px;display:grid;place-items:center}
.lx{top:20px;left:20px}.lp{right:20px;top:50%;transform:translateY(-50%)}.ln{left:20px;top:50%;transform:translateY(-50%)}
.lc{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:var(--ink2);font-weight:700}

/* reveal */
.rv{opacity:0;transform:translateY(40px)}

/* ================= responsive ================= */
@media (max-width:1000px){
  .nav{position:fixed;inset:0;z-index:-1;background:rgba(6,16,31,.97);flex-direction:column;align-items:center;justify-content:center;gap:24px;font-size:22px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
  body.menu .nav{opacity:1;visibility:visible}
  .burger{display:block}
  .svc{grid-template-columns:1fr 1fr}
  .about-in,.safe-in,.contact-in{grid-template-columns:1fr;gap:40px}
  .about-media{aspect-ratio:4/3}
  .pj,.pj:nth-child(even){grid-template-columns:1fr}.pj:nth-child(even) .pm{order:0}.pm{aspect-ratio:16/10}.pi{padding:28px}
  #statsIn{grid-template-columns:1fr 1fr}.st:nth-child(3){border-inline-start:0}.st:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:760px){
  .wrap{width:calc(100% - 32px)}
  .brand img{width:44px;height:44px}.brand b{font-size:16px}
  .hero{align-items:flex-end;padding-bottom:110px}
  .hero-shade{background:linear-gradient(0deg,var(--bg) 4%,rgba(6,16,31,.85) 45%,rgba(6,16,31,.25) 100%)}
  .hero-film{left:auto;right:16px;top:96px;transform:none;width:34vw;border-radius:18px}
  .hero-in{width:calc(100% - 32px)}.hero h1{font-size:clamp(36px,10vw,52px)}
  .hero-coords{display:none}.hero-side{bottom:24px}
  .drive-stage{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:10px;padding:84px 0 20px;width:calc(100% - 32px)}
  .drive-copy h2{font-size:32px;margin-bottom:12px}.dsteps{display:none}
  .depth{justify-content:flex-start;position:absolute;right:16px;bottom:24px;z-index:3;flex-direction:row-reverse}
  .depth b{font-size:56px}
  .drive-art{height:auto;min-height:0}.drive-art svg{height:62svh}
  .drive-video{width:30%;left:4px;bottom:4%}
  .svc{grid-template-columns:1fr}.sv{min-height:340px}.sv p{max-height:none;opacity:1}
  .ticks{grid-template-columns:1fr}
  .services,.about,.projects,.safety,.gallery,.contact{padding:80px 0}.fleet{padding-top:80px}
  .safe-pics{height:420px}
  .gal{columns:2;column-gap:10px}.gal img{margin-bottom:10px;border-radius:12px}
  .band{height:56vh;margin-top:80px}.band-txt{right:16px;left:16px}
  .cform .fr{grid-template-columns:1fr}
  .proc-pin{min-height:0;padding:80px 0}
  .track{flex-direction:column;width:auto;padding:0 16px}.pc{width:auto}.proc-bar{display:none}
  .lb{padding:10px}.lp,.ln{top:auto;bottom:20px;transform:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* phones: the drone film becomes the full hero background */
.hero-bgv{display:none}
@media (max-width:760px){
  .hero-film{display:none}
  .hero-bg img{display:none}.hero-bgv{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .hero-shade{background:linear-gradient(0deg,var(--bg) 6%,rgba(6,16,31,.88) 42%,rgba(6,16,31,.2) 75%,rgba(6,16,31,.55) 100%)}
}

/* faint company mark behind the whole site */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url(/brand/logo.webp) center/min(78vh,78vw) no-repeat;opacity:.045;filter:grayscale(1) brightness(1.6)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(143,180,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(143,180,255,.035) 1px,transparent 1px);background-size:64px 64px}
.about,.services,.fleet,.projects,.gallery,.contact,.stats,.process,.safety,.team{background:transparent!important}
.drive{background:linear-gradient(var(--bg),transparent 30%)!important}
html{background:var(--bg)}body{background:transparent}

/* team */
.team{padding:110px 0}
.team-in{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.team-copy p{color:var(--ink2);font-size:18px;margin-top:20px}
.team-copy .tq{margin-top:30px;padding:22px 24px;border-radius:20px;border:1px solid var(--line);background:rgba(14,31,59,.6);font-weight:700}
.team-copy .tq b{color:var(--orange)}
.tgrid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:120px;gap:12px}
.tgrid figure{position:relative;overflow:hidden;border-radius:20px;cursor:zoom-in;background:var(--card)}
.tgrid img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.tgrid figure:hover img{transform:scale(1.06)}
.tgrid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(6,16,31,.75));pointer-events:none}
.tgrid figcaption{position:absolute;z-index:2;right:14px;bottom:12px;font-weight:800;font-size:14px}
.tgrid .t1{grid-column:span 6;grid-row:span 3}.tgrid .t2{grid-column:span 3;grid-row:span 3}.tgrid .t3{grid-column:span 3;grid-row:span 3}
.tgrid .t4{grid-column:span 2;grid-row:span 3}.tgrid .t5{grid-column:span 2;grid-row:span 3}.tgrid .t6{grid-column:span 2;grid-row:span 3}
@media (max-width:1000px){.team-in{grid-template-columns:1fr;gap:34px}}
@media (max-width:760px){.team{padding:80px 0}.tgrid{grid-auto-rows:70px;gap:8px}.tgrid figure{border-radius:14px}.tgrid figcaption{font-size:12px;right:10px;bottom:8px}
  .tgrid .t4,.tgrid .t5,.tgrid .t6{grid-column:span 3}.tgrid .t6{grid-column:span 6}}

/* site lead spotlight */
.lead{position:relative;padding:120px 0;overflow:hidden}
.lead-marq{position:absolute;top:50%;left:0;transform:translateY(-50%);white-space:nowrap;pointer-events:none;direction:ltr}
.lead-marq div{display:inline-block;font:900 clamp(80px,13vw,200px)/1 var(--lat);color:transparent;-webkit-text-stroke:1.2px rgba(143,180,255,.14);letter-spacing:.02em}
.lead-in{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}
.lead-copy h2{font-size:clamp(40px,5.6vw,76px)}
.lead-pics{position:relative;height:min(78vh,720px)}
.lead-pics figure{position:absolute;overflow:hidden;border-radius:28px;cursor:zoom-in;box-shadow:0 40px 90px rgba(0,0,0,.55)}
.lead-pics img{width:100%;height:100%;object-fit:cover}
.lead-pics .lp0{right:0;top:0;width:62%;height:100%}
.lead-pics .lp1{left:0;bottom:6%;width:42%;height:62%;border:6px solid var(--bg)}
.lead-pics .lp2{left:8%;top:0;width:30%;height:30%}
.lead-pics::before{content:"";position:absolute;right:-18px;top:30px;width:62%;height:100%;border:1.5px solid var(--orange);border-radius:28px;opacity:.5}
/* people reel */
.reel{display:flex;gap:14px;margin-top:40px;padding:0 24px;width:max-content}
.reel figure{width:clamp(180px,18vw,250px);aspect-ratio:3/4;border-radius:22px;overflow:hidden;flex-shrink:0;cursor:zoom-in;background:var(--card);transition:transform .5s var(--ease)}
.reel figure:nth-child(even){transform:translateY(34px)}
.reel figure:hover{transform:translateY(-6px)}
.reel img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35);transition:filter .5s}.reel figure:hover img{filter:none}
.team{overflow:hidden}
@media (max-width:1000px){.lead-in{grid-template-columns:1fr;gap:30px}}
@media (max-width:760px){.lead{padding:80px 0}.lead-pics{height:110vw}.lead-pics .lp0{width:70%}.lead-pics .lp1{width:50%;height:56%}
  .reel figure{width:42vw;border-radius:16px}.reel figure:nth-child(even){transform:translateY(20px)}}

/* gallery v2: a fixed grid (new photos only add rows at the bottom; nothing moves) */
.gal{columns:auto!important;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:14px}
.gal img{margin:0!important;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;animation:none!important;border-radius:18px;background:var(--card)}
.gal img:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
@media (max-width:760px){.gal{grid-template-columns:1fr 1fr;gap:10px}.gal img{border-radius:12px}.gal img:nth-child(7n+1){grid-column:span 2;grid-row:auto;aspect-ratio:4/3}}

/* featured trio inside the team section */
.trip{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:14px;margin-top:50px;align-items:end}
.trip figure{border-radius:26px;overflow:hidden;cursor:zoom-in;background:var(--card);aspect-ratio:3/4;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.trip figure:nth-child(2){aspect-ratio:3/4.4}
.trip img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.trip figure:hover img{transform:scale(1.05)}
@media (max-width:760px){.trip{grid-template-columns:1fr 1fr;gap:10px;margin-top:34px}.trip figure{border-radius:16px}.trip figure:nth-child(2){grid-column:span 2;grid-row:1;aspect-ratio:4/5}}

.more{display:none!important}

.reel{direction:ltr}
.reelw{direction:ltr;overflow:hidden;padding-bottom:40px}
/* gallery v3: fixed row heights so tall photos can never spill over others */
.gal{grid-auto-rows:clamp(180px,17vw,260px)!important;align-items:stretch}
.gal img{height:100%!important;aspect-ratio:auto!important;min-height:0;display:block}
.gal img:nth-child(7n+1){grid-row:span 2!important}
@media (max-width:760px){.gal{grid-auto-rows:46vw!important}.gal img:nth-child(7n+1){grid-column:span 2!important;grid-row:span 1!important}}
/* safety: rows can never grow past the box (tall photos spilled over the gallery) */
.safe-pics{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;border-radius:22px}
.safe-pics img{min-height:0;min-width:0;height:100%!important}
