/* The image-led commercial layer. All project photographs come from the T&S archive. */
.inner .hero{height:min(790px,90svh);min-height:660px}
.hero-shade{background:linear-gradient(90deg,rgba(3,20,25,.98) 0%,rgba(3,20,25,.88) 37%,rgba(3,20,25,.28) 100%),linear-gradient(0deg,rgba(3,20,25,.7),transparent 48%)}
.hero-video{opacity:.56}
.hero-bg{will-change:transform}
.hero-grid{will-change:transform}
.hero-copy{position:relative;will-change:transform}
.hero-qualifier{display:inline-block;margin-top:7px;padding:7px 11px;border:1px solid rgba(175,243,191,.45);background:rgba(7,39,34,.28);color:#d6f6dc;font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.hero-copy .hero-actions{margin-top:27px}
.inner .hero-copy{max-width:900px}
.inner .hero h1{font-size:clamp(3.1rem,5.6vw,6.5rem)}
.hero:after{content:"";position:absolute;right:8%;top:14%;width:32vw;height:32vw;max-width:550px;max-height:550px;border:1px solid rgba(197,255,211,.2);border-radius:50%;box-shadow:0 0 0 7vw rgba(174,243,191,.035);pointer-events:none;z-index:-1}
.inner .hero:after{right:5%;top:10%}
.site-header{border-bottom-color:rgba(255,255,255,.25)}
.reading-progress{position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--mint);transform-origin:left;pointer-events:none}
.desktop-nav{gap:1.6vw}
.desktop-nav>a:hover,.header-phone:hover{color:var(--mint)}
.service-card{isolation:isolate}
.service-card:after{background:linear-gradient(0deg,rgba(2,18,22,.98),rgba(2,18,22,.58) 42%,rgba(2,18,22,.02) 92%)}
.proof-visual{filter:none;background-image:linear-gradient(rgba(7,26,32,.08),rgba(7,26,32,.2)),url('../assets/img/home-2/img/slider/commercial-asbestos-contractors-bg.jpg')}
.project-section{padding-top:115px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.project-grid.single-project{grid-template-columns:minmax(0,650px)}
.project-card{display:flex;flex-direction:column;background:#fff;min-height:100%;box-shadow:0 12px 38px rgba(4,33,26,.065);transition:transform .35s,box-shadow .35s;overflow:hidden}
.project-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(4,33,26,.14)}
.project-card-image{display:block;overflow:hidden;aspect-ratio:1.46;background:#dce6e0}
.project-card-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s}
.project-card:hover img{transform:scale(1.035)}
.project-card-copy{display:flex;flex:1;flex-direction:column;padding:26px 29px 28px;gap:10px}
.project-card-copy small{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#4a9870;font-weight:700}
.project-card-copy strong{font:700 clamp(1.35rem,1.7vw,1.8rem)/1.18 var(--font);letter-spacing:-.045em}
.project-card-copy>span{color:var(--text);font-size:.88rem;line-height:1.55}
.project-card-copy b{font-size:.76rem;margin-top:auto;padding-top:18px;color:#2b8253}
.project-card-copy b span{margin-left:12px}
.project-more{margin-top:35px}
.visual-quote{position:relative;isolation:isolate;min-height:650px;display:flex;align-items:center;background:#0a2429;color:#fff;overflow:hidden}
.visual-quote-bg,.visual-quote-tint{position:absolute;inset:-5%;z-index:-2}
.visual-quote-bg{background-position:center;background-size:cover;will-change:transform}
.visual-quote-tint{z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,22,27,.96) 4%,rgba(4,22,27,.78) 42%,rgba(4,22,27,.23) 100%),linear-gradient(0deg,rgba(4,22,27,.48),transparent 48%)}
.visual-quote-inner{padding-block:110px;position:relative}
.visual-quote .eyebrow{color:var(--mint)}
.visual-quote h2{max-width:890px;font-size:clamp(3rem,5.3vw,6rem)}
.visual-quote p{color:#d6e6e2;max-width:620px;font-size:1.08rem;margin-bottom:32px}
.editorial-intro{display:grid;grid-template-columns:.86fr 1.14fr;gap:8vw;align-items:center}
.editorial-intro h2{max-width:650px}
.editorial-intro p{color:var(--text);font-size:1.12rem;max-width:570px}
.editorial-image{position:relative;margin:0;min-height:500px;overflow:hidden;background:#cbd8d1}
.editorial-image img{width:100%;height:100%;min-height:500px;object-fit:cover}
.editorial-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,23,26,.78),transparent 35%);pointer-events:none}
.editorial-image figcaption{position:absolute;z-index:1;bottom:22px;left:28px;color:#fff;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.brief-check{display:grid;grid-template-columns:1fr 1.45fr;gap:8vw;align-items:start}
.brief-copy{position:sticky;top:120px}
.brief-copy p{color:var(--text);max-width:460px}
.brief-tiles{display:grid;gap:13px}
.brief-tiles>div{background:#e7f0e9;min-height:190px;padding:32px;display:grid;grid-template-columns:90px 1fr;column-gap:20px;align-items:start}
.brief-tiles span{color:#398860;font-size:.8rem;font-weight:700;letter-spacing:.15em}
.brief-tiles strong{font:700 2rem var(--font);letter-spacing:-.05em}
.brief-tiles p{grid-column:2;color:var(--text);margin:0;max-width:420px}
.faq-section{background:#e5efe9;padding:110px 0}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.faq-layout>div:first-child p{max-width:400px;color:var(--text)}
.faq-list{border-top:1px solid #b6cbbd}
.faq-list details{border-bottom:1px solid #b6cbbd;padding:22px 5px}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:start;font:700 1.15rem/1.4 var(--font);letter-spacing:-.025em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:1.6rem;line-height:1;transition:transform .25s;color:#398860}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list p{margin:15px 35px 0 0;color:var(--text);max-width:680px}
.project-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px}
.project-filter button{border:1px solid #adc6b5;color:#24523d;background:transparent;padding:11px 18px;border-radius:50px;font-size:.77rem;font-weight:700;transition:background .2s,color .2s}
.project-filter button:hover,.project-filter button.active{background:#153d39;color:#fff;border-color:#153d39}
.all-projects>div[hidden]{display:none}
.case-meta{background:#163940;color:#d8e8df}
.case-meta .wrap{display:flex;flex-wrap:wrap;gap:10px 50px;padding-block:23px;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:700}
.case-narrative{display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.case-lead h2{font-size:clamp(2.4rem,3.5vw,4.25rem)}
.case-facts{border-top:1px solid #c3d5cb}
.case-facts>div{padding:28px 0;border-bottom:1px solid #c3d5cb}
.case-facts span{color:#308159;letter-spacing:.13em;text-transform:uppercase;font-size:.65rem;font-weight:700}
.case-facts h3{font-size:1.55rem;margin:14px 0}
.case-facts p{color:var(--text);max-width:570px;margin:0}
.case-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;padding-bottom:24px}
.case-gallery figure{margin:0;position:relative;overflow:hidden;background:#d9e2dc;min-height:260px}
.case-gallery figure:first-child{grid-row:span 2;min-height:540px}
.case-gallery figure:only-child{grid-column:1/-1;min-height:560px}
.case-gallery img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.case-gallery figcaption{position:absolute;bottom:0;left:0;background:#09242acb;color:#fff;padding:8px 12px;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.case-source{color:var(--text);font-size:.77rem;padding-bottom:20px}
.case-source a{text-decoration:underline}
.connected-section{border-top:1px solid #d9e3da}
@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-intro{gap:5vw}.desktop-nav{gap:13px}}
@media(max-width:900px){.editorial-intro,.brief-check,.faq-layout,.case-narrative{grid-template-columns:1fr}.brief-copy{position:static}.visual-quote{min-height:540px}.visual-quote-bg{inset:0}.editorial-image,.editorial-image img{min-height:390px}.hero:after{display:none}}
@media(max-width:600px){.inner .hero{min-height:680px;height:94svh}.inner .hero h1{font-size:clamp(2.7rem,11vw,4.4rem)}.hero-video{opacity:.38}.hero-shade{background:linear-gradient(90deg,rgba(3,20,25,.94),rgba(3,20,25,.66)),linear-gradient(0deg,rgba(3,20,25,.9),transparent 65%)}.project-grid{grid-template-columns:1fr}.project-card-image{aspect-ratio:1.55}.project-section{padding-top:75px}.visual-quote{min-height:540px}.visual-quote-inner{padding-block:75px}.visual-quote h2{font-size:clamp(2.7rem,10vw,4.4rem)}.visual-quote-tint{background:linear-gradient(90deg,rgba(4,22,27,.91),rgba(4,22,27,.55)),linear-gradient(0deg,rgba(4,22,27,.82),transparent 70%)}.editorial-image,.editorial-image img{min-height:300px}.brief-tiles>div{grid-template-columns:45px 1fr;padding:24px;min-height:160px}.brief-tiles strong{font-size:1.5rem}.faq-section{padding:75px 0}.faq-layout{gap:20px}.faq-list summary{font-size:1rem}.case-meta .wrap{gap:6px 16px}.case-gallery{display:grid;grid-template-columns:1fr}.case-gallery figure:first-child,.case-gallery figure:only-child{grid-column:auto;grid-row:auto;min-height:280px}.case-gallery figure{min-height:260px}.project-filter button{font-size:.7rem;padding:9px 12px}}
/* Motion is on by default in this commercial preview; film controls remain visible. */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in-view{opacity:1;transform:none}
.service-grid .reveal:nth-child(2),.sector-list .reveal:nth-child(2),.brief-tiles .reveal:nth-child(2){transition-delay:.09s}
.service-grid .reveal:nth-child(3),.sector-list .reveal:nth-child(3),.brief-tiles .reveal:nth-child(3){transition-delay:.18s}
.sector-list .reveal:nth-child(4){transition-delay:.27s}
/* Restore the original photo and film blend, with warm industrial detail in view. */
.hero-home .hero-video{opacity:.38}
.hero-home .hero-shade{background:linear-gradient(90deg,rgba(3,20,25,.94) 0%,rgba(3,20,25,.76) 43%,rgba(3,20,25,.23) 100%),linear-gradient(0deg,rgba(3,20,25,.65),transparent 48%)}
.hero-home .hero-copy{max-width:min(66%,900px)}
.brand-name{font-size:1.02rem;letter-spacing:.065em;line-height:1.12}
.brand-name small{font-size:.68rem;letter-spacing:.15em;margin-top:6px}
.footer .brand-name{font-size:1.16rem}
.footer .brand-name small{font-size:.74rem}
@media(max-width:900px){.hero-home .hero-copy{max-width:73%}}
@media(max-width:600px){.brand-name{font-size:.82rem}.brand-name small{font-size:.59rem}.footer .brand-name{font-size:1.05rem}.footer .brand-name small{font-size:.67rem}.hero-home .hero-copy{max-width:100%}.hero-home .hero h1{max-width:95%}}
.hero-video-toggle{display:none;position:absolute;z-index:4;right:3%;bottom:87px;border:1px solid rgba(255,255,255,.55);background:rgba(7,26,32,.8);color:#fff;padding:9px 13px;font:.7rem var(--body);cursor:pointer}
@media(max-width:600px){.hero-video-toggle{right:16px;bottom:67px}}
.hero-video-toggle{display:block}
@media(max-width:600px){.hero-home .hero-video{opacity:.34}}
/* Let inner-page copy set the height, with clear space for navigation and film controls. */
.inner .hero{height:auto;min-height:clamp(660px,90svh,790px)}
.inner .hero-inner{height:auto;min-height:inherit;padding-block:150px 130px}
.inner .hero h1{font-size:clamp(3rem,5vw,5.75rem);margin-bottom:22px}
.inner .hero-eyebrow{margin-bottom:22px}
@media(max-width:900px){.inner .hero-inner{padding-top:124px}}
@media(max-width:600px){
  .inner .hero{min-height:680px}
  .inner .hero-inner{padding-block:122px 140px}
  .inner .hero-copy{padding-bottom:0}
  .inner .hero h1{font-size:clamp(2.55rem,10.5vw,4rem)}
  .inner .hero-copy .hero-actions{gap:20px}
}
