/* Company page: source photography, editorial chapters and engineering linework. */
.company-page{--company-grey:#eef1f2;--company-border:#d3dadd;overflow:clip}
.company-page figure{margin:0}.company-page p:last-child{margin-bottom:0}.company-page a,.company-page button,.company-page summary{touch-action:manipulation}
.company-page .company-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0 26px;font-size:13px;color:var(--muted)}
.company-page .company-breadcrumb a{text-decoration:none}.company-page .company-breadcrumb a:hover{color:var(--red)}
.company-page .company-masthead{display:grid;grid-template-columns:.94fr 1.16fr;gap:clamp(30px,5vw,76px);align-items:center;padding-top:15px;padding-bottom:58px;position:relative}
.company-page .company-kicker{font-size:11px;line-height:1.4;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 17px;display:flex;align-items:center;gap:12px}
.company-page .company-kicker:before{content:'';width:22px;height:2px;background:var(--red);flex:none}
.company-page h1{font-size:clamp(42px,5.1vw,70px);line-height:1.06;letter-spacing:-.035em;margin:0 0 25px}
.company-page .company-intro-text{font-size:17px;line-height:1.65;max-width:510px;color:#46515a}
.company-page .company-hero-actions{display:flex;gap:21px 24px;align-items:center;flex-wrap:wrap;margin-top:29px}
.company-page .company-hero-actions .button{gap:22px;font-size:14px;padding:14px 19px}
.company-page .company-inline-link{font-size:14px;font-weight:700;text-decoration-thickness:1px;text-underline-offset:6px;line-height:1.6}
.company-page .company-inline-link:hover{color:var(--red)}
.company-page .company-hero-photo{position:relative;isolation:isolate;padding-top:26px;padding-right:20px;margin-bottom:24px}
.company-page .company-hero-photo:before{content:'';position:absolute;top:0;right:0;bottom:28px;left:23px;background:var(--company-grey);border:1px solid var(--company-border);z-index:-1}
.company-page .company-photo-frame{position:relative}.company-page .company-photo-frame:after{content:'';position:absolute;left:0;bottom:0;width:80px;border-bottom:4px solid var(--red)}
.company-page .company-hero-photo img{width:100%;height:auto;aspect-ratio:1000/666;object-fit:contain;background:#e5e8e9}
.company-page .company-hero-photo figcaption{padding:18px 0 0;display:grid;grid-template-columns:auto 1fr;gap:17px;font-size:12px;line-height:1.5;color:var(--muted)}
.company-page .company-photo-index{color:var(--red);font-weight:700;letter-spacing:.07em;font-size:10px;white-space:nowrap;padding-top:2px}
.company-page .company-photo-route{position:absolute;width:135px;height:101px;right:-24px;bottom:-27px;pointer-events:none;fill:white;stroke:var(--red);stroke-width:1.4;opacity:.75;z-index:-1}
.company-page .company-chapter-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:26px}
.company-page .company-chapter-nav a{display:flex;align-items:center;gap:12px;padding:21px 18px 21px 0;border-top:1px solid var(--company-border);border-bottom:1px solid var(--company-border);font-size:13px;font-weight:700;line-height:1.4;text-decoration:none;min-height:82px}
.company-page .company-chapter-nav a+a{padding-left:20px}.company-page .company-chapter-nav a span{font-size:10px;font-weight:400;color:var(--red)}
.company-page .company-chapter-nav a i{font-size:18px;font-style:normal;color:var(--red);margin-left:auto;padding-left:5px}.company-page .company-chapter-nav a:hover{color:var(--red);background:#f8f9f9}
.company-page .company-chapter{padding-top:65px;padding-bottom:65px;scroll-margin-top:25px}
.company-page .company-section-heading{display:flex;align-items:flex-start;gap:25px;margin-bottom:33px}
.company-page .company-section-index{font-size:13px;color:var(--red);line-height:1;min-width:30px;border-top:2px solid var(--red);padding-top:13px;margin-top:1px}
.company-page .company-section-heading .company-kicker{margin-bottom:11px}.company-page .company-section-heading .company-kicker:before{display:none}
.company-page h2{font-size:clamp(28px,3vw,41px);line-height:1.16;margin:0;max-width:750px}
.company-page .company-story-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,75px);align-items:start;padding-left:55px}
.company-page .company-source-prose{font-size:17px;line-height:1.7;overflow-wrap:break-word;min-width:0}
.company-page .company-source-prose p{margin:0 0 23px}.company-page .company-source-prose h2,.company-page .company-source-prose h3{font-size:25px;margin:28px 0 15px}.company-page .company-source-prose ul,.company-page .company-source-prose ol{padding-left:23px}.company-page .company-source-prose li{margin:9px 0}
.company-page .company-story-photo{position:relative;padding:0 0 0 20px;border-left:1px solid var(--company-border)}
.company-page .company-story-photo img,.company-page .company-supply-photo img,.company-page .company-office-photo img{width:100%;height:auto}
.company-page .company-story-photo figcaption,.company-page .company-supply-photo figcaption,.company-page .company-office-photo figcaption{font-size:12px;line-height:1.5;color:var(--muted);padding:13px 0 0}
.company-page .company-supply-band{padding:60px 0 65px;background:var(--company-grey);border-top:1px solid #e0e4e6;border-bottom:1px solid #e0e4e6;scroll-margin-top:25px}
.company-page .company-supply-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,75px);padding-left:55px}
.company-page .company-supply-lead>.company-source-prose{margin-bottom:25px}.company-page .company-supply-photo{max-width:500px}
.company-page .company-supply-points{border-top:1px solid #bfc8cd}
.company-page .company-supply-point{display:grid;grid-template-columns:30px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #bfc8cd;position:relative}
.company-page .company-supply-point>span{font-size:11px;font-weight:700;color:var(--red);padding-top:5px}.company-page .company-supply-point .company-source-prose{font-size:16px;line-height:1.65}
.company-page .company-support-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;padding-left:55px;align-items:start}
.company-page .company-project-link{border-top:2px solid var(--red);padding:22px 0 0;position:relative}
.company-page .company-project-link>span{position:absolute;right:0;top:14px;font-size:30px;color:var(--red)}.company-page .company-project-link h3{font-size:22px;max-width:240px;padding-right:20px;margin:0 0 12px}
.company-page .company-project-link p{font-size:14px;color:var(--muted);margin-bottom:17px;max-width:310px}
.company-page .company-process{list-style:none;padding:0;margin:45px 0 0 55px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}
.company-page .company-process li{border-top:1px solid var(--company-border);padding-top:17px;position:relative;min-width:0}
.company-page .company-process li:before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--red);border:2px solid white;outline:1px solid var(--red);border-radius:50%}
.company-page .company-process-number{font-size:10px;letter-spacing:.1em;color:var(--red)}.company-page .company-process h3{font-size:19px;line-height:1.3;margin:13px 0 10px}.company-page .company-process p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}
.company-page .company-voice{display:grid;grid-template-columns:55px 1fr;gap:0;padding-top:20px;padding-bottom:30px}
.company-page .company-voice>div:last-child{background:var(--company-grey);padding:34px 42px 32px;border-left:3px solid var(--red)}
.company-page .company-voice-mark{font-size:73px;line-height:1;color:var(--red);padding-top:20px}
.company-page .company-voice blockquote{margin:0;font-size:clamp(20px,2vw,26px);line-height:1.55;letter-spacing:-.015em}
.company-page .company-signature{margin:24px 0 0;display:flex;flex-direction:column;gap:5px;font-size:15px}.company-page .company-signature span{font-size:12px;color:var(--muted)}
.company-page .company-gallery{padding-top:55px}.company-page .company-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 22px}
.company-page .company-photo-grid figure{min-width:0}.company-page .company-photo-grid figure>a{display:block;position:relative;overflow:hidden;background:var(--company-grey)}
.company-page .company-photo-grid img{width:100%;height:auto;aspect-ratio:1000/666;object-fit:contain;transition:opacity .2s}
.company-page .company-photo-grid a:hover img{opacity:.88}.company-page .company-photo-open{position:absolute;bottom:0;right:0;background:var(--red);color:white;width:33px;height:33px;display:grid;place-items:center;font-size:18px}
.company-page .company-photo-grid figcaption{display:flex;align-items:flex-start;gap:13px;padding-top:12px;font-size:12px;line-height:1.5;color:var(--muted)}
.company-page .company-photo-grid figcaption>span{font-size:10px;color:var(--red);flex:none;padding-top:2px}
.company-page .company-more-photos{margin-top:30px;border-top:1px solid var(--company-border)}
.company-page .company-more-photos summary{display:flex;align-items:center;gap:13px;list-style:none;cursor:pointer;font-size:15px;font-weight:700;padding:20px 0;min-height:58px}
.company-page .company-more-photos summary::-webkit-details-marker{display:none}.company-page .company-more-photos summary>span{font-size:12px;color:var(--muted);font-weight:400}.company-page .company-more-photos summary>i{font-style:normal;color:var(--red);margin-left:auto;font-size:24px;line-height:1}
.company-page .company-more-photos[open] summary>i{transform:rotate(45deg)}
.company-page .company-details-band{padding:62px 0 68px;background:#f1f3f4;border-top:1px solid var(--company-border);scroll-margin-top:25px}
.company-page .company-details-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,90px);align-items:start}
.company-page .company-contact-intro{margin:20px 0 25px;font-size:16px;line-height:1.65;max-width:440px}.company-page .company-direct-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:26px;font-size:16px}
.company-page .company-phone{font-size:25px;font-weight:700;text-decoration:none}.company-page .company-messengers{display:flex;flex-wrap:wrap;gap:12px 23px;margin:19px 0 30px}
.company-page .company-messengers a{font-size:13px;display:flex;gap:8px;align-items:center}.company-page .company-messengers span{color:var(--red)}
.company-page .company-legal-title{font-size:20px;margin:0 0 17px}.company-page .company-legal{margin:0 0 21px;font-size:14px;border-top:1px solid var(--company-border)}
.company-page .company-legal>div{display:grid;grid-template-columns:82px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--company-border)}
.company-page .company-legal dt{color:var(--muted)}.company-page .company-legal dd{margin:0;overflow-wrap:anywhere}
.company-page .company-office-photo{padding-top:8px;position:sticky;top:25px}.company-page .company-office-photo figcaption{border-bottom:1px solid var(--company-border);padding-bottom:14px}
@media(max-width:1050px){.company-page .company-masthead{gap:30px}.company-page .company-hero-photo figcaption{grid-template-columns:1fr;gap:8px}.company-page .company-photo-route{display:none}.company-page .company-chapter-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.company-page .company-chapter-nav a:nth-child(3){padding-left:0;border-top:0}.company-page .company-chapter-nav a:nth-child(4){border-top:0}.company-page .company-story-layout,.company-page .company-supply-layout,.company-page .company-support-layout{padding-left:0;gap:35px}.company-page .company-process{margin-left:0;gap:20px}.company-page .company-voice{grid-template-columns:35px 1fr}.company-page .company-voice>div:last-child{padding:28px}.company-page .company-details-layout{gap:35px}.company-page .company-office-photo{position:static}}
@media(max-width:760px){.company-page .company-breadcrumb{padding:16px 0 20px;font-size:12px}.company-page .company-masthead{grid-template-columns:1fr;gap:15px;padding-top:5px;padding-bottom:35px}.company-page h1{font-size:46px;max-width:none;margin-bottom:20px}.company-page .company-intro-text{font-size:16px;max-width:none}.company-page .company-hero-actions{gap:18px;margin-top:22px}.company-page .company-hero-photo{padding-top:15px;padding-right:14px;margin-bottom:0}.company-page .company-hero-photo figcaption{display:flex;flex-wrap:wrap;gap:7px 15px;padding-top:12px}.company-page .company-hero-photo:before{left:15px;bottom:22px}.company-page .company-chapter-nav{margin-bottom:5px}.company-page .company-chapter-nav a{font-size:12px;gap:8px;padding:15px 12px 15px 0;min-height:72px}.company-page .company-chapter-nav a+a{padding-left:12px}.company-page .company-chapter-nav a:nth-child(3){padding-left:0}.company-page .company-chapter-nav a i{font-size:16px}.company-page .company-chapter{padding-block:42px}.company-page .company-section-heading{gap:15px;margin-bottom:25px}.company-page .company-section-index{min-width:20px;font-size:11px;padding-top:9px}.company-page .company-kicker{font-size:10px}.company-page h2{font-size:30px}.company-page .company-story-layout,.company-page .company-supply-layout,.company-page .company-support-layout,.company-page .company-details-layout{grid-template-columns:1fr;gap:28px}.company-page .company-source-prose{font-size:16px;line-height:1.7}.company-page .company-source-prose p{margin-bottom:20px}.company-page .company-story-photo{padding:0;border:0}.company-page .company-supply-band{padding-block:40px}.company-page .company-supply-photo{max-width:none}.company-page .company-supply-point{grid-template-columns:20px 1fr;gap:16px;padding:18px 0}.company-page .company-supply-point .company-source-prose{font-size:15px}.company-page .company-project-link{max-width:none;padding-top:18px}.company-page .company-project-link h3{max-width:none;font-size:21px;padding-right:35px}.company-page .company-project-link p{max-width:none}.company-page .company-process{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:33px;gap:30px 20px}.company-page .company-process h3{font-size:18px}.company-page .company-process p{font-size:13px}.company-page .company-voice{display:block;padding-top:4px;padding-bottom:4px}.company-page .company-voice-mark{display:none}.company-page .company-voice>div:last-child{padding:25px 22px}.company-page .company-voice blockquote{font-size:20px;line-height:1.55}.company-page .company-signature{font-size:14px;line-height:1.5}.company-page .company-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.company-page .company-photo-grid figcaption{font-size:11px;gap:7px}.company-page .company-photo-open{width:27px;height:27px;font-size:16px}.company-page .company-more-photos{margin-top:23px}.company-page .company-details-band{padding-block:42px}.company-page .company-contact-intro{font-size:15px}.company-page .company-details-copy>.button{width:100%;justify-content:space-between}.company-page .company-direct-contacts{margin-top:23px}.company-page .company-phone{font-size:24px}.company-page .company-messengers{gap:13px 20px}.company-page .company-legal{font-size:13px}.company-page .company-legal>div{grid-template-columns:67px 1fr;gap:14px}.company-page .company-office-photo{padding:0}}
@media(max-width:380px){.company-page h1{font-size:40px}.company-page h2{font-size:27px}.company-page .company-hero-actions .button{width:100%;gap:12px}.company-page .company-chapter-nav{grid-template-columns:1fr}.company-page .company-chapter-nav a,.company-page .company-chapter-nav a+a{font-size:12px;gap:12px;padding:14px 0;min-height:50px}.company-page .company-chapter-nav a+a{border-top:0}.company-page .company-process{gap:25px 15px}.company-page .company-voice>div:last-child{padding:22px 18px}.company-page .company-voice blockquote{font-size:18px}.company-page .company-photo-grid{gap:18px 12px}.company-page .company-photo-grid figcaption>span{display:none}}
@media(prefers-reduced-motion:reduce){.company-page *{scroll-behavior:auto;transition:none!important}}

/* The supply list is authored with the native visual editor. */
.company-page .company-supply-points>ul,.company-page .company-supply-points>ol{list-style:none;margin:0;padding:0;counter-reset:company-supply}
.company-page .company-supply-points>ul>li,.company-page .company-supply-points>ol>li{position:relative;margin:0;padding:23px 0 23px 50px;border-bottom:1px solid #bfc8cd;counter-increment:company-supply;font-size:16px;line-height:1.65}
.company-page .company-supply-points>ul>li:before,.company-page .company-supply-points>ol>li:before{content:counter(company-supply,decimal-leading-zero);position:absolute;left:0;top:27px;font-size:11px;font-weight:700;color:var(--red)}
@media(max-width:760px){.company-page .company-supply-points>ul>li,.company-page .company-supply-points>ol>li{padding:18px 0 18px 36px;font-size:15px}.company-page .company-supply-points>ul>li:before,.company-page .company-supply-points>ol>li:before{top:22px}}
