:root{
  --bg:#040404;
  --bg-soft:#070808;
  --panel:#0a0b0b;
  --panel-soft:#0d0f0f;
  --text:#f5f5f3;
  --muted:#b0b4b1;
  --soft:#7e8581;
  --line:rgba(255,255,255,.08);
  --line-soft:rgba(255,255,255,.05);
  --accent:#2bbf8d;
  --accent-2:#3bc9a0;
  --white:#ffffff;
  --shell:min(1420px,calc(100vw - 56px));
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(circle at 12% 0%,rgba(29,50,44,.22),transparent 36%),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:auto,84px 84px,84px 84px}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} .shell{width:var(--shell);margin:0 auto}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:linear-gradient(180deg,rgba(4,4,4,.9) 0%,rgba(4,4,4,.6) 58%,rgba(4,4,4,0) 100%);border-bottom:1px solid transparent;transition:.24s ease}.site-header.is-scrolled{background:rgba(4,4,4,.94);backdrop-filter:blur(16px);border-color:var(--line)}
.site-header__inner{height:90px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.brand{display:flex;flex-direction:column;gap:7px}.brand img{width:162px;height:auto}.brand small{font-size:9px;letter-spacing:.42em;color:#7f8782;white-space:nowrap}
.site-nav{justify-self:center}.site-nav__list{display:flex;gap:44px;list-style:none;padding:0;margin:0;font-size:13px;color:#d5d7d4}.site-nav__list li{margin:0}.site-nav__list a{position:relative;display:inline-block;padding:4px 0}.site-nav__list a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--accent);transition:right .22s ease}.site-nav__list a:hover,.site-nav__list .current-menu-item>a{color:#fff}.site-nav__list a:hover:after,.site-nav__list .current-menu-item>a:after{right:0}
.site-header__actions{display:flex;align-items:center;gap:16px}.portal-link{display:inline-flex;align-items:center;gap:14px;padding:15px 24px;border:1px solid rgba(84,177,143,.42);color:#f1f5f2;font-size:13px;line-height:1;background:rgba(5,5,5,.3);transition:.22s ease}.portal-link:hover{border-color:rgba(84,177,143,.8);background:rgba(43,191,141,.06)}.portal-link span{font-size:16px;color:#fff}
.nav-toggle{display:none;width:42px;height:42px;padding:0;background:none;border:0}.nav-toggle span{display:block;height:2px;background:#fff;margin:7px 0;transition:.24s ease}
main{display:block}
.hero{padding-top:86px;position:relative}
.hero:before{content:"";position:absolute;left:0;right:0;top:86px;height:1px;background:var(--line)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1.1fr .48fr;min-height:530px;border-bottom:1px solid var(--line)}
.hero-copy,.hero-scene,.hero-panel{min-height:530px}
.hero-copy{padding:82px 52px 50px 10px;background:linear-gradient(90deg,#050505 0%,#050505 88%,rgba(5,5,5,.92) 100%)}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.36em;color:#848b87;margin-bottom:20px;text-transform:uppercase}.eyebrow--line{position:relative;padding-left:56px}.eyebrow--line:before{content:"";position:absolute;left:0;top:50%;width:42px;height:1px;background:var(--accent)}
.hero h1{margin:0;max-width:420px;font-size:clamp(56px,5.5vw,76px);line-height:.94;letter-spacing:-.056em;font-weight:400}.hero h1 span{display:block}.hero h1 i{font-style:normal;color:var(--accent);font-weight:600}
.hero p{margin:24px 0 0;max-width:370px;color:#a3aaa6;font-size:17px;line-height:1.45}
.hero-buttons{margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 28px;border:1px solid var(--line);font-size:13px;font-weight:500;gap:16px;transition:.22s ease}.button span{font-size:18px;line-height:1}.button--outline{border-color:rgba(84,177,143,.7);color:#f5f7f5;background:rgba(0,0,0,.18)}.button--outline:hover{transform:translateY(-2px);background:rgba(43,191,141,.08)}.button--solid{background:#1894ff;color:#fff;border-color:#1894ff;padding:0 24px 0 26px}.button--solid:hover{background:#27a1ff;border-color:#27a1ff;transform:translateY(-2px)}
.hero-scene{background:linear-gradient(180deg,rgba(5,5,5,.10),rgba(5,5,5,.18)),url('../images/hero-scene.jpg');background-size:cover;background-position:center center}
.hero-panel{position:relative;background:#111}.hero-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.15),rgba(5,5,5,.25)),url('../images/hero-panel.jpg');background-size:cover;background-position:center center}
.hero-panel__overlay{position:relative;z-index:1;min-height:530px;padding:118px 40px 40px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-panel__quote{font-size:26px;line-height:1.34;letter-spacing:.12em;color:#dce0db;font-weight:300;margin-bottom:48px}
.hero-panel__icons{display:flex;gap:20px;color:#dfe3df;font-size:28px;opacity:.9}
.services-strip{background:var(--bg);border-bottom:1px solid var(--line)}
.services-strip__grid{display:grid;grid-template-columns:repeat(6,1fr)}
.service-mini{padding:38px 22px 40px;border-left:1px solid var(--line);min-height:166px;background:linear-gradient(180deg,rgba(8,9,9,.8),rgba(4,4,4,.8))}.service-mini:first-child{border-left:0}
.service-mini__icon{display:block;font-size:38px;line-height:1;color:#ecefec;margin-bottom:24px;font-weight:300}.service-mini h3{font-size:14px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;margin:0 0 9px;color:#f0f1ef}.service-mini p{margin:0;color:#9ca29f;font-size:13px;line-height:1.4}
.featured{padding:72px 0 94px;background:var(--bg)}
.featured__header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:36px}.featured__lead h2{margin:0;font-size:clamp(42px,4vw,58px);line-height:1.06;letter-spacing:-.04em;font-weight:400}.featured__link{margin-top:10px;font-size:14px;color:var(--accent);display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.featured__link span{font-size:18px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{display:block;background:var(--panel);border:1px solid var(--line-soft);overflow:hidden;position:relative}.project-card__image{aspect-ratio:1.38/1;background:#0a0a0a;overflow:hidden}.project-card__image img{width:100%;height:100%;object-fit:cover;filter:brightness(.90) saturate(.8);transition:.35s ease}.project-card:hover .project-card__image img{transform:scale(1.03);filter:brightness(.98) saturate(.9)}
.project-card__body{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;padding:14px 16px 16px;background:rgba(5,5,5,.94)}.project-card__body h3{grid-column:1/2;margin:0;font-size:17px;font-weight:500}.project-card__meta{grid-column:1/2;color:#969d99;font-size:12px}.project-card__arrow{grid-column:2/3;grid-row:1/3;align-self:center;font-size:24px;color:#e5e9e6}
.contact-band{border-top:1px solid var(--line);padding:48px 0 52px;background:linear-gradient(180deg,rgba(3,3,3,.96),rgba(8,8,8,.96))}.contact-band__inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.contact-band__inner h2{margin:0;font-size:40px;line-height:1.08;letter-spacing:-.03em;font-weight:400;max-width:660px}
.site-footer{border-top:1px solid var(--line);background:#030303;padding:18px 0 22px}.site-footer__top{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding-bottom:18px}.site-footer__brand{display:flex;align-items:center;gap:18px;color:#828783;font-size:11px}.site-footer__brand img{width:110px}.site-footer__nav{display:flex;gap:24px;font-size:12px;color:#959b97}.site-footer__nav a:hover{color:#fff}.site-footer__bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;color:#666b68;font-size:11px}
.generic-page{padding:150px 0 90px;min-height:70vh}.generic-page__inner{max-width:980px}.content-card h1{margin:0 0 14px;font-size:clamp(44px,5vw,70px);line-height:1;letter-spacing:-.04em;font-weight:400}.entry-content{font-size:18px;line-height:1.75;color:#b5bbb7}.entry-content a{color:var(--accent)}.project-single__featured{margin:28px 0 22px;overflow:hidden;border:1px solid var(--line)}.project-single__featured img{width:100%;height:auto}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1200px){:root{--shell:min(100vw - 40px,1180px)}.hero-grid{grid-template-columns:1fr 1.05fr .42fr}.hero-copy{padding-right:34px}.services-strip__grid{grid-template-columns:repeat(3,1fr)}.service-mini:nth-child(4){border-left:0;border-top:1px solid var(--line)}.service-mini:nth-child(5),.service-mini:nth-child(6){border-top:1px solid var(--line)}}
@media(max-width:980px){.site-header__inner{height:74px}.brand img{width:136px}.brand small{display:none}.portal-link{display:none}.nav-toggle{display:block;z-index:10}.site-nav{position:fixed;inset:0 0 auto 0;background:rgba(4,4,4,.98);padding:88px 24px 24px;transform:translateY(-110%);transition:transform .25s ease;border-bottom:1px solid var(--line)}.site-nav.is-open{transform:translateY(0)}.site-nav__list{flex-direction:column;align-items:flex-start;gap:24px}.site-nav__list a{font-size:22px}.nav-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.hero{padding-top:74px}.hero:before{top:74px}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy,.hero-scene,.hero-panel,.hero-panel__overlay{min-height:auto}.hero-copy{padding:52px 12px 36px}.hero h1{max-width:520px;font-size:clamp(54px,10vw,70px)}.hero p{max-width:540px}.hero-scene{min-height:400px}.hero-panel__overlay{padding:46px 28px;min-height:230px}.hero-panel__quote{font-size:22px;margin-bottom:26px}.services-strip__grid{grid-template-columns:repeat(2,1fr)}.service-mini{border-top:1px solid var(--line)}.service-mini:nth-child(odd){border-left:0}.service-mini:nth-child(-n+2){border-top:0}.featured__header,.contact-band__inner,.site-footer__top,.site-footer__bottom{flex-direction:column;align-items:flex-start;display:flex}.project-grid{grid-template-columns:1fr}.project-card__image{aspect-ratio:1.7/1}}
@media(max-width:640px){:root{--shell:calc(100vw - 28px)}.hero-copy{padding-left:0}.hero h1{font-size:48px}.hero p{font-size:15px}.button{width:100%;justify-content:space-between}.services-strip__grid{grid-template-columns:1fr}.service-mini{border-left:0}.service-mini:nth-child(2){border-top:1px solid var(--line)}.featured{padding-top:58px;padding-bottom:72px}.featured__lead h2{font-size:38px}.contact-band__inner h2{font-size:34px}}

/* v2.1 refinements */
.hero-grid{grid-template-columns:minmax(500px,.9fr) minmax(0,1.55fr);}
.hero-copy{padding-right:42px;}
.hero h1{max-width:none;font-size:clamp(54px,4.9vw,72px);}
.hero h1 .hero-nowrap{white-space:nowrap;}
.hero-scene{background-image:linear-gradient(90deg,rgba(5,5,5,.18) 0%,rgba(5,5,5,.04) 35%,rgba(5,5,5,.08) 100%),url('../images/hero-scene.jpg');background-size:cover;background-position:center center;}
.hero-panel,.hero-panel__overlay{display:none!important;}
.service-mini__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:22px;}
.service-mini__icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.service-mini--electrical .service-mini__icon{color:#f2a43b;}
.service-mini--mechanical .service-mini__icon{color:#58a8ff;}
.service-mini--hvac .service-mini__icon{color:#59d3e8;}
.service-mini--security .service-mini__icon{color:#ff5d5d;}
.service-mini--smart .service-mini__icon{color:#42c68d;}
.service-mini--automation .service-mini__icon{color:#a779ff;}
@media(max-width:1200px){.hero-grid{grid-template-columns:minmax(440px,.95fr) minmax(0,1.35fr)}.hero h1{font-size:clamp(50px,5.3vw,66px)}}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero h1 .hero-nowrap{white-space:normal}.hero-scene{min-height:430px}}
