/* Home: editorial type and a full-height photographic plane share one grid. */
.home-hero{padding-top:26px}
.hero-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}
.hero-meta .eyebrow{margin:0}.drawing-label{font-size:9px;letter-spacing:.13em;color:var(--color-muted)}
.hero-composition{position:relative;display:grid;grid-template-columns:34% 66%;grid-template-rows:auto 1fr;min-height:680px;isolation:isolate}
.hero-title{grid-column:1/-1;grid-row:1;position:relative;z-index:2;font-size:clamp(68px,8.4vw,120px);line-height:1.06;letter-spacing:-.055em;color:var(--color-primary);margin:0 0 32px;hyphens:none;padding-top:14px;pointer-events:none}
.hero-title-line{display:block;width:fit-content;background:var(--color-background);padding:0 28px 10px 0;animation:hero-type 1.15s var(--ease) both}
.hero-title-place{animation-delay:.14s}
.hero-photo{grid-column:2;grid-row:1/3;position:relative;min-height:680px;overflow:hidden;clip-path:polygon(0 0,calc(100% - 72px) 0,100% 72px,100% 100%,0 100%);animation:hero-image 1.45s var(--ease) both}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% 50%;animation:hero-zoom 1.8s var(--ease) both}

.hero-copy{grid-column:1;grid-row:2;z-index:2;padding:5px 35px 34px 0;align-self:end;animation:reveal-rise 1s var(--ease) .24s both}
.hero-claim{font-family:var(--font-heading);font-size:27px;line-height:1.3;letter-spacing:-.02em;margin-bottom:20px}
.hero-intro{max-width:365px;font-size:16px;line-height:1.7;color:var(--color-muted);margin-bottom:26px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 23px}.hero-actions>.text-link{font-size:13px}
.hero-direction{position:absolute;right:0;top:0;width:62px;height:62px;display:grid;place-items:center;color:var(--color-primary)}.hero-direction .icon{width:36px;height:36px;stroke-width:1.25}
.hero-rail{position:absolute;bottom:-16px;right:20px;left:20%;height:1px;background:var(--color-primary);transform-origin:right;animation:build-horizontal 1.4s var(--ease) .25s both}



.introduction{display:grid;grid-template-columns:1fr 3fr;gap:55px}.introduction>.eyebrow{padding-top:10px}.introduction h2{font-size:clamp(34px,4vw,57px);max-width:850px}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:42px;color:var(--color-muted)}.intro-columns .text-link{margin-top:15px;color:var(--color-primary)}
.services-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.services-heading .section-heading{max-width:700px}.services-heading>.text-link{flex-shrink:0;margin-bottom:10px}
.services-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,76px);align-items:start}
.services-photo{position:sticky;top:125px}.services-photo-frame{height:650px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 50px),calc(100% - 50px) 100%,0 100%)}
.services-photo img{width:100%;height:100%;object-fit:cover;object-position:47% center;transition:transform 1s var(--ease)}.services-photo:hover img{transform:scale(1.035)}

.services-layout .service-row{padding-block:30px}.services-layout .service-row h3{font-size:clamp(23px,2.1vw,29px)}
/* Real imagery, one restrained overlay, and transform-only desktop parallax. */
.image-band{position:relative;isolation:isolate;overflow:hidden;background:var(--color-primary-deep);color:white;min-height:520px;display:grid;align-items:center}
.image-band-media{position:absolute;inset:-48px 0;z-index:-2;transform:translate3d(0,var(--parallax,0px),0)}
.image-band-media img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.image-band::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,40,52,.9),rgba(0,40,52,.72) 60%,rgba(0,40,52,.5))}
.image-band-content{padding-block:100px}.image-band-content h2{font-size:clamp(40px,5.5vw,78px);max-width:850px}.image-band-content>p:not(.eyebrow){max-width:610px;font-size:19px;color:#e1ebed}.image-band .button{margin-top:15px}
.home-page .image-band:last-child .image-band-content{text-align:center;display:flex;flex-direction:column;align-items:center}.home-page .image-band:last-child .eyebrow{justify-content:center}.home-page .image-band:last-child::after{background:#00313de0}
.safety-feature{min-height:660px}.safety-feature .image-band-media img{object-position:center 58%}.safety-feature::after{background:linear-gradient(90deg,#003b49b5,#002e3ae8 62%)}
.safety-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center;padding-block:90px}
.safety-statement{font-family:var(--font-heading);font-size:clamp(40px,4.7vw,67px);line-height:1.14;letter-spacing:-.04em;align-self:end;padding-bottom:14px}
.safety-feature h2{font-size:clamp(34px,3.5vw,48px)}.safety-feature p:not(.eyebrow){color:#dce8eb}.safety-feature .check-list{margin:30px 0;color:#dce9eb;font-size:15px}.safety-feature .check-list .icon{color:white}
.process-preview{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:28px}.process-preview li{border-top:1px solid var(--color-line);padding-top:25px;position:relative}
.process-number{font-family:var(--font-heading);font-size:60px;color:var(--color-primary);line-height:1;display:block;margin-bottom:28px}.process-preview h3{font-size:20px;min-height:48px}.process-preview p{font-size:14px;line-height:1.6;color:var(--color-muted)}
.region-section{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center}.region-section>div>p{max-width:460px;color:var(--color-muted)}
.region-network{position:relative;border:1px solid var(--color-line);background:linear-gradient(90deg,#02587008 1px,transparent 1px),linear-gradient(#02587008 1px,transparent 1px);background-size:30px 30px;padding:34px}
.region-anchor{display:flex;flex-direction:column;align-items:flex-start;position:relative}.region-anchor>span{font-size:11px;color:var(--color-muted)}.region-anchor strong{font-family:var(--font-heading);font-weight:400;font-size:36px;color:var(--color-primary);letter-spacing:-.03em;line-height:1.3;margin:5px 0}
.region-scope{margin-top:22px;font-size:14px;color:var(--color-muted);max-width:62ch}.region-links{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:20px}
.region-links a{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;line-height:1.45;text-decoration:none;border-top:1px solid var(--color-line);padding:13px 0}.region-links a .icon{width:14px;height:14px;transition:transform .35s var(--ease)}.region-links a:hover{color:var(--color-primary);text-decoration:underline}.region-links a:hover .icon{transform:translateX(4px)}.region-all{margin-top:12px;font-size:12px}
/* Inner pages retain their individual content and structured reading rhythm. */
.service-catalog{margin-bottom:80px}.catalog-item{display:grid;grid-template-columns:60px 1fr 1fr;gap:45px;padding:60px 0;border-top:1px solid var(--color-line);align-items:center}.catalog-item h2{font-size:36px}.catalog-item p:not(.lead){color:var(--color-muted)}.catalog-item .lead{font-size:20px}
.catalog-item figure{height:390px;overflow:hidden}.catalog-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.catalog-item:hover img{transform:scale(1.035)}
.catalog-item:nth-child(even){grid-template-columns:60px 1fr 1fr}.catalog-item:nth-child(even)>div{grid-column:3;grid-row:1}.catalog-item:nth-child(even) figure{grid-column:2;grid-row:1}
.industry-sections{padding-bottom:80px;max-width:1200px}.industry-section{display:grid;grid-template-columns:150px 1fr;gap:40px;padding:60px 0;border-top:1px solid var(--color-line)}.industry-section h2{font-size:36px}.industry-section p:not(.eyebrow){max-width:72ch;color:var(--color-muted)}.industry-sections .image-band{margin-block:20px 50px}.industry-sections .image-band-content{width:calc(100% - 80px);padding-block:70px}.industry-sections .image-band h2{font-size:clamp(35px,4vw,58px)}
.safety-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.safety-columns .large-index{margin-bottom:25px}.safety-columns article{border-top:1px solid var(--color-line);padding-top:25px}.safety-columns p{color:var(--color-muted)}
.process-full{position:relative;max-width:1030px;margin-top:10px;padding-bottom:70px}.process-track{position:absolute;left:45px;top:0;bottom:70px;width:1px;background:var(--color-line)}.process-track>span{position:absolute;inset:0;transform:scaleY(var(--progress,1));transform-origin:top;background:var(--color-secondary)}.process-full ol{list-style:none;margin:0;padding:0}
.process-stage{position:relative;display:grid;grid-template-columns:90px 1fr;gap:70px;padding-bottom:65px}.process-stage .stage-index{font-family:var(--font-heading);font-size:45px;display:grid;place-items:center;width:90px;height:90px;background:var(--color-background);border:1px solid var(--color-line);color:var(--color-primary);line-height:1}.process-stage h2{font-size:40px}.process-stage p:not(.eyebrow){color:var(--color-muted);max-width:66ch}.process-stage .stage-note{border-left:2px solid var(--color-secondary);padding:10px 20px;background:var(--color-surface);font-size:15px;margin-top:22px}
.principles article{display:grid;grid-template-columns:25px 1fr;gap:20px;padding:25px 0;border-top:1px solid var(--color-line)}.principles h3{font-size:25px;margin-bottom:14px}.principles p{color:var(--color-muted);font-size:16px}
.region-overview{max-width:1040px}.region-overview .region-network{padding:50px}.region-overview .region-links{grid-template-columns:repeat(3,1fr);gap:0 35px}.region-overview .region-links a{font-size:16px;padding-block:18px}
.place-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin-top:40px}.place-directory>a{position:relative;display:block;padding:27px 40px 27px 0;border-top:1px solid var(--color-line);text-decoration:none}.place-directory h3{font-size:24px;margin-bottom:10px}.place-directory p{font-size:15px;color:var(--color-muted)}.place-directory .icon{position:absolute;right:0;top:31px;transition:transform .4s var(--ease)}.place-directory>a:hover h3{color:var(--color-primary);text-decoration:underline;text-underline-offset:5px}.place-directory>a:hover .icon{transform:translate(3px,-3px)}
.regional-intro-strip{display:flex;align-items:center;gap:32px;border-block:1px solid var(--color-line);padding-block:20px;font-size:14px}.regional-intro-strip>span{display:flex;gap:12px;align-items:center;flex-shrink:0;color:var(--color-primary)}.regional-intro-strip p{margin:0;color:var(--color-muted)}
.regional-aside{position:sticky;top:125px;margin-top:34px}.regional-aside img{width:100%;height:410px;object-fit:cover}.regional-aside>div{padding-top:32px}.regional-aside>div>p:not(.eyebrow){color:var(--color-muted);font-size:15px}.regional-aside .text-link{display:flex}.regional-layout.variant-2{grid-template-columns:1fr 1.7fr}.regional-layout.variant-2>div{grid-column:2;grid-row:1}.regional-layout.variant-2>aside{grid-column:1;grid-row:1}.region-return{display:flex;gap:35px;flex-wrap:wrap;padding-bottom:60px;margin-top:-30px}
/* Compact, explicitly unsent email-draft form, ready for a same-origin endpoint. */
.contact-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:start}.contact-method{display:block;border-top:1px solid var(--color-line);padding:30px 0;text-decoration:none}.contact-method .eyebrow{margin-bottom:15px}.contact-method strong{font-size:clamp(24px,2.4vw,34px);line-height:1.3;font-family:var(--font-heading);font-weight:400;letter-spacing:-.03em;display:block;overflow-wrap:anywhere;color:var(--color-primary)}.contact-method>span:last-child{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-top:20px}.contact-method:hover>span:last-child{text-decoration:underline}.contact-method .icon{transition:transform .35s var(--ease)}.contact-method:hover .icon{transform:translate(3px,-3px)}
.contact-address{border-top:1px solid var(--color-line);padding-top:30px}.contact-address address{margin-bottom:20px}.contact-address p{font-size:15px;color:var(--color-muted)}.contact-photo{margin-top:35px;height:210px;overflow:hidden}.contact-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.contact-form-panel{padding:clamp(24px,3vw,44px);background:var(--color-surface)}.contact-form-panel h2{font-size:34px;margin-bottom:18px}.form-intro{font-size:14px;color:var(--color-muted);margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.form-wide{grid-column:1/-1}.form-field label{display:block;font-size:14px;font-weight:650;margin-bottom:9px}.form-field label span{font-weight:400;color:var(--color-muted)}
.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #6f898f;border-radius:2px;padding:13px 14px;background:#fff;color:var(--color-text);font:inherit;font-size:16px;line-height:1.4;min-height:50px}.form-field textarea{resize:vertical;min-height:145px}.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:var(--color-primary)}.form-field :user-invalid{border-color:#aa3030}.form-field ::placeholder{color:#617279;opacity:1}
.privacy-check{display:flex;align-items:start;gap:12px;margin-block:25px 18px;font-size:13px;line-height:1.6;cursor:pointer}.privacy-check input{accent-color:var(--color-primary);width:20px;height:20px;flex-shrink:0;margin:1px 0 0}.form-delivery-note{font-size:13px;line-height:1.6;color:var(--color-muted)}.form-submit{width:100%;justify-content:space-between}.form-submit:disabled{opacity:.6}.form-status:empty{display:none}.form-status{margin-top:20px;font-size:15px}.form-status[data-state=error]{color:#932626}
.legal-copy{max-width:860px;padding-bottom:100px;overflow-wrap:anywhere}.legal-copy h2{font-size:29px;margin-top:48px}.legal-copy h3{font-size:22px;margin-top:30px}.legal-copy h4{font-size:19px;line-height:1.4;margin-top:24px}.legal-copy p,.legal-copy li{color:var(--color-muted)}.legal-copy ul{padding-left:1.4em;margin-block:20px}.legal-copy li+li{margin-top:12px}.error-page{padding-block:80px 130px;max-width:950px}.error-code{font-family:var(--font-heading);font-size:130px;color:var(--color-primary);line-height:1;display:block;margin-bottom:40px}.error-page h1{font-size:clamp(36px,5vw,64px)}
@keyframes hero-type{from{opacity:0;transform:translateY(40px);clip-path:inset(0 0 100%)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes hero-image{from{opacity:.3;transform:translateY(25px)}to{opacity:1;transform:none}}
@keyframes hero-zoom{from{transform:scale(1.07)}to{transform:scale(1)}}
@keyframes build-horizontal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1100px){
 .hero-composition{grid-template-columns:40% 60%;min-height:630px}.hero-photo{min-height:630px}.hero-title{font-size:9vw}.hero-copy{padding-right:26px}.hero-claim{font-size:25px}
 .introduction{gap:30px}.intro-columns{gap:30px}.services-photo-frame{height:660px}.services-layout .service-row{gap:14px;padding-block:25px}.services-layout .service-row h3{font-size:24px}
 .process-preview{gap:20px}.process-preview h3{font-size:18px}.region-section{gap:40px}.region-network{padding:25px}.safety-columns{gap:30px}.catalog-item{gap:28px;grid-template-columns:45px 1fr 1fr}.catalog-item:nth-child(even){grid-template-columns:45px 1fr 1fr}.catalog-item h2{font-size:30px}.catalog-item figure{height:340px}.industry-section{grid-template-columns:90px 1fr}.contact-layout{gap:40px}
}
@media(max-width:760px){
 .home-hero{padding-top:20px}.hero-meta{margin-bottom:20px}.drawing-label{display:none}.hero-composition{grid-template-columns:1fr;grid-template-rows:auto 355px auto;min-height:0}
 .hero-title{grid-row:1;grid-column:1;font-size:clamp(43px,11.5vw,82px);line-height:1.04;padding-top:5px;margin-bottom:-35px;z-index:3}.hero-title-line{padding-right:14px;padding-bottom:8px;animation-duration:.85s}
 .hero-photo{grid-column:1;grid-row:2;min-height:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 32px),calc(100% - 32px) 100%,0 100%);margin-left:18px}.hero-photo>img{object-position:center 52%}
 .hero-copy{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr;gap:0;padding:28px 0 0}.hero-claim{font-size:24px;margin-bottom:16px}.hero-intro{max-width:500px;margin-bottom:20px}.hero-actions{gap:12px 20px}.hero-actions .button{font-size:13px}.hero-direction{display:none}.hero-rail{display:none}
 
 .introduction{display:block}.introduction>.eyebrow{padding-top:0}.introduction h2{font-size:35px}.intro-columns{grid-template-columns:1fr;gap:10px}
 .services-heading{display:block;margin-bottom:28px}.services-heading .section-heading{max-width:100%}.services-heading>.text-link{margin-top:4px}.services-layout{grid-template-columns:1fr;gap:32px}.services-photo{position:static}.services-photo-frame{height:420px}.services-layout .service-row h3{font-size:24px}
 .image-band{min-height:470px}.image-band-media{inset:0;transform:none}.image-band-content{padding-block:66px}.image-band-content h2{font-size:clamp(35px,8vw,54px)}.image-band-content>p:not(.eyebrow){font-size:17px}.image-band::after{background:#00313ddd}
 .safety-feature-grid{grid-template-columns:1fr;gap:38px;padding-block:60px}.safety-statement{font-size:42px;padding-bottom:25px;border-bottom:1px solid #ffffff50}.safety-feature h2{font-size:34px}.safety-feature::after{background:#002d39e0}
 .process-preview{grid-template-columns:1fr;gap:0}.process-preview li{display:grid;grid-template-columns:52px 1fr;gap:8px 20px;padding:24px 0}.process-preview .process-number{grid-row:span 2;font-size:40px;margin:0}.process-preview h3{font-size:23px;min-height:0;margin:0}.process-preview p{font-size:15px}
 .region-section{grid-template-columns:1fr;gap:30px}.region-network{padding:25px}.region-links{gap:0 16px}.region-links a{font-size:12px}.region-anchor strong{font-size:33px}
 .catalog-item,.catalog-item:nth-child(even){grid-template-columns:34px 1fr;gap:20px;padding:35px 0}.catalog-item .large-index{font-size:30px}.catalog-item h2{font-size:29px}.catalog-item figure,.catalog-item:nth-child(even) figure{grid-column:1/-1;grid-row:2;height:320px}.catalog-item:nth-child(even)>div{grid-column:2;grid-row:1}
 .industry-section{grid-template-columns:34px 1fr;gap:20px;padding:35px 0}.industry-section .large-index{font-size:30px}.industry-section h2{font-size:29px}.industry-section .text-link{font-size:13px}.industry-sections .image-band-content{width:calc(100% - 44px)}
 .safety-columns{grid-template-columns:1fr}.safety-columns .large-index{font-size:40px}.safety-columns article{display:grid;grid-template-columns:48px 1fr;gap:0 20px}.safety-columns .large-index{grid-row:span 2}.safety-columns h3{font-size:25px}.safety-columns p{grid-column:2}
 .process-stage{grid-template-columns:49px 1fr;gap:22px;padding-bottom:45px}.process-stage .stage-index{width:49px;height:55px;font-size:27px}.process-stage h2{font-size:29px}.process-track{left:24px}.process-stage .stage-note{padding:12px 15px;font-size:14px}.process-full{padding-bottom:25px}
 .region-overview .region-network{padding:25px}.region-overview .region-links{grid-template-columns:1fr 1fr;gap:0 18px}.region-overview .region-links a{font-size:13px;padding-block:16px}.place-directory{grid-template-columns:1fr;gap:0}.place-directory h3{font-size:23px}.regional-intro-strip{display:block}.regional-intro-strip>span{margin-bottom:12px}.regional-aside{position:static}.regional-aside img{height:340px}.regional-layout.variant-2{display:block}.region-return{margin-top:0;gap:10px;padding-bottom:45px}
 .contact-layout{grid-template-columns:1fr;gap:40px}.contact-photo{display:none}.contact-method strong{font-size:clamp(23px,6.3vw,32px)}.contact-form-panel{padding:25px 22px}.form-grid{grid-template-columns:1fr;gap:20px}.contact-form-panel h2{font-size:30px}.legal-copy h2{font-size:26px}.legal-copy{padding-bottom:60px}
}
@media(max-width:380px){.hero-title{font-size:11.1vw}.hero-composition{grid-template-rows:auto 300px auto}.hero-photo{margin-left:12px}.services-photo-frame{height:340px}.region-links,.region-overview .region-links{grid-template-columns:1fr}.button{gap:12px}.safety-statement{font-size:37px}}
@media(prefers-reduced-motion:reduce){.image-band-media{transform:none!important}.process-track>span{transform:scaleY(1)}}

.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-trap input{width:1px;height:1px;padding:0;border:0}.form-field select{cursor:pointer}.form-field :disabled{cursor:wait}
.faq-directory{padding:35px;background:var(--color-surface);margin-bottom:30px}.faq-topic-grid{display:grid;grid-template-columns:.9fr 1.1fr 1fr;gap:35px}.faq-topic-label{font-family:var(--font-heading);font-size:22px;color:var(--color-primary)}.faq-topic-grid .text-link{display:flex;justify-content:space-between;font-size:14px;border-top:1px solid var(--color-line);padding-block:12px}.faq-directory~.faq-section{border-bottom:1px solid var(--color-line)}@media(max-width:760px){.faq-directory{padding:24px}.faq-topic-grid{grid-template-columns:1fr;gap:25px}}
