:root{--ink:#111224;--slate:#363c50;--red:#c1272e;--paper:#f4f3ef;--white:#fff;--line:#d9d8d2;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;background:#fff;padding:10px;z-index:100}.topline{background:var(--ink);color:#e8e8eb;font-size:13px}.topline .wrap{min-height:34px;display:flex;justify-content:space-between;align-items:center}.topline a{color:#fff;font-weight:700}.header{height:86px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:50}.navrow{height:100%;display:flex;align-items:center;justify-content:space-between}.brand img{width:150px;height:auto}.header nav{display:flex;align-items:center;gap:28px}.header nav a{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:32px 0 27px;border-bottom:3px solid transparent}.header nav a:hover,.header nav a.active{color:var(--red);border-color:var(--red)}.menu{display:none;background:none;border:1px solid var(--line);padding:9px 13px;font-weight:700}.hero{min-height:680px;background:linear-gradient(90deg,rgba(17,18,36,.94),rgba(17,18,36,.60) 56%,rgba(17,18,36,.22)),var(--hero) center/cover;display:grid;align-items:center;color:#fff}.hero-inner{padding:80px 0}.eyebrow{margin:0 0 16px;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:12px}.eyebrow:before{content:"";display:inline-block;width:34px;height:3px;background:var(--red);vertical-align:middle;margin-right:12px}.eyebrow.dark{color:#70717d}.hero h1,.pagehero h1,.projecthero h1{font-size:clamp(46px,7vw,88px);line-height:1.01;letter-spacing:-.045em;margin:0;max-width:900px}.hero h1 em{font-style:normal;color:#e04a50}.hero-inner>p:not(.eyebrow){font-size:19px;max-width:660px;color:#e5e5e9;margin:28px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:15px 23px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;border:1px solid transparent}.btn.primary{background:var(--red);color:#fff}.btn.primary:hover{background:#a51f25}.btn.ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn.ghost.dark{border-color:#676977;color:var(--ink);margin-left:8px}.section{padding:100px 0}.section.soft{background:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.section h2,.cta h2{font-size:clamp(34px,4vw,55px);line-height:1.1;letter-spacing:-.035em;margin:0 0 25px}.section p{color:#585a65}.featureimg{width:100%;height:460px;object-fit:cover;box-shadow:20px 20px 0 var(--paper)}.textlink{color:var(--red);font-weight:800}.services{background:var(--ink);color:#fff}.services h2{max-width:600px}.servicegrid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid #35364b;border-left:1px solid #35364b}.servicegrid article{padding:35px;border-right:1px solid #35364b;border-bottom:1px solid #35364b;min-height:250px}.servicegrid b{color:var(--red);font-size:13px}.servicegrid h3{font-size:22px;margin:35px 0 10px}.servicegrid p{color:#aeb0ba;margin:0}.sectionhead{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px}.projectgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.projectgrid.all{gap:32px}.projectcard{position:relative;overflow:hidden;background:var(--ink);min-height:330px}.projectcard img{width:100%;height:330px;object-fit:cover;transition:.5s}.projectcard:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(17,18,36,.94))}.projectcard span{position:absolute;z-index:2;left:24px;right:24px;bottom:20px;color:#fff}.projectcard strong{font-size:19px;display:block;line-height:1.25}.projectcard small{color:#d4d4db}.projectcard:hover img{transform:scale(1.05)}.numbers{background:var(--red);color:#fff;padding:45px 0}.numbergrid{display:grid;grid-template-columns:repeat(4,1fr)}.numbergrid div{padding:10px 30px;border-right:1px solid rgba(255,255,255,.28)}.numbergrid div:last-child{border:0}.numbergrid strong{display:block;font-size:44px;line-height:1}.numbergrid span{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.cta{text-align:center;background:var(--paper);padding:85px 0}.pagehero,.projecthero{padding:100px 0;background:var(--ink);color:#fff}.pagehero p:not(.eyebrow){color:#bfc0c8;max-width:650px}.pagehero h1,.projecthero h1{font-size:clamp(42px,6vw,72px)}blockquote{border-left:4px solid var(--red);margin:35px 0 0;padding:5px 0 5px 24px;font-size:20px;font-weight:700}.checkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 40px;padding:0;list-style:none}.checkgrid li{padding:15px 10px 15px 35px;border-bottom:1px solid var(--line);position:relative}.checkgrid li:before{content:"✓";position:absolute;left:5px;color:var(--red);font-weight:800}.certgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cert{background:var(--paper);padding:15px}.cert img{height:390px;width:100%;object-fit:contain}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:40px 0 90px}.service-detail.reverse>div{order:2}.service-detail img{height:430px;width:100%;object-fit:cover}.service-detail li{margin:7px 0}.certcards{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.certcards article{background:var(--paper);padding:40px;border-top:4px solid var(--red)}.certcards span{color:var(--red);font-weight:900;letter-spacing:.18em}.certcards h2{font-size:28px;margin:18px 0 12px}.projecthero .back{display:inline-block;margin-top:30px;color:#dedee2}.gallery{columns:3 300px;column-gap:18px}.galleryitem{display:block;margin-bottom:18px;break-inside:avoid;cursor:zoom-in}.galleryitem img{width:100%;height:auto}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contactcards{display:grid;gap:12px}.contactcards>a,.contactcards>div{background:var(--paper);padding:20px}.contactcards small{display:block;color:#74757d;text-transform:uppercase;letter-spacing:.12em}.contactpanel{background:var(--ink);color:#fff;padding:45px}.contactpanel p{color:#c2c3ca}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding:70px 0}footer{background:#090a17;color:#bfc0c8}footer h2{color:#fff;font-size:16px;text-transform:uppercase;letter-spacing:.1em}.footerlogo{width:150px}.copyright{text-align:center;border-top:1px solid #232434;padding:18px;font-size:12px}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(18px);transition:.7s}.js .reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.header{height:auto}.menu{display:block}.header nav{display:none;position:absolute;left:0;right:0;top:86px;background:#fff;padding:18px 20px;box-shadow:0 14px 25px rgba(0,0,0,.15);flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:12px;border:0}.hero{min-height:600px}.split,.service-detail,.contactgrid{grid-template-columns:1fr;gap:40px}.service-detail.reverse>div{order:0}.servicegrid{grid-template-columns:1fr 1fr}.projectgrid{grid-template-columns:1fr 1fr}.certgrid{grid-template-columns:1fr 1fr}.footergrid{grid-template-columns:1fr 1fr}.featureimg{height:380px}.numbergrid{grid-template-columns:1fr 1fr}.numbergrid div:nth-child(2){border-right:0}}
@media(max-width:600px){.wrap{width:min(calc(100% - 28px),var(--max))}.topline span{display:none}.topline .wrap{justify-content:flex-end}.hero{min-height:560px}.hero-inner{padding:55px 0}.hero h1{font-size:46px}.section{padding:70px 0}.servicegrid,.projectgrid,.certgrid,.certcards,.checkgrid,.footergrid{grid-template-columns:1fr}.projectcard,.projectcard img{min-height:300px;height:300px}.numbergrid div{padding:20px 15px}.numbergrid strong{font-size:34px}.pagehero,.projecthero{padding:70px 0}.sectionhead{display:block}.sectionhead .textlink{display:inline-block;margin-top:15px}.featureimg,.service-detail img{height:300px}.btn.ghost.dark{margin:10px 0 0}.contactpanel{padding:30px}}

/* Hero inspired by the original animated construction slider. */
.hero-cranes{min-height:720px;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(17,18,36,.97),rgba(17,18,36,.72) 48%,rgba(17,18,36,.22)),var(--hero) center/cover}.hero-cranes:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(9,10,23,.62));pointer-events:none}.hero-cranes .hero-inner{position:relative;z-index:4}.crane-scene{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.88}.tower-crane{position:absolute;bottom:0;color:#c1272e;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25))}.tower-crane i{display:block;position:absolute}.tower-crane .mast{width:11px;height:430px;bottom:0;background:repeating-linear-gradient(0deg,currentColor 0 4px,transparent 4px 17px),linear-gradient(90deg,currentColor 0 2px,transparent 2px 9px,currentColor 9px);transform:skewX(-1deg)}.tower-crane .jib{height:8px;width:380px;bottom:420px;left:-50px;background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 22px),linear-gradient(currentColor 0 2px,transparent 2px 6px,currentColor 6px);transform-origin:52px 50%;animation:crane-sway 9s ease-in-out infinite}.tower-crane .counter{width:76px;height:18px;bottom:407px;left:-62px;background:currentColor}.tower-crane .cable{width:1px;height:165px;bottom:257px;left:245px;background:#e9c8a1;transform-origin:top;animation:cable-swing 7s ease-in-out infinite}.tower-crane .hook{width:13px;height:17px;bottom:244px;left:239px;border:2px solid #e9c8a1;border-top:0;border-radius:0 0 10px 10px;animation:hook-swing 7s ease-in-out infinite}.crane-one{right:17%;transform:scale(.86);transform-origin:bottom}.crane-two{right:43%;transform:scale(.58);transform-origin:bottom;opacity:.58}.crane-two .jib{animation-delay:-3s}.crane-two .cable,.crane-two .hook{animation-delay:-2s}.scrollcue{position:absolute;z-index:5;right:30px;bottom:28px;color:#fff;text-transform:uppercase;letter-spacing:.17em;font-size:9px;writing-mode:vertical-rl}.scrollcue span{display:inline-block;width:1px;height:55px;background:rgba(255,255,255,.65);margin-top:10px;animation:scroll-pulse 2s ease-in-out infinite}@keyframes crane-sway{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}@keyframes cable-swing{0%,100%{transform:rotate(1.4deg);height:165px}50%{transform:rotate(-1.4deg);height:195px}}@keyframes hook-swing{0%,100%{transform:translate(4px,0) rotate(1.4deg)}50%{transform:translate(-5px,30px) rotate(-1.4deg)}}@keyframes scroll-pulse{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}}@media(max-width:900px){.crane-one{right:4%;opacity:.55}.crane-two{display:none}}@media(max-width:600px){.hero-cranes{min-height:610px}.crane-one{right:-40%;opacity:.35}.scrollcue{display:none}}@media(prefers-reduced-motion:reduce){.tower-crane .jib,.tower-crane .cable,.tower-crane .hook,.scrollcue span{animation:none}}
/* Faithful 2021 home page */
body{font-family:Roboto,Arial,Helvetica,sans-serif;color:#4c4c4c}.wrap{width:min(calc(100% - 30px),1170px)}.topline{background:#fff;color:#676767;border-bottom:1px solid #eee;height:35px}.topline .wrap{justify-content:flex-end}.topline a{color:#c2272d}.header{height:95px;position:relative;border:0}.brand img{width:185px;max-height:74px}.header nav{gap:34px}.header nav a{font-size:13px;color:#252525;padding:38px 0 32px}.header nav a:hover,.header nav a.active{border-color:transparent;color:#c2272d}.original-slider{height:550px;position:relative;overflow:hidden;background:#111}.orig-slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity 1.1s ease;overflow:hidden}.orig-slide:before{content:"";position:absolute;inset:-7%;background:var(--slide) center/cover;transform:scale(1);transition:transform 10s linear}.orig-slide:nth-child(2):before{transform:scale(1.1) translateX(-2%)}.orig-slide.active{opacity:1;visibility:visible;z-index:1}.orig-slide.active:before{transform:scale(1.1) translateX(2%)}.orig-slide:nth-child(2).active:before{transform:scale(1) translateX(2%)}.orig-slide:nth-child(3).active:before{transform:scale(1.1) translateX(4%)}.orig-slide h1{position:relative;z-index:2;margin:0;padding:15px 30px;background:rgba(255,255,255,.65);color:#ba272d;text-shadow:3px 3px 3px rgba(73,73,73,.42);font-size:clamp(30px,6vw,75px);line-height:1.25;font-weight:800;text-align:center;text-transform:uppercase}.slider-dots{position:absolute;z-index:4;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:12px}.slider-dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.55);padding:0;cursor:pointer}.slider-dots button.active{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.45)}.original-about{padding:90px 0 150px;border-top:10px solid #c1272e;background:#363c50 url('/assets/about-pattern.webp') left top/auto 100% no-repeat;color:#fff}.original-about img{width:100%;max-height:440px;object-fit:contain}.original-about h2,.original-title{font-size:36px;line-height:1.2;margin:0 0 35px;text-align:center;font-weight:700;color:#fff}.original-about h2{text-align:left}.original-about h2:after,.original-title:after{content:"";display:block;width:45px;height:2px;background:#c2272d;margin:15px 0}.original-title:after{margin:15px auto}.original-about p{font-size:16px;color:#fff}.original-projects{padding:80px 0;background:#111224}.original-projects .projectcard span{opacity:0;top:0;left:0;right:0;bottom:0;display:grid;place-content:center;text-align:center;background:rgba(0,0,0,.55);transition:.35s}.original-projects .projectcard:hover span{opacity:1}.center{text-align:center;margin:35px 0 0}.original-numbers{padding:60px 0 70px;color:#fff;background:linear-gradient(rgba(17,18,36,.58),rgba(17,18,36,.58)),url('/assets/numbers-bg.webp') center/cover fixed}.original-numbers .numbergrid div{text-align:center;border:0}.original-numbers strong{font-size:52px;font-weight:500}.original-numbers span{font-size:13px;font-weight:700}.original-rentals{padding:80px 0;background:#363c50}.home-map{width:100%;height:450px;border:0;display:block}.original-contactbar{padding:45px 0;background:#363c50;color:#fff}.original-contactbar .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.original-contactbar .wrap>div{display:flex;gap:18px;align-items:center;font-size:26px}.original-contactbar span{font-size:14px}.original-contactbar a{color:#fff}footer{background:#111224}.footergrid{display:none}.copyright{padding:25px}@media(max-width:900px){.header{height:80px}.header nav{top:80px}.original-slider{height:500px}.original-contactbar .wrap{grid-template-columns:1fr}.original-about{padding:70px 0}.original-about .split{grid-template-columns:1fr}.original-about h2{text-align:center}.original-about h2:after{margin:15px auto}}@media(max-width:600px){.original-slider{height:350px}.orig-slide h1{padding:10px 14px;font-size:28px}.original-title,.original-about h2{font-size:28px}.original-numbers{background-attachment:scroll}}

.page-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden}.loader-door{position:absolute;top:0;bottom:0;width:50.2%;background:#fafafa;transition:transform .85s cubic-bezier(.72,0,.28,1) .08s}.loader-door.left{left:0;box-shadow:2px 0 8px rgba(0,0,0,.18)}.loader-door.right{right:0}.loader-logo{position:relative;z-index:2;width:200px;height:200px;filter:drop-shadow(2px 2px 6px rgba(0,0,0,.28));animation:loader-spin 1.1s cubic-bezier(.5,.1,.4,1) both}.logo-half{position:absolute;top:0;width:50%;height:100%;overflow:hidden;background:#111224;transition:transform .9s cubic-bezier(.72,0,.28,1)}.logo-half img{position:absolute;top:25px;width:150px;max-width:none}.logo-left{left:0;border-radius:100px 0 0 100px}.logo-left img{left:25px}.logo-right{right:0;border-radius:0 100px 100px 0}.logo-right img{right:25px}.page-loader.leaving .loader-door.left{transform:translateX(-102%)}.page-loader.leaving .loader-door.right{transform:translateX(102%)}.page-loader.leaving .logo-left{transform:translateX(calc(-50vw - 100px))}.page-loader.leaving .logo-right{transform:translateX(calc(50vw + 100px))}.orig-slide.active h1{animation:slide-label-in 1.8s ease both}.orig-slide:first-child.active{animation:first-slide-down 1.1s ease both}.original-about .reveal{opacity:1!important;transform:none!important}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:45px 0}.equipment-grid article{height:150px;display:grid;place-content:center;text-align:center;background:#111224;color:#fff;border-bottom:3px solid #c2272d}.equipment-grid span{color:#c2272d;font-size:12px}.equipment-grid h3{margin:7px 0 0;text-transform:uppercase}@keyframes loader-spin{0%{transform:scale(.2) rotate(-360deg);opacity:0}70%{transform:scale(1.08) rotate(12deg);opacity:1}100%{transform:scale(1) rotate(0)}}@keyframes first-slide-down{0%{transform:translateY(-100%)}100%{transform:translateY(0)}}@keyframes slide-label-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@media(max-width:700px){.loader-logo{width:150px;height:150px}.logo-half img{width:115px;top:18px}.logo-left{border-radius:75px 0 0 75px}.logo-right{border-radius:0 75px 75px 0}.logo-left img{left:18px}.logo-right img{right:18px}.equipment-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.loader-logo,.logo-half,.loader-door,.orig-slide.active h1,.orig-slide:first-child.active{animation-duration:.01ms;transition-duration:.01ms}}
.original-projects .projectcard.reveal{opacity:1!important;transform:none!important}
.logo-half{transition:transform .85s cubic-bezier(.72,0,.28,1) .08s}.page-loader.leaving .logo-left{transform:translateX(calc(-50vw + 7px))}.page-loader.leaving .logo-right{transform:translateX(calc(50vw - 7px))}
.original-about{padding:90px;border-top:10px solid #c1272e;background-color:#363c50;background-image:url('/assets/about-pattern.png');background-position:right top;background-repeat:no-repeat;background-size:auto;background-attachment:fixed;color:#fff}
.original-about>.wrap{width:100%;max-width:none}
.original-about img{max-width:584px;max-height:438px}
@media(max-width:900px){.original-about{padding:70px 15px;background-position:right top;background-attachment:scroll;background-size:auto 100%}.original-about>.wrap{width:100%}}
.original-about{background-position:right bottom;background-attachment:fixed;background-size:auto}
@media(max-width:900px){.original-about{background-position:right bottom;background-attachment:fixed;background-size:auto}}

/* Editorial project showcase */
.original-projects{position:relative;padding:110px 0 120px;overflow:hidden;background:#0d0e1c}
.original-projects:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:calc(100% / 12) 100%;pointer-events:none}
.projects-intro{position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:80px;margin-bottom:60px}
.projects-intro>div>span{display:flex;align-items:center;gap:12px;color:#c1272e;font-size:11px;font-weight:800;letter-spacing:.22em}
.projects-intro>div>span:before{content:"";width:38px;height:2px;background:#c1272e}
.projects-intro h2{margin:18px 0 0;color:#fff;font-size:clamp(46px,6vw,78px);line-height:.87;letter-spacing:-.055em}
.projects-intro p{max-width:440px;margin:0 0 4px;padding-left:25px;border-left:1px solid rgba(255,255,255,.2);color:#aeb0bc;font-size:15px}
.project-showcase{position:relative;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,265px) 330px;gap:16px}
.project-showcase .project-feature{min-height:0;isolation:isolate;border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 45px rgba(0,0,0,.18)}
.project-showcase .project-feature:nth-child(1){grid-column:1/9;grid-row:1/3}
.project-showcase .project-feature:nth-child(2){grid-column:9/13;grid-row:1}
.project-showcase .project-feature:nth-child(3){grid-column:9/13;grid-row:2}
.project-showcase .project-feature:nth-child(4){grid-column:1/5;grid-row:3}
.project-showcase .project-feature:nth-child(5){grid-column:5/9;grid-row:3}
.project-showcase .project-feature:nth-child(6){grid-column:9/13;grid-row:3}
.project-showcase .project-feature img{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;filter:saturate(.72) contrast(1.05);transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .55s ease}
.project-showcase .project-shade{position:absolute!important;inset:0!important;z-index:1!important;display:block!important;opacity:1!important;background:linear-gradient(180deg,rgba(8,9,20,.05) 25%,rgba(8,9,20,.9) 100%)!important;transition:background .45s ease!important}
.project-showcase .project-feature:after{content:"";position:absolute;z-index:3;left:0;right:100%;bottom:0;height:4px;background:#c1272e;transition:right .55s cubic-bezier(.2,.75,.2,1)}
.project-showcase .project-index{position:absolute!important;z-index:4!important;top:20px!important;left:22px!important;right:auto!important;bottom:auto!important;display:block!important;opacity:1!important;padding:0!important;background:none!important;color:rgba(255,255,255,.72)!important;font-size:11px!important;font-weight:800;letter-spacing:.18em}
.project-showcase .project-copy{position:absolute!important;z-index:4!important;left:22px!important;right:70px!important;bottom:20px!important;top:auto!important;display:block!important;opacity:1!important;padding:0!important;background:none!important;text-align:left!important;transform:translateY(7px);transition:transform .45s ease!important}
.project-showcase .project-copy small{display:block;margin-bottom:7px;color:#d65a60!important;font-size:10px;text-transform:uppercase;letter-spacing:.18em}
.project-showcase .project-copy strong{color:#fff;font-size:18px;line-height:1.16;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.project-showcase .project-feature:first-child .project-copy{left:34px!important;bottom:30px!important}
.project-showcase .project-feature:first-child .project-copy strong{max-width:620px;font-size:clamp(28px,3vw,43px);letter-spacing:-.025em}
.project-showcase .project-arrow{position:absolute!important;z-index:4!important;top:auto!important;left:auto!important;right:20px!important;bottom:20px!important;display:grid!important;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;opacity:0!important;background:rgba(13,14,28,.35)!important;color:#fff!important;font-size:18px;transform:translate(-8px,8px);transition:.4s ease!important}
.project-showcase .project-feature:hover img{transform:scale(1.055);filter:saturate(1) contrast(1.02)}
.project-showcase .project-feature:hover:after{right:0}
.project-showcase .project-feature:hover .project-copy{transform:none}
.project-showcase .project-feature:hover .project-arrow{opacity:1!important;transform:none}
.projects-cta{position:relative;margin:44px 0 0;text-align:right}
.projects-cta a{display:inline-flex;align-items:center;gap:22px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em}
.projects-cta b{display:grid;width:52px;height:52px;place-items:center;border:1px solid #c1272e;border-radius:50%;color:#fff;font-size:20px;transition:.35s}
.projects-cta a:hover b{background:#c1272e;transform:translateX(5px)}
.original-projects .reveal{opacity:1;transform:none}
.js .original-projects .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .original-projects .reveal.visible{opacity:1;transform:none}
.js .project-showcase .project-feature:nth-child(2){transition-delay:.08s}.js .project-showcase .project-feature:nth-child(3){transition-delay:.14s}.js .project-showcase .project-feature:nth-child(4){transition-delay:.05s}.js .project-showcase .project-feature:nth-child(5){transition-delay:.1s}.js .project-showcase .project-feature:nth-child(6){transition-delay:.15s}
@media(max-width:900px){.projects-intro{grid-template-columns:1fr;gap:30px}.project-showcase{grid-template-rows:430px repeat(2,250px) 290px}.project-showcase .project-feature:nth-child(1){grid-column:1/13;grid-row:1}.project-showcase .project-feature:nth-child(2){grid-column:1/7;grid-row:2}.project-showcase .project-feature:nth-child(3){grid-column:7/13;grid-row:2}.project-showcase .project-feature:nth-child(4){grid-column:1/5;grid-row:3}.project-showcase .project-feature:nth-child(5){grid-column:5/9;grid-row:3}.project-showcase .project-feature:nth-child(6){grid-column:9/13;grid-row:3}.project-showcase .project-copy strong{font-size:16px}}
@media(max-width:600px){.original-projects{padding:80px 0}.projects-intro{margin-bottom:40px}.projects-intro h2{font-size:48px}.projects-intro p{padding-left:16px}.project-showcase{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:12px}.project-showcase .project-feature:nth-child(n){grid-column:auto;grid-row:auto;height:285px}.project-showcase .project-feature:first-child{height:400px}.project-showcase .project-feature:first-child .project-copy strong{font-size:27px}.project-showcase .project-arrow{opacity:1!important;transform:none}.projects-cta{text-align:left}.projects-cta a{gap:14px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.project-showcase .project-feature img,.project-showcase .project-arrow,.project-showcase .project-copy,.project-showcase .project-feature:after{transition-duration:.01ms}}

/* Smooth Revolution-style slider motion, using the untouched source JPEGs. */
.orig-slide{opacity:0;visibility:hidden;transition:opacity 1.25s cubic-bezier(.4,0,.2,1),visibility 0s linear 1.25s;will-change:opacity}
.orig-slide.active{opacity:1;visibility:visible;transition-delay:0s;z-index:2}
.orig-slide:before{inset:-3%;transform:none;transition:none;will-change:transform;backface-visibility:hidden}
.orig-slide.active:before{animation:slider-pan-metal 9.5s linear both}
.orig-slide:nth-child(2).active:before{animation-name:slider-pan-civil}
.orig-slide:nth-child(3):before{inset:0;background-size:cover}
.orig-slide:nth-child(3).active:before{animation-name:slider-pan-finisaje}
.orig-slide.exiting:before{animation:none!important;transform:var(--exit-transform)!important}
@keyframes slider-pan-metal{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.1) translate3d(3%,0,0)}}
@keyframes slider-pan-civil{from{transform:scale(1.1) translate3d(-2%,0,0)}to{transform:scale(1) translate3d(3%,0,0)}}
@keyframes slider-pan-finisaje{from{transform:scale(1.005) translate3d(0,0,0)}to{transform:scale(1.035) translate3d(0,1.5%,0)}}
@media(prefers-reduced-motion:reduce){.orig-slide.active:before{animation:none}}

/* Faithful original footer */
.original-footer{background:#111224;color:#8f9099;font-size:13px}
.original-footer .footer-main{padding:55px 0 45px}
.original-footer .footer-brand{display:flex;justify-content:center;padding:0 0 48px}
.original-footer .footer-brand img{width:300px;max-width:80%;height:auto}
.original-footer .footer-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:42px}
.original-footer h2{position:relative;margin:0 0 28px;padding:0 0 12px;color:#fff;font-size:15px;font-weight:600;letter-spacing:.02em}
.original-footer h2:after{content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;background:#c1272e}
.original-footer p{margin:0 0 18px;color:#8f9099;line-height:1.65}
.original-footer address{margin:0;color:#8f9099;font-style:normal;line-height:2}
.original-footer address span{display:inline-block;width:18px;color:#676767;text-align:center}
.original-footer a{color:#aaaab2}.original-footer a:hover{color:#fff}
.original-footer nav{display:flex;flex-direction:column}
.original-footer nav a{padding:5px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.footer-projects{display:grid;gap:10px}
.footer-projects>a{display:grid;grid-template-columns:52px 1fr;gap:11px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.09);line-height:1.35}
.footer-projects img{width:52px;height:52px;padding:3px;border:1px solid #2d2e3b;object-fit:cover}
.footer-projects span{color:#aaaab2;font-size:12px}
.footer-copyright{padding:22px 15px;border-top:1px solid rgba(255,255,255,.08);background:#090a17;color:#777884;text-align:center;font-size:12px}
@media(max-width:900px){.original-footer .footer-columns{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.original-footer .footer-main{padding-top:45px}.original-footer .footer-brand{padding-bottom:38px}.original-footer .footer-brand img{width:230px}.original-footer .footer-columns{grid-template-columns:1fr;gap:35px}}

/* Cinematic project case studies */
.case-study{overflow:hidden;background:#0d0e1c;color:#fff}
.case-head{padding:105px 0 70px;background:radial-gradient(circle at 82% 20%,rgba(193,39,46,.13),transparent 28%),#0d0e1c}
.case-head>.wrap{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:80px;align-items:end}
.case-head h1{max-width:900px;margin:0;color:#fff;font-size:clamp(48px,7vw,94px);line-height:.92;letter-spacing:-.055em;text-wrap:balance}
.case-head aside{display:grid;gap:7px;padding:22px 0 5px 28px;border-left:1px solid rgba(255,255,255,.17)}
.case-head aside span,.case-head aside small{color:#8f909c;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.case-head aside strong{color:#c1272e;font-size:25px;font-weight:500;letter-spacing:.06em}
.case-cover{position:relative;width:min(calc(100% - 60px),1440px);height:min(76vh,850px);margin:0 auto;overflow:hidden;background:#090a14}
.case-cover>a{display:block;width:100%;height:100%}
.case-cover img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.case-cover:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(4,5,12,.55))}
.case-cover figcaption{position:absolute;z-index:2;left:30px;right:30px;bottom:25px;display:flex;justify-content:space-between;align-items:end;color:#fff}
.case-cover figcaption span{font-size:12px;font-weight:800;letter-spacing:.18em}.case-cover figcaption small{text-transform:uppercase;letter-spacing:.15em}
.case-cover:hover img{transform:scale(1.025);filter:contrast(1.035)}
.case-journal{width:min(calc(100% - 60px),1280px);margin:auto;padding:125px 0}
.case-section-title{display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:end;margin-bottom:45px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.14)}
.case-section-title>span,.case-section-title>p{margin:0;color:#c1272e;font-size:10px;font-weight:800;letter-spacing:.17em}
.case-section-title h2{margin:0;color:#fff;font-size:clamp(30px,4vw,52px);line-height:1}
.case-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:18px}
.case-photo{position:relative;grid-column:span 6;height:460px;overflow:hidden;background:#090a14}
.case-photo:nth-child(4n+1){grid-column:span 7;height:560px}.case-photo:nth-child(4n+2){grid-column:span 5;height:400px}.case-photo:nth-child(4n+3){grid-column:span 5;height:420px}.case-photo:nth-child(4n+4){grid-column:span 7;height:580px}
.case-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.83);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.case-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,rgba(5,6,14,.55));pointer-events:none}
.case-photo>span{position:absolute;z-index:2;left:18px;bottom:14px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.16em}
.case-photo:hover img{transform:scale(1.035);filter:saturate(1)}
.case-empty{padding:120px 30px;text-align:center;background:#0d0e1c;color:#aaa}
.case-next{padding:85px 0;background:#111224;border-top:1px solid rgba(255,255,255,.09)}
.case-next .wrap{display:grid;gap:22px}.case-next span{color:#c1272e;font-size:10px;font-weight:800;letter-spacing:.2em}
.case-next a:not(.case-all){display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff}
.case-next a strong{max-width:930px;font-size:clamp(30px,5vw,64px);line-height:1.02;letter-spacing:-.04em}
.case-next a b{display:grid;flex:0 0 68px;width:68px;height:68px;place-items:center;border:1px solid #c1272e;border-radius:50%;font-size:26px;transition:.35s}
.case-next a:hover b{background:#c1272e;transform:translateX(6px)}
.case-all{width:max-content;color:#8f909c;font-size:12px;border-bottom:1px solid #8f909c}
@media(max-width:900px){.case-head>.wrap{grid-template-columns:1fr;gap:35px}.case-head aside{max-width:320px}.case-cover{width:calc(100% - 30px);height:62vh}.case-journal{width:calc(100% - 30px);padding:90px 0}.case-photo,.case-photo:nth-child(n){grid-column:span 6;height:390px}}
@media(max-width:600px){.case-head{padding:75px 0 50px}.case-head h1{font-size:48px}.case-cover{height:56vh;min-height:390px}.case-cover figcaption{left:18px;right:18px}.case-journal{padding:70px 0}.case-section-title{grid-template-columns:1fr auto}.case-section-title h2{grid-column:1/3;grid-row:2}.case-photo,.case-photo:nth-child(n){grid-column:1/13;height:330px}.case-next{padding:65px 0}.case-next a b{flex-basis:52px;width:52px;height:52px}}

/* Two balanced contact columns; the obsolete 24/7 claim was removed. */
@media(min-width:901px){.original-contactbar .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px}.original-contactbar .wrap>div:last-child{justify-self:end}}

/* Portfolio index — cinematic editorial layout */
.portfolio-hero{position:relative;overflow:hidden;padding:120px 0 0;background:#0b0c16;color:#fff}
.portfolio-hero:before{content:"";position:absolute;top:-35%;right:-10%;width:650px;height:650px;border:1px solid rgba(193,39,46,.25);border-radius:50%;box-shadow:0 0 0 110px rgba(193,39,46,.035),0 0 0 220px rgba(193,39,46,.025)}
.portfolio-hero>.wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.45fr);gap:90px;align-items:end;padding-bottom:100px}
.portfolio-hero h1{margin:0;color:#fff;font-size:clamp(58px,8vw,112px);line-height:.88;letter-spacing:-.065em}
.portfolio-hero h1 em{color:#c1272e;font-style:normal}
.portfolio-hero aside{padding:25px 0 8px;border-top:1px solid #343542}
.portfolio-hero aside strong{display:block;color:#fff;font-size:72px;line-height:.9;font-weight:300}
.portfolio-hero aside span{display:block;margin-top:10px;color:#c1272e;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.portfolio-hero aside p{margin:28px 0 0;color:#9294a0;font-size:14px;line-height:1.7}
.portfolio-marquee{overflow:hidden;border-top:1px solid #242531;border-bottom:1px solid #242531;padding:17px 0;white-space:nowrap;color:#484a58;font-size:11px;font-weight:800;letter-spacing:.28em}
.portfolio-marquee span{display:block;width:max-content;animation:portfolio-ticker 28s linear infinite}
@keyframes portfolio-ticker{to{transform:translateX(-50%)}}
.portfolio-index{padding:110px 0 140px;background:#111224;color:#fff}
.portfolio-heading{display:grid;grid-template-columns:120px 1fr minmax(260px,420px);gap:35px;align-items:end;margin-bottom:65px;padding-bottom:30px;border-bottom:1px solid #30313e}
.portfolio-heading>span{color:#c1272e;font-size:11px;font-weight:800;letter-spacing:.16em}
.portfolio-heading h2{margin:0;font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.04em}
.portfolio-heading p{margin:0;color:#8e909c;font-size:14px}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:70px 26px}
.portfolio-card{position:relative;grid-column:span 4;display:block;color:#fff}
.portfolio-card:nth-child(7n+1),.portfolio-card:nth-child(7n+5){grid-column:span 7}
.portfolio-card:nth-child(7n+2),.portfolio-card:nth-child(7n+6){grid-column:span 5}
.portfolio-card figure{position:relative;height:390px;margin:0 0 22px;overflow:hidden;background:#090a12}
.portfolio-card:nth-child(7n+1) figure,.portfolio-card:nth-child(7n+5) figure{height:540px}
.portfolio-card:nth-child(7n+2) figure,.portfolio-card:nth-child(7n+6) figure{height:440px;margin-top:100px}
.portfolio-card figure:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);transition:.45s}
.portfolio-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s}
.portfolio-number{position:absolute;top:18px;left:18px;z-index:2;display:grid;width:43px;height:43px;place-items:center;background:rgba(9,10,18,.78);color:#fff;font-size:10px;letter-spacing:.1em;backdrop-filter:blur(8px)}
.portfolio-copy{display:block;padding-right:55px}
.portfolio-copy small{display:block;margin-bottom:8px;color:#c1272e;font-size:9px;font-weight:800;letter-spacing:.18em}
.portfolio-copy strong{display:block;font-size:clamp(18px,2vw,26px);line-height:1.18;letter-spacing:-.02em}
.portfolio-arrow{position:absolute;right:0;bottom:2px;display:grid;width:42px;height:42px;place-items:center;border:1px solid #3a3b48;border-radius:50%;color:#fff;transition:.4s}
.portfolio-card:hover img{transform:scale(1.045);filter:saturate(1)}
.portfolio-card:hover figure:after{border-color:rgba(193,39,46,.7)}
.portfolio-card:hover .portfolio-arrow{border-color:#c1272e;background:#c1272e;transform:rotate(45deg)}
@media(max-width:900px){.portfolio-hero{padding-top:90px}.portfolio-hero>.wrap{grid-template-columns:1fr;gap:55px;padding-bottom:70px}.portfolio-hero aside{max-width:420px}.portfolio-heading{grid-template-columns:80px 1fr}.portfolio-heading p{grid-column:2}.portfolio-card,.portfolio-card:nth-child(n){grid-column:span 6}.portfolio-card:nth-child(n) figure{height:400px;margin-top:0}}
@media(max-width:600px){.portfolio-hero{padding-top:70px}.portfolio-hero h1{font-size:54px}.portfolio-hero>.wrap{gap:45px;padding-bottom:55px}.portfolio-hero aside strong{font-size:58px}.portfolio-index{padding:75px 0 100px}.portfolio-heading{grid-template-columns:1fr;gap:14px;margin-bottom:42px}.portfolio-heading p{grid-column:1}.portfolio-grid{gap:50px}.portfolio-card,.portfolio-card:nth-child(n){grid-column:1/13}.portfolio-card:nth-child(n) figure{height:380px}.portfolio-copy strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.portfolio-marquee span{animation:none}}

/* Contact — direct, warm, and architectural */
.contact-hero{position:relative;overflow:hidden;padding:115px 0 0;background:#0b0c16;color:#fff}
.contact-hero:before{content:"@";position:absolute;right:-.08em;top:-.36em;color:transparent;font-size:620px;font-weight:800;line-height:1;-webkit-text-stroke:1px rgba(193,39,46,.16);transform:rotate(-9deg)}
.contact-hero>.wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:100px;align-items:end;padding-bottom:105px}
.contact-hero h1{margin:0;color:#fff;font-size:clamp(58px,7.8vw,108px);line-height:.88;letter-spacing:-.065em}
.contact-hero h1 em{color:#c1272e;font-style:normal}
.contact-hero aside{padding-top:24px;border-top:1px solid #363743}
.contact-hero aside>span{color:#c1272e;font-size:11px;font-weight:800;letter-spacing:.2em}
.contact-hero aside p{margin:24px 0 35px;color:#aaaab4;font-size:15px}
.contact-hero aside a{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid #363743;border-bottom:1px solid #363743;color:#fff;font-size:11px;font-weight:800;letter-spacing:.12em}
.contact-hero aside a b{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#c1272e;font-size:16px;transition:.35s}
.contact-hero aside a:hover b{transform:rotate(45deg)}
.contact-word{overflow:hidden;padding:16px 0;border-top:1px solid #242531;color:#41424e;font-size:11px;font-weight:800;letter-spacing:.32em;white-space:nowrap}
.contact-main{padding:115px 0 135px;background:#111224;color:#fff}
.contact-intro{display:grid;grid-template-columns:130px 1fr minmax(260px,390px);gap:38px;align-items:end;margin-bottom:70px}
.contact-intro>span,.contact-offer-copy>span{color:#c1272e;font-size:10px;font-weight:800;letter-spacing:.18em}
.contact-intro h2{margin:0;font-size:clamp(42px,5vw,68px);line-height:.96;letter-spacing:-.045em}
.contact-intro h2 em{color:#c1272e;font-style:normal}
.contact-intro p{margin:0;color:#8f909b;font-size:14px}
.contact-links{border-top:1px solid #343542}
.contact-link{position:relative;display:grid;grid-template-columns:180px 1fr 65px;gap:30px;align-items:center;min-height:150px;padding:28px 15px;border-bottom:1px solid #343542;color:#fff;transition:.35s}
.contact-link>span{color:#8d8e99;font-size:10px;font-weight:800;letter-spacing:.15em}
.contact-link strong{font-size:clamp(23px,3vw,42px);line-height:1.1;letter-spacing:-.035em;overflow-wrap:anywhere}
.contact-link>b{display:grid;width:54px;height:54px;place-items:center;border:1px solid #40414d;border-radius:50%;font-size:20px;transition:.35s}
.contact-link>i{color:#747682;font-size:11px;font-style:normal;text-align:right;letter-spacing:.06em}
a.contact-link:hover{padding-left:28px;background:#171826}
a.contact-link:hover>b{border-color:#c1272e;background:#c1272e;transform:rotate(45deg)}
.contact-offer{padding:105px 0;background:#f0efeb;color:#111224}
.contact-offer>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:stretch}
.contact-offer-copy{padding:55px 0}
.contact-offer-copy h2{margin:15px 0 25px;font-size:clamp(44px,5.4vw,72px);line-height:1;letter-spacing:-.05em}
.contact-offer-copy p{max-width:520px;color:#686974}
.contact-mail{position:relative;display:flex;min-height:340px;padding:50px;flex-direction:column;justify-content:space-between;overflow:hidden;background:#c1272e;color:#fff}
.contact-mail:before{content:"";position:absolute;right:-80px;bottom:-100px;width:290px;height:290px;border:1px solid rgba(255,255,255,.26);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.04)}
.contact-mail small{position:relative;font-size:10px;font-weight:800;letter-spacing:.17em}
.contact-mail strong{position:relative;font-size:clamp(34px,4vw,54px);line-height:.95;letter-spacing:-.045em}
.contact-mail b{position:absolute;right:40px;top:40px;display:grid;width:58px;height:58px;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-size:24px;transition:.4s}
.contact-mail:hover b{background:#fff;color:#c1272e;transform:translateX(6px)}
.contact-map-wrap{position:relative;background:#111224;padding:0 30px 30px}
.contact-map-wrap iframe{height:540px;filter:grayscale(1) contrast(.95)}
.map-label{position:absolute;left:max(55px,calc((100% - 1170px)/2));bottom:70px;display:grid;min-width:310px;padding:26px 30px;background:#111224;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.map-label span{color:#c1272e;font-size:9px;font-weight:800;letter-spacing:.18em}
.map-label strong{margin:7px 0 18px;font-size:22px}
.map-label a{width:max-content;border-bottom:1px solid #666873;color:#c9cad0;font-size:9px;font-weight:800;letter-spacing:.1em}
@media(max-width:900px){.contact-hero>.wrap{grid-template-columns:1fr;gap:55px;padding-bottom:75px}.contact-hero aside{max-width:480px}.contact-intro{grid-template-columns:90px 1fr}.contact-intro p{grid-column:2}.contact-link{grid-template-columns:120px 1fr 55px}.contact-offer>.wrap{grid-template-columns:1fr;gap:25px}.contact-offer-copy{padding:20px 0}.contact-map-wrap{padding:0}.map-label{left:25px;bottom:25px}}
@media(max-width:600px){.contact-hero{padding-top:70px}.contact-hero h1{font-size:53px}.contact-hero>.wrap{gap:45px;padding-bottom:55px}.contact-main{padding:75px 0 90px}.contact-intro{grid-template-columns:1fr;gap:14px;margin-bottom:45px}.contact-intro p{grid-column:1}.contact-link{grid-template-columns:1fr 48px;gap:10px;min-height:130px;padding:24px 8px}.contact-link>span{grid-column:1/3}.contact-link strong{font-size:22px}.contact-link>b{grid-column:2;grid-row:2;width:44px;height:44px}.contact-link>i{grid-column:1/3;text-align:left;margin-top:8px}.contact-offer{padding:70px 0}.contact-mail{min-height:290px;padding:35px}.contact-mail b{right:28px;top:28px;width:48px;height:48px}.contact-map-wrap iframe{height:480px}.map-label{right:20px;left:20px;min-width:0}}

/* About — company story with the same editorial rhythm as the portfolio */
.about-hero{overflow:hidden;padding:115px 0 0;background:#0b0c16;color:#fff}
.about-hero>.wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:90px;align-items:end;padding-bottom:90px}
.about-hero h1{margin:0;color:#fff;font-size:clamp(60px,8vw,110px);line-height:.87;letter-spacing:-.067em}
.about-hero h1 em{color:#c1272e;font-style:normal}
.about-hero aside{padding-top:24px;border-top:1px solid #343541}
.about-hero aside span{color:#c1272e;font-size:10px;font-weight:800;letter-spacing:.2em}
.about-hero aside p{margin:24px 0 0;color:#a0a1ac;font-size:15px}
.about-hero-image{position:relative;height:min(66vw,760px);overflow:hidden;border-top:1px solid #282935}
.about-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,22,.1),rgba(11,12,22,.34))}
.about-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.82) contrast(1.04)}
.about-hero-image>span{position:absolute;right:35px;bottom:30px;z-index:2;padding:10px 14px;background:rgba(11,12,22,.78);font-size:9px;font-weight:800;letter-spacing:.18em}
.about-story{padding:125px 0 135px;background:#f1f0ec;color:#111224}
.about-story>.wrap{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:80px}
.about-story-head>span,.about-cap-head>span,.about-cert-head span,.about-next>div>span{color:#c1272e;font-size:10px;font-weight:800;letter-spacing:.18em}
.about-story-head h2{margin:22px 0 0;font-size:clamp(45px,5.5vw,74px);line-height:.95;letter-spacing:-.052em}
.about-story-head h2 em,.about-cert-head h2 em{color:#c1272e;font-style:normal}
.about-story-copy{padding-top:37px}
.about-story-copy p{color:#666873;font-size:15px}
.about-story-copy .lead{margin-top:0;color:#20212c;font-size:20px;line-height:1.6}
.about-quote{grid-column:1/3;margin:35px 0 0;padding:45px 0 0;border:0;border-top:1px solid #cac9c4;color:#111224;font-size:clamp(27px,3.2vw,43px);font-weight:700;line-height:1.25;letter-spacing:-.025em}
.about-timeline{background:#c1272e;color:#fff}
.about-timeline>.wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.about-timeline article{min-height:325px;padding:48px 40px;border-right:1px solid rgba(255,255,255,.25)}
.about-timeline article:last-child{border:0}
.about-timeline strong{display:block;font-size:clamp(54px,6vw,82px);font-weight:300;line-height:1}
.about-timeline span{display:block;margin:17px 0 38px;font-size:9px;font-weight:800;letter-spacing:.19em}
.about-timeline p{max-width:285px;margin:0;color:rgba(255,255,255,.76);font-size:13px}
.about-capabilities{padding:125px 0 140px;background:#111224;color:#fff}
.about-cap-head{display:grid;grid-template-columns:130px 1fr minmax(260px,390px);gap:38px;align-items:end;margin-bottom:68px}
.about-cap-head h2{margin:0;font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.045em}
.about-cap-head p{margin:0;color:#8e909b;font-size:14px}
.about-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #343542;border-left:1px solid #343542}
.about-service-grid article{position:relative;min-height:300px;padding:38px;border-right:1px solid #343542;border-bottom:1px solid #343542;transition:.4s}
.about-service-grid article>span{color:#c1272e;font-size:10px;font-weight:800;letter-spacing:.16em}
.about-service-grid h3{margin:80px 0 15px;color:#fff;font-size:26px;line-height:1.1}
.about-service-grid p{margin:0;color:#898b97;font-size:13px}
.about-service-grid article:hover{background:#171826;transform:translateY(-4px)}
.about-certifications{padding:120px 0 140px;background:#f1f0ec;color:#111224}
.about-cert-head{display:grid;grid-template-columns:1fr minmax(270px,410px);gap:70px;align-items:end;margin-bottom:65px}
.about-cert-head h2{margin:16px 0 0;font-size:clamp(48px,6vw,78px);line-height:.92;letter-spacing:-.055em}
.about-cert-head>p{margin:0;color:#70717b;font-size:14px}
.about-cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.about-cert{position:relative;display:block;padding:14px 14px 20px;background:#fff;color:#111224;box-shadow:0 10px 35px rgba(17,18,36,.06);transition:.45s}
.about-cert>span{position:absolute;top:25px;left:25px;z-index:2;display:grid;width:36px;height:36px;place-items:center;background:#111224;color:#fff;font-size:9px}
.about-cert img{width:100%;height:360px;object-fit:contain;background:#f7f7f5}
.about-cert small{display:block;margin-top:15px;color:#777985;font-size:8px;font-weight:800;letter-spacing:.14em}
.about-cert:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(17,18,36,.13)}
.about-next{padding:100px 0;background:#0b0c16;color:#fff}
.about-next>.wrap{display:grid;grid-template-columns:150px 1fr minmax(260px,390px);gap:30px;align-items:end}
.about-next h2{margin:0;color:#fff;font-size:clamp(46px,6vw,78px);line-height:.93;letter-spacing:-.05em}
.about-next a{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-top:1px solid #383945;border-bottom:1px solid #383945;color:#fff;font-size:11px;letter-spacing:.13em}
.about-next a b{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#c1272e;font-size:20px;transition:.35s}
.about-next a:hover b{transform:translateX(6px)}
@media(max-width:900px){.about-hero>.wrap{grid-template-columns:1fr;gap:55px;padding-bottom:70px}.about-hero aside{max-width:440px}.about-hero-image{height:620px}.about-story>.wrap{grid-template-columns:1fr;gap:35px}.about-story-copy{padding-top:0}.about-quote{grid-column:1}.about-cap-head{grid-template-columns:90px 1fr}.about-cap-head p{grid-column:2}.about-service-grid{grid-template-columns:repeat(2,1fr)}.about-cert-grid{grid-template-columns:repeat(2,1fr)}.about-next>.wrap{grid-template-columns:100px 1fr}.about-next a{grid-column:2}}
@media(max-width:600px){.about-hero{padding-top:70px}.about-hero h1{font-size:54px}.about-hero>.wrap{gap:45px;padding-bottom:55px}.about-hero-image{height:460px}.about-story{padding:80px 0 90px}.about-story-head h2{font-size:44px}.about-story-copy .lead{font-size:18px}.about-quote{padding-top:30px;font-size:26px}.about-timeline>.wrap{grid-template-columns:1fr}.about-timeline article{min-height:0;padding:42px 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.about-capabilities{padding:80px 0 95px}.about-cap-head{grid-template-columns:1fr;gap:14px;margin-bottom:45px}.about-cap-head p{grid-column:1}.about-service-grid{grid-template-columns:1fr}.about-service-grid article{min-height:250px;padding:30px}.about-service-grid h3{margin-top:55px}.about-certifications{padding:80px 0 95px}.about-cert-head{grid-template-columns:1fr;gap:25px;margin-bottom:45px}.about-cert-grid{grid-template-columns:1fr}.about-cert img{height:410px}.about-next{padding:75px 0}.about-next>.wrap{grid-template-columns:1fr;gap:25px}.about-next a{grid-column:1}}

/* Homepage about — two architectural depth planes */
.original-about{--tower-shift:0px;position:relative;isolation:isolate;min-height:520px;padding:68px 0 72px;overflow:hidden;background-color:#363c50;background-image:url('/assets/about-pattern.png');background-position:right bottom;background-repeat:no-repeat;background-size:auto 114%;background-attachment:fixed}
.original-about:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(54,60,80,.18) 0%,#363c50 47%,rgba(54,60,80,.74) 68%,rgba(54,60,80,.18) 100%)}
.original-about>.wrap{position:relative;z-index:2;width:min(calc(100% - 40px),1170px);min-height:370px;display:flex;align-items:center;justify-content:flex-end}
.about-tower{position:absolute;z-index:1;left:-1%;bottom:-22%;width:min(52vw,690px);height:132%;transform:translate3d(0,var(--tower-shift),0);will-change:transform;mix-blend-mode:screen;opacity:.88;filter:saturate(.8) contrast(1.08);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 78%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 78%,transparent 100%)}
.about-tower img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center bottom}
.about-home-copy{width:min(46%,535px);padding:42px 44px;border-left:1px solid rgba(255,255,255,.16);background:rgba(17,18,36,.22);backdrop-filter:blur(2px)}
.about-home-copy>span{display:block;margin-bottom:13px;color:#d54a50;font-size:9px;font-weight:800;letter-spacing:.2em}
.original-about .about-home-copy h2{margin-bottom:23px;font-size:34px}
.original-about .about-home-copy p{margin:0 0 28px;font-size:15px;line-height:1.72}
@media(max-width:900px){.original-about{min-height:600px;padding:70px 18px;background-attachment:scroll;background-size:auto 100%}.original-about>.wrap{width:100%;min-height:460px;align-items:flex-end}.about-tower{left:-12%;bottom:2%;width:72vw;height:105%;opacity:.62}.about-home-copy{width:min(62%,540px);padding:36px;background:rgba(17,18,36,.62)}}
@media(max-width:600px){.original-about{min-height:680px;padding:55px 14px}.original-about>.wrap{align-items:flex-end}.about-tower{left:-26%;bottom:22%;width:115vw;height:88%;opacity:.52}.about-home-copy{width:100%;padding:30px 24px;background:rgba(17,18,36,.8)}.original-about .about-home-copy h2{text-align:left}.original-about .about-home-copy h2:after{margin:15px 0}}
@media(prefers-reduced-motion:reduce){.about-tower{transform:none!important}}
