.works-page{overflow-x:hidden}.works-page .nav-desktop a[aria-current="page"]:after{width:100%}
.works-hero{max-width:1530px;min-height:690px;margin:auto;padding:118px var(--gutter) 70px;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(52px,8vw,112px);align-items:center}.works-hero-copy{max-width:660px}.works-hero h1{margin:0;color:var(--navy);font-size:clamp(54px,6.4vw,92px);font-weight:600;letter-spacing:-.065em;line-height:.96}.works-lead{max-width:620px;margin:28px 0;color:var(--muted);font-size:16px}.works-actions{display:flex;align-items:center;gap:28px}.works-hero-photo{position:relative;height:500px;margin:0}.works-hero-photo:before{content:"";position:absolute;z-index:-1;right:-18px;top:-18px;width:54%;height:58%;background:var(--red)}.works-hero-photo .photo-button,.works-hero-photo img{width:100%;height:100%}.works-hero-photo img{object-fit:cover}.works-hero-photo figcaption{position:absolute;right:-1px;bottom:-1px;padding:16px 19px;background:var(--ivory);font-size:9px;text-transform:uppercase;letter-spacing:.14em}.works-hero-photo figcaption span{display:block;margin-top:4px;color:var(--muted)}
.works-filter-wrap{max-width:var(--max);margin:0 auto;padding:40px var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.works-intro{display:grid;grid-template-columns:.65fr 1.35fr}.works-intro p{grid-column:2;max-width:780px;margin:0;color:var(--muted);font-size:14px}.works-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.works-filters button{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--navy);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.works-filters button[aria-pressed="true"]{border-color:var(--navy);background:var(--navy);color:#fff}
.works-heading{display:grid;grid-template-columns:.55fr 1.15fr .7fr;gap:46px;align-items:end;margin-bottom:54px}.works-heading h2{font-size:clamp(42px,4.9vw,65px)}.works-heading h2 em{font-family:"Playfair Display",Georgia,serif;font-weight:500;color:var(--red)}.works-heading>p:last-child{margin:0;color:var(--muted);font-size:13px}.works-heading.light h2{color:#fff}.works-heading.light>p:last-child{color:#aeb6c0}
.editorial-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(18px,3vw,38px)}.work-card{margin:0}.work-card-tall{grid-row:span 2}.work-card-wide .photo-button{height:420px}.work-card-tall .photo-button{height:806px}.work-card:not(.work-card-tall):not(.work-card-wide) .photo-button{height:470px}.work-card .photo-button{width:100%;overflow:hidden}.work-card img{width:100%;height:100%;transition:transform .5s ease}.work-card .photo-button:hover img{transform:scale(1.018)}.work-card>div{display:grid;grid-template-columns:.55fr 1fr;gap:20px;padding:18px 0 4px;border-bottom:1px solid var(--line)}.work-card p{margin:0;color:var(--red);font-size:9px;text-transform:uppercase;letter-spacing:.14em}.work-card h3{margin:0;font-size:17px;line-height:1.35}.work-card span{grid-column:2;color:var(--muted);font-size:10px}.works-links{display:flex;flex-wrap:wrap;gap:32px;margin-top:42px}
.photo-button{display:block;padding:0;border:0;background:transparent;cursor:zoom-in}.photo-button img{display:block}.photo-button:focus-visible{outline:3px solid #d76b72;outline-offset:4px}
.works-comparisons{background:var(--navy);color:#fff}.works-comparisons .section{padding-top:110px;padding-bottom:110px}.comparison-list{border-top:1px solid #445064}.comparison{display:grid;grid-template-columns:.46fr 1.54fr;gap:48px;padding:48px 0;border-bottom:1px solid #445064}.comparison-copy p{margin:0;color:#d8a7aa;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.comparison-copy h3{margin:18px 0 0;color:#fff;font-size:22px;line-height:1.35}.comparison-images{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comparison-images figure{position:relative;margin:0;background:#182a40}.comparison-images figure>span{position:absolute;z-index:2;left:12px;top:12px;padding:7px 10px;background:rgba(14,26,43,.88);color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:.14em}.comparison-images .photo-button{width:100%;height:490px}.comparison-images img{width:100%;height:100%;object-fit:contain;background:#182a40}
.works-mid-cta{max-width:var(--max);margin:0 auto;padding:54px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:40px}.works-mid-cta .eyebrow{margin-bottom:10px}.works-mid-cta h2{margin:0;color:var(--navy);font-size:clamp(28px,3.4vw,44px);line-height:1.1}
.works-proof{background:#e8e7e3}.works-proof .section{padding-top:86px;padding-bottom:86px}.works-proof blockquote{position:relative;max-width:920px;margin:0 auto;text-align:center}.works-proof blockquote>span{display:block;height:54px;color:var(--red);font-family:"Playfair Display",Georgia,serif;font-size:96px;line-height:1}.works-proof blockquote p{margin:18px 0 24px;color:var(--navy);font-size:clamp(25px,3.2vw,40px);line-height:1.4}.works-proof cite{font-size:10px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.16em}
.works-roof{padding-top:105px;padding-bottom:105px}.roof-grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:clamp(42px,7vw,100px);align-items:center}.roof-copy p{color:var(--muted);font-size:13px}.roof-copy .link-arrow{margin-top:20px}.works-roof .comparison-images .photo-button{height:430px}.works-roof .comparison-images img{background:var(--navy)}
.works-reassurance{max-width:var(--max);margin:0 auto;padding:36px var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.works-reassurance div{padding:0 26px;border-right:1px solid var(--line)}.works-reassurance div:first-child{padding-left:0}.works-reassurance div:last-child{border-right:0}.works-reassurance strong,.works-reassurance span{display:block}.works-reassurance strong{font-size:12px}.works-reassurance span{margin-top:5px;color:var(--muted);font-size:9px}
.works-area{max-width:var(--max);margin:0 auto;padding:64px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:42px}.works-area p{max-width:760px;margin:0;color:var(--muted);font-size:14px}.works-area .link-arrow{flex:none}
.filter-item[hidden],[data-gallery-section][hidden]{display:none!important}
.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:rgba(9,19,33,.96);color:#fff}.lightbox::backdrop{background:rgba(9,19,33,.96)}.lightbox-stage{position:relative;width:100%;height:100%;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:40px}.lightbox figure{height:calc(100vh - 80px);margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:14px}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox figcaption{max-width:760px;color:#c1c8d1;font-size:12px;text-align:center}.lightbox button{border:1px solid rgba(255,255,255,.35);background:rgba(14,26,43,.65);color:#fff;cursor:pointer}.lightbox-close{position:absolute;z-index:2;right:24px;top:22px;width:46px;height:46px;border-radius:50%;font-size:28px}.lightbox-nav{width:48px;height:48px;border-radius:50%;font-size:20px}.lightbox-prev{justify-self:start}.lightbox-next{justify-self:end}.lightbox button:focus-visible{outline:3px solid #d76b72;outline-offset:3px}
@media(max-width:1120px){.works-hero{grid-template-columns:1fr 1fr;gap:48px}.works-hero h1{font-size:64px}.works-heading{grid-template-columns:.55fr 1.45fr}.works-heading>p:last-child{display:none}.work-card-tall .photo-button{height:730px}.work-card-wide .photo-button{height:370px}.comparison{grid-template-columns:.58fr 1.42fr}.comparison-images .photo-button{height:430px}}
@media(max-width:760px){.works-hero{min-height:0;padding:94px 20px 58px;display:flex;flex-direction:column;gap:42px}.works-hero h1{font-size:clamp(48px,15vw,66px)}.works-lead{font-size:15px}.works-actions{align-items:stretch;flex-direction:column;gap:18px}.works-actions .link-arrow{align-self:flex-start}.works-hero-photo{width:calc(100% - 20px);height:360px;align-self:flex-start}.works-hero-photo:before{right:-20px}.works-filter-wrap{padding:30px 20px}.works-intro{display:block}.works-filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-20px;padding-right:20px;scrollbar-width:thin}.works-filters button{flex:none}.works-heading{display:block;margin-bottom:38px}.works-heading h2{font-size:39px}.editorial-grid{display:block}.work-card{margin-bottom:44px}.work-card-tall .photo-button,.work-card-wide .photo-button,.work-card:not(.work-card-tall):not(.work-card-wide) .photo-button{height:auto;max-height:none;aspect-ratio:3/4}.work-card>div{grid-template-columns:1fr}.work-card span{grid-column:auto}.works-links{display:grid;gap:18px}.works-comparisons .section{padding-top:78px;padding-bottom:78px}.comparison{display:block;padding:40px 0}.comparison-copy{margin-bottom:22px}.comparison-copy h3{font-size:20px}.comparison-images{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px}.comparison-images figure{flex:0 0 84vw;scroll-snap-align:start}.comparison-images .photo-button,.works-roof .comparison-images .photo-button{height:430px}.works-mid-cta{padding:42px 20px;display:block}.works-mid-cta .btn{width:100%;margin-top:26px}.works-proof .section{padding-top:72px;padding-bottom:72px}.works-roof{padding-top:76px;padding-bottom:76px}.roof-grid{display:block}.roof-copy{margin-bottom:34px}.works-reassurance{grid-template-columns:1fr 1fr;padding:24px 20px}.works-reassurance div{padding:16px 18px;border-bottom:1px solid var(--line)}.works-reassurance div:nth-child(2){border-right:0}.works-reassurance div:nth-child(3){padding-left:0;border-bottom:0}.works-reassurance div:nth-child(4){border-bottom:0}.works-area{padding:52px 20px;display:block}.works-area .link-arrow{margin-top:22px}.lightbox-stage{grid-template-columns:46px minmax(0,1fr) 46px;padding:64px 8px 22px}.lightbox figure{height:calc(100vh - 86px)}.lightbox-close{right:12px;top:10px}.lightbox-nav{width:42px;height:42px}.lightbox figcaption{padding:0 12px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.work-card img{transition:none}}
@media(max-width:760px){.works-filters button{min-height:44px;font-size:12px}.breadcrumb{font-size:12px}.lightbox figcaption{font-size:12px}}
.works-hero-photo img{object-fit:contain;background:#e8e7e3}
.work-card-documentary .photo-button{height:auto!important;aspect-ratio:4/3;background:#e8e7e3}
.work-card-documentary img{object-fit:contain;background:#e8e7e3}
.comparison-images-landscape .photo-button{height:auto!important;aspect-ratio:4/3}
.roof-grid-secondary{margin-top:70px;padding-top:70px;border-top:1px solid var(--line)}
.roof-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px;margin-top:70px;padding-top:70px;border-top:1px solid var(--line)}
@media(max-width:760px){.works-hero-photo{height:auto;aspect-ratio:4/3}.work-card-documentary .photo-button{aspect-ratio:4/3}.comparison-images-landscape .photo-button{height:auto!important;aspect-ratio:4/3}.roof-grid-secondary{margin-top:50px;padding-top:50px}.roof-photo-grid{display:block;margin-top:50px;padding-top:50px}.roof-photo-grid .work-card:last-child{margin-bottom:0}}
@media(max-width:760px){.works-hero{align-items:stretch}.works-hero-copy{width:100%}.works-hero h1{font-size:clamp(42px,12vw,52px);overflow-wrap:anywhere}}
.case-studies{padding-top:108px;padding-bottom:108px}.case-studies-heading{display:grid;grid-template-columns:.5fr 1.25fr .75fr;gap:48px;align-items:end;margin-bottom:64px}.case-studies-heading h2{margin:0;color:var(--navy);font-size:clamp(42px,4.9vw,66px);letter-spacing:-.05em;line-height:1.05}.case-studies-heading h2 em{font-family:"Playfair Display",Georgia,serif;font-weight:500;color:var(--red)}.case-studies-heading>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.case-studies-heading.light h2{color:#fff}.case-studies-heading.light>p:last-child{color:#aeb6c0}
.project-case{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:clamp(42px,6vw,90px);padding:72px 0;border-top:1px solid var(--line)}.project-case:last-child{border-bottom:1px solid var(--line)}.case-copy{display:grid;grid-template-columns:48px 1fr;gap:22px;align-content:start}.case-number{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.14em}.case-meta{margin:0 0 18px;color:var(--red);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.case-copy h2{margin:0 0 24px;color:var(--navy);font-size:clamp(30px,3vw,44px);letter-spacing:-.04em;line-height:1.08}.case-copy div>p:not(.case-meta){margin:0;color:var(--muted);font-size:15px;line-height:1.75}.case-copy ul{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid var(--line)}.case-copy li{display:grid;grid-template-columns:78px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.case-copy li strong{color:var(--navy)}.case-copy li span{color:var(--muted)}
.case-comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.case-comparison figure{position:relative;margin:0;background:#e8e7e3}.case-comparison figure>span{position:absolute;z-index:2;top:14px;left:14px;padding:9px 12px;background:var(--navy);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.case-comparison figure:nth-child(2)>span{background:var(--red)}.case-comparison .photo-button{width:100%;height:610px;background:#e8e7e3}.case-comparison img{display:block;width:100%;height:100%;object-fit:contain;background:#e8e7e3}.case-comparison figcaption{padding:15px 2px 0;background:var(--ivory);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.works-site-shots{background:var(--navy);color:#fff}.works-site-shots .section{padding-top:108px;padding-bottom:108px}.site-shot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 24px}.site-shot{margin:0}.site-shot>.photo-button{width:100%;height:560px;background:#17283d}.site-shot img{display:block;width:100%;height:100%;object-fit:contain;background:#17283d}.site-shot>div:last-child{display:grid;grid-template-columns:.46fr 1fr;gap:14px 24px;padding:20px 0;border-bottom:1px solid #445064}.site-shot>div:last-child>p:first-child{margin:0;color:#d8a7aa;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.site-shot h3{margin:0;color:#fff;font-size:21px;line-height:1.25}.site-shot span{grid-column:2;color:#aeb6c0;font-size:11px}.site-shot>div:last-child>p:last-child{grid-column:2;margin:0;color:#aeb6c0;font-size:13px;line-height:1.65}.site-shot-wide{grid-column:1/-1}.shot-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.shot-gallery-two{grid-template-columns:repeat(2,minmax(0,1fr))}.shot-gallery .photo-button{width:100%;height:500px;background:#17283d}.shot-gallery img{object-fit:contain}
@media(max-width:1050px){.case-studies-heading{grid-template-columns:.5fr 1.5fr}.case-studies-heading>p:last-child{display:none}.project-case{grid-template-columns:1fr}.case-comparison .photo-button{height:560px}.site-shot>.photo-button{height:500px}.shot-gallery .photo-button{height:430px}}
@media(max-width:760px){.case-studies{padding-top:78px;padding-bottom:78px}.case-studies-heading{display:block;margin-bottom:44px}.case-studies-heading h2{font-size:39px}.case-studies-heading>p:last-child{display:block;margin-top:22px}.project-case{display:block;padding:54px 0}.case-copy{grid-template-columns:36px 1fr}.case-copy h2{font-size:32px}.case-copy div>p:not(.case-meta){font-size:15px}.case-comparison{display:grid;grid-template-columns:1fr;gap:32px;margin-top:36px}.case-comparison .photo-button{height:auto;aspect-ratio:3/4}.case-comparison figcaption{font-size:12px}.works-site-shots .section{padding-top:78px;padding-bottom:78px}.site-shot-grid{display:block}.site-shot{margin-bottom:52px}.site-shot-wide{margin-top:52px}.site-shot>.photo-button{height:auto;aspect-ratio:3/4}.site-shot>div:last-child{grid-template-columns:1fr}.site-shot span,.site-shot>div:last-child>p:last-child{grid-column:auto}.shot-gallery,.shot-gallery-two{display:grid;grid-template-columns:1fr;gap:18px}.shot-gallery .photo-button{height:auto;aspect-ratio:3/4}}
@media(min-width:761px) and (max-width:1050px){.project-case{grid-template-columns:minmax(250px,.58fr) minmax(0,1.42fr);gap:28px}.case-comparison .photo-button{height:390px}.case-copy h2{font-size:34px}}

/* Balanced presentation on mobile: clear cards and side-by-side before/after */
@media(max-width:760px){
  .project-case{padding:48px 0 56px}
  .case-copy{gap:14px}
  .case-copy h2{margin-bottom:18px;line-height:1.12}
  .case-copy div>p:not(.case-meta){line-height:1.65}
  .case-copy ul{margin-top:24px}
  .case-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}
  .case-comparison .photo-button{aspect-ratio:4/5}
  .case-comparison figcaption{padding-top:10px;font-size:10px;line-height:1.4;letter-spacing:.07em}
  .case-comparison figure>span{top:10px;left:10px;padding:7px 8px;font-size:9px}
  .site-shot>div:last-child{gap:10px;padding:16px 0 4px}
  .site-shot h3{font-size:20px;line-height:1.3}
  .site-shot>div:last-child>p:last-child{margin-top:4px;line-height:1.6}
}
