:root{--ink:#0b0d10;--paper:#f0eee8;--muted:#9ba2a7;--line:#252b30;--cyan:#70f1ff;--amber:#ffc45f;--violet:#a798ff;--font:'DM Sans',sans-serif;--display:'Space Grotesk',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);font-family:var(--font);color:#fff;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}.progress{position:fixed;left:0;top:0;width:100%;height:2px;background:rgba(255,255,255,.08);z-index:999}.progress span{display:block;width:0;height:100%;background:var(--cyan)}.cursor-glow{position:fixed;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(112,241,255,.12),transparent 68%);pointer-events:none;z-index:50;transform:translate(-50%,-50%);mix-blend-mode:screen}.nav{position:fixed;z-index:100;top:0;left:0;width:100%;height:86px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);background:linear-gradient(to bottom,rgba(8,10,12,.65),rgba(8,10,12,.12))}.brand{font-family:var(--display);display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;font-size:14px;transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}.accent{color:var(--cyan)}.nav nav{display:flex;gap:34px;font-size:13px;color:#ccd2d5}.nav nav a{position:relative}.nav nav a:after{content:'';position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:.35s}.nav nav a:hover:after{transform:scaleX(1);transform-origin:left}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:17px 23px;border:1px solid rgba(255,255,255,.26);background:#fff;color:#101316;font-weight:700;font-size:14px;transition:.3s;position:relative;overflow:hidden}.btn:hover{transform:translateY(-2px)}.btn b{font-size:18px}.btn-small{padding:11px 16px;background:transparent;color:white}.section-dark{background:#0b0d10}.light-section{background:var(--paper);color:#171a1d}.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:130px 6vw 70px;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,11,.94) 0%,rgba(7,9,11,.72) 42%,rgba(7,9,11,.22) 78%),linear-gradient(0deg,rgba(7,9,11,.75),transparent 45%)}.hero-grid{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:7.5vw 7.5vw;mask-image:linear-gradient(to right,#000,transparent 76%)}.hero-copy{position:relative;z-index:2;max-width:830px}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#ccd5d8;display:flex;align-items:center;gap:10px;margin-bottom:28px}.eyebrow i{width:34px;height:1px;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}.hero h1,.section-dark h2,.light-section h2,.cta h2{font-family:var(--display);font-size:clamp(54px,6.3vw,104px);line-height:.94;letter-spacing:-.065em;margin:0}.hero h1 span,.section-dark h2 span{color:var(--cyan)}.hero p{max-width:690px;color:#b4bcc0;font-size:18px;line-height:1.65;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-weight:600;font-size:14px;display:inline-flex;gap:15px;align-items:center}.text-link span{color:var(--cyan);font-size:18px}.hero-hud{position:absolute;z-index:3;right:4vw;bottom:7vh;border:1px solid rgba(255,255,255,.14);background:rgba(12,16,20,.6);backdrop-filter:blur(12px);display:grid;grid-template-columns:repeat(3,1fr);min-width:530px}.hero-hud div{padding:17px 20px;border-right:1px solid rgba(255,255,255,.1)}.hero-hud div:last-child{border:0}.hero-hud small{font-size:9px;color:#7e898f;letter-spacing:.14em}.hero-hud strong{display:block;font-size:11px;margin-top:6px}.scroll-cue{position:absolute;left:2vw;bottom:30px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.16em;color:#808b90;display:flex;align-items:center;gap:10px}.scroll-cue span{height:36px;width:1px;background:var(--cyan)}.intro,.capabilities,.scan,.process,.why{padding:120px 6vw}.section-label{font-size:11px;letter-spacing:.15em;color:#777f84;margin-bottom:45px}.section-label.invert{color:#727d84}.intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:end}.light-section h2{font-size:clamp(42px,5vw,78px);max-width:900px}.light-section h2 em{font-style:normal;color:#6b7174}.intro-copy p,.cap-head p,.process-head p{font-size:17px;line-height:1.7;color:#62696c}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid #cfcac0;padding-top:22px}.metric-row strong{font:600 40px var(--display);display:block}.metric-row span{font-size:11px;color:#858b8e}.services{display:grid;grid-template-columns:.8fr 1.2fr;padding:120px 6vw 80px;gap:5vw}.sticky-copy{position:sticky;top:140px;height:max-content}.sticky-copy h2{font-size:clamp(48px,5vw,76px)}.sticky-copy p{color:#7f898e;max-width:320px;line-height:1.6}.service-stack{display:flex;flex-direction:column;gap:26px}.service-card{min-height:440px;border:1px solid var(--line);padding:42px;position:relative;overflow:hidden;background:#11151a;display:grid;grid-template-columns:80px 1fr}.service-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(112,241,255,.08),transparent 32%)}.service-card.elec:before{background:radial-gradient(circle at 80% 20%,rgba(255,196,95,.08),transparent 32%)}.service-card.plumb:before{background:radial-gradient(circle at 80% 20%,rgba(167,152,255,.09),transparent 32%)}.card-no{color:#556068;font-size:12px}.tag{font-size:10px;letter-spacing:.16em;color:var(--cyan)}.service-card h3{font:600 42px var(--display);letter-spacing:-.04em;margin:12px 0 18px}.service-card p{color:#9ea8ad;line-height:1.65;max-width:530px}.service-card ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;padding:0;list-style:none;margin-top:36px;color:#d5dadd;font-size:13px}.service-card li:before{content:'↳';color:var(--cyan);margin-right:10px}.line-art{position:absolute;right:-30px;bottom:-30px;width:220px;height:220px;border:1px solid rgba(112,241,255,.18);border-radius:50%}.line-art:before,.line-art:after{content:'';position:absolute;border:1px solid rgba(112,241,255,.14);border-radius:50%;inset:25px}.line-art:after{inset:55px}.cap-head,.process-head{display:grid;grid-template-columns:1.2fr .6fr;gap:80px;align-items:end;margin-bottom:70px}.cap-head p,.process-head p{max-width:500px}.cap-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.cap-card{grid-column:span 3;border:1px solid #d3cec4;min-height:310px;padding:28px;display:flex;flex-direction:column;background:#f6f4ef;transition:.25s;transform-style:preserve-3d}.cap-card:hover{box-shadow:0 30px 70px rgba(25,28,31,.12)}.cap-card span{font:600 10px var(--display);letter-spacing:.18em;color:#7a8082}.cap-card h3{font:600 28px var(--display);letter-spacing:-.035em;margin:50px 0 16px}.cap-card p{color:#676e71;line-height:1.6}.cap-card b{margin-top:auto;font-size:23px}.cap-card.featured{background:#11161a;color:#fff}.cap-card.featured p{color:#9ca6aa}.bim{min-height:760px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center}.bim-visual{height:100%;min-height:760px;overflow:hidden}.bim-visual img{height:100%;object-fit:cover}.bim-copy{padding:80px 7vw}.bim-copy h2{font-size:clamp(48px,5vw,76px)}.bim-copy p{color:#9ca6ab;line-height:1.7;margin:28px 0}.pill-row{display:flex;flex-wrap:wrap;gap:10px}.pill-row span{border:1px solid #2b3439;border-radius:99px;padding:9px 14px;font-size:11px}.scan{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}.scan-frame{position:relative;border:1px solid #cbc7bd;overflow:hidden}.scan-frame img{aspect-ratio:1.5;object-fit:cover}.scan-line{position:absolute;left:0;top:0;width:2px;height:100%;background:#ffd372;box-shadow:0 0 22px #ffd372;animation:scan 4s linear infinite}.scan-caption{position:absolute;left:20px;right:20px;bottom:20px;background:rgba(10,13,16,.85);color:white;padding:14px 16px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em}@keyframes scan{0%{left:0}50%{left:100%}100%{left:0}}.industries{padding:100px 0 115px}.industries>.section-label,.industries>h2{margin-left:6vw;margin-right:6vw}.industries h2{font-size:clamp(44px,5vw,76px)}.industry-marquee{overflow:hidden;margin-top:75px;border-top:1px solid #22292e;border-bottom:1px solid #22292e;padding:25px 0}.track{display:flex;width:max-content;gap:26px;align-items:center;animation:marquee 22s linear infinite;font:600 24px var(--display);letter-spacing:.06em;color:#bcc6ca}.track i{font-size:6px;color:var(--cyan)}@keyframes marquee{to{transform:translateX(-50%)}}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c4ba}.step{padding:28px 28px 50px 0;border-right:1px solid #c9c4ba;min-height:280px}.step+.step{padding-left:28px}.step:last-child{border-right:0}.step>span{font:600 12px var(--display);color:#858b8f}.step h3{font:600 23px var(--display);margin-top:60px}.step p{font-size:14px;color:#6f7679;line-height:1.6}.portfolio{padding:120px 6vw}.portfolio-head{display:grid;grid-template-columns:1fr .5fr;gap:80px;align-items:end;margin-bottom:60px}.portfolio-head h2{font-size:clamp(48px,5vw,76px)}.portfolio-head p{color:#899399;line-height:1.6}.project-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.project{position:relative;overflow:hidden;min-height:330px;background:#13171b}.project.wide{grid-row:span 2;min-height:680px}.project img{height:100%;object-fit:cover;transition:transform 1s ease;opacity:.8}.project:hover img{transform:scale(1.04)}.project>div{position:absolute;left:25px;right:25px;bottom:22px;background:rgba(8,10,12,.78);backdrop-filter:blur(10px);padding:16px}.project span{font-size:9px;letter-spacing:.14em;color:var(--cyan)}.project h3{font:600 20px var(--display);margin:7px 0 0}.why h2{font-size:clamp(45px,5vw,74px);margin-bottom:70px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c4ba}.why-grid>div{padding:26px 28px 20px 0;border-right:1px solid #c9c4ba}.why-grid>div+div{padding-left:28px}.why-grid>div:last-child{border:0}.why-grid b{font:600 11px var(--display);color:#848b8e}.why-grid h3{font:600 23px var(--display);margin-top:50px}.why-grid p{font-size:14px;line-height:1.6;color:#747a7d}.faq{padding:120px 6vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.faq h2{font-size:clamp(48px,5vw,76px)}.accordion details{border-top:1px solid #262d31}.accordion details:last-child{border-bottom:1px solid #262d31}.accordion summary{list-style:none;padding:26px 0;font:500 18px var(--display);cursor:pointer;display:flex;justify-content:space-between}.accordion summary::-webkit-details-marker{display:none}.accordion p{color:#8c979c;line-height:1.7;max-width:780px;margin:0 0 24px}.cta{min-height:720px;background:#d9f8fb;color:#0d1114;display:grid;place-items:center;position:relative;overflow:hidden;padding:100px 6vw}.cta-bg{position:absolute;inset:0;background:linear-gradient(rgba(10,20,22,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(10,20,22,.06) 1px,transparent 1px);background-size:60px 60px;transform:perspective(800px) rotateX(65deg) scale(1.5) translateY(18%);transform-origin:center bottom}.cta-copy{position:relative;z-index:1;max-width:920px;text-align:center}.cta h2{font-size:clamp(52px,6vw,88px)}.cta p{max-width:680px;margin:28px auto 34px;color:#536166;line-height:1.7}.eyebrow.light{justify-content:center;color:#425156}.btn-light{background:#0d1114;color:white;border-color:#0d1114}footer{height:110px;background:#090b0d;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;color:#7d878c;font-size:12px;border-top:1px solid #1e2428}footer .brand{color:white}@media(max-width:1000px){.nav nav{display:none}.hero-hud{display:none}.intro-grid,.services,.bim,.scan,.faq,.cap-head,.process-head,.portfolio-head{grid-template-columns:1fr}.services{padding-top:90px}.sticky-copy{position:relative;top:0}.cap-card{grid-column:span 6}.steps,.why-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.project.wide{min-height:430px}.bim-visual{min-height:520px}.bim{min-height:auto}}@media(max-width:640px){.cursor-glow{display:none}.nav{height:70px;padding:0 20px}.nav .btn-small{display:none}.hero{padding:120px 22px 70px}.hero h1{font-size:52px}.hero p{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.scroll-cue{display:none}.intro,.capabilities,.scan,.process,.why,.portfolio,.faq{padding:84px 22px}.services{padding:84px 22px}.service-card{padding:26px;grid-template-columns:1fr;min-height:480px}.card-no{margin-bottom:25px}.service-card h3{font-size:34px}.service-card ul{grid-template-columns:1fr}.cap-card{grid-column:span 12}.steps,.why-grid{grid-template-columns:1fr}.step,.why-grid>div{border-right:0;border-bottom:1px solid #c9c4ba;padding:28px 0}.step+.step,.why-grid>div+div{padding-left:0}.project.wide{min-height:340px}.bim-copy{padding:65px 22px}.bim-visual{min-height:380px}.industries>.section-label,.industries>h2{margin-left:22px;margin-right:22px}.faq{gap:40px}.cta{min-height:620px;padding:80px 22px}footer{height:auto;padding:35px 22px;flex-direction:column;gap:18px;align-items:flex-start}}

/* Final asset integration */
.hero-video { width:100%; height:100%; object-fit:cover; }
.bim-visual img,
.scan-frame img,
.project img { width:100%; height:100%; object-fit:cover; display:block; }
.project-graphic {
  min-height: 360px;
  background:
    linear-gradient(135deg, rgba(32,226,255,.12), transparent 42%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 32px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 32px),
    #0b1118;
  position: relative;
  overflow: hidden;
}
.project-graphic::before,
.project-graphic::after {
  content:"";
  position:absolute;
  border:1px solid rgba(80,225,255,.45);
  inset:18% 14%;
  transform:skewY(-8deg);
}
.project-graphic::after {
  inset:30% 24%;
  border-color:rgba(255,255,255,.18);
  transform:skewY(10deg);
}


/* MEP drafting section replacement */
.mep-drafting-visual {
  background: #0b1118;
}
.mep-drafting-visual img {
  min-height: 360px;
  filter: saturate(.9) contrast(1.04);
}
.mep-drafting-visual .scan-caption {
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 640px) {
  .mep-drafting-visual img {
    min-height: 260px;
  }
}
