@charset "UTF-8";

.inner-page{--inner-gutter:clamp(24px,4.25vw,76px);--inner-space:clamp(80px,8.5vw,150px)}
.inner-page a.text-action{text-decoration:none}
.inner-page main{overflow:clip}
.inner-page .menu-overlay{overflow-y:auto}
.inner-page .menu-overlay__top,.inner-page .menu-overlay__center{flex-shrink:0}
.menu-overlay nav a{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid #3b3b3b;color:#fff;text-decoration:none;transition:color .25s,padding-left .25s}
.menu-overlay nav a:last-child{border-bottom:1px solid #3b3b3b}
.menu-overlay nav a:hover,.menu-overlay nav a[aria-current="page"]{color:var(--orange);padding-left:8px}
.page-hero{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(50px,8vw,150px);padding:var(--inner-space) var(--inner-gutter);min-height:530px}
.page-title{font-size:clamp(66px,7.1vw,128px);font-weight:500;letter-spacing:-.055em;line-height:.98;text-wrap:balance}
.page-lead{max-width:700px;font-size:var(--body-font);line-height:1.4;letter-spacing:-.025em}
.page-hero--split{grid-template-columns:53% 47%;align-items:stretch;gap:0;padding:0;min-height:790px}
.page-hero--split .page-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:80px var(--inner-gutter)}
.page-hero--split .page-title{font-size:clamp(55px,5.1vw,92px)}
.page-hero--split .page-lead{margin-top:50px;max-width:580px}
.page-hero__media{position:relative;min-width:0;background:#cccccc;overflow:hidden}
.page-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center}
.page-hero--wide{display:block;padding:0}
.page-hero--wide .page-hero__copy{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(50px,8vw,150px);padding:var(--inner-space) var(--inner-gutter)}
.hero-media{height:clamp(360px,48vw,820px);overflow:hidden;background:#d0d0d0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.content-section{padding:var(--inner-space) var(--inner-gutter)}
.content-section--soft{background:var(--soft)}
.split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(50px,8vw,150px);align-items:start}
.content-section h2,.closing-cta h2{font-size:clamp(46px,4.7vw,82px);font-weight:500;line-height:1.02;letter-spacing:-.05em;text-wrap:balance}
.section-copy p,.split-section>p{font-size:var(--body-font);line-height:1.45;letter-spacing:-.025em}
.section-copy h2+p{margin-top:38px}
.section-copy .text-action{margin-top:35px}
.section-media{min-width:0;overflow:hidden;background:#d0d0d0}
.section-media img{width:100%;height:100%;object-fit:cover}
.section-media--wide{height:clamp(350px,43vw,700px);margin-top:clamp(65px,7vw,120px)}
.accordion-list details{border-top:1px solid var(--line)}
.accordion-list details:last-child{border-bottom:1px solid var(--line)}
.accordion-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 0;font-size:clamp(25px,2.25vw,38px);font-weight:500;line-height:1.2;letter-spacing:-.045em;cursor:pointer;list-style:none}
.accordion-list summary::-webkit-details-marker{display:none}
.accordion-list summary:hover .accordion-list__icon{color:var(--orange);border-color:var(--orange)}
.accordion-list__icon{position:relative;flex:0 0 32px;width:32px;height:32px;border:1px solid #777777;border-radius:50%}
.accordion-list__icon::before,.accordion-list__icon::after{content:"";position:absolute;top:14px;left:8px;width:14px;height:2px;background:currentColor;transition:transform .25s}
.accordion-list__icon::after{transform:rotate(90deg)}
.accordion-list details[open] .accordion-list__icon::after{transform:rotate(0)}
.accordion-list details p{max-width:590px;padding:0 45px 32px 0;font-size:clamp(19px,1.5vw,24px);line-height:1.45;letter-spacing:-.02em}
.workbench-intro{align-items:center;margin-bottom:clamp(60px,6vw,100px)}
.workbench{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:clamp(35px,5vw,90px)}
.workbench__tabs{display:flex;flex-direction:column}
.workbench__tabs button{position:relative;display:block;width:100%;padding:23px 28px 23px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font-size:clamp(21px,1.8vw,31px);font-weight:500;line-height:1.2;letter-spacing:-.035em;transition:color .25s,padding .25s}
.workbench__tabs button:first-child{border-top:1px solid var(--line)}
.workbench__tabs button[aria-selected="true"]{color:var(--ink);padding-left:18px}
.workbench__tabs button[aria-selected="true"]::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:var(--orange);transform:translateY(-50%)}
.workbench__panel{height:clamp(490px,40vw,700px);background:#d0d0d0}
.workbench__panel img{width:100%;height:100%;object-fit:cover;object-position:center}
.inspection-section{align-items:center}
.inspection-section .section-media{aspect-ratio:1.1}
.material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px clamp(45px,6vw,110px)}
.material-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:340px;padding-top:35px;border-top:1px solid #aaaaaa}
.material-card h2{font-size:clamp(42px,4vw,70px);line-height:1.05;text-wrap:initial}
.material-card__term{display:block;margin-top:10px;font-size:clamp(20px,1.7vw,28px);font-weight:400;letter-spacing:-.025em}
.material-card .text-action{margin-top:42px}
.inner-page[data-page="products"] .content-section.split-section{align-items:center;padding-top:0}
.inner-page[data-page="about"] .content-section.split-section{align-items:center}
.inner-page[data-page="about"] .content-section+.content-section{padding-top:0}
.closing-cta{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(50px,8vw,150px);padding:var(--inner-space) var(--inner-gutter);background:var(--ink);color:#fff}
.closing-cta>.text-action{justify-self:start}
.closing-cta p{max-width:550px;margin-bottom:35px;font-size:var(--body-font);line-height:1.4;letter-spacing:-.025em}
.footer-wrap{padding:0 var(--inner-gutter);background:var(--ink);color:#fff}
.footer-wrap .site-footer{margin-top:0}
.footer-wrap #locations{scroll-margin-top:100px}
.page-hero--contact{align-items:center}
.page-hero--contact .page-lead{margin-top:48px}
.page-hero--contact .text-action{margin-top:35px}
.contact-identity{padding:15px 0 0 clamp(30px,4vw,70px);border-left:1px solid var(--line)}
.contact-identity h2{font-size:clamp(28px,2.5vw,44px);font-weight:500;line-height:1.18;letter-spacing:-.045em}
.contact-identity dl{margin:55px 0 0}
.contact-identity dl>div{margin-top:25px}
.contact-identity dt{margin-bottom:7px;font-size:16px;font-weight:600;color:var(--muted)}
.contact-identity dd{margin:0;font-size:var(--body-font);line-height:1.4}
.contact-identity a{text-decoration:none}
.contact-identity a:hover{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}
.contact-project{background:var(--soft);scroll-margin-top:78px}
.contact-project .split-section{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.project-form{min-width:0}
.project-form__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.project-form__field{margin-bottom:34px}
.project-form label{display:block;font-size:20px;font-weight:600}
.project-form label span{color:var(--orange)}
.project-form input,.project-form textarea{display:block;width:100%;margin-top:10px;padding:13px 0;border:0;border-bottom:1px solid #8b8b8b;border-radius:0;background:transparent;color:var(--ink);font:400 20px/1.4 var(--font);resize:vertical}
.project-form input:focus,.project-form textarea:focus{outline:0;border-color:var(--orange);box-shadow:0 2px 0 var(--orange)}
.project-form .text-action{margin-top:10px}
.project-form__status{margin-top:25px;font-size:18px;line-height:1.45;color:#444444}

@media(max-width:1120px){
  .page-hero{gap:50px;min-height:450px}
  .page-title{font-size:clamp(61px,7.4vw,88px)}
  .page-hero--split{gap:0;min-height:700px}
  .page-hero--split .page-hero__copy{padding-top:70px;padding-bottom:70px}
  .page-hero--split .page-title{font-size:clamp(51px,5.8vw,70px)}
  .page-hero--wide .page-hero__copy{gap:50px}
  .split-section,.closing-cta{gap:55px}
  .workbench{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:35px}
  .workbench__panel{height:clamp(440px,46vw,520px)}
  .material-card{min-height:315px}
  .contact-project .split-section{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:45px}
  .project-form__pair{grid-template-columns:1fr;gap:0}
}
@media(max-width:820px){
  .inner-page{--inner-gutter:23px;--inner-space:85px}
  .page-hero,.page-hero--wide .page-hero__copy{grid-template-columns:1fr;gap:38px;min-height:0}
  .page-title{font-size:clamp(56px,10.7vw,84px)}
  .page-lead{max-width:620px}
  .page-hero--split{display:flex;flex-direction:column}
  .page-hero--split .page-hero__copy{padding:72px 23px}
  .page-hero--split .page-title{max-width:650px;font-size:clamp(53px,9vw,76px)}
  .page-hero--split .page-lead{margin-top:38px}
  .page-hero__media{height:min(100vw,650px)}
  .hero-media{height:clamp(330px,72vw,610px)}
  .split-section,.closing-cta,.contact-project .split-section{grid-template-columns:1fr;gap:45px}
  .content-section h2,.closing-cta h2{font-size:clamp(43px,8vw,66px)}
  .section-copy h2+p{margin-top:30px}
  .section-media--wide{height:min(85vw,550px);margin-top:60px}
  .workbench{display:block}
  .workbench__tabs{flex-direction:row;overflow-x:auto;gap:24px;margin:0 -23px 30px;padding:0 23px 8px;scrollbar-width:thin}
  .workbench__tabs button{flex:0 0 auto;width:auto;white-space:nowrap;padding:15px 0;font-size:21px;border-top:0!important}
  .workbench__tabs button[aria-selected="true"]{padding-left:16px}
  .workbench__panel{height:min(80vw,540px);min-height:0}
  .inspection-section .section-media{aspect-ratio:1.2}
  .material-grid{gap:50px 35px}
  .material-card{min-height:295px}
  .material-card h2{font-size:clamp(33px,5.4vw,43px)}
  .material-card .text-action{gap:18px}
  .material-card__term{font-size:19px}
  .contact-identity{padding:35px 0 0;border-left:0;border-top:1px solid var(--line)}
  .contact-identity dl{display:flex;flex-wrap:wrap;gap:20px 45px;margin-top:25px}
  .contact-identity dl>div{margin:0}
  .contact-project{scroll-margin-top:50px}
  .project-form__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
  .project-form label,.project-form input,.project-form textarea{font-size:18px}
}
@media(max-width:520px){
  .material-grid{grid-template-columns:1fr;gap:50px}
  .material-card{min-height:265px}
  .material-card h2{font-size:46px}
  .material-card__term{font-size:22px}
  .project-form__pair{grid-template-columns:1fr;gap:0}
  .project-form__field{margin-bottom:30px}
  .page-hero--contact .page-title{font-size:clamp(54px,10.8vw,65px)}
  .closing-cta>.text-action{width:auto;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .menu-overlay nav a,.accordion-list__icon::before,.accordion-list__icon::after,.workbench__tabs button{transition:none}
}
