:root{--ink:#0A0A0A;--ink2:#171717;--panel:#222222;--gold:#F1B94C;--gold-dark:#9B6810;--white:#fff;--soft:#F7F7F5;--muted:#5F6368;--line:#DEDED8;--max:1180px;--shadow:0 18px 48px rgba(0,0,0,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{margin:0 0 10px;color:var(--gold-dark);font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.section{padding:88px 0}.section-soft{background:var(--soft)}.section-dark{background:var(--ink);color:#fff}.section-title{max-width:760px;margin:0 0 16px;font-size:clamp(2.25rem,4.5vw,4.5rem);line-height:.98;letter-spacing:-.05em}.section-lead{max-width:720px;margin:0 0 36px;color:var(--muted);font-size:1.08rem}.section-dark .section-lead{color:#CECECE}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:9px;padding:0 22px;border:2px solid transparent;border-radius:7px;background:var(--gold);color:#0A0A0A;font-size:.88rem;font-weight:900;letter-spacing:.025em;text-transform:uppercase;transition:.2s}.button:hover,.button:focus-visible{background:#FFD071;transform:translateY(-2px)}.button-outline{border-color:rgba(255,255,255,.8);background:transparent;color:#fff}.button-outline:hover{background:#fff;color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--panel)}.actions{display:flex;flex-wrap:wrap;gap:12px}.utility{background:#050505;color:#E1E1E1;font-size:.78rem}.utility .wrap{display:flex;min-height:34px;align-items:center;justify-content:space-between}.utility a{font-weight:900}.header{position:sticky;z-index:60;top:0;border-bottom:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}.nav{display:flex;min-height:76px;align-items:center;gap:27px}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-logo{width:52px;height:52px;object-fit:contain}.brand-copy{line-height:1.02;text-transform:uppercase}.brand-copy strong{display:block;max-width:190px;font-size:.84rem;letter-spacing:.01em}.brand-copy small{display:block;margin-top:5px;color:var(--gold-dark);font-size:.64rem;font-weight:900}.nav-links{display:flex;align-items:center;gap:22px;font-size:.84rem;font-weight:900}.nav-links a{padding:28px 0}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--gold-dark)}.menu-button{display:none;border:0;background:transparent;padding:10px}.menu-button span{display:block;width:25px;height:2px;margin:5px;background:var(--ink)}.modebar{background:var(--ink);color:#fff}.modebar .wrap{display:flex;min-height:46px;align-items:center;gap:9px}.modebar span{margin-right:auto;color:#B5B5B5;font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.modebar a{padding:7px 12px;border-radius:5px;color:#E1E1E1;font-size:.76rem;font-weight:900}.modebar a:hover,.modebar a[aria-current="page"]{background:var(--gold);color:#0A0A0A}
.hero{position:relative;min-height:640px;display:grid;align-items:center;overflow:hidden;background:#0A0A0A;color:#fff}.hero-media{position:absolute;inset:0}.hero-media img{opacity:.64}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.88) 43%,rgba(5,5,5,.18) 78%)}.hero-content{position:relative;z-index:2;max-width:720px;padding:88px 0 96px}.hero h1{margin:0 0 22px;font-size:clamp(3.2rem,6.5vw,6.1rem);line-height:.93;letter-spacing:-.06em}.hero .lead{max-width:650px;margin:0 0 30px;color:#E8E8E8;font-size:1.17rem}.proof-line{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;color:#DEDEDE;font-size:.85rem;font-weight:800}.proof-line span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--gold)}.hero-home{min-height:700px}.hero-home:after{background:linear-gradient(90deg,rgba(5,5,5,.98),rgba(5,5,5,.86) 44%,rgba(5,5,5,.2) 80%)}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.path-card{position:relative;min-height:490px;display:flex;align-items:flex-end;overflow:hidden;border-radius:11px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}.path-card img{position:absolute;inset:0;opacity:.6;transition:.45s}.path-card:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(5,5,5,.98))}.path-card:hover img{transform:scale(1.035);opacity:.73}.path-copy{position:relative;z-index:2;padding:30px}.path-copy h2{margin:0 0 10px;font-size:clamp(2rem,3vw,3.25rem);line-height:.98;letter-spacing:-.04em}.path-copy p{margin:0 0 24px;color:#DADADA}.path-copy .eyebrow{color:var(--gold)}
.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.intro-grid .section-lead{margin-bottom:25px}.portrait{min-height:460px;overflow:hidden;border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.portrait img{object-position:center 20%}.check-list{display:grid;gap:12px;margin:25px 0;padding:0;list-style:none}.check-list li{position:relative;padding-left:28px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--gold-dark);font-weight:1000}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-card{position:relative;min-height:245px;padding:28px;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:9px;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.06)}.section-dark .service-card{border-color:#333333;border-top-color:var(--gold);background:linear-gradient(145deg,#252525,#141414)}.service-card span{display:block;margin-bottom:28px;color:var(--gold-dark);font-size:.72rem;font-weight:1000;letter-spacing:.13em;text-transform:uppercase}.section-dark .service-card span{color:var(--gold)}.service-card h3{margin:0 0 9px;font-size:1.25rem}.service-card p{margin:0;color:var(--muted);font-size:.94rem}.section-dark .service-card p{color:#C0C0C0}
#mechanical-support{border-top:1px solid #333333;background:radial-gradient(circle at 90% 20%,rgba(241,185,76,.1),transparent 28%),var(--ink)}.mechanical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}.mechanical-card{padding:25px;border:1px solid #3A3A3A;border-left:4px solid var(--gold);border-radius:8px;background:linear-gradient(145deg,#252525,#141414)}.mechanical-card h3{margin:0 0 8px;font-size:1.15rem}.mechanical-card p{margin:0;color:#C0C0C0;font-size:.92rem}
.system-row{display:flex;flex-wrap:wrap;gap:10px}.system-row span{padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:.86rem;font-weight:900}.section-dark .system-row span{border-color:#3A3A3A;background:#202020}.system-accordion{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}.roof-system{grid-column:span 1;border:1px solid var(--line);border-radius:8px;background:#fff;transition:.2s}.roof-system[open]{grid-column:1/-1;border-color:var(--gold);box-shadow:0 12px 28px rgba(0,0,0,.08)}.roof-system summary{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px;cursor:pointer;font-size:.88rem;font-weight:900;list-style:none}.roof-system summary::-webkit-details-marker{display:none}.roof-system summary:after{content:"+";display:grid;width:25px;height:25px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--soft);color:var(--gold-dark);font-size:1.15rem}.roof-system[open] summary:after{content:"−";background:var(--gold);color:var(--ink)}.system-detail{padding:0 18px 18px;border-top:1px solid var(--line)}.system-life{display:inline-block;margin:16px 0 7px;color:var(--gold-dark);font-size:.78rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.system-detail p{margin:0;color:var(--muted);font-size:.92rem}.life-note{margin:18px 0 0;color:var(--muted);font-size:.8rem}
.feature-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--ink);color:#fff}.feature-image{min-height:480px}.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:70px max(36px,calc((100vw - var(--max))/2)) 70px 70px}.feature-copy h2{margin:0 0 16px;font-size:clamp(2.5rem,4.5vw,4.6rem);line-height:.96;letter-spacing:-.05em}.feature-copy p:not(.eyebrow){max-width:590px;color:#CECECE}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.step{display:grid;grid-template-columns:auto 1fr;gap:17px}.step-num{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:var(--gold);font-weight:1000}.step h3{margin:3px 0 6px}.step p{margin:0;color:var(--muted);font-size:.92rem}
.project-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{position:relative;min-height:380px;overflow:hidden;border-radius:10px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}.project-card img{position:absolute;inset:0;opacity:.7;transition:.45s}.project-card:after{content:"";position:absolute;inset:34% 0 0;background:linear-gradient(transparent,rgba(5,5,5,.98))}.project-card:hover img{transform:scale(1.04);opacity:.82}.project-card-copy{position:absolute;z-index:2;right:25px;bottom:25px;left:25px}.project-card-copy h3{margin:3px 0 7px;font-size:1.35rem}.project-card-copy p{margin:0;color:#D8D8D8;font-size:.9rem}.project-card-copy em{color:var(--gold);font-size:.7rem;font-style:normal;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}.project-link{position:absolute;z-index:3;inset:0}.section-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px;padding:28px 32px;border-radius:9px;background:var(--gold)}.section-cta p{max-width:720px;margin:0;font-weight:900}.section-cta .button{flex:0 0 auto}
.project-filter{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 38px}.filter-button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-weight:900;cursor:pointer}.filter-button.active,.filter-button:hover{border-color:var(--gold);background:var(--gold)}.story-list{display:grid;gap:24px}.project-story{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(0,0,0,.08)}.project-story[hidden]{display:none}.story-summary{position:relative;min-height:360px;display:flex;align-items:flex-end;overflow:hidden;cursor:pointer;list-style:none}.story-summary::-webkit-details-marker{display:none}.story-summary img{position:absolute;inset:0}.story-summary:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(5,5,5,.98))}.story-heading{position:relative;z-index:2;width:100%;padding:30px;color:#fff}.story-heading h2{margin:4px 0 8px;font-size:clamp(2rem,4vw,3.5rem);line-height:1}.story-heading p{max-width:720px;margin:0;color:#D8D8D8}.story-heading b{display:inline-block;margin-top:18px;color:var(--gold);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.story-body{padding:28px}.story-scope{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;margin-bottom:25px}.story-scope h3{margin:0;font-size:1.5rem}.story-scope p{margin:0;color:var(--muted)}.story-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.story-photo{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.story-photo img{aspect-ratio:4/3}.story-photo p{margin:0;padding:13px 15px;color:var(--muted);font-size:.88rem}.story-photo strong{color:var(--ink)}
.contact{padding:90px 0;background:radial-gradient(circle at 85% 35%,rgba(241,185,76,.13),transparent 28%),linear-gradient(145deg,#171717,#050505);color:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact h2{margin:0 0 17px;font-size:clamp(2.8rem,5vw,5rem);line-height:.95;letter-spacing:-.05em}.contact-copy>p:not(.eyebrow){max-width:500px;color:#CCCCCC}.contact-direct{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}.contact-direct a{display:block;margin:8px 0;font-weight:900}.jotform-shell{min-height:620px;overflow:hidden;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.jotform-shell iframe{display:block;width:100%;min-height:620px;border:0}.areas{padding:30px 0;background:var(--gold);text-align:center}.areas p{margin:0;font-weight:1000}.areas span{display:inline-block;margin:6px 11px}.footer{padding:42px 0 98px;background:#050505;color:#D0D0D0}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:50px}.footer .brand-copy strong{color:#fff}.footer .brand-logo{filter:brightness(0) invert(1)}.footer h3{margin:0 0 12px;color:#fff;font-size:.82rem;text-transform:uppercase}.footer-links{display:grid;gap:7px}.footer p,.footer a{font-size:.86rem}.copyright{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#8A8A8A;font-size:.72rem}.mobile-actions{display:none}
.header{border-bottom-color:rgba(241,185,76,.24);background:rgba(5,5,5,.97);color:#fff}.nav{min-height:94px;gap:22px}.brand-logo{width:118px;height:82px;flex:0 0 auto;object-fit:cover;object-position:center}.brand-copy strong{color:#fff}.brand-copy small{color:var(--gold)}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--gold)}.menu-button span{background:var(--gold)}.footer .brand-logo{filter:none}.footer .brand-copy small{color:var(--gold)}
@media(max-width:980px){.nav-links,.nav>.button{display:none}.menu-button{display:block}.nav-links.open{position:fixed;inset:76px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:22px;background:#fff}.nav-links.open a{padding:17px 6px;border-bottom:1px solid var(--line);font-size:1rem}.path-grid,.service-grid,.project-preview{grid-template-columns:1fr 1fr}.path-card:last-child{grid-column:1/-1}.intro-grid,.contact-grid{grid-template-columns:1fr}.intro-grid{gap:40px}.feature-split{grid-template-columns:1fr}.feature-copy{padding:60px 40px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}
@media(max-width:980px){.nav-links.open{inset:94px 0 0;background:#0A0A0A;color:#fff}.nav-links.open a{border-bottom-color:#333}.nav-links.open a:hover{color:var(--gold)}}
@media(max-width:680px){.wrap{width:min(var(--max),calc(100% - 28px))}.utility{display:none}.nav{min-height:66px}.nav-links.open{inset:66px 0 0}.brand-logo{width:46px;height:46px}.brand-copy strong{font-size:.74rem}.brand-copy small{font-size:.56rem}.modebar{overflow:auto}.modebar .wrap{width:max-content;min-width:100%;padding:0 14px}.modebar span{display:none}.modebar a{white-space:nowrap}.hero,.hero-home{min-height:680px;align-items:end}.hero:after,.hero-home:after{background:linear-gradient(180deg,rgba(5,5,5,.22),rgba(5,5,5,.98) 72%)}.hero-content{padding:180px 0 70px}.hero h1{font-size:3.25rem}.hero .lead{font-size:1rem}.actions{display:grid}.actions .button{width:100%}.section{padding:65px 0}.path-grid,.service-grid,.project-preview,.process-grid,.system-accordion,.mechanical-grid{grid-template-columns:1fr}.roof-system,.roof-system[open]{grid-column:1}.path-card,.path-card:last-child{grid-column:auto;min-height:420px}.portrait{min-height:320px}.feature-image{min-height:340px}.feature-copy{padding:52px 22px}.section-cta{align-items:flex-start;flex-direction:column;padding:24px}.section-cta .button{width:100%}.story-summary{min-height:420px}.story-heading{padding:24px 20px}.story-body{padding:18px}.story-scope,.story-gallery{grid-template-columns:1fr}.contact{padding:65px 0}.jotform-shell,.jotform-shell iframe{min-height:690px}.footer-grid{grid-template-columns:1fr}.footer-grid>:first-child{grid-column:auto}.mobile-actions{position:fixed;z-index:90;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);box-shadow:0 -8px 28px rgba(0,0,0,.3)}.mobile-actions a{min-height:64px;display:grid;place-items:center;padding:8px;color:#fff;font-size:.8rem;font-weight:1000;text-align:center;text-transform:uppercase}.mobile-actions a:last-child{background:var(--gold);color:#0A0A0A}.mobile-actions small{display:block;font-size:.66rem;font-weight:700}}
@media(max-width:680px){.nav{min-height:72px}.nav-links.open{inset:72px 0 0}.brand-logo{width:88px;height:62px}.brand-copy strong{max-width:148px}.header .brand{gap:6px}.header .brand-copy small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
