/* Shared layout, safe edges and portrait caption. */
:root{--page-gutter:clamp(20px,4.5vw,80px);--content-width:1360px;--section-inset:clamp(24px,4.2vw,60px);--header-height:108px;scroll-padding-top:calc(var(--header-height) + 24px)}
body{min-width:0}.wrap{width:calc(100% - 2 * var(--page-gutter));max-width:var(--content-width)}
.header{height:var(--header-height)}.header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,2vw,30px);padding-inline:12px}.header .brand{min-width:0}.header .brand img{width:240px;max-width:100%;height:auto}.header nav{justify-content:center;gap:clamp(16px,1.8vw,26px);font-size:14px;min-width:0}.header nav a{white-space:nowrap}.header-cta{min-width:0;max-width:100%;margin:0;font-size:14px;padding:13px 21px}.header .menu-toggle{display:none}
.button{max-width:100%;text-align:center;white-space:normal;overflow-wrap:break-word;gap:12px;line-height:1.5}.section{padding:var(--section-inset)}.source-faithful .photo-section{--photo-space:var(--section-inset)}.section h2,.section h3,.section p,.section a,.footer a{min-width:0;overflow-wrap:break-word}.section-heading>*,.contact-section>*,.complete-list>*,.footer-top>*{min-width:0}.contact-section{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,4vw,60px)}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form-box{min-width:0}
.source-faithful .mobile-contact{right:max(var(--page-gutter),calc((100vw - var(--content-width)) / 2));bottom:calc(24px + env(safe-area-inset-bottom));max-width:calc(100vw - 2 * var(--page-gutter));padding:12px 18px;gap:14px;font-size:14px;line-height:1.5;text-align:center}.mobile-contact img{width:68px;height:34px;flex:0 0 68px}.mobile-contact:not(.visible),body:has(.cookie-notice:not([hidden])) .mobile-contact{opacity:0;visibility:hidden;pointer-events:none}.cookie-notice{width:calc(100% - 2 * var(--page-gutter));left:var(--page-gutter);right:var(--page-gutter);max-width:1040px;bottom:calc(20px + env(safe-area-inset-bottom))}
.approach-promises{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,64px)}.approach-assurance{padding:28px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}.source-faithful .approach-assurance h3{font-size:var(--subsection-title);margin:0 0 16px}.approach-principles{justify-content:flex-start;border-top:1px solid var(--line)}.approach-principles article:first-child{padding-top:28px}.approach-principles h3{margin-bottom:16px}
.source-process .section-heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(32px,5vw,64px)}.source-process .section-heading h2{max-width:none;margin:0;text-wrap:initial}.source-process .section-intro{min-width:0;max-width:none;margin:0;padding-top:8px;font-size:17px}
.photo-about .founder-scene{margin:0}.photo-about .founder-label{position:absolute;inset:auto 0 0 51%;width:auto;margin:0;padding:54px var(--photo-space) 36px 28px;z-index:2;border:0;background:linear-gradient(0deg,#e9edef 12%,#e9edefef 72%,#e9edef00)}.photo-about .founder-label strong{font-size:20px;font-weight:600}.photo-about .founder-label span{max-width:370px;font-size:15px;line-height:1.65}.photo-about .photo-stage:after{display:none}.photo-about .photo-backdrop img{object-position:64% top}
.photo-industries .industry-preview{top:var(--header-height);height:min(900px,calc(100svh - var(--header-height)))}.photo-industries .industry-preview img{object-position:64% top}.photo-industries .industry-preview:has(img[data-industry="energy"]):after,.photo-industries .industry-preview:has(img[data-industry="utilities"]):after,.photo-industries .industry-preview:has(img[data-industry="assembly"]):after,.photo-industries .industry-preview:has(img[data-industry="welding"]):after{background:linear-gradient(90deg,#e9edef 0%,#e9edeff5 30%,#e9edefd9 39%,#e9edef59 49%,#e9edef00 58%)}
@media(max-width:1100px){.header-inner{grid-template-columns:auto minmax(0,1fr) auto auto;gap:16px;padding-inline:0}.header .brand img{width:232px}.header-cta{grid-column:3}.header .menu-toggle{display:flex;grid-column:4;width:44px;height:44px;padding:9px;border:0;background:none;flex-direction:column;gap:6px;justify-content:center;margin:0}.header .menu-toggle span{width:26px;height:1.5px;background:var(--ink)}.header nav{display:none;position:absolute;top:var(--header-height);left:var(--page-gutter);right:var(--page-gutter);max-height:calc(100svh - var(--header-height) - 24px);overflow-y:auto;flex-direction:column;align-items:stretch;padding:18px 24px;gap:0;background:#f7fbfffa;border:1px solid var(--line);border-radius:0 0 22px 22px;font-size:17px;box-shadow:0 16px 30px #10334712}.header nav.open{display:flex}.header nav a{padding:14px 0;white-space:normal}}
@media(max-width:850px){.source-process .section-heading{grid-template-columns:1fr;gap:22px}.source-process .section-intro{padding:0}.contact-section{grid-template-columns:1fr}.photo-about .photo-stage{display:flex;flex-direction:column;padding-bottom:0}.photo-about .photo-copy{order:0}.photo-about .founder-scene{order:1;position:relative;inset:auto;z-index:0;width:calc(100% + 2 * var(--photo-space));margin:28px calc(-1 * var(--photo-space)) 0}.photo-about .founder-scene img{position:relative;inset:auto;width:100%;height:110cqw;max-height:760px;object-fit:cover;object-position:74% top}.photo-about .founder-scene:after{inset:0 0 auto;height:110px;background:linear-gradient(180deg,#e9edef,#e9edef00)}.photo-about .founder-label{position:relative;inset:auto;width:100%;padding:24px var(--photo-space) 28px;background:var(--photo-surface)}.photo-about .founder-label strong{font-size:18px}.photo-about .founder-label span{max-width:none;font-size:15px}.photo-industries .industry-inline-image{aspect-ratio:3/2;object-position:center top}}
@media(max-width:760px){:root{--header-height:96px}.header-inner{grid-template-columns:minmax(0,1fr) auto}.header .brand img{width:218px;max-width:100%}.header-cta{display:none}.header .menu-toggle{grid-column:2}.approach-promises{grid-template-columns:1fr;gap:28px}.approach-assurance,.approach-principles article:first-child{padding-top:24px}}
@media(max-width:600px){:root{--page-gutter:16px;--section-inset:24px;--section-title:clamp(1.75rem,7.6vw,2rem)}.source-faithful main .section h2{font-size:var(--section-title)}.source-faithful main .section h3{font-size:1.375rem}.source-faithful .photo-section{--photo-space:var(--section-inset)}.section{margin-block:52px}.header .brand img{max-width:min(218px,calc(100vw - 108px))}.source-faithful .mobile-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);font-size:13px;gap:12px;padding:10px 14px}.mobile-contact img{width:58px;flex-basis:58px;height:30px}.contact-form-box{margin-inline:0;padding:24px 18px}.field-pair{grid-template-columns:1fr}.contact-phone{font-size:clamp(19px,5.8vw,25px);letter-spacing:-.015em}.messengers{flex-wrap:wrap}.source-faithful .route-tabs{border-radius:18px;gap:4px}.source-faithful .route-tabs button{min-width:0;white-space:normal;font-size:13px;line-height:1.4;padding:10px 8px}.cookie-notice{left:16px;right:16px;width:calc(100% - 32px);padding:18px}}
@media(max-width:360px){:root{--section-inset:20px}.source-faithful .hero h1{font-size:30px}.hero .button{font-size:14px;padding-inline:18px}.source-faithful .route-tabs button{font-size:12px;padding-inline:5px}}
@media(max-width:600px){.source-faithful .source-stats strong{font-size:clamp(1rem,5vw,1.5rem)}}
@media(min-width:851px){.photo-industries .industry-preview{height:min(560px,calc(50svh + 40px))}.photo-industries .industry-preview img{left:auto;right:0;width:80%;object-position:right top}}
@media(min-width:851px){.photo-about .founder-label{background:none}.photo-about .founder-scene:before{content:'';position:absolute;inset:auto 0 0;height:250px;z-index:1;background:linear-gradient(0deg,#e9edef 5%,#e9edefeb 42%,#e9edef00);pointer-events:none}}
@media(max-width:850px){.photo-about .founder-scene img{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 76px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 76px),transparent)}.photo-about .founder-label{padding-top:8px}}
.legal-page h1,.legal-page h2,.legal-contents a{overflow-wrap:anywhere}
@media(min-width:851px){.photo-industries .industry-preview img{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 76px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 76px),transparent)}}
@media(min-width:851px){.photo-industries .industry-preview:has(img[data-industry="assembly"]),.photo-industries .industry-preview:has(img[data-industry="welding"]){height:min(700px,calc(100svh - var(--header-height) - 70px))}}
@media(max-width:850px){.photo-industries .industry-inline-image{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 36px),transparent)}}
