/* PRINTGATS visual system: 12/14/18/28/56/104 type scale; black, warm white, orange; editorial rhythm; eased physical motion. */
@font-face{font-family:PG;src:url('media/fonts/inter-latin.woff2') format('woff2');font-display:swap}
:root{--ink:#0a0b0c;--paper:#f0eee8;--muted:#a7a5a0;--line:rgba(255,255,255,.14);--accent:#b56f52;--accent-rgb:181,111,82;--ease:cubic-bezier(.2,.75,.2,1);--pad:clamp(20px,4vw,64px);--header:82px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink);overflow-x:clip}body{margin:0;background:var(--ink);color:var(--paper);font-family:PG,'Helvetica Neue',sans-serif;font-size:16px;overflow-x:clip}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}em{font-weight:300;color:var(--accent)}::selection{background:var(--accent);color:var(--ink)}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;padding:1rem;background:var(--paper);color:var(--ink)}.skip-link:focus{top:1rem}
.progress{position:fixed;z-index:1000;left:0;top:0;width:100%;height:2px}.progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.site-header{height:var(--header);position:fixed;z-index:100;inset:0 0 auto;display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;padding:0 var(--pad);border-bottom:1px solid var(--line);background:rgba(10,11,12,.76);backdrop-filter:blur(18px);transition:transform .45s var(--ease),background .3s}.site-header.is-hidden{transform:translateY(-100%)}
.brand{display:flex;align-items:center;justify-self:start;overflow:hidden}.brand-logo-real{display:block;width:clamp(154px,14vw,196px);height:42px;object-fit:cover;object-position:center;filter:invert(1) sepia(.08) saturate(.35) brightness(1.35);transition:filter .3s ease,transform .3s ease}.brand:hover .brand-logo-real{transform:translateY(-1px)}.hero-light .brand-logo-real{filter:none}
.nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,40px);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav>a,.sectors-menu>button{position:relative;padding:31px 0;color:rgba(240,238,232,.78);transition:color .25s}.nav>a::after,.sectors-menu>button::after{content:"";position:absolute;left:0;bottom:24px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.nav>a:hover,.nav>a:focus-visible,.sectors-menu>button:hover,.sectors-menu>button:focus-visible{color:#fff}.nav>a:hover::after,.nav>a:focus-visible::after,.sectors-menu>button:hover::after{transform:scaleX(1);transform-origin:left}.sectors-menu>button{border:0;background:none;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.sectors-menu>button span{display:inline-block;margin-left:4px;color:var(--accent);transition:transform .35s}.sectors-menu.is-open>button span{transform:rotate(45deg)}
.mega{position:fixed;left:0;right:0;top:var(--header);display:grid;grid-template-columns:repeat(4,1fr);padding:14px var(--pad) 24px;background:rgba(10,11,12,.97);border-bottom:1px solid var(--line);transform:translateY(-115%);opacity:0;pointer-events:none;transition:transform .55s var(--ease),opacity .3s}.sectors-menu.is-open .mega{transform:translateY(0);opacity:1;pointer-events:auto}.mega a{position:relative;height:220px;overflow:hidden;border-right:1px solid var(--line)}.mega a:first-child{border-left:1px solid var(--line)}.mega img{filter:saturate(.7) brightness(.55);transition:filter .45s,transform .65s var(--ease)}.mega span{position:absolute;inset:auto 20px 18px;font-size:clamp(15px,1.4vw,22px);font-weight:750;letter-spacing:-.03em}.mega a:hover img{filter:saturate(1) brightness(.8);transform:scale(1.06)}
.menu-toggle{display:none;justify-self:end;width:48px;height:48px;border:1px solid var(--line);background:none;color:#fff;position:relative}.menu-toggle span{position:absolute;left:13px;width:20px;height:1px;background:currentColor}.menu-toggle span:first-child{top:19px}.menu-toggle span:nth-child(2){top:27px}.menu-toggle b{position:absolute;clip:rect(0 0 0 0)}
.hero{min-height:100svh;padding:calc(var(--header) + 7vh) var(--pad) 5vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr);gap:clamp(24px,5vw,80px);align-items:center;position:relative;background:radial-gradient(circle at 75% 30%,rgba(var(--accent-rgb),.09),transparent 30%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,100px 100px,100px 100px}
.kicker,.section-head>p,.industry-copy>p:first-child,.work-title>p{font-size:11px;font-weight:750;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.kicker::before{content:"";display:inline-block;width:28px;height:1px;background:var(--accent);vertical-align:middle;margin-right:12px}
.hero h1{font-size:clamp(58px,8.2vw,142px);line-height:.83;letter-spacing:-.075em;margin:5vh 0 7vh;max-width:1000px;text-wrap:balance}.hero-line{display:block;overflow:hidden;padding-bottom:.08em}.hero-line>span{display:block;transform:translateY(110%);animation:heroIn 1.1s var(--ease) forwards}.hero-line:nth-child(2)>span{animation-delay:.13s}@keyframes heroIn{to{transform:none}}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;max-width:760px;border-top:1px solid var(--line);padding-top:18px}.hero-bottom p{margin:0;color:var(--muted);max-width:300px}.arrow-link{display:inline-flex;gap:22px;align-items:center;font-size:12px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.arrow-link span{color:var(--accent);font-size:20px;transition:transform .3s}.arrow-link:hover span{transform:translate(5px,5px)}
.hero-media{height:min(72vh,780px);margin:0;position:relative;overflow:hidden;clip-path:inset(0 0 0 0);box-shadow:0 35px 90px rgba(0,0,0,.35)}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.7))}.hero-media img{transform:scale(1.08);animation:heroImage 1.5s .15s var(--ease) forwards}@keyframes heroImage{to{transform:scale(1)}}.hero-media figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;font-size:10px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.scroll-mark{position:absolute;left:var(--pad);bottom:22px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px}.scroll-mark span{width:34px;height:1px;background:var(--muted);position:relative;overflow:hidden}.scroll-mark span::after{content:"";position:absolute;inset:0;background:var(--accent);animation:scan 2s infinite}@keyframes scan{from{transform:translateX(-110%)}to{transform:translateX(110%)}}
.sectors{padding:clamp(84px,9vw,132px) var(--pad)}.section-head{display:grid;grid-template-columns:1fr 2fr;margin-bottom:clamp(44px,6vw,86px);align-items:start}.section-head h2,.industry h2,.work-title h2{margin:0;font-size:clamp(54px,7.2vw,118px);line-height:.88;letter-spacing:-.065em;font-weight:750}.section-head>p{padding-top:10px}.sector-list{border-top:1px solid var(--line)}.sector-row{position:relative;display:grid;grid-template-columns:70px 1fr 150px 40px;gap:20px;align-items:center;min-height:145px;border-bottom:1px solid var(--line);isolation:isolate}.sector-row.reveal{opacity:1;transform:none}.sector-row h3{font-size:clamp(28px,4vw,64px);letter-spacing:-.05em;margin:0;transition:transform .45s var(--ease)}.sector-number,.sector-count{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.sector-arrow{font-size:25px;color:var(--accent);transition:transform .35s}.sector-row>img{position:absolute;z-index:-1;right:12%;width:260px;height:180px;opacity:0;transform:translateY(18px) rotate(3deg);transition:opacity .35s,transform .55s var(--ease);filter:brightness(.65)}.sector-row:hover>img{opacity:1;transform:translateY(0) rotate(-2deg)}.sector-row:hover h3{transform:translateX(14px)}.sector-row:hover .sector-arrow{transform:translate(5px,-5px)}
.sector-row--empty{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent)}
.before-after{background:var(--paper);color:var(--ink);padding:clamp(100px,13vw,210px) var(--pad)}.section-head--light{margin-bottom:60px}.section-head--light>p{color:#696761}.compare{position:relative;width:min(100%,1320px);height:min(72vw,760px);min-height:420px;margin:auto;overflow:hidden;background:#bbb;cursor:ew-resize}.compare-base,.compare-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.compare-before{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 calc(100% - var(--position)) 0 0)}.compare-divider{position:absolute;left:var(--position);top:0;bottom:0;width:1px;background:#fff;transform:translateX(-50%)}.compare-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);box-shadow:0 8px 30px rgba(0,0,0,.25)}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare-label{position:absolute;top:20px;background:rgba(10,11,12,.75);color:white;padding:9px 12px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.compare-label--before{left:20px}.compare-label--after{right:20px}
.work-strip{padding:clamp(100px,13vw,200px) 0;overflow:hidden}.work-title{padding:0 var(--pad);display:grid;grid-template-columns:1fr 2fr;margin-bottom:70px}.work-track{display:flex;align-items:center;gap:20px;overflow-x:auto;padding:0 var(--pad) 30px;scrollbar-width:none;cursor:grab}.work-track::-webkit-scrollbar{display:none}.work-track.is-dragging{cursor:grabbing}.work-card{flex:0 0 clamp(270px,34vw,560px);height:clamp(380px,55vw,720px);position:relative;overflow:hidden}.work-card--tall{flex-basis:clamp(240px,26vw,430px);height:clamp(430px,62vw,800px)}.work-card--wide{flex-basis:clamp(400px,48vw,760px);height:clamp(330px,42vw,600px)}.work-card img{transition:transform .8s var(--ease),filter .45s;filter:saturate(.72)}.work-card span{position:absolute;left:18px;bottom:16px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;background:var(--ink);padding:9px 12px}.work-card:hover img{transform:scale(1.045);filter:saturate(1)}
.industry{padding:clamp(100px,13vw,210px) var(--pad);background:#151719;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}.industry h2{margin:30px 0 45px}.short-copy{color:var(--muted);font-size:clamp(17px,2vw,25px);line-height:1.5;max-width:520px;margin:0 0 35px}.industry-images{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px}.industry-images figure{margin:0;height:55vh;overflow:hidden}.industry-images figure:last-child{height:38vh}.industry-images img{transition:transform .7s var(--ease)}.industry-images figure:hover img{transform:scale(1.05)}
.process-link{padding:0 var(--pad);background:#151719}.process-link a{display:grid;grid-template-columns:1fr 2fr 50px;align-items:center;min-height:150px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.15em;text-transform:uppercase}.process-link strong{font-size:clamp(17px,2.1vw,30px);letter-spacing:-.025em;text-transform:none}.process-link b{color:var(--accent);font-size:28px;transition:transform .35s}.process-link a:hover b{transform:translate(6px,-6px)}
.contact{min-height:80vh;padding:clamp(100px,13vw,200px) var(--pad);display:flex;flex-direction:column;justify-content:center;background:var(--accent);color:var(--ink)}.contact>p{font-size:12px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.contact h2{font-size:clamp(70px,13vw,220px);letter-spacing:-.08em;line-height:.75;margin:5vh 0 9vh}.contact h2 em{color:var(--paper)}.contact-links{display:flex;gap:40px;flex-wrap:wrap}.contact-links a{font-size:clamp(16px,2vw,28px);font-weight:750;border-bottom:2px solid var(--ink);padding-bottom:6px}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px var(--pad);font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.reveal{opacity:0;transform:translateY(45px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.interactive-media{transform-style:preserve-3d;will-change:transform}.cursor{display:none;position:fixed;z-index:999;left:0;top:0;width:72px;height:72px;border-radius:50%;background:var(--accent);color:var(--ink);place-items:center;pointer-events:none;transform:translate(-50%,-50%) scale(0);transition:transform .25s var(--ease);mix-blend-mode:normal}.cursor span{font-size:10px;font-weight:800;letter-spacing:.1em}.cursor.is-active{transform:translate(-50%,-50%) scale(1)}
@media (pointer:fine) and (min-width:901px){.interactive-media{cursor:pointer}}
@media (max-width:900px){:root{--header:70px}.site-header{grid-template-columns:1fr auto;backdrop-filter:none}.brand-word{font-size:11px}.menu-toggle{display:block}.nav{position:fixed;inset:var(--header) 0 0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:25px var(--pad);background:rgba(10,11,12,.98);transform:translateX(100%);transition:transform .5s var(--ease);overflow:auto}.nav.is-open{transform:none}.nav>a,.sectors-menu>button{display:block;width:100%;padding:20px 0;border-bottom:1px solid var(--line);text-align:left;font-size:17px}.mega{position:static;grid-template-columns:1fr 1fr;padding:0;max-height:0;overflow:hidden;transform:none;opacity:1;border:0;background:transparent;transition:max-height .5s var(--ease)}.sectors-menu.is-open .mega{max-height:420px}.mega a{height:150px;border:1px solid var(--line)!important}.hero{grid-template-columns:1fr;padding-top:calc(var(--header) + 45px);align-content:start}.hero h1{font-size:clamp(54px,15vw,92px);margin:35px 0}.hero-media{height:56svh}.hero-bottom{margin-bottom:30px}.scroll-mark{display:none}.section-head,.work-title{grid-template-columns:1fr;gap:25px}.section-head h2,.industry h2,.work-title h2{font-size:clamp(52px,14vw,82px)}.sector-row{grid-template-columns:40px 1fr 25px;min-height:110px}.sector-count{display:none}.sector-row>img{display:none}.before-after{padding-left:20px;padding-right:20px}.compare{height:72svh;min-height:480px}.industry{grid-template-columns:1fr}.industry-images{order:-1}.industry-images figure{height:48vh}.process-link a{grid-template-columns:1fr 40px;gap:15px;padding:30px 0}.process-link strong{grid-column:1}.process-link b{grid-column:2;grid-row:1/3}.contact{min-height:70svh}.contact-links{flex-direction:column;align-items:flex-start}footer{flex-wrap:wrap}}
@media (max-width:520px){.brand-logo-real{width:146px;height:36px}.hero-bottom{align-items:flex-start;flex-direction:column}.hero-media{height:52svh}.mega{grid-template-columns:1fr}.mega a{height:110px}.sector-row h3{font-size:30px}.work-card{flex-basis:82vw}.industry-images{gap:10px}.industry-images figure{height:42vh}.industry-images figure:last-child{height:32vh}.compare{min-height:430px}.contact h2{font-size:21vw}footer span:nth-child(2){display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.interactive-media{transform:none!important}}
