:root{--ink:#101311;--paper:#f1efe7;--signal:#d8ff3e;--muted:#a7aaa1;--line:rgba(16,19,17,.16);--pad:clamp(22px,4.5vw,76px);--display:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img,video{display:block;max-width:100%}.skip-link{position:fixed;left:16px;top:-100px;background:var(--signal);padding:12px 18px;z-index:9999}.skip-link:focus{top:16px}.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:88px;padding:0 var(--pad);display:grid;grid-template-columns:220px 1fr auto;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);transition:.35s}.site-header.scrolled{height:72px;background:rgba(16,19,17,.94);backdrop-filter:blur(15px)}.brand{display:inline-flex;align-items:center;width:max-content}.brand img{width:172px;height:auto;max-height:64px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(255,255,255,.42))}.nav{display:flex;justify-content:center;gap:clamp(18px,2.5vw,42px)}.nav a{font-size:13px;font-weight:600;letter-spacing:.06em}.nav a:after{content:"";display:block;width:0;height:1px;background:var(--signal);transition:.25s}.nav a:hover:after{width:100%}.header-cta{border-left:1px solid rgba(255,255,255,.25);padding-left:28px;font-size:13px;font-weight:600}.header-cta i{margin-left:10px;color:var(--signal)}.menu-toggle{display:none;background:none;border:0;width:42px}.menu-toggle span{display:block;height:1px;background:#fff;margin:8px 0}.hero{height:100svh;min-height:700px;position:relative;display:flex;align-items:center;overflow:hidden;background:#111}.hero-video,.hero-shade,.hero-grid{position:absolute;inset:0;width:100%;height:100%}.hero-video{object-fit:cover;filter:saturate(.55) contrast(1.12)}.hero-shade{background:linear-gradient(90deg,rgba(8,11,9,.88) 0%,rgba(8,11,9,.62) 52%,rgba(8,11,9,.2) 100%),linear-gradient(0deg,rgba(8,11,9,.55),transparent 60%)}.hero-grid{background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:12.5vw 12.5vw;mask-image:linear-gradient(to right,#000,transparent 75%)}.hero-content{position:relative;z-index:2;color:#fff;width:min(920px,75%);padding-left:var(--pad);padding-top:70px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.22em;display:flex;align-items:center;gap:12px;margin:0 0 28px}.eyebrow span{width:36px;height:2px;background:var(--ink)}.eyebrow.light{color:#e7e9e3}.eyebrow.light span{background:var(--signal)}h1,h2,h3{font-family:var(--display);line-height:.98;margin:0}h1{font-size:clamp(68px,9.2vw,148px);letter-spacing:-.07em;font-weight:600}h1 em,h2 em{font-family:Georgia,serif;font-weight:400}.hero-copy{font-size:clamp(17px,1.4vw,22px);line-height:1.55;max-width:630px;color:#d8dbd5;margin:32px 0}.hero-actions{display:flex;align-items:center;gap:36px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 21px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.12em;border:0;cursor:pointer}.btn-signal{background:var(--signal);color:var(--ink)}.btn:hover i{transform:translateX(4px)}.btn i{transition:.2s}.text-link{font-size:13px;font-weight:600}.text-link i{color:var(--signal);margin-right:10px}.hero-rail{position:absolute;z-index:2;right:var(--pad);bottom:42px;display:flex;color:#fff}.hero-rail div{padding:0 30px;border-left:1px solid rgba(255,255,255,.25)}.hero-rail strong,.hero-rail span{display:block}.hero-rail strong{font-family:var(--display);font-size:22px}.hero-rail span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#b8bcb6}.scroll-cue{position:absolute;z-index:2;left:var(--pad);bottom:42px;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.scroll-cue i{margin-left:12px;color:var(--signal)}.section{padding:120px var(--pad)}.section-tag{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:12px;display:flex;gap:26px}.section-tag span{color:#777}.section-tag.light{border-color:rgba(255,255,255,.2)}.intro{display:grid;grid-template-columns:1fr 1.7fr 1fr;gap:55px}.intro .section-tag{grid-column:1/-1}.intro-copy{grid-column:1/3;margin-top:65px}.intro-copy h2,.services-heading h2,.work-story h2,.process-head h2,.contact h2{font-size:clamp(48px,6.3vw,98px);letter-spacing:-.055em}.intro-detail{align-self:end;padding-bottom:10px}.intro-detail p{color:#53584f;margin:0 0 28px}.arrow-link{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;border-bottom:1px solid;padding-bottom:8px}.feature-image{grid-column:1/3;margin:70px 0 0;position:relative}.feature-image img{height:min(66vw,720px);width:100%;object-fit:cover}.principles{margin-top:70px}.principles article{padding:24px 0;border-top:1px solid var(--line)}.principles article>span{font-size:10px;color:#73766f}.principles h3{font-size:24px;margin:10px 0}.principles p{font-size:14px;color:#62675f;margin:0}.services,.process{background:var(--ink);color:#fff}.services-heading{margin:70px 0 90px}.service-list{border-top:1px solid rgba(255,255,255,.22)}.service-row{width:100%;display:grid;grid-template-columns:100px 1fr auto;align-items:center;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.22);padding:29px 8px;text-align:left;cursor:pointer;transition:.25s}.service-row:hover{background:var(--signal);color:var(--ink);padding-left:22px;padding-right:22px}.service-no{font-size:10px}.service-row strong{display:block;font-family:var(--display);font-size:clamp(25px,3vw,44px);letter-spacing:-.035em}.service-row small{color:#9ca098}.service-row:hover small{color:#3d423b}.service-row>i{font-size:26px}.work-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;margin-top:80px}.work-image img{width:100%;height:760px;object-fit:cover}.work-story{padding-top:80px}.work-story>p:not(.eyebrow){max-width:520px;color:#5c6159;margin:36px 0}.metric{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line);padding-top:25px;margin-top:80px}.metric strong{font-family:var(--display);font-size:65px;letter-spacing:-.06em}.metric span{text-transform:uppercase;font-size:10px;letter-spacing:.14em}.team-image{grid-column:2}.team-image img{width:100%;height:420px;object-fit:cover}.process{display:grid;grid-template-columns:1fr 1.7fr;gap:80px}.process .section-tag{grid-column:1/-1}.process-head{margin-top:60px}.process-list{list-style:none;padding:0;margin:60px 0 0}.process-list li{display:grid;grid-template-columns:70px 1fr;border-top:1px solid rgba(255,255,255,.2);padding:28px 0}.process-list li>span{font-size:10px;color:var(--signal)}.process-list h3{font-size:24px;margin-bottom:7px}.process-list p{color:#9fa39d;margin:0;font-size:14px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,160px);align-items:start}.contact-lead>p:not(.eyebrow){max-width:500px;color:#60645d;margin:32px 0}.contact-links{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px}.contact-links i{margin-right:10px}.contact-form{background:#fff;padding:clamp(25px,4vw,58px);box-shadow:0 30px 80px rgba(16,19,17,.08)}.contact-form label{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.15em;font-weight:700;margin-bottom:23px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:8px;background:transparent;border:0;border-bottom:1px solid #b9bbb5;padding:11px 0;color:var(--ink);outline:none;text-transform:none;letter-spacing:0;font-size:15px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--ink)}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.btn-dark{background:var(--ink);color:#fff;width:100%;margin-top:8px}.service-modal{max-width:620px;border:0;padding:55px;background:var(--paper);color:var(--ink)}.service-modal::backdrop{background:rgba(4,6,5,.82);backdrop-filter:blur(5px)}.service-modal>span{font-size:10px;color:#777}.service-modal h2{font-size:52px;letter-spacing:-.04em;margin:18px 0}.service-modal p{color:#575c54;margin-bottom:35px}.modal-close{position:absolute;right:18px;top:18px;background:none;border:0;font-size:24px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:72px}.header-cta{display:none}.menu-toggle{display:block}.nav{position:fixed;inset:72px 0 0;background:var(--ink);display:flex;flex-direction:column;justify-content:flex-start;padding:50px var(--pad);transform:translateX(100%);transition:.4s}.nav.active{transform:none}.nav a{font-family:var(--display);font-size:32px}.hero-content{width:100%;padding-right:var(--pad)}.hero-rail{display:none}.intro{grid-template-columns:1fr}.intro-copy,.intro-detail,.feature-image{grid-column:1}.intro-copy{margin-top:40px}.feature-image{margin-top:25px}.feature-image img{height:70vw}.principles{margin-top:10px}.work-grid,.process,.contact{grid-template-columns:1fr}.work-image img{height:70vw}.team-image{grid-column:1}.process-head{margin-top:20px}}
@media(max-width:600px){.section{padding-top:85px;padding-bottom:85px}.hero{min-height:650px}.hero-content{padding-top:20px}.hero-content h1{font-size:59px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.scroll-cue{display:none}.intro-copy h2,.services-heading h2,.work-story h2,.process-head h2,.contact h2{font-size:44px}.service-row{grid-template-columns:42px 1fr auto}.service-row small{display:none}.work-grid{gap:35px}.work-story{padding-top:15px}.team-image img{height:65vw}.form-pair{grid-template-columns:1fr}.service-modal{padding:45px 25px}.service-modal h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-video{display:none}.hero{background:url('../img/new-repair.webp') center/cover}}

/* Footer */
.footer{background:#0b0e0c;color:#fff;padding:72px var(--pad) 24px}
.footer-main{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(130px,1fr));gap:clamp(32px,5vw,76px);padding-bottom:58px}
.footer-brand img{width:190px;height:auto;margin-bottom:20px}
.footer-brand>p{max-width:340px;margin:0 0 22px;color:#989d96;font-size:14px;line-height:1.7}
.footer-badges{display:flex;flex-wrap:wrap;gap:8px}
.footer-badges span{padding:7px 10px;border:1px solid #303530;color:#c0c4bd;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.footer-badges i{margin-right:5px;color:var(--signal)}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:13px}
.footer-column>span{margin-bottom:12px;color:var(--signal);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}
.footer-column>a{color:#b2b7af;line-height:1.65;transition:color .2s}
.footer-column>a:hover{color:#fff}
.footer-socials{display:flex;gap:9px;margin-top:13px}
.footer-socials a{display:grid;place-items:center;width:36px;height:36px;border:1px solid #353a35;border-radius:50%;color:#d3d6d1;font-size:16px;transition:.2s}
.footer-socials a:hover{border-color:var(--signal);background:var(--signal);color:var(--ink)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid #292d29;color:#747a73;font-size:11px}
.footer-bottom p{margin:0}
.footer-legal{display:flex;align-items:center;gap:22px}.footer-legal a{color:#b7bbb5;text-decoration:none}.footer-legal a:hover{color:var(--signal)}
@media(max-width:920px){.footer-main{grid-template-columns:1.5fr 1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){.footer{padding-top:54px}.footer-main{grid-template-columns:1fr;gap:32px;padding-bottom:42px}.footer-brand{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.footer-legal{gap:14px}}

/* Capability service images */
.service-row{grid-template-columns:70px 138px 1fr auto;gap:28px;min-height:128px;padding-top:20px;padding-bottom:20px;overflow:hidden;transition:grid-template-columns .45s cubic-bezier(.2,.75,.25,1),padding .35s ease,background-color .25s ease}
.service-thumb{width:138px;height:88px;object-fit:cover;filter:saturate(.68) contrast(1.06);transition:width .45s cubic-bezier(.2,.75,.25,1),height .45s cubic-bezier(.2,.75,.25,1),filter .3s ease,transform .45s ease}
.service-row>span:nth-of-type(2){transition:transform .4s ease}
.service-row:hover{grid-template-columns:70px 270px 1fr auto;padding-top:28px;padding-bottom:28px}
.service-row:hover .service-thumb{width:270px;height:160px;filter:saturate(1) contrast(1);transform:scale(1.01)}
.service-row:hover>span:nth-of-type(2){transform:translateX(8px)}
@media(max-width:760px){.service-row{grid-template-columns:34px 82px 1fr auto;gap:14px;min-height:102px}.service-thumb{width:82px;height:62px}.service-row:hover{grid-template-columns:34px 145px 1fr auto;padding-top:22px;padding-bottom:22px}.service-row:hover .service-thumb{width:145px;height:96px}.service-row strong{font-size:clamp(20px,5vw,30px)}}
@media(max-width:480px){.service-row{grid-template-columns:26px 68px 1fr;gap:10px;padding-left:0;padding-right:0}.service-thumb{width:68px;height:56px}.service-row>i{display:none}.service-row strong{font-size:19px;line-height:1.1}}
@media(hover:none){.service-row:hover{grid-template-columns:70px 138px 1fr auto;padding-top:20px;padding-bottom:20px}.service-row:hover .service-thumb{width:138px;height:88px;transform:none}.service-row:hover>span:nth-of-type(2){transform:none}}
@media(hover:none) and (max-width:760px){.service-row:hover{grid-template-columns:34px 82px 1fr auto}.service-row:hover .service-thumb{width:82px;height:62px}}
@media(max-width:480px){.service-row:hover{grid-template-columns:26px 68px 1fr;padding-top:20px;padding-bottom:20px}.service-row:hover .service-thumb{width:68px;height:56px;transform:none}.service-row:hover>span:nth-of-type(2){transform:none}}

/* In the field layout fix */
.work-grid{grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);grid-template-rows:auto 390px;column-gap:clamp(48px,6vw,90px);row-gap:50px;align-items:stretch}
.work-image{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;min-height:850px;overflow:hidden}
.work-image img{flex:1;width:100%;height:100%;min-height:0;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.25,1)}
.work-image:hover img{transform:scale(1.035)}

.work-story{grid-column:2;grid-row:1;padding-top:38px;align-self:start}
.work-story .metric{margin-top:55px}
.team-image{grid-column:2;grid-row:2;position:relative;overflow:hidden;min-height:390px}
.team-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.25,1)}
.team-image:hover img{transform:scale(1.045)}
@media(max-width:900px){.work-grid{grid-template-columns:1fr;grid-template-rows:auto;row-gap:34px}.work-image{grid-column:1;grid-row:auto;min-height:0}.work-image img{height:72vw;flex:none}.work-story{grid-column:1;grid-row:auto;padding-top:20px}.work-story .metric{margin-top:40px}.team-image{grid-column:1;grid-row:auto;min-height:0}.team-image img{height:62vw}}

/* Contact consent */
.consent-group{margin:4px 0 26px;padding-top:20px;border-top:1px solid #d4d6d0}
.contact-form .consent-option{display:grid;grid-template-columns:18px 1fr;gap:11px;align-items:start;margin:0 0 16px;color:#3e433d;font-size:12px;font-weight:400;line-height:1.55;letter-spacing:0;text-transform:none;cursor:pointer}
.contact-form .consent-option input{appearance:auto;width:16px;height:16px;margin:3px 0 0;padding:0;border:0;accent-color:var(--ink);cursor:pointer}
.consent-option span{display:block}.consent-option a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:2px}.consent-option a:hover{color:#66751f}
.consent-note{margin:3px 0 0;color:#747970;font-size:11px;line-height:1.55}

/* Highlight primary header CTA */
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--signal);background:var(--signal);color:var(--ink);padding:13px 18px;font-size:11px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.11em;box-shadow:0 0 0 0 rgba(216,255,62,.32);transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.header-cta i{margin-left:0;color:var(--ink);font-size:15px;transition:transform .25s ease}
.header-cta:hover{transform:translateY(-2px);background:#e3ff72;box-shadow:0 10px 28px rgba(0,0,0,.22),0 0 0 5px rgba(216,255,62,.12)}
.header-cta:hover i{transform:translate(3px,-3px)}
@media(max-width:900px){.header-cta{display:none}}
.nav a[aria-current="page"]:after{width:100%}
.mobile-request-link{display:none!important}@media(max-width:900px){.nav .mobile-request-link{display:inline-flex!important;align-items:center;justify-content:space-between;width:min(100%,320px);margin-top:12px;padding:16px 18px;background:var(--signal);color:var(--ink);font-family:var(--display);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.nav .mobile-request-link:after{display:none}.nav .mobile-request-link i{font-size:19px}}
@media(max-width:620px){.footer{padding:38px var(--pad) 18px}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:26px;padding-bottom:28px}.footer-brand{grid-column:1/-1;display:grid;grid-template-columns:120px 1fr;column-gap:18px;align-items:start}.footer-brand img{width:120px;margin:0}.footer-brand>p{margin:0;font-size:12px;line-height:1.55}.footer-badges{grid-column:1/-1;margin-top:14px}.footer-badges span{padding:5px 7px}.footer-column{gap:5px;font-size:12px}.footer-column>span{margin-bottom:6px}.footer-column:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.footer-column:last-child>span,.footer-column:last-child .footer-socials{grid-column:1/-1}.footer-column:last-child>a{overflow-wrap:anywhere}.footer-socials{margin-top:6px}.footer-bottom{padding-top:15px;font-size:10px}.footer-legal{width:100%;justify-content:space-between}}@media(max-width:390px){.footer-brand{grid-template-columns:100px 1fr}.footer-brand img{width:100px}.footer-main{column-gap:16px}.footer-column:last-child{grid-template-columns:1fr}}

@media(max-width:900px){.site-header{grid-template-columns:1fr auto auto;column-gap:10px}.site-header .header-cta{display:inline-flex;padding:10px 12px;font-size:10px;letter-spacing:.08em;gap:6px;white-space:nowrap}.site-header .header-cta i{font-size:12px}}@media(max-width:360px){.site-header .header-cta{padding:9px 9px;font-size:9px}.site-header .header-cta i{display:none}}

.site-header .brand{background:#fff;border-radius:8px;padding:4px 8px;box-shadow:0 4px 18px rgba(0,0,0,.28);line-height:0;justify-self:start}.site-header .brand img{width:auto;height:52px;max-height:none;filter:none;object-fit:contain}@media(max-width:900px){.site-header .brand{padding:3px 6px;border-radius:6px}.site-header .brand img{height:44px}}@media(max-width:360px){.site-header .brand img{height:38px}}
