:root{--copper:#9b5f3d;--ink:#292822;--cream:#f7f3ed;background:var(--cream)}
body{background:var(--cream)}
.site-header,.home-site .site-header{position:sticky;top:0;z-index:60;height:88px;background:#f7f3edf5;border-bottom:1px solid #d7c8b767;transition:background .25s,border-color .25s}
.site-header.header-scrolled{background:#f7f3edf5;backdrop-filter:blur(14px);border-color:#bfa78c}
.header .brand{font-size:32px}.nav-group>a{font-size:14px}.nav-submenu{background:var(--cream)}
.primary{padding:15px 25px;min-height:56px;transition:background .25s,transform .25s,border-color .25s}
.primary svg,.editorial-link svg{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.primary:hover svg,.editorial-link:hover svg{transform:translate(4px,-2px)}
.primary:hover{background:#784629;transform:translateY(-2px)}
.editorial-link{transition:color .25s,gap .3s}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100;pointer-events:none}
.reading-progress-fill{height:100%;display:block;transform:scaleX(0);transform-origin:left;background:#b17b50}
.breadcrumb{padding:25px 0;font-size:12px;letter-spacing:.02em}
.page-hero{width:calc(100% - 128px);max-width:1550px;grid-template-columns:1fr 1.15fr;gap:55px;padding-bottom:58px;border:0;min-height:570px;position:relative;align-items:center}
.page-hero-copy{padding:35px 0 32px 28px;position:relative;z-index:2}
.page-hero h1{font-size:84px;line-height:1.18;letter-spacing:.015em;margin:24px 0 30px;font-weight:600}
.page-hero .page-subtitle{font-size:24px;line-height:1.85;max-width:470px}
.inner-main p.eyebrow{font-size:11px;letter-spacing:.16em}
.page-hero-copy>.eyebrow{border-left:26px solid var(--copper);padding-left:14px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin-top:32px}
.hero-actions .editorial-link{margin:0;font-size:14px}
.hero-actions .primary{font-size:14px;gap:25px}
.page-hero figure{align-self:stretch;display:flex;flex-direction:column;position:relative;overflow:hidden;min-width:0;margin:0}
.hero-photo{overflow:hidden;flex:1;min-height:480px;background:#e6d7c5}
.page-hero figure img{height:100%;min-height:480px;object-fit:cover;will-change:transform;transform-origin:center}
.page-hero figcaption{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#ddc8b2;background:var(--ink);font:9px/1.5 Arial,"PingFang SC",sans-serif;letter-spacing:.13em;margin:0;padding:15px 20px}
.page-hero.compact{min-height:350px;grid-template-columns:1.1fr .9fr}
.page-hero.compact .hero-photo,.page-hero.compact figure img{min-height:310px;height:310px}
.page-hero.compact h1{font-size:72px}
.business-ribbon{background:var(--ink);color:#d9bd9c;overflow:hidden;width:100%;padding:29px 0;position:relative}
.ribbon-track{display:flex;width:max-content}
.ribbon-copy{display:flex;flex-shrink:0;align-items:center;gap:50px;padding-right:50px}
.ribbon-copy>span{display:flex;align-items:center;gap:50px;font-family:var(--serif);font-size:27px;letter-spacing:.035em;white-space:nowrap}
.ribbon-copy svg{color:#a77750}
html[data-motion=on] .ribbon-track{animation:ribbon-travel 64s linear infinite}
.business-ribbon:hover .ribbon-track{animation-play-state:paused}
@keyframes ribbon-travel{to{transform:translateX(-50%)}}
.inner-section{padding:82px 0;border-color:#cdbda7a8}
.inner-main h2{font-size:47px;line-height:1.35}
.inner-main p.lead{font-size:25px;color:#493d32}
.intro-split{padding-top:85px;padding-bottom:85px}
.inner-section-heading>p{font-size:16px}
.business-map{background:#ded0bd;padding:75px 0}
.map-columns{gap:90px}.map-columns>div{border-color:#b3997c}
.map-columns .large-index{font-size:74px;color:#ad8966}
.map-columns a{padding:18px 0;transition:padding .3s,color .3s;border-color:#bfa88c}
.map-columns a:hover{padding-left:13px;color:#754222}
.principles{gap:35px}.principles article{padding:24px 18px 20px 0;border-top:1px solid #baa084}
.principles article>span{font-size:58px;transition:color .3s;color:#be9e7d}
.principles article:hover>span{color:var(--copper)}
.editorial-feature{gap:0;align-items:stretch;background:var(--ink);margin-top:65px;margin-bottom:25px;border:0;padding:0}
.editorial-feature>img{height:100%;min-height:460px}
.editorial-feature>div{padding:60px 46px}
.editorial-feature h2{color:#f7efe4}.editorial-feature p:not(.eyebrow){color:#c6b9a9}
.editorial-feature .eyebrow,.editorial-feature .editorial-link{color:#cb9f76;border-color:#cb9f76}
.inner-cta{background:var(--ink);padding:65px 0;border:0;position:relative;overflow:hidden}
.inner-cta h2{color:#f4ecdf;font-size:43px}.inner-cta p.eyebrow{color:#c29b71}
.inner-cta .container>p:last-child{color:#b8a995}
.inner-cta .primary{background:#b47a4d;border-color:#b47a4d;color:#fff}.inner-cta .primary:hover{background:#c59267}
.site-footer{background:#eee6db;border-color:#d8c9b7}
.catalog-row{padding:70px 0;gap:75px;border-color:#cdbda7a8}
.catalog-row .catalog-image{overflow:hidden;position:relative}
.catalog-image img{height:460px;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}
.catalog-image:hover img{transform:scale(1.045)}
.catalog-row:nth-child(even){padding-left:40px;padding-right:40px;background:#eee5d8;margin:35px 0;border:0}
.catalog-row h2{font-size:43px}.catalog-row .editorial-link{margin-top:28px}
.detail-layout{grid-template-columns:220px minmax(0,1fr);gap:75px}
.detail-aside{top:112px;padding-top:70px}.detail-aside>a{transition:padding .25s,color .25s}
.detail-aside>a[aria-current=page]{border-left:2px solid var(--copper);padding-left:13px}
.detail-aside>a:hover{padding-left:13px;color:var(--copper)}
.detail-content>.inner-section{padding:65px 0}
.detail-content h2{font-size:41px;line-height:1.4}
.scope-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:33px}
.scope-list article{display:block;padding:27px 29px 30px;background:#ede3d5;border:0;border-bottom:2px solid transparent;transition:transform .3s,background .3s,border-color .3s;min-width:0}
.scope-list article:hover{transform:translateY(-5px);background:#e5d3bb}
.scope-list article.is-reading{border-bottom-color:#a87950}
.scope-index{font-size:45px;display:block;line-height:1.1;margin-bottom:23px;color:#ae8762}
.scope-list h3{font-size:24px}.scope-list p{font-size:16px;line-height:1.9}
.detail-highlight{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--ink);padding:0;overflow:hidden;margin-top:45px}
.highlight-photo{overflow:hidden}.highlight-photo img{height:100%;min-height:390px;object-fit:cover;transition:transform .8s}
.detail-highlight:hover .highlight-photo img{transform:scale(1.045)}
.highlight-copy{padding:39px 33px}
.highlight-copy h2{font-size:32px;color:#f4ecdf;margin:20px 0;line-height:1.5}
.highlight-copy p:not(.eyebrow){color:#cbbba7;font-size:16px}
.highlight-copy p.eyebrow{color:#c79e73;font-size:9px}
.prepare-grid{gap:25px 32px}.prepare-grid article{padding-top:25px}.prepare-grid article svg{transition:transform .3s}
.prepare-grid article:hover svg{transform:translateX(5px)}
.detail-next>div a{padding:22px 0;transition:padding .3s,color .3s}.detail-next>div a:hover{padding-left:12px}
.inner-main details{transition:background .25s}
.inner-main details[open]{background:#eee5d866;padding-left:17px;padding-right:17px}
.inner-main details[open] summary{color:#8e5331}
.inner-main summary svg{transition:transform .25s}
.process-stage{grid-template-columns:.32fr 1.68fr;gap:70px;padding:70px 0}
.stage-number{font-size:140px;color:#d0b99d;transition:color .6s}
.process-stage.is-reading .stage-number{color:#9b5f3d}
.process-stage:nth-child(even){background:#eee5d8;padding-left:35px;padding-right:35px}
.process-stage h2{font-size:45px}.stage-bottom{gap:50px}
.cooperation-paths>a{padding:40px;background:#e6d7c4;transition:transform .3s,background .3s}
.cooperation-paths>a:hover{transform:translateY(-5px);background:#dfc6a7}
.inquiry-panel{background:#e9ddcd;border-top:3px solid var(--copper);padding:40px 45px}
.inquiry-panel h2{font-size:34px}.inquiry-panel input,.inquiry-panel select,.inquiry-panel textarea{transition:border-color .25s,background .25s}
.inquiry-panel input:hover,.inquiry-panel select:hover,.inquiry-panel textarea:hover{border-color:#9b5f3d}
.motion-tools{position:fixed;right:23px;bottom:22px;z-index:55;display:flex;gap:7px;align-items:center}
.motion-toggle,.back-to-top{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #b99a79;background:#f7f3edf5;color:#765239;padding:12px 14px;font-size:11px;backdrop-filter:blur(8px);min-height:43px}
.motion-toggle:hover,.back-to-top:hover{background:#e6d5bf}.motion-toggle:disabled{cursor:default;color:#95836f}
.back-to-top{width:43px;padding:10px}
.home-site .hero{height:680px;min-height:0;padding:35px 6.4% 0;position:relative;overflow:hidden;isolation:isolate;background:none}
.home-visual{position:absolute;inset:0;z-index:-1;overflow:hidden}.home-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
html[data-motion=on] .home-visual img{animation:hero-breathe 18s ease-in-out infinite alternate}
@keyframes hero-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}
.home-site .hero-copy{max-width:650px}.home-site .hero h1{font-size:89px}.home-site .hero .eyebrow{font-size:14px;letter-spacing:.09em}
.home-site .hero-intro{font-size:22px}.home-site .hero .primary{font-size:15px}.home-site .hero+.business-ribbon{margin:0}
.home-site .about{padding-top:60px;padding-bottom:60px;border:0}.home-site .about img{height:385px}
.home-site .service-grid article{overflow:hidden}.home-site .service-grid img{height:305px}.home-site .service-grid article:nth-child(even){padding-top:42px}
.home-site .product-grid article{background:#ebe0d1;padding:18px 18px 24px}.home-site .product-grid img{height:245px}
.home-site .contact-banner{background:var(--ink)}.home-site .contact-banner:before{opacity:.2}
.home-site .contact-banner h2{color:#f5eadb}.home-site .contact-banner p{color:#d2beaa}.home-site .contact-banner .container{padding:65px 0}
html[data-motion=off] .ribbon-track,html[data-motion=off] .home-visual img{animation:none}
html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{scroll-behavior:auto!important;transition:none!important}
@media(max-width:1100px) and (min-width:761px){.page-hero{width:calc(100% - 80px);gap:35px;min-height:480px}.page-hero h1{font-size:65px}.page-hero-copy{padding-left:8px}.hero-photo,.page-hero figure img{min-height:405px}.page-hero .page-subtitle{font-size:21px}.hero-actions{gap:15px}.hero-actions .primary{font-size:13px;padding:12px 15px;gap:14px}.inner-main h2{font-size:38px}.detail-layout{gap:40px;grid-template-columns:195px minmax(0,1fr)}.detail-content h2{font-size:34px}.scope-list article{padding:23px}.highlight-copy{padding:30px 25px}.highlight-copy h2{font-size:29px}.detail-highlight{grid-template-columns:.65fr 1.35fr}.inner-cta h2{font-size:36px}.catalog-row{gap:40px}.catalog-row:nth-child(even){padding-left:25px;padding-right:25px}.catalog-image img{height:390px}.home-site .hero h1{font-size:72px}.home-site .hero{height:610px}.stage-number{font-size:115px}}
@media(max-width:760px){.site-header,.home-site .site-header{height:76px;position:sticky}.header .brand{font-size:27px}.header-cta{min-height:35px}.breadcrumb{font-size:10px;padding:20px 0}.page-hero{width:calc(100% - 40px);display:flex;flex-direction:column;gap:27px;padding-bottom:27px;min-height:0;align-items:stretch}.page-hero-copy{padding:8px 0 0}.page-hero h1{font-size:45px;line-height:1.2;margin:22px 0}.page-hero .page-subtitle{font-size:21px;max-width:none}.page-hero-copy>.eyebrow{font-size:9px;border-left-width:18px;padding-left:10px;letter-spacing:.1em}.hero-actions{gap:20px;margin-top:25px}.hero-actions .primary{font-size:13px;min-height:48px;padding:12px 18px;gap:16px}.hero-actions .editorial-link{font-size:12px;gap:12px}.page-hero figure{flex:none;min-height:0}.hero-photo,.page-hero figure img{height:285px;min-height:285px}.page-hero figcaption{font-size:7px;padding:12px 13px;letter-spacing:.06em}.page-hero.compact{min-height:0;display:flex}.page-hero.compact h1{font-size:45px}.page-hero.compact .hero-photo,.page-hero.compact figure img{height:200px;min-height:200px}.business-ribbon{padding:20px 0}.ribbon-copy{gap:26px;padding-right:26px}.ribbon-copy>span{font-size:19px;gap:26px}.ribbon-copy svg{width:21px}.inner-section,.intro-split{padding:42px 0}.inner-main h2{font-size:31px}.inner-main p.lead{font-size:21px}.business-map{padding:40px 0}.map-columns{gap:30px}.map-columns .large-index{font-size:59px}.map-columns a{font-size:20px}.principles{gap:25px}.principles article{padding:18px 0}.principles article>span{font-size:43px}.editorial-feature{margin-top:30px;display:flex;flex-direction:column;padding:0;gap:0}.editorial-feature>img{height:240px;min-height:240px}.editorial-feature>div{padding:30px 25px}.editorial-feature h2{font-size:30px}.inner-cta{padding:40px 0 65px}.inner-cta h2{font-size:31px}.inner-cta .primary{margin-top:24px;min-height:48px;font-size:14px}.catalog-row{gap:25px;padding:38px 0}.catalog-row h2{font-size:31px}.catalog-image img{height:280px}.catalog-row:nth-child(even){padding:24px 20px;margin:15px -8px}.detail-layout{display:block}.detail-aside{padding-top:25px;position:static}.detail-aside>a[aria-current=page]{padding-left:0;border-left:0}.detail-content>.inner-section{padding:38px 0}.detail-content h2{font-size:29px}.scope-list{grid-template-columns:1fr;gap:15px}.scope-list article{padding:24px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:18px}.scope-index{font-size:31px;margin:0;line-height:1.25}.scope-list h3{font-size:22px}.scope-list p{font-size:14px}.detail-highlight{display:block;margin-top:25px}.highlight-photo img{height:220px;min-height:220px}.highlight-copy{padding:28px 25px}.highlight-copy h2{font-size:29px}.highlight-copy p:not(.eyebrow){font-size:14px}.prepare-grid{gap:22px}.prepare-grid h3{font-size:20px}.prepare-grid article{padding-top:20px}.inner-main details[open]{padding-left:12px;padding-right:12px}.inner-main summary{font-size:18px}.process-stage{grid-template-columns:50px minmax(0,1fr);gap:18px;padding:38px 0}.process-stage h2{font-size:31px}.stage-number{font-size:47px}.process-stage:nth-child(even){padding:30px 15px;margin:0 -7px}.stage-bottom{gap:20px}.cooperation-paths>a{padding:28px 24px}.inquiry-panel{padding:28px 23px}.inquiry-panel h2{font-size:28px}.motion-tools{right:12px;bottom:12px;gap:6px}.motion-toggle{font-size:10px;padding:10px 11px;min-height:38px}.back-to-top{height:38px;min-height:38px;width:38px}.home-site .hero{height:600px;padding:40px 20px;display:flex;align-items:flex-start}.home-site .hero-copy{background:#f7f3edf2;padding:23px 22px 27px;margin-top:8px}.home-site .hero h1{font-size:47px}.home-site .hero .eyebrow{font-size:12px}.home-site .hero-intro{font-size:16px}.home-visual img{object-position:58% center}.home-site .hero .primary{font-size:13px;min-height:48px}.home-site .about{padding-top:38px;padding-bottom:38px}.home-site .about img{height:255px}.home-site .service-grid img{height:205px}.home-site .service-grid article:nth-child(even){padding-top:28px}.home-site .product-grid{grid-template-columns:1fr}.home-site .product-grid article{padding:17px 17px 25px}.home-site .product-grid img{height:205px}.home-site .contact-banner .container{padding:45px 0 65px}}
@media(prefers-reduced-motion:reduce){.ribbon-track,.home-visual img{animation:none!important}*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Give the hero image a measured slot so intrinsic image size cannot inflate the first screen. */
.hero-photo{position:relative;height:520px;min-height:0;flex:auto}
.page-hero figure img{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.page-hero.compact .hero-photo{height:310px;min-height:0}
.page-hero.compact figure img{height:100%;min-height:0}
@media(max-width:1100px) and (min-width:761px){.hero-photo{height:430px}}
@media(max-width:760px){.hero-photo{height:285px;min-height:0}.page-hero figure img{height:100%;min-height:0}.page-hero.compact .hero-photo{height:200px;min-height:0}.page-hero.compact figure img{height:100%;min-height:0}}
@media(min-width:761px){.home-site .hero-copy{background:#f7f3edf5;padding:35px 35px 40px 0;max-width:650px}.home-site .hero-copy:before{content:"";position:absolute;right:100%;top:0;bottom:0;width:200px;background:#f7f3edf5;z-index:-1}}
html{scroll-padding-top:110px}.footer-bottom{padding-bottom:70px}
@media(max-width:760px){html{scroll-padding-top:94px}.footer-bottom{padding-bottom:72px}}
.inner-cta .primary{background:#c59465;border-color:#c59465;color:#241e18}.inner-cta .primary:hover{background:#d1a87e}
/* Preserve the heads of people and the upper structures of tall equipment in new hero assets. */
.hero-photo img[src$="cooperation-hero.webp"]{object-position:50% 25%;transform-origin:center top}
.highlight-photo img[src$="operations-feature.webp"]{object-position:50% 0%}
@media(max-width:760px){.highlight-photo img{height:auto;min-height:0;aspect-ratio:4/5;object-fit:cover}}
