:root{--ink:#11112d;--purple:#302052;--orange:#f29532;--text:#242438;--muted:#626273;--line:#e1e1e9;--light:#f5f5f8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--text);background:white;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c16b12;outline-offset:5px}img{display:block;max-width:100%}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,6vw,5.4rem);font-weight:700;margin-bottom:25px;max-width:1050px}h2{font-size:clamp(2rem,3.5vw,3.3rem);margin-bottom:25px}h3{font-size:1.5rem;margin-bottom:16px}p{margin-bottom:22px;color:var(--muted)}.wrap{max-width:1280px;margin:auto;padding-left:48px;padding-right:48px}.section{padding-top:86px;padding-bottom:86px}.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#915016;margin-bottom:21px}.skip{position:fixed;left:15px;top:-100px;padding:15px;background:white;z-index:100}.skip:focus{top:15px}header{background:var(--ink);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff17}.header-inner{max-width:1400px;padding:15px 36px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.brand img{width:70px;height:64px;object-fit:contain}.brand span{font-weight:700;font-size:1rem;letter-spacing:.06em}.brand small{display:block;font-size:.64rem;color:#babaca;letter-spacing:.2em;margin-top:3px}nav{display:flex;align-items:center;gap:23px}nav>a{font-size:.9rem;white-space:nowrap;padding:8px 0;border-bottom:2px solid transparent}nav>a:hover,nav>a[aria-current=page]:not(.button){color:var(--orange);border-color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:var(--ink);padding:16px 25px;border:1px solid var(--orange);font-size:.94rem;font-weight:700;letter-spacing:.015em;border-radius:3px;line-height:1.4;transition:background .2s}.button:hover{background:#ffac54;border-color:#ffac54}.button.small{padding:12px 16px;font-size:.86rem}.button.outline{background:transparent;color:white;border-color:#ffffff70}.button.outline:hover{background:#ffffff15}.menu-toggle{display:none}.socials{display:flex;align-items:center;gap:12px}.socials a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #ffffff35;border-radius:3px}.socials a:hover{color:var(--orange)}.socials svg{width:20px;height:20px}[hidden]{display:none!important}.hero{min-height:660px;height:calc(100svh - 96px);max-height:1000px;position:relative;color:white;display:flex;align-items:center;background:var(--ink);overflow:hidden}.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(12,12,31,.93) 0%,rgba(12,12,31,.63) 55%,rgba(12,12,31,.3) 100%)}.hero-content{position:relative;width:100%;padding-top:50px;padding-bottom:125px}.hero .eyebrow{color:var(--orange)}.hero h1{color:white;font-size:clamp(3.5rem,6.6vw,6rem);max-width:900px}.hero-content>p:not(.eyebrow){max-width:540px;font-size:1.15rem;color:#dedee8}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.12em;color:#d4d4df}.hero-bottom:before{content:'';position:absolute;top:-22px;left:48px;right:48px;height:1px;background:#ffffff30}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:35px}.section-heading>p{max-width:460px}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.scope-card{padding:35px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.number{font-size:.8rem;letter-spacing:.12em;color:#895018;display:block;margin-bottom:30px}.scope-card h3{font-size:1.6rem}.scope-card p{margin-bottom:0}.text-link{display:inline-block;font-weight:700;border-bottom:1px solid #b16e2b;padding-bottom:5px;margin-top:24px}.text-link:hover{color:#955019}.feature{background:var(--light);padding:75px 0}.feature-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:75px}.feature-grid>img{width:100%;height:470px;object-fit:cover;border-radius:3px}.feature-grid>div>p:not(.eyebrow){max-width:510px}.featured-photos{display:grid;grid-template-columns:1.4fr 1fr;gap:25px}.featured-photos img{height:350px;width:100%;object-fit:cover;border-radius:3px}.featured-photos span{display:block;padding:16px 0;font-size:1.05rem;font-weight:700}.cta{background:var(--purple);padding:65px 0;color:white}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:45px}.cta h2{font-size:clamp(1.8rem,3vw,2.7rem);color:white;margin:0}.cta .eyebrow{color:#ffb363}.cta .button{flex-shrink:0}.page-heading{background:var(--light);padding:75px 0 65px;border-bottom:1px solid var(--line)}.page-heading .intro{font-size:1.15rem;max-width:670px;margin-bottom:0}.split-cards{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:80px}.split-cards article{border:1px solid var(--line)}.split-cards img{height:310px;width:100%;object-fit:cover}.split-cards article>div{padding:30px}.split-cards h2{font-size:2rem}.materials{margin-top:80px}.three-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding-top:35px}.three-cols h3{font-size:1.4rem}.team-section{background:var(--light)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:45px}.team-grid article{padding-top:25px;border-top:1px solid var(--line)}.team-grid h3{font-size:2rem}.team-grid .role{color:#86501c;font-weight:700}.team-grid p:last-child{max-width:480px}.year-nav{display:flex;gap:15px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:40px}.year-nav a{border:1px solid var(--line);padding:9px 18px;border-radius:3px;font-weight:600}.year-nav a:hover{background:var(--ink);color:white}.project-group{margin-bottom:65px;scroll-margin-top:120px}.gallery-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.gallery-heading h2{font-size:2rem;margin:0}.gallery-heading span{font-size:.875rem;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo{position:relative;border:0;padding:0;background:var(--light);overflow:hidden;border-radius:3px}.photo img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.photo:hover img{transform:scale(1.035)}.photo span{position:absolute;bottom:12px;right:12px;background:var(--ink);color:white;padding:6px 10px;font-size:.75rem;opacity:0;transition:opacity .2s}.photo:hover span,.photo:focus-visible span{opacity:1}dialog{border:0;padding:70px 85px 40px;background:#101021f5;color:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}dialog::backdrop{background:#101021}dialog[open]{display:flex;align-items:center;justify-content:center;gap:20px}dialog figure{margin:0;max-width:calc(100% - 180px)}dialog img{max-height:78dvh;margin:auto;width:auto;object-fit:contain}dialog figcaption{text-align:center;font-size:.85rem;margin-top:15px}dialog button{color:white;border:1px solid #ffffff65;background:transparent;padding:10px;font-size:.85rem;border-radius:3px}.lightbox-close{position:absolute;top:20px;right:25px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-details>div{padding:0 0 30px;margin-bottom:25px;border-bottom:1px solid var(--line)}.contact-details .eyebrow{margin-bottom:10px}.contact-value{display:block;font-size:clamp(1.3rem,2.5vw,1.9rem);letter-spacing:-.02em;overflow-wrap:anywhere}.contact-value:hover{color:#8f4d14}.contact-panel{padding:45px;background:var(--ink);color:white;align-self:start}.contact-panel h2,.contact-panel h3{color:white}.contact-panel p{color:#c2c2d3}.contact-panel .eyebrow{color:var(--orange)}.social-contact{margin-top:40px}.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.quote-grid aside p{max-width:400px}.quote-form{background:var(--light);padding:35px;border:1px solid var(--line);border-radius:3px}.quote-form>div{margin-bottom:20px}.quote-form>div:has(>div){display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-form label{display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.quote-form input:not([type=hidden]),.quote-form textarea{width:100%;min-width:0;border:1px solid #cacad7;border-radius:2px;padding:13px;background:white}.quote-form textarea{height:150px;resize:vertical}.quote-form .button{width:100%}footer{background:var(--ink);color:white;padding:60px 0 20px}.footer-top{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:60px}.footer-top p{font-size:.9rem;color:#babaca;margin-top:20px}.footer-top h2{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#c0bfce;margin-bottom:20px}.footer-top>div>a:not(.brand){display:block;font-size:.9rem;margin-bottom:10px}.footer-top .socials{margin-top:20px}.footer-bottom{margin-top:45px;padding-top:20px;position:relative;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#a8a8bb}.footer-bottom:before{content:'';position:absolute;top:0;left:48px;right:48px;height:1px;background:#ffffff20}@media(min-width:1101px){nav .socials:has(a:not([hidden])){padding-left:12px;border-left:1px solid #ffffff30}}@media(max-width:1100px){.header-inner{padding:12px 28px}.brand span{font-size:.86rem}.brand img{width:58px;height:54px}.menu-toggle{display:block;border:1px solid #ffffff60;color:white;background:transparent;padding:9px 15px;border-radius:3px}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);padding:25px 30px;align-items:stretch;flex-direction:column;gap:12px;border-bottom:1px solid #ffffff30;max-height:calc(100dvh - 80px);overflow:auto}header nav.open{display:flex}header nav>a{padding:8px;font-size:1rem}header nav .socials{margin-top:5px}.feature-grid{gap:40px}.quote-grid{gap:40px}.wrap{padding-left:32px;padding-right:32px}.hero-bottom:before,.footer-bottom:before{left:32px;right:32px}}@media(max-width:700px){.wrap{padding-left:22px;padding-right:22px}.header-inner{padding:10px 18px}.brand img{width:51px;height:48px}.brand span{font-size:.78rem}.brand small{font-size:.6rem}.hero{min-height:620px;height:calc(100svh - 69px)}.hero h1{font-size:clamp(2.8rem,11vw,4rem)}.hero-content{padding-bottom:115px}.hero-content>p:not(.eyebrow){font-size:1rem;max-width:400px}.hero-bottom{flex-direction:column;gap:8px;font-size:.65rem;bottom:25px}.hero-bottom:before,.footer-bottom:before{left:22px;right:22px}.section{padding-top:55px;padding-bottom:55px}.section-heading{display:block;margin-bottom:30px}.section-heading h2 br{display:none}.scope-grid,.three-cols{grid-template-columns:1fr}.scope-card{padding:27px}.scope-card .number{margin-bottom:15px}.feature{padding:55px 0}.feature-grid,.featured-photos,.split-cards,.team-grid,.contact-grid,.quote-grid{grid-template-columns:1fr;gap:30px}.feature-grid>img{height:310px}.featured-photos img{height:280px}.cta{padding:45px 0}.cta-inner{align-items:flex-start;flex-direction:column;gap:25px}.page-heading{padding:50px 0 45px}.page-heading h1{font-size:2.75rem}.page-heading .intro{font-size:1rem}.split-cards{margin-top:50px}.split-cards img{height:240px}.materials{margin-top:55px}.three-cols{gap:10px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.project-group{margin-bottom:45px}.year-nav{gap:8px}.year-nav a{font-size:.8rem;padding:8px 12px}.contact-panel{padding:30px}.quote-form{padding:22px}.quote-form>div:has(>div){grid-template-columns:1fr}.quote-grid aside h2{font-size:2rem}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.footer-top>div>a{overflow-wrap:anywhere}dialog{padding:65px 12px 75px}dialog[open]{display:block}dialog figure{max-width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}dialog img{max-height:calc(100dvh - 190px);max-width:100%}.lightbox-prev,.lightbox-next{position:absolute;bottom:20px}.lightbox-prev{left:22px}.lightbox-next{right:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.hero video{display:none}.hero{background:url('2026-5.jpeg') center/cover}}

/* Typography inspired by the strong, condensed headings of the PCL reference. */
body{font-family:'Barlow',Arial,Helvetica,sans-serif;font-size:1.0625rem;line-height:1.65}
h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;letter-spacing:-.012em;line-height:1.05}
h1,.hero h1{font-weight:700}.hero h1{font-size:clamp(3.8rem,7.5vw,7.25rem);line-height:1}
.page-heading h1{font-size:clamp(3.25rem,6.8vw,6rem)}
h2{font-size:clamp(2.4rem,4vw,3.75rem)}h3,.scope-card h3{font-size:1.9rem}
.brand span{font-family:'Barlow',Arial,sans-serif;font-weight:700}.brand small{font-weight:500}
nav>a{font-size:1rem;font-weight:500}.eyebrow{font-size:.875rem}.button{font-family:'Barlow',Arial,sans-serif;font-weight:600}
/* Animate only page content; navigation stays fixed throughout. */
@view-transition{navigation:none}
html{scrollbar-gutter:stable}
header{view-transition-name:site-header}#main{view-transition-name:page-content}
::view-transition-old(root),::view-transition-new(root),::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}
::view-transition-group(page-content){animation-duration:800ms;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
::view-transition-old(page-content){animation:page-out 450ms cubic-bezier(.4,0,.2,1) both;mix-blend-mode:normal}
::view-transition-new(page-content){animation:page-in 800ms cubic-bezier(.22,.61,.36,1) both;mix-blend-mode:normal}
@keyframes page-in{from{opacity:0}to{opacity:1}}
@keyframes page-out{from{opacity:1}to{opacity:0}}
@media(max-width:700px){.hero h1{font-size:clamp(3.2rem,13vw,4.75rem)}.page-heading h1{font-size:3.2rem}h2{font-size:2.65rem}.scope-card h3{font-size:1.9rem}nav>a{font-size:1rem}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.no-native-page-transition #main,.no-native-page-transition.page-leaving #main{animation:none!important}}

/* Project photography creates a consistent visual backdrop for each service. */
.scope-grid:has(.photo-service){gap:18px;border:0}
.photo-service{position:relative;isolation:isolate;overflow:hidden;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;border:0;border-radius:3px;background:var(--ink);color:white}
.photo-service:before{content:'';position:absolute;inset:0;z-index:-2;background-image:var(--service-photo);background-position:center;background-size:cover;transition:transform 850ms cubic-bezier(.22,.61,.36,1)}
.photo-service:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,13,34,.3),rgba(13,13,34,.78) 45%,rgba(13,13,34,.97))}
.photo-service:hover:before{transform:scale(1.045)}.photo-service h3{color:white}.photo-service p{color:#eeeeF5}.photo-service .number{color:#ffb56a;margin-top:auto;margin-bottom:20px}
.careers-heading{background:linear-gradient(90deg,rgba(17,17,45,.97),rgba(17,17,45,.68)),url('2026-3.jpeg') center/cover;color:white}
.careers-heading h1{color:white}.careers-heading .eyebrow{color:#ffb56a}.careers-heading .intro{color:#e3e3ed}
.career-list{padding-left:22px;color:var(--muted);margin-bottom:28px}.career-list li{padding:5px 0}.careers-grid .quote-form h2{font-size:2.2rem}.careers-grid .text-link{margin:0}
.field-help{font-size:.875rem;margin:10px 0;color:var(--muted)}.field-error{font-size:.9rem;color:#a32a20;margin:10px 0}.resume-field input[type=file]{padding:18px!important;background:white}.resume-field input::file-selector-button{font:inherit;border:0;border-radius:3px;background:var(--ink);color:white;padding:10px 14px;margin-right:15px;cursor:pointer}
@media(max-width:700px){.photo-service{min-height:310px;padding:28px}.careers-grid .quote-form h2{font-size:2rem}.resume-field input[type=file]{font-size:.875rem}}

.portfolio-download{display:flex;align-items:center;justify-content:space-between;gap:50px;border-top:1px solid var(--line)}.portfolio-download p{max-width:600px}.portfolio-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;flex-shrink:0}.portfolio-actions .text-link{margin:0}.portfolio-actions span{font-size:.875rem;color:var(--muted)}.qualification-section{background:var(--light)}.pending-service-photo{background:var(--purple);color:white;display:flex;flex-direction:column;justify-content:flex-end;min-height:320px;border:0;border-radius:3px}.pending-service-photo h3{color:white}.pending-service-photo p{color:#ededf5}.pending-service-photo .number{color:#ffb56a}
@media(max-width:700px){.portfolio-download{flex-direction:column;align-items:flex-start;gap:20px}.portfolio-actions{width:100%}.portfolio-actions .button{width:100%}}

.compliance-summary{max-width:850px;font-size:1.125rem;margin-bottom:0}

.cladding-feature{background:var(--ink);color:white;padding:70px 0}.cladding-feature .wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}.cladding-feature h2{color:white}.cladding-feature p{color:#c9c9db}.cladding-feature .eyebrow{color:var(--orange)}.cladding-scene{width:100%;height:auto;display:block}.cladding-panel{animation:install-panel 12s cubic-bezier(.22,.61,.36,1) infinite;animation-delay:var(--delay);opacity:0}.cladding-window{animation:finish-house 12s ease-in-out infinite}.cladding-tool{animation:tool-travel 12s ease-in-out infinite}.cladding-scene .ground{stroke:#626078;stroke-width:2}@keyframes install-panel{0%,8%{opacity:0;transform:translate(100px,-20px)}18%,78%{opacity:1;transform:translate(0,0)}92%,100%{opacity:0;transform:translate(0,0)}}@keyframes finish-house{0%,12%{opacity:.35}50%,85%{opacity:1}100%{opacity:.35}}@keyframes tool-travel{0%,8%{opacity:0;transform:translateY(0)}20%,70%{opacity:1}75%,100%{opacity:0;transform:translateY(120px)}}@media(max-width:700px){.cladding-feature{padding:45px 0}.cladding-feature .wrap{grid-template-columns:1fr;gap:15px}}@media(prefers-reduced-motion:reduce){.cladding-panel,.cladding-window,.cladding-tool{animation:none;opacity:1;transform:none}.cladding-tool{display:none}}

/* Project film and accompanying gallery */
.work-showcase{display:grid;grid-template-columns:1.25fr 1fr;background:var(--light);margin-bottom:48px;overflow:hidden;border:1px solid var(--line)}
.work-film{position:relative;background:var(--ink);min-height:390px;overflow:hidden}.project-video{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}.work-story{align-self:center;padding:42px}.work-story h2{font-size:clamp(2rem,3vw,3rem)}.work-story p{max-width:480px}.film-caption{position:absolute;left:22px;bottom:22px;color:white;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;text-shadow:0 1px 8px #000}.film-toggle{position:absolute;right:18px;top:18px;background:#11112dcc;color:white;border:1px solid #ffffff70;border-radius:3px;padding:8px 13px;font-size:.8rem;backdrop-filter:blur(8px)}
@media(max-width:800px){.work-showcase{grid-template-columns:1fr}.work-film{min-height:0;aspect-ratio:16/9}.project-video{min-height:0}.work-story{padding:30px 24px}.film-caption{left:16px;bottom:16px;font-size:.65rem}}
