:root{--yellow:#f2c321;--yellow-bright:#ffd62e;--ink:#0a0b0c;--graphite:#151719;--graphite-2:#1d2023;--concrete:#d9d7d0;--paper:#f2f0e9;--muted:#9c9d9a;--line:#f2f0e92b;--nav-height:82px;--gutter:clamp(1.15rem, 4vw, 5rem);--max-width:1440px;--journey-edge:clamp(2.1rem, 4.1vw, 5.25rem);--journey-crossing-height:clamp(3.25rem, 4.5vw, 5rem);--journey-machine-scale:1;--ff-display:"Archivo", sans-serif;--ff-body:"Manrope", sans-serif}@font-face{font-family:"Font Awesome 6 Free";font-display:swap}@font-face{font-family:"Font Awesome 6 Brands";font-display:swap}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;width:100%;scroll-padding-top:calc(var(--nav-height) + 1.5rem);background:var(--ink)}body{background:var(--ink);width:100%;min-width:0;min-height:100%;color:var(--paper);font-family:var(--ff-body);text-rendering:optimizelegibility;font-size:1rem;line-height:1.65;overflow-x:clip}body.nav-open,body.lightbox-open{overflow:hidden}main,section,header,footer{width:100%;min-width:0}#main-content{isolation:isolate;position:relative}section{scroll-margin-top:calc(var(--nav-height) + 1.5rem);position:relative}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%;display:block}img{height:auto}[hidden]{display:none!important}ul{list-style:none}h1,h2,h3,h4{color:var(--paper);font-family:var(--ff-display);letter-spacing:-.045em;font-weight:750;font-stretch:75%;line-height:.98}::selection{color:var(--ink);background:var(--yellow)}:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}.skip-link{z-index:10000;color:var(--ink);background:var(--yellow);padding:.65rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-grain{display:none}.container,.hero-container,.header-container{width:min(100%, var(--max-width));padding-inline:var(--gutter);margin-inline:auto}.section-kicker{color:#f2f0e9ad;font-family:var(--ff-display);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.9rem;margin-bottom:clamp(2.3rem,5vw,5rem);font-size:.85rem;font-weight:800;display:flex}.section-kicker span:first-child{width:2.2rem;height:2.2rem;color:var(--yellow);border:1.5px solid #f2c321a6;border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid}.section-kicker:after{background:var(--line);content:"";width:min(10vw,8rem);height:1px;margin-left:.4rem}.section-title{max-width:13ch;font-size:clamp(2.5rem,6vw,6rem)}.section-subtitle{max-width:42rem;color:var(--muted);font-size:clamp(1rem,1.4vw,1.2rem)}.section-header{grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr);align-items:end;gap:clamp(2rem,8vw,8rem);margin-bottom:clamp(3rem,7vw,7rem);display:grid}.text-center{text-align:center}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.main-header{z-index:1000;height:var(--nav-height);background:0 0;border-bottom:1px solid #0000;transition:transform .45s cubic-bezier(.22,1,.36,1),background .35s,border-color .35s,backdrop-filter .35s;position:fixed;top:0;left:0;right:0}.main-header.is-scrolled,.main-header.menu-open{backdrop-filter:blur(18px);background:#0a0b0ce0;border-color:#ffffff14}.main-header.is-hidden{transform:translateY(-102%)}.header-container{grid-template-columns:1fr auto 1fr;align-items:center;height:100%;display:grid}.logo-link{z-index:2;width:118px}.logo-img{width:100%}.nav-menu ul{align-items:center;gap:clamp(1.5rem,3vw,3.2rem);display:flex}.nav-menu a{color:#f2f0e9d1;font-family:var(--ff-display);letter-spacing:.11em;text-transform:uppercase;font-size:.74rem;font-weight:700;position:relative}.nav-menu a:after{background:var(--yellow);content:"";transform-origin:100%;height:1px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-.7rem;left:0;right:0;transform:scaleX(0)}.nav-menu a:hover:after,.nav-menu a.active:after{transform-origin:0;transform:scaleX(1)}.lang-selector{z-index:2;justify-self:end}.lang-btn,.mobile-nav-toggle{color:var(--paper);cursor:pointer;background:0 0;border:0}.lang-btn{min-width:46px;color:var(--yellow);font-family:var(--ff-display);letter-spacing:.08em;border:1px solid #f2c321bf;padding:.55rem .7rem;font-size:.75rem;font-weight:800}.mobile-nav-toggle{display:none}.journey-layer{z-index:40;pointer-events:none;width:100%;height:100%;text-indent:var(--journey-edge);position:absolute;inset:0 0 auto;overflow:visible}.journey-svg{width:100%;height:100%;overflow:visible}.journey-trail-segment{opacity:0}.journey-soil-bank,.journey-cut-edge,.journey-trench-cut,.journey-motion-segment{fill:none;stroke-linecap:butt;stroke-linejoin:round;vector-effect:non-scaling-stroke}.journey-soil-bank{stroke:url(#journeySoilTexture);stroke-width:26px}.journey-cut-edge{stroke:#7a5b37d1;stroke-width:17px}.journey-trench-cut{stroke:#080a0b;stroke-width:9px}.journey-motion-segment{stroke:#0000;stroke-width:1px}.journey-excavator{opacity:0;visibility:hidden;will-change:transform}.journey-excavator-artwork{transform:scale(var(--journey-machine-scale));transform-origin:50%}.journey-track{fill:#171a1e;stroke:#656b72;stroke-width:1.4px}.journey-track-tread{fill:none;stroke:#858b91;stroke-width:2.2px;stroke-linecap:round}.journey-undercarriage{fill:#272b30;stroke:#0b0d0f;stroke-width:1.5px}.journey-excavator-upper,.journey-boom,.journey-dipper,.journey-bucket{will-change:transform}.journey-turntable{fill:#a98417;stroke:#151719;stroke-width:2px}.journey-counterweight,.journey-cab{fill:var(--yellow);stroke:#4f3c0b;stroke-width:1.5px;stroke-linejoin:round}.journey-counterweight{fill:#d6a91d}.journey-window{fill:#263744;stroke:#9cbdcb;stroke-width:.75px}.journey-arm-outline,.journey-arm{fill:none;stroke-linecap:round;stroke-linejoin:round}.journey-arm-outline{stroke:#4f3c0b;stroke-width:10px}.journey-arm{stroke:var(--yellow);stroke-width:6.5px}.journey-joint{fill:var(--yellow-bright);stroke:#4f3c0b;stroke-width:1.5px}.journey-bucket-shell{fill:#4d4338;stroke:#17191c;stroke-width:1.5px;stroke-linejoin:round}.journey-bucket-lip{fill:none;stroke:#a28b68;stroke-width:1.6px;stroke-linecap:round}.journey-bucket-teeth{fill:none;stroke:#a28b68;stroke-width:1.8px;stroke-linecap:round}.journey-crossing{z-index:2;height:var(--journey-crossing-height);pointer-events:none;background:0 0;margin-block:-1px;position:relative;overflow:hidden}.journey-crossing:after{top:50%;right:var(--gutter);left:var(--gutter);content:"";background:linear-gradient(90deg,#0000,#f2c3213d,#0000);height:1px;position:absolute}.crossing-ink-graphite{background:linear-gradient(180deg, var(--ink), var(--graphite))}.crossing-graphite-concrete{background:linear-gradient(180deg, var(--graphite), var(--concrete))}.crossing-concrete-graphite{background:linear-gradient(180deg, var(--concrete), var(--graphite))}.crossing-graphite-ink{background:linear-gradient(180deg, var(--graphite), var(--ink))}.crossing-concrete-ink{background:linear-gradient(180deg, var(--concrete), var(--ink))}.crossing-ink-yellow{background:linear-gradient(180deg, var(--ink), var(--yellow))}.crossing-yellow-concrete{background:linear-gradient(180deg, var(--yellow), var(--concrete))}.mobile-scroll-progress{display:none}.services-journey-progress{z-index:39;right:var(--journey-edge);bottom:clamp(2.4rem,5vh,4.25rem);left:var(--journey-edge);opacity:0;pointer-events:none;background:#59442e url(/assets/textures/excavated-soil.webp) 50%/128px 128px;border:0;border-radius:2px;height:26px;transition:opacity .28s;display:none;position:fixed;overflow:visible;box-shadow:0 3px 11px #0506073d}.services-journey-progress:before{z-index:1;border-radius:inherit;content:"";background:#7a5b37f5;position:absolute;inset:4.5px 0}.services-journey-progress:after{z-index:2;border-radius:inherit;content:"";background:#080a0b;position:absolute;inset:8.5px 0}.services-journey-progress-fill{z-index:3;border-radius:inherit;background:linear-gradient(90deg, #8f6b10, var(--yellow));transform-origin:0;position:absolute;inset:12px 0;transform:scaleX(0);box-shadow:0 0 5px #f2c32161}.services-journey-progress.is-active{opacity:1}.hero-section{z-index:1;background:var(--ink);isolation:isolate;align-items:center;min-height:100svh;display:flex;overflow:hidden}.hero-bg,.hero-bg picture{z-index:-2;filter:saturate(.68)contrast(1.12);will-change:transform;position:absolute;inset:-5%;transform:scale(1.06)}.hero-bg img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-section:after{z-index:-1;background:linear-gradient(90deg, #0a0b0ce0 0%, #0a0b0c8c 48%, #0a0b0c29 100%), linear-gradient(180deg, #0a0b0c33 55%, var(--ink) 100%), radial-gradient(circle at 70% 42%, transparent 0 18%, #0a0b0c4d 72%);content:"";position:absolute;inset:0}.hero-container{padding-top:calc(var(--nav-height) + 3rem);grid-template-columns:repeat(12,minmax(0,1fr));padding-bottom:clamp(8rem,13vh,11rem);display:grid}.hero-content{grid-column:1/span 9;max-width:76rem;position:relative}.hero-content:after{background:var(--yellow);content:"";width:4px;height:clamp(7rem,15vw,13rem);position:absolute;top:-1rem;left:-1.4rem}.scene-index{color:#f2f0e959;letter-spacing:.12em;writing-mode:vertical-rl;font-size:.65rem;font-weight:700;position:absolute;top:.25rem;left:calc(-1*clamp(3rem,7vw,8rem))}.accent-badge{color:var(--yellow);font-family:var(--ff-display);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.7rem;margin-bottom:1.6rem;font-size:.72rem;font-weight:750;display:inline-flex}.accent-badge:before{background:var(--yellow);content:"";width:2.4rem;height:1px}.hero-title{text-wrap:balance;max-width:11ch;font-size:clamp(3.7rem,8.2vw,8.8rem);line-height:.88}.hero-desc{color:#f2f0e9c7;max-width:43rem;margin-top:clamp(1.5rem,3vw,2.4rem);font-size:clamp(1rem,1.5vw,1.28rem)}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2.4rem;display:flex}.hero-proof{grid-template-columns:repeat(3,max-content);gap:0;margin-top:clamp(2.5rem,5vh,4rem);display:grid}.hero-proof>span,.hero-proof>a{border-left:1px solid #f2f0e94d;gap:.1rem;padding:0 1.5rem;display:grid}.hero-proof>:first-child{border-left:0;padding-left:0}.hero-proof strong{color:var(--paper);font-family:var(--ff-display);letter-spacing:.02em;font-size:.86rem}.hero-proof small{color:#f2f0e994;font-size:.68rem}.hero-proof a:hover strong{color:var(--yellow)}.btn{min-height:54px;color:var(--paper);font-family:var(--ff-display);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:1px solid #fff6;justify-content:center;align-items:center;padding:.9rem 1.7rem;font-size:.77rem;font-weight:750;transition:color .35s,border-color .35s,transform .35s;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"→";margin-left:.8rem;font-size:1.1em;transition:transform .3s}.btn:hover:after{transform:translate(.25rem)}.btn:disabled{cursor:wait;opacity:.7}.btn:before{z-index:-1;background:var(--paper);content:"";transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translateY(102%)}.btn:hover{border-color:var(--paper);color:var(--ink);transform:translateY(-2px)}.btn:hover:before{transform:translateY(0)}.btn-primary{border-color:var(--yellow);color:var(--ink);background:var(--yellow)}.btn-primary:before{background:var(--yellow-bright)}.btn-block{width:100%}.about-section{z-index:2;background:var(--graphite);padding:clamp(4rem,7vw,7rem) 0 clamp(4.5rem,8vw,8rem)}.about-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:clamp(2rem,4vw,4rem);display:grid}.about-text-col{grid-column:1/span 6}.about-text-col .section-title{margin-bottom:2rem}.about-text-col p{color:#b7b8b5;max-width:43rem}.about-text-col p+p{margin-top:1.25rem}.about-text-col strong{color:var(--paper)}.about-img-col{grid-column:8/-1}.frame-overlap{min-height:clamp(430px,48vw,700px);position:relative}.frame-overlap:before{z-index:3;background:var(--yellow);content:"";width:42%;height:1px;position:absolute;top:-1.4rem;right:1rem}.frame-overlap>.about-img-1,.frame-overlap>.about-img-2{background:linear-gradient(110deg,#151719 18%,#202327 38%,#151719 58%) 0 0/220% 100%;animation:1.8s linear infinite skeleton-shimmer;display:block;position:absolute;overflow:hidden}.frame-overlap picture,.frame-overlap>.about-img-1 picture,.frame-overlap>.about-img-2 picture{height:100%;display:block}.frame-overlap img{object-fit:cover;filter:saturate(.72)contrast(1.08);clip-path:inset(0);will-change:transform, clip-path;opacity:0;width:100%;height:100%;transition:opacity .5s ease-out}.frame-overlap img.is-decoded{opacity:1}.about-img-1{width:86%;height:78%;top:0;right:0}.about-img-2{border:6px solid var(--graphite);width:58%;height:52%;bottom:0;left:0}.about-stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:3.2rem;display:grid}.stat-item{padding:1.5rem .7rem 0 0}.stat-item+.stat-item{border-left:1px solid var(--line);padding-left:1rem}.stat-num{color:var(--yellow);font-family:var(--ff-display);font-size:clamp(1.25rem,2.5vw,2rem);font-weight:800}.stat-label{color:var(--muted);text-transform:uppercase;margin-top:.35rem;font-size:.72rem;line-height:1.35}.survey-line{width:100%;margin-top:clamp(5rem,10vw,9rem)}.survey-line path{fill:none;stroke:#f2c3219e;stroke-width:1px;vector-effect:non-scaling-stroke}.services-section{color:var(--ink);background:var(--concrete);padding:clamp(4rem,6vw,6.5rem) 0;overflow:clip}.services-section h2,.services-section h3{color:var(--ink)}.services-section .section-kicker{color:#0a0b0cd9}.services-section .section-kicker span:first-child{color:var(--ink);background:#f2c32159;border-color:#0a0b0cbf}.services-section .section-kicker:after{background:#0a0b0c33}.services-section .section-subtitle{color:#555754}.services-stage{width:100%;padding-block:1rem clamp(2rem,4vw,4rem)}.services-grid{gap:clamp(1rem,2vw,2rem);width:max-content;padding-inline:1px;display:flex}.service-card{isolation:isolate;background:linear-gradient(145deg,#fffffff0,#ebe9e0c7);border:1px solid #ffffffad;grid-template-rows:55% 45%;width:min(70vw,500px);height:clamp(620px,74vh,700px);min-height:0;transition:border-color .35s,box-shadow .35s;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #0a0b0c21,inset 0 1px #ffffffc7}.service-card:before{z-index:4;width:2.6rem;height:2.6rem;color:var(--paper);content:"0" attr(data-index);font-family:var(--ff-display);letter-spacing:.06em;background:#0a0b0c7a;border:1px solid #ffffff7a;place-items:center;font-size:.65rem;font-weight:800;display:grid;position:absolute;top:1.25rem;left:1.25rem}.service-card:after{z-index:3;background:linear-gradient(90deg, var(--yellow) 0 30%, #f2c32100 72%);content:"";height:3px;position:absolute;top:0;left:0;right:0}.service-card:hover{border-color:#9d790061;box-shadow:0 30px 75px #0a0b0c2e,inset 0 1px #ffffffe0}.service-img-container{background:var(--graphite);position:relative;overflow:hidden}.service-img-container picture,.portfolio-img-wrapper picture{width:100%;height:100%;display:block}.service-img-container:after{content:"";background:linear-gradient(#0000 48%,#0a0b0c6b);position:absolute;inset:0}.service-img-container img{object-fit:cover;filter:saturate(.65)contrast(1.08);width:100%;height:100%;transition:filter .7s,transform .9s cubic-bezier(.22,1,.36,1);transform:scale(1.03)}.service-card:hover .service-img-container img{filter:saturate(.95)contrast(1.03);transform:scale(1.08)}.service-icon-box{z-index:2;width:50px;height:50px;color:var(--paper);border:1px solid #f2f0e9b3;place-items:center;display:grid;position:absolute;bottom:1.5rem;right:1.5rem}.service-content{z-index:1;background:radial-gradient(circle at 90% 12%,#f2c32124,#0000 30%),linear-gradient(145deg,#ffffffb8,#f2f0e94d);flex-direction:column;padding:clamp(1.5rem,3vw,2.4rem);display:flex;position:relative}.service-card-title{font-size:clamp(1.65rem,2.7vw,2.6rem)}.service-card-desc{color:#666864;margin-top:1.1rem;font-size:.94rem}.service-card-link{color:var(--ink);font-family:var(--ff-display);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #0a0b0c26;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.2rem;font-size:.72rem;font-weight:750;display:flex}.service-card-link i{color:#9d7900;transition:transform .35s}.service-card-link:hover i{transform:translate(.4rem)}.accreditations-section{background:var(--graphite);padding:clamp(4rem,6vw,6.5rem) 0;overflow:hidden}.accreditations-title{max-width:14ch;margin-bottom:clamp(3rem,7vw,6rem);font-size:clamp(2.3rem,5.5vw,5.5rem)}.accreditations-viewport{width:calc(100% - clamp(5.5rem,9vw,9rem));overflow:hidden}.accreditations-slider{border-block:1px solid var(--line);align-items:center;gap:clamp(2.5rem,7vw,8rem);width:max-content;min-width:100%;padding-block:2rem;display:flex}.accreditation-item{flex:0 0 clamp(140px,17vw,250px);position:relative}.accreditation-item:after{background:var(--yellow);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:50%;right:clamp(-4rem,-3vw,-2rem)}.accreditation-item img{object-fit:contain;opacity:.66;filter:grayscale()contrast(1.15)brightness(1.65);width:100%;max-height:78px;transition:opacity .35s,filter .35s}.accreditation-item:hover img{opacity:1;filter:grayscale(0)contrast(1.05)}.portfolio-section{background:var(--ink);padding:clamp(4rem,7vw,7.5rem) 0}.portfolio-filters{flex-wrap:wrap;gap:.55rem;margin-bottom:clamp(3rem,7vw,6rem);display:flex}.filter-btn{border:1px solid var(--line);min-height:42px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.62rem 1rem;font-size:.68rem;font-weight:700;transition:border-color .3s,color .3s,background .3s}.filter-btn:hover,.filter-btn.active{border-color:var(--yellow);color:var(--ink);background:var(--yellow)}.portfolio-grid{gap:clamp(4rem,8vw,9rem);display:grid}.portfolio-card{cursor:pointer;background:0 0;outline:none;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(2rem,5vw,6rem);width:100%;display:grid}.portfolio-card .portfolio-img-wrapper{order:1}.portfolio-card .portfolio-details,.portfolio-card:nth-child(2n) .portfolio-img-wrapper{order:2}.portfolio-card:nth-child(2n) .portfolio-details{order:1;padding-right:clamp(1rem,2vw,3rem)}.portfolio-img-wrapper{aspect-ratio:16/10;contain:paint;background:linear-gradient(110deg,#151719 18%,#202327 38%,#151719 58%) 0 0/220% 100%;border-radius:12px;min-height:0;transition:box-shadow .4s cubic-bezier(.16,1,.3,1);animation:1.8s linear infinite skeleton-shimmer;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000059}.portfolio-img-wrapper img{object-fit:cover;filter:saturate(.85)contrast(1.05);opacity:0;width:100%;height:100%;transition:opacity .4s,transform .6s cubic-bezier(.16,1,.3,1),filter .4s;position:absolute;inset:0}.portfolio-comparison{background:var(--graphite-2);grid-template-columns:1fr 1fr;animation:none;display:grid}.portfolio-comparison figure{min-width:0;position:relative;overflow:hidden}.portfolio-comparison picture,.portfolio-comparison figure img{position:relative}.portfolio-comparison figure img{inset:auto}.portfolio-comparison figcaption{z-index:2;color:var(--paper);font-family:var(--ff-display);letter-spacing:.12em;background:#0a0b0cd1;padding:.35rem .55rem;font-size:.62rem;font-weight:800;position:absolute;bottom:.75rem;left:.75rem}.comparison-divider{z-index:3;background:var(--yellow);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 0 4px #0a0b0c4d}.portfolio-img-wrapper img.is-decoded{opacity:1}.portfolio-card:hover .portfolio-img-wrapper img{filter:saturate()contrast(1.02);transform:scale(1.035)}.portfolio-card:hover .portfolio-img-wrapper{box-shadow:0 20px 45px #f2c32114,0 1px 3px #f2c32126}.portfolio-details{flex-direction:column;justify-content:center;padding-block:1rem;display:flex}.portfolio-card-cat{color:var(--yellow);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;font-size:.72rem;font-weight:800}.portfolio-card-title{color:var(--paper);margin-bottom:1.1rem;font-size:clamp(1.8rem,3.2vw,2.85rem);line-height:1.1;transition:color .3s}.portfolio-card:hover .portfolio-card-title{color:var(--yellow)}.portfolio-card-desc{color:var(--muted);max-width:48ch;margin-bottom:1.8rem;font-size:clamp(.9rem,1.1vw,1.02rem);line-height:1.6}.portfolio-card-action{color:var(--paper);font-family:var(--ff-display);letter-spacing:.08em;text-transform:uppercase;opacity:.8;align-items:center;gap:.6rem;font-size:.72rem;font-weight:750;transition:color .3s,opacity .3s;display:inline-flex}.portfolio-card-action i{color:var(--yellow);font-size:.8rem;transition:transform .4s cubic-bezier(.16,1,.3,1)}.portfolio-card:hover .portfolio-card-action{color:var(--yellow);opacity:1}.portfolio-card:hover .portfolio-card-action i{transform:scale(1.15)rotate(45deg)}@media (width<=899px){.portfolio-card{grid-template-columns:1fr;gap:1.5rem}.portfolio-card .portfolio-img-wrapper{order:1!important}.portfolio-card .portfolio-details{order:2!important;padding-right:0!important}.portfolio-card-title{font-size:clamp(1.6rem,5vw,2.2rem)}.portfolio-card-desc{margin-bottom:1.3rem}.portfolio-grid{gap:clamp(3rem,7vw,5rem)}}.testimonials-section{color:var(--ink);background:var(--yellow);padding:clamp(4.5rem,8vw,8rem) 0}.testimonial-layout{grid-template-columns:minmax(14rem,.55fr) minmax(0,1.45fr);align-items:start;gap:clamp(2rem,8vw,9rem);display:grid}.testimonials-section .section-kicker{color:#0a0b0ca6;margin-bottom:1.8rem}.testimonials-section .section-kicker span:first-child{color:var(--ink);border-color:#0a0b0c59}.testimonials-section .section-kicker:after{background:#0a0b0c40}.testimonial-rating{color:var(--ink);letter-spacing:.14em;font-size:1rem}.testimonial-rating span{font-family:var(--ff-display);letter-spacing:0;margin-left:.7rem;font-weight:800}.testimonial-quote blockquote{max-width:25ch;color:var(--ink);font-family:var(--ff-display);letter-spacing:-.05em;font-size:clamp(2rem,4.3vw,4.6rem);font-weight:750;line-height:1.02}.testimonial-quote figcaption{border-top:1px solid #0a0b0c40;flex-wrap:wrap;gap:.3rem 1rem;margin-top:2rem;padding-top:1rem;font-size:.78rem;display:flex}.testimonial-quote figcaption a{text-underline-offset:.2em;text-decoration:underline}.faq-section{background:var(--concrete);padding:clamp(5rem,9vw,9rem) 0}.faq-layout{grid-template-columns:minmax(17rem,.8fr) minmax(0,1.2fr);gap:clamp(3rem,9vw,10rem);display:grid}.faq-section .section-kicker{color:#0a0b0c94}.faq-section .section-kicker:after{background:#0a0b0c33}.faq-section .section-title,.faq-section .section-kicker span:first-child{color:var(--ink)}.faq-section .section-subtitle{color:#0a0b0cad;margin-top:1.4rem}.faq-list{border-top:1px solid #0a0b0c40}.faq-list details{border-bottom:1px solid #0a0b0c40}.faq-list summary{min-height:74px;color:var(--ink);font-family:var(--ff-display);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;font-size:clamp(1rem,1.4vw,1.25rem);font-weight:750;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{color:var(--ink);content:"+";font-size:1.8rem;font-weight:400;transition:transform .25s}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{color:#0a0b0cb8;max-width:58ch;padding:0 3rem 1.5rem 0}.contact-section{background:var(--graphite);padding:clamp(4rem,6vw,6.5rem) 0}.journey-finale-zone{pointer-events:none;min-height:clamp(22rem,34vw,32rem);margin-top:clamp(3rem,6vw,6rem);position:relative}.contact-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(3rem,7vw,8rem);display:grid}.contact-info-col{grid-column:1/span 6}.contact-form-col{grid-column:8/-1}.contact-intro-text{max-width:38rem;color:var(--muted);margin:1.7rem 0 3rem;font-size:1.05rem}.contact-cards{border-top:1px solid var(--line)}.contact-card{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr;gap:1rem;padding-block:1.5rem;display:grid}.contact-icon{width:42px;height:42px;color:var(--yellow);border:1px solid #f2c32173;place-items:center;display:grid}.contact-name{letter-spacing:-.02em;margin-bottom:.45rem;font-size:1.05rem}.contact-details a{width:fit-content;min-height:36px;color:var(--muted);align-items:center;gap:.5rem;padding:6px 0;font-size:.85rem;display:inline-flex}.contact-dept{width:fit-content;color:var(--muted);font-size:.78rem;display:block}.contact-details a:hover{color:var(--yellow)}.contact-meta{color:var(--muted);gap:.65rem;margin-top:2rem;font-size:.78rem;display:grid}.contact-meta i{width:1.3rem;color:var(--yellow)}.contact-form{border:1px solid var(--line);background:#0a0b0c7a;padding:clamp(1.5rem,4vw,3.2rem);position:relative}.contact-form:before{background:var(--yellow);content:"";width:28%;height:3px;position:absolute;top:-1px;left:-1px}.form-title{margin-bottom:2rem;font-size:clamp(1.8rem,3vw,2.8rem)}.form-group{margin-bottom:1.2rem}.form-group label{color:#b9bab7;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:.66rem;font-weight:700;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;color:var(--paper);background:0 0;border:0;border-bottom:1px solid #f2f0e93d;border-radius:0;outline:0;transition:border-color .3s}.form-group input,.form-group select{height:48px}.form-group textarea{resize:vertical;min-height:112px;padding-top:.7rem}.form-group select option{color:var(--paper);background:var(--graphite)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--yellow)}.form-status,.form-note{color:var(--muted);margin-top:.9rem;font-size:.72rem}.form-status.is-success{color:#9fd8a6}.form-status.is-error{color:#ff9f8f}.form-honeypot{position:absolute;left:-9999px}@media (width<=899px){.testimonial-layout,.faq-layout{grid-template-columns:1fr}.hero-content:after{left:-.8rem}}@media (width<=599px){.hero-title{font-size:clamp(3.15rem,15vw,4.7rem)}.hero-proof{grid-template-columns:1fr 1fr;row-gap:1rem}.hero-proof>span,.hero-proof>a{padding-inline:0 1rem}.hero-proof>a{border-top:1px solid #f2f0e94d;border-left:0;grid-column:1/-1;padding-top:.9rem}.portfolio-comparison{aspect-ratio:4/5;grid-template-columns:1fr}.portfolio-comparison figure{min-height:0}.comparison-divider{width:auto;height:2px;inset:50% 0 auto;transform:translateY(-50%)}}.main-footer{padding:5rem var(--gutter) 2rem;border-top:1px solid var(--line);background:var(--ink)}.footer-logo-icon{width:74px;margin:0 auto 1rem}.footer-company{font-family:var(--ff-display);font-size:1rem;font-weight:700}.footer-desc,.footer-address{color:var(--muted);font-size:.78rem}.footer-social{color:var(--yellow);margin:1.5rem 0;font-size:1.4rem}.footer-bottom{border-top:1px solid var(--line);color:#a0a6a2;padding-top:1.5rem;font-size:.68rem}.lightbox-modal{z-index:5000;visibility:hidden;opacity:0;background:#050607f5;place-items:center;padding:clamp(1rem,4vw,4rem);transition:visibility .35s,opacity .35s;display:grid;position:fixed;inset:0;overflow-y:auto}.lightbox-modal.active{visibility:visible;opacity:1}.lightbox-close{z-index:2;color:var(--paper);cursor:pointer;background:0 0;border:0;font-size:2.4rem;position:fixed;top:1.2rem;right:1.5rem}.lightbox-content{grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);width:min(1100px,100%);display:grid}.lightbox-info h3{margin-bottom:1rem;font-size:clamp(1.8rem,4vw,3.5rem)}.lightbox-info p{color:var(--muted)}.lightbox-thumbnails{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.lightbox-thumbnail{object-fit:cover;cursor:pointer;border:2px solid #0000;width:70px;height:52px}.lightbox-thumbnail.active{border-color:var(--yellow)}[data-reveal],.service-card,.portfolio-card,.accreditation-item{visibility:visible}@media (width>=900px){.services-journey-progress{display:block}}@media (width<=899px){:root{--nav-height:72px;--gutter:clamp(1rem, 5vw, 2.5rem)}html{scroll-padding-top:calc(var(--nav-height) + 1rem)}.mobile-scroll-progress{z-index:1002;top:calc(var(--nav-height) - 3px);pointer-events:none;will-change:transform;background:#ffffff1a;height:3px;transition:transform .45s cubic-bezier(.22,1,.36,1);display:block;position:fixed;left:0;right:0}.mobile-scroll-progress.is-header-hidden{transform:translateY(calc(-1 * (var(--nav-height) - 3px)))}.mobile-scroll-progress span{background:var(--yellow);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.header-container{grid-template-columns:1fr auto auto;gap:1rem}.logo-link{width:105px}.mobile-nav-toggle{z-index:2;place-items:center;width:44px;height:44px;font-size:1.1rem;display:grid}.lang-selector{grid-area:1/2}.mobile-nav-toggle{grid-area:1/3}.nav-menu{z-index:1;visibility:hidden;padding:calc(var(--nav-height) + 3rem) var(--gutter) 3rem;background:linear-gradient(145deg, #f2c32112, transparent 48%), var(--ink);opacity:0;pointer-events:none;place-items:center start;display:grid;position:fixed;inset:0}.nav-menu.active{visibility:visible;opacity:1;pointer-events:auto}.nav-menu ul{gap:0;width:100%;display:grid}.nav-menu li{border-bottom:1px solid var(--line)}.nav-menu a{letter-spacing:-.03em;text-transform:none;padding:1.05rem 0;font-size:clamp(1.7rem,8vw,3.5rem);display:block}.nav-menu a:after{display:none}.hero-container{padding-top:calc(var(--nav-height) + 4rem);padding-bottom:11rem}.hero-content{grid-column:1/-1;max-width:44rem}.scene-index{display:none}.hero-title{max-width:11ch;font-size:clamp(3rem,12.5vw,6rem)}.hero-desc{max-width:34rem}.section-header{grid-template-columns:1fr;gap:1.5rem}.about-grid,.contact-grid{grid-template-columns:1fr}.about-text-col,.about-img-col,.contact-info-col,.contact-form-col{grid-column:auto}.about-img-col{margin-top:2rem}.frame-overlap{width:min(100%,680px);min-height:clamp(390px,75vw,620px);margin-left:auto}.services-grid{gap:1rem;width:100%;display:grid}.service-card{width:100%;height:auto;min-height:590px}.accreditations-slider{flex-wrap:wrap;justify-content:center;width:100%;min-width:0}.accreditation-item{flex:130px;max-width:210px}.accreditation-item:after{display:none}.portfolio-card:nth-child(2n){width:100%}.portfolio-img-wrapper{aspect-ratio:4/3;min-height:0}.lightbox-content{grid-template-columns:1fr}}@media (width>=1200px){:root{--journey-machine-scale:1.12}}@media (width<=767px){.journey-layer{display:none}.journey-crossing{height:clamp(2rem,8vw,3.5rem)}.accreditations-viewport{width:100%}.journey-finale-zone{display:none}}@media (width<=599px){.section-kicker{margin-bottom:2.4rem}.section-title{font-size:clamp(2.35rem,12vw,4rem)}.hero-section{min-height:100svh}.hero-bg{inset:0;transform:none}.hero-bg img{object-position:58% center}.hero-title{font-size:clamp(2.85rem,13vw,4.6rem)}.hero-actions{display:grid}.btn{width:100%}.about-stats{grid-template-columns:1fr}.stat-item,.stat-item+.stat-item{border-right:0;border-bottom:1px solid var(--line);border-left:0;padding:1rem 0}.frame-overlap{min-height:430px}.about-img-1{width:100%;height:64%}.about-img-2{width:74%;height:44%}.survey-line{margin-top:4rem}.service-card{grid-template-rows:50% 50%;min-height:560px}.portfolio-filters{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.portfolio-filters::-webkit-scrollbar{display:none}.filter-btn{flex:none}.portfolio-img-wrapper{aspect-ratio:4/5;min-height:0}.portfolio-overlay{grid-template-columns:1fr}.portfolio-card-action{display:none}.contact-form{margin-inline:calc(-1 * var(--gutter));border-left:0;border-right:0}.lightbox-modal{padding:4.5rem 1rem 2rem}}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.site-grain{animation:none}.journey-layer{display:none!important}.journey-crossing:after{opacity:.45}}img-comparison-slider{visibility:hidden}img-comparison-slider [slot=second]{display:none}img-comparison-slider.rendered{visibility:inherit}img-comparison-slider.rendered [slot=second]{display:unset}
