/* ============================================================
   Intirbim Consultancy — Compiled stylesheet
   Source: sass/main.scss
   ============================================================ */

:root{
  --navy-deep:#1a1f5c;
  --navy:#252b6e;
  --navy-2:#2d3380;
  --sky:#5fa3d9;
  --sky-bright:#7cc0ec;
  --cyan:#9ee0ff;
  --bg:#0c1030;
  --bg-2:#10164a;
  --bg-3:#181f5a;
  --surface:#1c2360;
  --line:rgba(255,255,255,0.08);
  --line-2:rgba(255,255,255,0.16);
  --paper:#f5f7ff;
  --paper-dim:#bcc4e8;
  --mute:#8089b0;
  --hivis:#f6e64a;
  --hivis-2:#ffd84a;
  --display:'Fraunces', Georgia, serif;
  --body:'Inter Tight', system-ui, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--paper);font-family:var(--body);font-weight:400;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px) 0 0/64px 64px,linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px) 0 0/64px 64px,radial-gradient(ellipse 80% 60% at 50% -10%, rgba(95,163,217,0.18), transparent 60%),radial-gradient(ellipse 60% 50% at 100% 100%, rgba(158,224,255,0.08), transparent 60%)}
.bg-grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.4;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0 0.12 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

.wrap{max-width:1340px;margin:0 auto;padding:0 32px;position:relative;z-index:2}
section{position:relative;z-index:2;padding:120px 0;border-top:1px solid var(--line)}
section:first-of-type{border-top:none}

header{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(12,16,48,0.78);border-bottom:1px solid var(--line)}
.nav{max-width:1340px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo img{border-radius:6px}
.logo .meta{display:flex;flex-direction:column;line-height:1}
.logo .meta small{font-family:var(--mono);font-size:9px;color:var(--paper-dim);letter-spacing:.22em;text-transform:uppercase;margin-top:4px}
.nav ul{list-style:none;display:flex;gap:28px}
.nav a{color:var(--paper-dim);text-decoration:none;font-size:13px;font-weight:500;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;transition:color .2s}
.nav a:hover{color:var(--sky-bright)}
.cta-mini{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:11px 20px;border:1px solid var(--sky);border-radius:999px;color:var(--paper);text-decoration:none;transition:all .2s;display:inline-flex;align-items:center;gap:8px;background:rgba(95,163,217,0.08)}
.cta-mini:hover{background:var(--sky);color:var(--bg)}
.cta-mini::after{content:'→';transition:transform .2s}
.cta-mini:hover::after{transform:translateX(3px)}
.li-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--paper-dim);text-decoration:none;transition:all .2s}
.li-btn:hover{border-color:var(--sky-bright);color:var(--sky-bright);background:rgba(95,163,217,0.08)}
.menu-toggle{display:none;background:none;border:0;color:var(--paper);cursor:pointer;padding:8px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}

.hero{padding:150px 0 100px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky-bright);display:inline-flex;align-items:center;gap:12px;margin-bottom:30px}
.eyebrow::before{content:'';width:36px;height:1px;background:var(--sky-bright)}
.hero h1{font-family:var(--display);font-weight:300;font-size:clamp(46px,6.6vw,104px);line-height:0.98;letter-spacing:-0.035em;margin-bottom:30px;font-variation-settings:"opsz" 144}
.hero h1 em{font-style:italic;font-weight:400;color:var(--sky-bright)}
.hero h1 .strike{position:relative;display:inline-block}
.hero h1 .strike::after{content:'';position:absolute;left:-4%;right:-4%;top:54%;height:3px;background:var(--sky-bright);transform:scaleX(0);transform-origin:left;animation:strike 1.2s cubic-bezier(.6,.2,.2,1) 1s forwards}
@keyframes strike{to{transform:scaleX(1)}}
.hero p.lede{font-size:18.5px;color:var(--paper-dim);max-width:560px;margin-bottom:40px;line-height:1.6}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-radius:4px;transition:all .25s;cursor:pointer;border:0}
.btn-primary{background:var(--sky-bright);color:var(--navy-deep)}
.btn-primary:hover{background:var(--paper);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--paper);border:1px solid var(--line-2)}
.btn-ghost:hover{border-color:var(--paper);background:rgba(255,255,255,0.04)}

.hero-vis{position:relative}
.hero-photo{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:4/3;box-shadow:0 30px 90px rgba(0,0,0,0.55)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg, rgba(26,31,92,0.55) 0%, rgba(26,31,92,0.15) 40%, rgba(26,31,92,0.7) 100%)}
.hero-photo::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg, rgba(12,16,48,0.85) 0%, transparent 50%)}
.hero-photo-tag{position:absolute;top:18px;left:18px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);padding:6px 12px;background:rgba(12,16,48,0.6);border:1px solid var(--line-2);border-radius:4px;backdrop-filter:blur(8px)}
.hero-panel{position:absolute;bottom:-40px;right:-20px;background:linear-gradient(180deg, var(--bg-3), var(--surface));border:1px solid var(--line-2);border-radius:10px;padding:22px;width:340px;z-index:3;box-shadow:0 30px 60px rgba(0,0,0,0.6),inset 0 1px 0 rgba(255,255,255,0.06)}
.panel-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px dashed var(--line-2);margin-bottom:16px}
.panel-title{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim)}
.panel-dot{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;color:var(--hivis);letter-spacing:.1em}
.panel-dot::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--hivis);box-shadow:0 0 8px var(--hivis);animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.kpi{padding:10px 8px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,0.015)}
.kpi-label{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.kpi-value{font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:-0.02em;line-height:1;color:var(--paper)}
.kpi-delta{font-family:var(--mono);font-size:9.5px;margin-top:4px}
.kpi-delta.up{color:var(--sky-bright)}
.kpi-delta.flat{color:var(--cyan)}

.gantt-row{display:grid;grid-template-columns:74px 1fr 36px;gap:8px;align-items:center;padding:3px 0}
.gantt-row .lbl{font-family:var(--mono);color:var(--paper-dim);font-size:9.5px}
.gantt-row .pct{font-family:var(--mono);color:var(--mute);font-size:9px;text-align:right}
.bar{height:5px;background:rgba(255,255,255,0.06);border-radius:3px;overflow:hidden}
.bar > span{display:block;height:100%;background:linear-gradient(90deg,var(--sky),var(--sky-bright));border-radius:3px;width:0;animation:fill 1.6s cubic-bezier(.6,.2,.2,1) forwards}
.bar.b2 > span{background:linear-gradient(90deg,var(--cyan),var(--sky-bright))}
.bar.b3 > span{background:linear-gradient(90deg,var(--hivis),var(--hivis-2))}
.bar.b4 > span{background:linear-gradient(90deg,#7787e0,#a4b2ff)}
@keyframes fill{to{width:var(--w)}}

.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg-2);padding:18px 0;margin-top:30px}
.marquee-track{display:flex;gap:64px;white-space:nowrap;animation:scroll 38s linear infinite}
.marquee span{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim);display:inline-flex;align-items:center;gap:14px}
.marquee span::before{content:'◆';color:var(--sky-bright);font-size:9px}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.s-head{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:72px;align-items:end}
.s-head-meta{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky-bright);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.s-head-meta::before{content:'';width:8px;height:8px;background:var(--sky-bright);display:inline-block;transform:rotate(45deg)}
.s-head h2{font-family:var(--display);font-weight:300;font-size:clamp(38px,5vw,72px);line-height:1.02;letter-spacing:-0.03em;font-variation-settings:"opsz" 144}
.s-head h2 em{font-style:italic;color:var(--sky-bright);font-weight:400}
.s-head p.s-sub{font-size:17px;color:var(--paper-dim);max-width:480px;line-height:1.55}

.ai-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:start}
.ai-stack{display:flex;flex-direction:column}
.ai-pillar{padding:34px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:60px 1fr auto;gap:24px;align-items:start;transition:background .3s}
.ai-pillar:last-child{border-bottom:1px solid var(--line)}
.ai-pillar:hover{background:rgba(95,163,217,0.04)}
.ai-pillar .num{font-family:var(--mono);font-size:11px;color:var(--sky-bright);letter-spacing:.14em}
.ai-pillar h3{font-family:var(--display);font-size:30px;font-weight:400;letter-spacing:-0.02em;margin-bottom:10px;line-height:1.1}
.ai-pillar p{color:var(--paper-dim);font-size:15px;max-width:540px}
.ai-pillar .tag{font-family:var(--mono);font-size:10px;color:var(--mute);letter-spacing:.16em;text-transform:uppercase;padding-top:8px}
.ai-vis{position:sticky;top:120px}
.ai-photo{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:3/4;margin-bottom:18px}
.ai-photo img{width:100%;height:100%;object-fit:cover}
.ai-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(12,16,48,0.75) 100%)}
.ai-photo .ai-photo-cap{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;font-family:var(--mono);font-size:10.5px;color:var(--paper);letter-spacing:.06em;line-height:1.4}
.ai-photo .ai-photo-cap span{display:block;color:var(--sky-bright);margin-bottom:6px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.ai-flow{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:24px}
.ai-flow-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed var(--line-2)}
.ai-flow-head .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-dim)}
.ai-flow-head .live{font-family:var(--mono);font-size:10px;color:var(--cyan);letter-spacing:.14em}
.ai-flow-head .live::before{content:'●';margin-right:6px;animation:pulse 1.4s infinite}
.flow-list{display:flex;flex-direction:column;gap:8px}
.flow-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;background:rgba(255,255,255,0.025);border:1px solid var(--line);border-radius:6px;font-family:var(--mono);font-size:11px}
.flow-item .ic{width:8px;height:8px;border-radius:50%;background:var(--sky-bright);box-shadow:0 0 0 3px rgba(95,163,217,0.18)}
.flow-item.in .ic{background:var(--cyan)}
.flow-item.proc .ic{background:var(--hivis);box-shadow:0 0 0 3px rgba(246,230,74,0.18)}
.flow-item .nm{color:var(--paper)}
.flow-item .st{color:var(--mute);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase}

.svc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.svc{background:var(--bg);padding:36px 28px;position:relative;transition:background .3s;min-height:280px;display:flex;flex-direction:column;justify-content:space-between}
.svc:hover{background:var(--bg-2)}
.svc.span-4{grid-column:span 4}
.svc.span-6{grid-column:span 6}
.svc.span-8{grid-column:span 8}
.svc.span-12{grid-column:span 12}
.svc-num{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.16em;margin-bottom:16px}
.svc h3{font-family:var(--display);font-size:28px;font-weight:400;letter-spacing:-0.02em;line-height:1.12;margin-bottom:12px}
.svc p{font-size:14px;color:var(--paper-dim);line-height:1.55}
.svc-icon{margin-top:22px;width:46px;height:46px;border:1px solid var(--line-2);border-radius:6px;display:flex;align-items:center;justify-content:center}
.svc:hover .svc-icon{border-color:var(--sky-bright)}
.svc-icon svg{width:22px;height:22px;stroke:var(--sky-bright);fill:none;stroke-width:1.5}
.svc.feature{background:linear-gradient(135deg,var(--bg-2),var(--surface));border-left:3px solid var(--sky-bright)}
.svc.feature h3{color:var(--sky-bright)}
.svc.feature::before{content:'AI-DRIVEN';position:absolute;top:36px;right:28px;font-family:var(--mono);font-size:9px;letter-spacing:.2em;padding:4px 8px;background:rgba(95,163,217,0.18);color:var(--sky-bright);border-radius:3px}

.exp-wrap{position:relative}
.exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.exp{background:var(--bg);padding:26px 22px 24px;display:flex;flex-direction:column;gap:10px;position:relative;transition:background .3s,transform .3s;min-height:160px}
.exp:hover{background:var(--bg-2)}
.exp:hover .exp-num{color:var(--sky-bright)}
.exp:hover::after{transform:scaleX(1)}
.exp::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--sky),var(--sky-bright));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.exp-num{font-family:var(--mono);font-size:10.5px;color:var(--mute);letter-spacing:.18em;transition:color .3s}
.exp-label{font-family:var(--display);font-size:18px;font-weight:500;letter-spacing:-0.015em;line-height:1.25;color:var(--paper)}
.exp-tag{margin-top:auto;font-family:var(--mono);font-size:9.5px;color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;padding-top:8px}
.exp.feature{background:linear-gradient(135deg,var(--bg-2),var(--surface))}
.exp.feature .exp-num{color:var(--sky-bright)}
.exp.feature .exp-label{color:var(--sky-bright)}
.exp-grid-final{margin-top:1px;grid-template-columns:1fr}
.exp.exp-wide{min-height:auto;padding:32px 32px 30px;background:radial-gradient(ellipse 60% 80% at 100% 50%, rgba(95,163,217,0.15), transparent 70%),linear-gradient(135deg,var(--bg-2),var(--surface));border-left:3px solid var(--sky-bright);display:grid;grid-template-columns:auto 1fr 1.4fr;gap:36px;align-items:center;position:relative}
.exp.exp-wide::before{content:'BIM 5D · COST';position:absolute;top:18px;right:24px;font-family:var(--mono);font-size:9px;letter-spacing:.2em;padding:4px 8px;background:rgba(95,163,217,0.18);color:var(--sky-bright);border-radius:3px}
.exp.exp-wide .exp-num{font-size:11px}
.exp.exp-wide .exp-label{font-size:26px;font-weight:500;line-height:1.15;letter-spacing:-0.02em}
.exp.exp-wide .exp-tag{padding-top:0;margin-top:0}
.exp.exp-wide .exp-body{font-family:var(--body);font-size:14.5px;color:var(--paper-dim);line-height:1.6;margin:0}
.exp-rule{display:flex;align-items:center;gap:16px;margin:60px 0 36px;font-family:var(--mono);font-size:10.5px;color:var(--paper-dim);letter-spacing:.18em;text-transform:uppercase}
.exp-rule::before,.exp-rule::after{content:'';flex:1;height:1px;background:var(--line-2)}
.exp-rule span{color:var(--sky-bright)}

.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ind{border:1px solid var(--line);border-radius:10px;background:var(--bg-2);overflow:hidden;position:relative;transition:transform .3s,border-color .3s}
.ind:hover{transform:translateY(-6px);border-color:var(--sky)}
.ind-img{aspect-ratio:16/10;overflow:hidden;position:relative}
.ind-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ind:hover .ind-img img{transform:scale(1.08)}
.ind-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(26,31,92,0.1) 0%, rgba(12,16,48,0.65) 100%)}
.ind-body{padding:24px 26px 28px}
.ind-tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--cyan);text-transform:uppercase;margin-bottom:12px}
.ind h3{font-family:var(--display);font-size:24px;font-weight:400;letter-spacing:-0.02em;line-height:1.15;margin-bottom:12px}
.ind p{font-size:13.5px;color:var(--paper-dim);margin-bottom:18px}
.ind-stats{display:flex;gap:24px;padding-top:14px;border-top:1px dashed var(--line)}
.ind-stat .v{font-family:var(--display);font-size:22px;font-weight:500;color:var(--sky-bright)}
.ind-stat .l{font-family:var(--mono);font-size:9.5px;color:var(--mute);letter-spacing:.14em;text-transform:uppercase}

.cap-block{padding:80px 0;border-top:1px solid var(--line);background:var(--bg-2)}
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cap{padding:36px 28px;border-right:1px solid var(--line);text-align:left}
.cap:last-child{border-right:0}
.cap .v{font-family:var(--display);font-size:56px;font-weight:300;letter-spacing:-0.04em;line-height:1;color:var(--sky-bright);font-variation-settings:"opsz" 144}
.cap .v sup{font-size:22px;color:var(--paper-dim)}
.cap .l{font-family:var(--mono);font-size:11px;color:var(--paper-dim);letter-spacing:.14em;text-transform:uppercase;margin-top:14px}

.proc{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.proc::before{content:'';position:absolute;top:48px;left:0;right:0;height:1px;background:var(--line-2)}
.proc-step{padding:0 16px 0 0;position:relative}
.proc-dot{width:14px;height:14px;background:var(--bg);border:2px solid var(--sky-bright);border-radius:50%;margin-top:42px;position:relative;z-index:2}
.proc-step:nth-child(odd) .proc-dot{background:var(--sky-bright)}
.proc-num{font-family:var(--mono);font-size:10px;color:var(--mute);letter-spacing:.16em;margin:24px 0 6px}
.proc-step h4{font-family:var(--display);font-size:18px;font-weight:500;letter-spacing:-0.01em;line-height:1.2;margin-bottom:8px}
.proc-step p{font-size:13px;color:var(--paper-dim);line-height:1.5}

.people{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:60px}
.people-card{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--line)}
.people-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.people-card:hover img{transform:scale(1.04)}
.people-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(12,16,48,0.85) 100%)}
.people-cap{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}
.people-cap .l{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--sky-bright);margin-bottom:6px}
.people-cap h4{font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-0.02em;color:var(--paper);line-height:1.15}

.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}
.about-text p{font-size:17px;color:var(--paper-dim);margin-bottom:22px;line-height:1.65}
.about-text p:first-of-type::first-letter{font-family:var(--display);font-size:78px;font-weight:400;float:left;line-height:0.86;padding:6px 14px 0 0;color:var(--sky-bright);font-variation-settings:"opsz" 144}
.about-side{display:flex;flex-direction:column;gap:18px}
.about-photo{border-radius:10px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1;position:relative;background:var(--bg-2)}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, transparent 60%, rgba(12,16,48,0.7) 100%)}
.about-photo .ap-cap{position:absolute;left:18px;bottom:16px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sky-bright)}
.vm-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--bg-2)}
.vm-card .l{font-family:var(--mono);font-size:11px;color:var(--sky-bright);letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.vm-card h3{font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:-0.02em;margin-bottom:8px}
.vm-card p{font-size:13.5px;color:var(--paper-dim);line-height:1.55}

.cta-final{padding:140px 0;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg),var(--bg-2))}
.cta-final::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 100%, rgba(95,163,217,0.22), transparent 70%),radial-gradient(ellipse 40% 30% at 50% 0%, rgba(158,224,255,0.10), transparent 70%)}
.cta-final h2{font-family:var(--display);font-weight:300;font-size:clamp(44px,6.5vw,96px);letter-spacing:-0.035em;line-height:0.98;margin-bottom:30px;font-variation-settings:"opsz" 144}
.cta-final h2 em{font-style:italic;color:var(--sky-bright);font-weight:400}
.cta-final p{font-size:18px;color:var(--paper-dim);max-width:600px;margin:0 auto 40px}

footer{padding:60px 0 40px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-grid h5{font-family:var(--mono);font-size:11px;color:var(--paper-dim);letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}
.footer-grid a{display:block;color:var(--paper);text-decoration:none;font-size:14px;padding:4px 0;transition:color .2s}
.footer-grid a:hover{color:var(--sky-bright)}
.footer-grid p{font-size:13.5px;color:var(--paper-dim);line-height:1.6}
.footer-bot{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.1em}
.footer-bot a{color:var(--paper-dim);text-decoration:none}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:translateY(0)}

@media (max-width:1024px){
  .hero-grid,.ai-grid,.about-grid{grid-template-columns:1fr;gap:48px}
  .s-head{grid-template-columns:1fr;gap:24px}
  .ai-vis{position:relative;top:0}
  .hero-panel{position:relative;right:auto;bottom:auto;width:auto;margin:18px 0 0}
  .svc.span-4,.svc.span-6,.svc.span-8{grid-column:span 6}
  .exp-grid{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:1fr 1fr}
  .cap-grid{grid-template-columns:1fr 1fr}
  .cap:nth-child(2){border-right:0}
  .cap:nth-child(1),.cap:nth-child(2){border-bottom:1px solid var(--line)}
  .proc{grid-template-columns:1fr 1fr}
  .proc::before{display:none}
  .people{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:900px){
  .exp.exp-wide{grid-template-columns:1fr;gap:16px;padding:26px}
  .exp.exp-wide::before{position:relative;top:auto;right:auto;align-self:flex-start;display:inline-block}
}

@media (max-width:640px){
  .wrap{padding:0 20px}
  section{padding:80px 0}
  .nav ul{display:none}
  .menu-toggle{display:block}
  .hero{padding:120px 0 60px}
  .ai-pillar{grid-template-columns:1fr;gap:6px;padding:24px 0}
  .ai-pillar .tag{display:none}
  .svc.span-4,.svc.span-6,.svc.span-8{grid-column:span 12}
  .exp-grid{grid-template-columns:1fr}
  .ind-grid{grid-template-columns:1fr}
  .cap-grid{grid-template-columns:1fr}
  .cap{border-right:0;border-bottom:1px solid var(--line)}
  .cap:last-child{border-bottom:0}
  .proc{grid-template-columns:1fr}
  .people{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bot{flex-direction:column;gap:14px;text-align:center}
}

/* =========================================================
   INNER BANNER
========================================================= */

.inner-banner{
  position:relative;
  padding:180px 0 110px;
  overflow:hidden;
   /* background: url(../images/leadership-bg.jpg);
    background-position:center;
    background-repeat: no-repeat;
    background-size:cover; */

  background:
    radial-gradient(
      ellipse 80% 60% at 50% 0%,
      rgba(95,163,217,.18),
      transparent 70%
    ),
    linear-gradient(
      180deg,
      var(--bg-2),
      var(--bg)
    );

  border-bottom:1px solid var(--line);
}

.inner-banner::before{
  content:'';
  position:absolute;
  inset:0;

  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px) 0 0/64px 64px;

  opacity:.5;
}

.inner-banner-overlay{
  position:absolute;
  inset:0;

  background:
    radial-gradient(
      ellipse 50% 50% at 50% 50%,
      rgba(158,224,255,.08),
      transparent 70%
    );
}

.inner-banner-content{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:850px;
  margin:auto;
}

.banner-tag{
  display:inline-flex;
  align-items:center;
  gap:10px;

  margin-bottom:26px;

  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;

  color:var(--sky-bright);
}

.inner-banner h1{
  font-family:var(--display);
  font-size:clamp(58px,8vw,120px);
  line-height:.95;
  font-weight:300;
  letter-spacing:-0.05em;

  margin-bottom:24px;

  color:var(--paper);
}

.inner-banner h1::after{
  content:'';
  display:block;

  width:120px;
  height:2px;

  margin:26px auto 0;

  background:linear-gradient(
    90deg,
    transparent,
    var(--sky-bright),
    transparent
  );
}

.inner-banner p{
  max-width:700px;
  margin:auto;

  font-size:18px;
  line-height:1.7;

  color:var(--paper-dim);
}

/* =========================================================
   LEADERSHIP CARDS
========================================================= */

.leadership-section{
  position:relative;
  overflow:hidden;
  padding-top: 80px;
}

.leaders-grid{
  display:flex;
  flex-direction:column;
  gap:28px;
}

.leader-card{
  display:grid;
  grid-template-columns:320px 1fr;
  background:linear-gradient(135deg,var(--bg-2),var(--surface));
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  position:relative;
  transition:all .35s ease;
}

.leader-card:hover{
  transform:translateY(-6px);
  border-color:var(--sky);
  box-shadow:0 30px 70px rgba(0,0,0,.35);
}

.leader-card::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:2px;
  background:linear-gradient(90deg,var(--sky),var(--sky-bright));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s ease;
}

.leader-card:hover::after{
  transform:scaleX(1);
}

.leader-image{
  position:relative;
  overflow:hidden;
}

.leader-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease;
}

.leader-card:hover .leader-image img{
  transform:scale(1.05);
}

.leader-image::after{
  content:'';
  position:absolute;
  inset:0;

  background:linear-gradient(
    180deg,
    rgba(26,31,92,.1) 0%,
    rgba(12,16,48,.82) 100%
  );
}

.leader-badge{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;

  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;

  color:var(--sky-bright);
}

.leader-content{
  padding:42px;
}

.leader-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:24px;
}

.leader-num{
  display:block;
  margin-bottom:12px;

  font-family:var(--mono);
  font-size:10px;
  color:var(--mute);
  letter-spacing:.18em;
}

.leader-content h3{
  font-family:var(--display);
  font-size:42px;
  line-height:1;
  font-weight:400;
  letter-spacing:-0.03em;

  margin-bottom:10px;
}

.leader-role{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;

  color:var(--sky-bright);
}

.leader-tag{
  white-space:nowrap;

  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;

  color:var(--cyan);

  padding:10px 14px;
  border:1px solid var(--line-2);
  border-radius:999px;

  background:rgba(95,163,217,.08);
}

.leader-content p{
  font-size:15px;
  line-height:1.75;
  color:var(--paper-dim);

  margin-bottom:30px;
}

.leader-stats{
  display:flex;
  gap:40px;
  padding-top:22px;
  border-top:1px dashed var(--line-2);
}

.leader-stat .v{
  font-family:var(--display);
  font-size:28px;
  line-height:1;
  color:var(--sky-bright);
}

.leader-stat .l{
  margin-top:8px;

  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;

  color:var(--mute);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1024px){

  .leader-card{
    grid-template-columns:1fr;
  }

  .leader-image{
    height:420px;
  }

  .leader-content{
    padding:34px;
  }

  .leader-content h3{
    font-size:34px;
  }
}

@media(max-width:640px){

  .inner-banner{
    padding:150px 0 80px;
  }

  .inner-banner h1{
    font-size:58px;
  }

  .inner-banner p{
    font-size:16px;
  }

  .leader-image{
    height:320px;
  }

  .leader-top{
    flex-direction:column;
  }

  .leader-content{
    padding:26px;
  }

  .leader-content h3{
    font-size:28px;
  }

  .leader-stats{
    flex-wrap:wrap;
    gap:24px;
  }
}



/* =========================================================
   NEWS / BLOG SECTION
========================================================= */

.news-section{
  position:relative;
  overflow:hidden;
  padding-top:90px;
}

.news-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

/* =========================================================
   CARD
========================================================= */

.news-card{
  position:relative;
  overflow:hidden;

  border-radius:14px;
  border:1px solid var(--line);

  background:
    linear-gradient(
      135deg,
      var(--bg-2),
      var(--surface)
    );

  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

.news-card:hover{
  transform:translateY(-8px);

  border-color:var(--sky);

  box-shadow:
    0 30px 70px rgba(0,0,0,.35);
}

.news-card::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;

  height:2px;

  background:
    linear-gradient(
      90deg,
      var(--sky),
      var(--sky-bright)
    );

  transform:scaleX(0);
  transform-origin:left;

  transition:transform .45s ease;
}

.news-card:hover::after{
  transform:scaleX(1);
}

/* =========================================================
   IMAGE
========================================================= */

.news-image{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/10;
}

.news-image img{
  width:100%;
  height:100%;
  object-fit:cover;

  transition:transform .7s ease;
}

.news-card:hover .news-image img{
  transform:scale(1.08);
}

.news-image::after{
  content:'';
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(26,31,92,.08) 0%,
      rgba(12,16,48,.82) 100%
    );
}

/* =========================================================
   DATE
========================================================= */

.news-date{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;

  width:68px;
  height:68px;

  border-radius:12px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  background:
    rgba(12,16,48,.78);

  border:1px solid var(--line-2);

  backdrop-filter:blur(10px);
}

.news-date span{
  font-family:var(--display);
  font-size:28px;
  line-height:1;
  color:var(--sky-bright);
}

.news-date{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--paper);
}

/* =========================================================
   CONTENT
========================================================= */

.news-content{
  padding:30px;
}

.news-meta{
  display:flex;
  gap:18px;

  margin-bottom:18px;

  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;

  color:var(--sky-bright);
}

.news-meta span{
  position:relative;
}

.news-meta span:not(:last-child)::after{
  content:'';
  position:absolute;
  top:50%;
  right:-10px;

  width:4px;
  height:4px;

  border-radius:50%;
  background:var(--sky-bright);

  transform:translateY(-50%);
}

.news-content h3{
  font-family:var(--display);
  font-size:30px;
  line-height:1.12;
  font-weight:400;
  letter-spacing:-0.03em;

  margin-bottom:18px;

  color:var(--paper);

  transition:color .3s ease;
}

.news-card:hover h3{
  color:var(--sky-bright);
}

.news-content p{
  font-size:14px;
  line-height:1.75;
  color:var(--paper-dim);

  margin-bottom:28px;
}

/* =========================================================
   BUTTON
========================================================= */

.news-link{
  display:inline-flex;
  align-items:center;
  gap:10px;

  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;

  color:var(--paper);

  transition:all .3s ease;
}

.news-link::after{
  content:'→';
  transition:transform .3s ease;
}

.news-link:hover{
  color:var(--sky-bright);
}

.news-link:hover::after{
  transform:translateX(5px);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1024px){

  .news-grid{
    grid-template-columns:1fr 1fr;
  }

  .news-content h3{
    font-size:26px;
  }
}

@media(max-width:640px){

  .news-grid{
    grid-template-columns:1fr;
  }

  .news-content{
    padding:24px;
  }

  .news-content h3{
    font-size:24px;
  }

  .news-date{
    width:60px;
    height:60px;
  }

  .news-date span{
    font-size:24px;
  }
}


/* =========================================================
   SINGLE NEWS PAGE
========================================================= */

.single-news-hero{
  position:relative;
  overflow:hidden;

  padding:100px 0 100px;

  background:
    radial-gradient(
      ellipse 80% 60% at 50% 0%,
      rgba(95,163,217,.18),
      transparent 70%
    ),
    linear-gradient(
      180deg,
      var(--bg-2),
      var(--bg)
    );

  border-bottom:1px solid var(--line);
}

.single-news-hero::before{
  content:'';
  position:absolute;
  inset:0;

  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px) 0 0/64px 64px;

  opacity:.45;
}

.single-news-hero .wrap{
  position:relative;
  z-index:2;
  max-width:1000px;
}

.single-news-meta{
  display:flex;
  flex-wrap:wrap;
  gap:18px;

  margin-bottom:28px;
}

.single-news-meta span{
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;

  color:var(--sky-bright);
}

.single-news-hero h1{
  font-family:var(--display);
  font-size:clamp(48px,6vw,92px);
  line-height:.95;
  font-weight:300;
  letter-spacing:-0.05em;

  max-width:900px;

  margin-bottom:34px;
}

.single-news-author{
  display:flex;
  align-items:center;
  gap:18px;
}

.author-line{
  width:80px;
  height:1px;
  background:var(--sky-bright);
}

.single-news-author p{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;

  color:var(--paper-dim);
}

/* =========================================================
   FEATURED IMAGE
========================================================= */

.single-news-image-sec{
  padding-top:70px;
}

.single-news-image{
  position:relative;
  overflow:hidden;
  margin-bottom: 20px;

  border-radius:18px;
  border:1px solid var(--line);

  box-shadow:
    0 30px 80px rgba(0,0,0,.35);
}

.single-news-image img{
  width:100%;
  height:auto;
  display:block;
}

/* =========================================================
   CONTENT SECTION
========================================================= */

.single-news-content-sec{
  padding-top:80px;
}

.single-news-grid{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:70px;
}

/* =========================================================
   CONTENT
========================================================= */

.single-news-content{
  color:var(--paper-dim);
  font-size:17px;
  line-height:1.9;
}

.single-news-content p{
  margin-bottom:28px;
}

.single-news-content h2,
.single-news-content h3,
.single-news-content h4{
  font-family:var(--display);
  font-weight:400;
  letter-spacing:-0.03em;
  line-height:1.1;

  color:var(--paper);

  margin-top:50px;
  margin-bottom:24px;
}

.single-news-content h2{
  font-size:44px;
}

.single-news-content h3{
  font-size:34px;
}

.single-news-content h4{
  font-size:28px;
}

.single-news-content ul,
.single-news-content ol{
  margin-left:20px;
  margin-bottom:28px;
}

.single-news-content li{
  margin-bottom:12px;
}

.single-news-content blockquote{
  position:relative;

  margin:40px 0;
  padding:34px;

  border-left:3px solid var(--sky-bright);

  background:
    linear-gradient(
      135deg,
      var(--bg-2),
      var(--surface)
    );

  border-radius:10px;

  font-family:var(--display);
  font-size:28px;
  line-height:1.4;
  font-style:italic;

  color:var(--paper);
}

.single-news-content img{
  border-radius:12px;
  margin: 0px;
}

/* =========================================================
   SIDEBAR
========================================================= */

.single-news-sidebar{
  position:sticky;
  top:120px;

  display:flex;
  flex-direction:column;
  gap:26px;
}

.news-side-box{
  padding:30px;

  border-radius:14px;
  border:1px solid var(--line);

  background:
    linear-gradient(
      135deg,
      var(--bg-2),
      var(--surface)
    );
}

.side-title{
  font-family:var(--display);
  font-size:28px;
  line-height:1;
  font-weight:400;
  letter-spacing:-0.03em;

  margin-bottom:28px;
}

/* =========================================================
   SIDEBAR NEWS
========================================================= */

.side-news-item{
  display:flex;
  gap:16px;

  padding-bottom:20px;
  margin-bottom:20px;

  border-bottom:1px dashed var(--line);

  transition:all .3s ease;
}

.side-news-item:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:none;
}

.side-news-thumb{
  width:90px;
  height:90px;

  flex-shrink:0;

  border-radius:10px;
  overflow:hidden;
}

.side-news-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.side-news-content span{
  display:block;

  margin-bottom:8px;

  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;

  color:var(--sky-bright);
}

.side-news-content h4{
  font-size:16px;
  line-height:1.45;
  font-weight:500;

  color:var(--paper);

  transition:color .3s ease;
}

.side-news-item:hover h4{
  color:var(--sky-bright);
}

/* =========================================================
   TAGS
========================================================= */

.news-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.news-tags span{
  padding:10px 16px;

  border-radius:999px;

  border:1px solid var(--line-2);

  background:rgba(95,163,217,.08);

  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;

  color:var(--sky-bright);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1024px){

  .single-news-grid{
    grid-template-columns:1fr;
    gap:50px;
  }

  .single-news-sidebar{
    position:relative;
    top:auto;
  }
}

@media(max-width:640px){

  .single-news-hero{
    padding:150px 0 80px;
  }

  .single-news-hero h1{
    font-size:52px;
  }

  .single-news-content{
    font-size:16px;
  }

  .single-news-content h2{
    font-size:34px;
  }

  .single-news-content h3{
    font-size:28px;
  }

  .single-news-content blockquote{
    font-size:22px;
    padding:24px;
  }

  .news-side-box{
    padding:24px;
  }
}