@font-face{font-family:Questrial;src:url('/assets/questrial.woff2') format('woff2');font-display:swap}@font-face{font-family:Merriweather;src:url('/assets/merriweather_sans.woff2') format('woff2');font-weight:700;font-display:swap}:root{--bg:#121212;--panel:#1d1d1d;--orange:#ec8b00;--text:#fff;--muted:#b6b6b6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Questrial,Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:700;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,5.7vw,6rem)}h2{font-size:clamp(2.1rem,4vw,4.1rem)}h3{font-size:1.35rem;line-height:1.25;letter-spacing:-.015em}em{font-style:normal;color:var(--orange)}header{height:98px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff15;gap:26px}.brand{height:55px;width:auto;object-fit:contain;max-width:190px}header nav{display:flex;gap:32px}header nav a:hover,.text-link:hover{color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--orange);color:#121212;padding:16px 25px;border-radius:40px;font-weight:bold;line-height:1.3;transition:background .2s}.button:hover{background:#ffb344}.button.small{font-size:15px;padding:13px 20px}.menu{display:none}.skip{position:absolute;top:-100px;z-index:99;background:#fff;color:#111;padding:12px}.skip:focus{top:0}.eyebrow{font-size:13px;font-weight:bold;letter-spacing:.16em;color:var(--orange);text-transform:uppercase;margin-bottom:22px}.hero{position:relative;min-height:690px;height:calc(100svh - 98px);max-height:940px;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.87),rgba(10,10,10,.53) 54%,rgba(10,10,10,.1)),linear-gradient(0deg,#121212,transparent 40%)}.hero-copy{position:relative;margin:40px 7% 100px;max-width:900px}.hero-copy h1{margin-bottom:25px}.hero-copy>p:not(.eyebrow){max-width:530px;color:#e5e5e5;font-size:20px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:35px}.text-link{border-bottom:1px solid #666;padding-bottom:6px;font-size:16px}.hero-bottom{position:absolute;bottom:30px;left:7%;right:7%;display:flex;gap:45px;border-top:1px solid #ffffff30;padding-top:22px;color:#ddd;font-size:15px}.brands{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;border-bottom:1px solid #333}.brands>span{font-size:12px;letter-spacing:.14em;max-width:95px;color:var(--muted)}.brands p{margin:0;font-size:24px;font-weight:bold}.section{padding:100px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted)}.categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.category>div{overflow:hidden;margin-bottom:25px}.category img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}.category:hover img,.project-card:hover img{transform:scale(1.035)}.category .eyebrow{display:block;margin-bottom:10px}.category h3{margin-bottom:10px}.category p{color:var(--muted);font-size:16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:48px}.card-image{position:relative;overflow:hidden;background:#242424}.card-image>img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.card-arrow{position:absolute;right:16px;bottom:16px;border-radius:50%;background:var(--orange);color:#111;font-size:27px;width:46px;height:46px;text-align:center;line-height:46px}.card-meta{font-size:13px;color:var(--orange);margin:18px 0 9px;text-transform:uppercase;letter-spacing:.08em}.project-card h3{margin:0;font-size:21px}.process{background:#191919}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:50px}.steps article{border-top:1px solid #555;padding-top:20px}.steps span{font-size:40px;color:var(--orange)}.steps h3{margin:14px 0}.steps p{color:var(--muted);font-size:16px}.cta{text-align:center;padding:110px 20px;background:radial-gradient(ellipse at 50% 100%,#422809,#151515 65%)}.cta h2{margin-bottom:35px}.page-top{padding-top:75px}.page-top>p:not(.eyebrow){color:var(--muted);font-size:20px}.filters{display:flex;flex-wrap:wrap;gap:12px;margin:45px 0}.filters a{border:1px solid #515151;border-radius:30px;padding:10px 18px;font-size:15px}.filters a[aria-current],.filters a:hover{background:var(--orange);color:#111;border-color:var(--orange)}.project-heading{padding:55px 8% 45px;max-width:1400px;margin:auto}.back{display:block;color:var(--orange);margin-bottom:30px;font-size:16px}.project-heading h1{font-size:clamp(2.2rem,4vw,4.2rem);margin:0}.project-cover{padding:0 6%}.project-cover img{width:100%;max-height:780px;object-fit:contain;background:#191919}.project-content{display:grid;grid-template-columns:1fr 2.6fr;gap:70px;padding:80px 9%}.project-content aside{font-size:16px}.project-content aside .button{font-size:15px;gap:15px}.prose{color:#ddd;font-size:18px;max-width:830px}.prose h2{font-size:26px;letter-spacing:-.02em;line-height:1.25;color:white;margin:40px 0 20px}.prose p{margin-bottom:22px}.prose li{margin-bottom:14px}.prose .dc-list-title{font-weight:bold;color:white}.prose hr{border:0;border-top:1px solid #444;margin:35px 0}.prose .dc-quote{padding:25px;border-left:3px solid var(--orange);background:#242424;margin:30px 0}.prose a{text-decoration:underline;color:var(--orange)}.gallery{padding:0 6% 65px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.gallery figure{margin:0}.gallery img{width:100%;max-height:800px;object-fit:contain;background:#191919}.gallery figcaption{font-size:13px;color:var(--muted);margin-top:8px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;min-height:75vh}.contact>img{width:100%;aspect-ratio:4/5;object-fit:cover}.contact p{max-width:480px;color:var(--muted)}.phone{display:block;font-size:28px;margin:25px 0 10px}footer{border-top:1px solid #333;padding:60px 6%;display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:50px;font-size:15px;color:var(--muted)}footer .brand{margin-bottom:25px}footer>div:nth-child(2){display:flex;flex-direction:column;gap:10px}footer a:hover{color:var(--orange)}:focus-visible{outline:3px solid var(--orange);outline-offset:5px}@media(max-width:1000px){header nav{gap:20px}header .button{display:none}.categories{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,1fr)}.project-content{gap:35px;padding:60px 6%}.contact{gap:35px}}@media(max-width:640px){header{height:80px;padding:0 6%}.brand{height:43px}header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#191919;padding:25px;z-index:10;flex-direction:column;border-bottom:1px solid #444}header nav.open{display:flex}.menu{display:block;background:transparent;color:white;border:1px solid #666;padding:10px 16px;border-radius:24px;font:inherit}.hero{height:auto;min-height:700px}.hero-copy{margin:60px 6% 125px}.hero-copy h1{font-size:47px}.hero-copy>p:not(.eyebrow){font-size:18px}.hero-shade{background:linear-gradient(90deg,#111c,#1117),linear-gradient(0deg,#121212,transparent)}.hero-bottom{gap:15px;font-size:12px;left:6%;right:6%}.hero-actions{gap:20px}.brands{gap:25px;padding:30px 6%;justify-content:center}.brands p{font-size:20px}.brands>span{max-width:none;width:100%;text-align:center}.section{padding:65px 6%}.section-heading{display:block}.section-heading>p,.section-heading>.text-link{display:inline-block;margin-top:25px}.categories{gap:18px}.category h3{font-size:20px}.category p{font-size:14px}.grid{grid-template-columns:1fr;gap:36px}.steps{gap:25px}.steps h3{font-size:20px}.cta{padding:75px 6%}.project-heading{padding:40px 6%}.project-content{display:block;padding:45px 6%}.project-content aside{margin-bottom:40px}.gallery{grid-template-columns:1fr;gap:25px}.contact{display:block}.contact>img{margin-top:40px;aspect-ratio:4/3}footer{grid-template-columns:1fr;gap:25px}.filters{gap:8px}.filters a{font-size:14px;padding:9px 13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
header>a:first-child{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-name{font-size:25px;font-weight:bold;line-height:1.1;letter-spacing:-.03em}.brand-name small{display:block;font-size:9px;letter-spacing:.18em;margin-top:6px;font-weight:normal;color:#bbb}@media(max-width:640px){.brand-name{font-size:21px}}
/* Client logo carousel: scoped to the home brand strip. */
.brand-slider{padding:28px 0 30px;border-bottom:1px solid #333;overflow:hidden;background:#121212}.brand-slider-top{display:flex;align-items:center;justify-content:space-between;padding:0 6%;margin-bottom:12px}.brand-slider h2{margin:0;font-family:Questrial,Arial,sans-serif;font-size:13px;line-height:1.5;letter-spacing:.14em;color:#b6b6b6}.brand-pause{font:inherit;font-size:14px;color:#bbb;border:1px solid #555;border-radius:25px;padding:6px 15px;background:transparent;cursor:pointer}.brand-pause:hover{color:#fff;border-color:#ec8b00}.brand-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;user-select:none;overscroll-behavior-x:contain}.brand-viewport::-webkit-scrollbar{display:none}.brand-viewport.dragging{cursor:grabbing}.brand-track,.brand-group{display:flex;align-items:center;width:max-content}.brand-group{gap:36px;padding-right:36px;flex-shrink:0}.brand-item{display:flex;align-items:center;justify-content:center;flex:0 0 180px;width:180px;height:145px}.brand-item img{width:100%;height:100%;object-fit:contain;opacity:.78;transition:opacity .2s,transform .2s;pointer-events:none;-webkit-user-drag:none}.brand-item:hover img,.brand-item:focus-visible img{opacity:1;transform:scale(1.045)}.brand-item:focus-visible{outline-offset:-5px}@media(max-width:640px){.brand-item{flex-basis:145px;width:145px;height:120px}.brand-group{gap:22px;padding-right:22px}.brand-slider{padding-top:24px;padding-bottom:24px}.brand-slider h2{font-size:12px}}

/* Project photographs, before the story */
.project-slider{margin:0 auto 48px;max-width:1440px;padding:0 5vw}.project-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:transparent;align-items:flex-start;border-radius:0}.project-slides::-webkit-scrollbar{display:none}.project-slide{position:relative;flex:0 0 100%;min-width:0;border:0;padding:0;background:transparent;color:#fff;scroll-snap-align:start;cursor:zoom-in}.project-slide img{display:block;width:auto;max-width:100%;height:auto;max-height:min(68vh,740px);margin:0 auto;object-fit:contain}.enlarge-hint{position:absolute;bottom:16px;right:16px;padding:8px 12px;background:#121212d9;border-radius:3px;font-size:13px}.project-slider-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:16px 0}.project-slider-controls button,.project-lightbox button{font:inherit;color:#fff;background:#242424;border:1px solid #555;border-radius:4px;padding:10px 16px;cursor:pointer}.project-slider-controls button:hover,.project-lightbox button:hover{border-color:#ec8b00}.project-slider-controls [hidden]{display:none}.project-slide:focus-visible{outline:3px solid #ec8b00;outline-offset:-4px}.project-lightbox{color:#fff;background:#101010;border:1px solid #555;padding:12px;width:96vw;max-width:1600px;height:94vh;max-height:94vh}.project-lightbox::backdrop{background:#000e}.lightbox-bar{display:flex;justify-content:center;align-items:center;gap:12px;height:54px}.lightbox-picture{height:calc(100% - 60px);overflow:auto;display:grid;place-items:center}.lightbox-picture img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in}.lightbox-picture.zoomed{display:block}.lightbox-picture.zoomed img{max-width:none;max-height:none;width:auto;height:auto;cursor:zoom-out}.project-lightbox [data-close]{margin-left:auto}@media(max-width:600px){.project-slider{padding:0 4vw;margin-bottom:24px}.project-slide img{max-height:56vh}.lightbox-bar{gap:6px}.project-lightbox button{padding:9px 11px}}

/* Borderless enlarged photo, with quiet floating controls. */
.project-lightbox{background:transparent;border:0;box-shadow:none;padding:0;outline:none;overflow:hidden}
.project-lightbox::backdrop{background:rgba(18,18,18,.88);backdrop-filter:blur(12px)}
.lightbox-bar{gap:10px;padding:0 4px 10px;height:62px}
.project-lightbox button{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:999px;min-height:44px;transition:background .2s}
.project-lightbox button:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.45)}
.lightbox-picture{height:calc(100% - 68px);background:transparent}
.lightbox-picture img{border:0;border-radius:5px}
.enlarge-hint{background:rgba(255,255,255,.9);color:#181818;border-radius:999px;padding:8px 14px}
@media(max-width:600px){.project-lightbox{width:94vw;height:92dvh;max-height:92dvh}.lightbox-bar{gap:6px}.project-lightbox button{font-size:14px;padding:8px 12px}}

/* Rounded gallery controls and breathing room in the expanded view. */
.project-slider-controls button{border-radius:999px;min-height:44px}
.project-slider-controls [data-gallery-prev],.project-slider-controls [data-gallery-next]{width:44px;height:44px;padding:0}
.project-lightbox{height:86vh;max-height:86vh;margin:auto;padding-top:16px}
.lightbox-bar{margin-bottom:12px}
.lightbox-picture{height:calc(100% - 96px)}
@media(max-width:600px){.project-lightbox{height:84dvh;max-height:84dvh;padding-top:max(16px,env(safe-area-inset-top))}}

/* Keep photo navigation distinct from zoom and close actions. */
.project-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px}
.lightbox-bar{display:grid;grid-template-columns:44px minmax(48px,auto) 44px 1fr auto auto;grid-template-areas:"prev count next space zoom close";gap:12px;align-items:center;height:auto;min-width:0;padding:4px 8px;margin:0}
.project-lightbox [data-prev]{grid-area:prev}.project-lightbox [data-count]{grid-area:count;text-align:center;white-space:nowrap}
.project-lightbox [data-next]{grid-area:next}.project-lightbox [data-zoom]{grid-area:zoom;white-space:nowrap}
.project-lightbox [data-close]{grid-area:close;margin:0;white-space:nowrap}
.project-lightbox [data-prev],.project-lightbox [data-next]{width:44px;height:44px;padding:0}
.project-lightbox button:focus-visible{outline:2px solid var(--orange);outline-offset:-4px}
.project-lightbox .lightbox-picture{height:100%;min-height:0}
@media(max-width:600px){.lightbox-bar{grid-template-columns:1fr 64px 1fr;grid-template-areas:"zoom zoom close" "prev count next";gap:16px 14px;padding:4px 10px}.project-lightbox [data-zoom]{justify-self:start}.project-lightbox [data-close]{justify-self:end}.project-lightbox [data-prev]{justify-self:end}.project-lightbox [data-next]{justify-self:start}}
/* Three services, each with its own image and reading space. */
.categories{display:flex;flex-direction:column;gap:0}.categories .category{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;padding:38px 0;border-top:1px solid #ffffff24}.categories .category:first-child{padding-top:0;border-top:0}.categories .category>div{margin:0}.categories .category .service-copy{overflow:visible}.categories .category img{aspect-ratio:16/10}.categories .category h3{font-size:clamp(1.65rem,3vw,2.8rem);margin-bottom:18px}.categories .category p{font-size:18px;max-width:560px}.service-link{display:inline-block;border-bottom:1px solid var(--orange);padding:4px 0;font-size:16px}.service-faq{max-width:1100px;margin:auto;padding-top:35px}.service-faq>p:not(.eyebrow){color:var(--muted);font-size:18px}.service-faq details{border-bottom:1px solid #ffffff24;padding:22px 0}.service-faq summary{cursor:pointer;font-size:21px;line-height:1.4}.service-faq details p{color:var(--muted);margin:18px 0 0}.service-faq a{color:var(--orange);text-decoration:underline}@media(max-width:640px){.categories .category{grid-template-columns:1fr;gap:22px;padding:30px 0}.categories .category p{font-size:17px}.categories .category img{aspect-ratio:4/3}.service-faq summary{font-size:19px}}
