*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#f1f0eb;background:#181a18;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;max-width:100%}header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:22px 5%;background:rgba(24,26,24,.96);border-bottom:1px solid #3b3d38;backdrop-filter:blur(12px)}.brand img{width:240px;height:65px;object-fit:contain}nav{display:flex;gap:38px;align-items:center}nav a{font-size:14px;padding:10px 0}nav a:last-child{margin-left:35px}nav a:hover,nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}h1,h2,p,figure{margin:0}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.06}h1{font-size:clamp(54px,6.8vw,112px)}h2{font-size:clamp(36px,4vw,64px)}p{max-width:640px}.eyebrow{font-size:12px;letter-spacing:.15em;line-height:1.5}.intro{padding:52px 5% 42px}.intro .eyebrow{display:flex;justify-content:space-between;margin-bottom:36px}.intro-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:30px}.intro-bottom p{font-size:15px;line-height:1.5}.text-link{display:flex;justify-content:space-between;gap:55px;min-width:200px;padding:12px 0;border-bottom:1px solid;font-size:14px}.hero{margin:0 3%;position:relative}.hero img{width:100%;height:min(74vw,790px);object-fit:cover;object-position:50% 48%}.hero figcaption{display:flex;justify-content:space-between;padding:14px 0;font-size:12px;letter-spacing:.05em}.about{padding:140px 8%;display:grid;grid-template-columns:1fr 2fr;gap:60px}.about h2{margin-bottom:40px}.about .lead{font-size:24px;line-height:1.5;margin-bottom:22px}.about p:not(.eyebrow){color:#c5c6bd}.sectors{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:42px;font-size:14px}.sectors span{padding:14px 0;border-top:1px solid #454740}.feature{display:grid;grid-template-columns:1.12fr 1fr;background:#232621}.feature img{width:100%;height:100%;min-height:640px;object-fit:cover}.feature>div{padding:80px 12%}.feature h2{margin:32px 0}.feature p+p{margin-top:22px}.work{padding:120px 5%}.work-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px;gap:35px}.work-heading h2{margin-top:25px}.work-heading>p{font-size:14px}.muted{color:#b9bbb2}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:52px 28px}.gallery figure:nth-child(5n+1){grid-column:1/-1}.gallery figure img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .7s}.gallery figure:nth-child(5n+1) img{aspect-ratio:2.05}.gallery a{display:block;overflow:hidden;background:#292c26}.gallery a:hover img{transform:scale(1.025)}.gallery figcaption{display:flex;justify-content:space-between;gap:20px;padding:13px 0;font-size:12px;color:#b9bbb2}.closing{background:#21231f;color:#f4f3ec;padding:100px 8%;display:grid;grid-template-columns:1.3fr 1fr;gap:45px 80px}.closing>.eyebrow{grid-column:1/-1}.closing>div{align-self:end}.closing .text-link{margin-top:36px}.closing p{color:#d2d3cc}footer{background:#171915;color:#dedfd7;padding:50px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer img{width:220px}footer div{display:flex;gap:28px}footer p,footer a{font-size:12px}.contact-main{padding:75px 8% 110px;min-height:75vh}.contact-main form{max-width:980px;margin:auto}.contact h1{margin:20px 0 55px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px}label{display:flex;flex-direction:column;font-size:14px}label span{font-size:12px;color:#b9bbb2}input,textarea{border:0;border-bottom:1px solid #73786a;background:transparent;border-radius:0;padding:12px 0;min-width:0;width:100%;color:#f1f0eb}textarea{resize:vertical}.wide{grid-column:1/-1}.submit{display:flex;justify-content:space-between;gap:90px;border:1px solid #f1f0eb;background:#f1f0eb;color:#181a18;padding:17px 24px;margin-top:35px;cursor:pointer}.submit:hover{background:#d4d6cb}.submit:disabled{opacity:.5;cursor:wait}#form-status{font-size:14px;margin-top:22px;color:#b9bbb2}:focus-visible{outline:2px solid #d0bd8d;outline-offset:5px}.skip{position:fixed;top:-100px;left:15px;background:#f1f0eb;color:#181a18;padding:12px;z-index:99}.skip:focus{top:10px}@media(max-width:700px){header{padding:16px 5%;align-items:center}.brand img{width:160px;height:44px}nav{gap:18px}nav a{font-size:13px}nav a:last-child{margin:0}nav a:nth-child(2){display:none}.intro{padding-top:35px}.intro .eyebrow{font-size:10px;margin-bottom:30px}.intro .eyebrow span{display:none}h1{font-size:clamp(43px,10.5vw,72px)}.intro-bottom{gap:25px;align-items:start}.intro-bottom p{font-size:13px}.text-link{min-width:130px;gap:20px;font-size:13px}.hero{margin:0}.hero img{height:65vh;min-height:420px}.hero figcaption{padding:12px 5%;font-size:10px}.about{padding:70px 6%;grid-template-columns:1fr;gap:30px}.about .lead{font-size:21px}.feature{grid-template-columns:1fr}.feature img{min-height:0;height:360px}.feature>div{padding:55px 6%}.work{padding:70px 5%}.work-heading{display:block;margin-bottom:35px}.work-heading>p{margin-top:25px}.gallery{gap:30px;grid-template-columns:1fr}.gallery figure:nth-child(5n+1){grid-column:auto}.gallery figure img,.gallery figure:nth-child(5n+1) img{aspect-ratio:1.4}.gallery figcaption{font-size:11px}.closing{padding:65px 6%;grid-template-columns:1fr;gap:30px}.closing>.eyebrow{grid-column:auto}footer{flex-wrap:wrap;padding:40px 6%}footer img{width:180px}footer p{width:100%}.contact-main{padding:50px 6% 75px}.form-grid{grid-template-columns:1fr;gap:28px}.wide{grid-column:auto}.contact h1{margin-bottom:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

:root{color-scheme:dark}::selection{background:#d0bd8d;color:#181a18}input:focus,textarea:focus{border-bottom-color:#f1f0eb}

/* Compact featured gallery with an accessible native-dialog viewer. */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.gallery figure:nth-child(5n+1){grid-column:auto}.gallery figure img,.gallery figure:nth-child(5n+1) img{aspect-ratio:1.4}.gallery a{cursor:zoom-in}.gallery figcaption span:last-child{display:none}.gallery-active{overflow:hidden}.lightbox{border:0;padding:24px 3%;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#111310;color:#f1f0eb;overflow:auto}.lightbox::backdrop{background:#111310}.lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.lightbox-top p{font-size:14px;letter-spacing:.12em}.lightbox button{color:#f1f0eb;background:transparent;border:1px solid #62655d;min-width:48px;min-height:48px;cursor:pointer}.lightbox button:hover{background:#33362f}.lightbox-close{padding:9px 18px}.lightbox-stage{min-height:0;flex:1;display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:24px;align-items:center;padding:22px 0}.lightbox-stage img{height:100%;max-height:calc(100dvh - 190px);width:100%;object-fit:contain;touch-action:pan-y}.lightbox-prev,.lightbox-next{font-size:24px}.lightbox-caption{text-align:center;max-width:none;font-size:14px}.lightbox-hint{text-align:center;max-width:none;color:#b9bbb2;font-size:12px;margin-top:8px}@media(max-width:850px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.gallery{gap:20px 12px}.gallery figcaption{font-size:11px}.lightbox{padding:18px 14px}.lightbox-stage{position:relative;display:flex;padding:15px 0 65px}.lightbox-stage img{max-height:calc(100dvh - 240px)}.lightbox-prev,.lightbox-next{position:absolute;bottom:6px}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}}

@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
body{font-family:Manrope,Arial,sans-serif}h1,h2{font-family:Manrope,Arial,sans-serif;font-weight:700;font-style:normal;letter-spacing:-.045em;line-height:1.1}h1{font-size:clamp(46px,6.4vw,104px)}h2{font-size:clamp(34px,3.6vw,58px)}h1 span,h2 span{font:inherit}.eyebrow,nav a,.text-link,button{font-weight:700}nav a,.text-link,button,figcaption,.lightbox-caption{letter-spacing:.025em}nav .contact-link{border:1px solid #f1f0eb;padding:11px 20px;display:inline-flex;align-items:center;gap:10px;transition:background-color .2s,color .2s;text-decoration:none}nav .contact-link:hover,nav .contact-link:focus-visible{background:#fff;color:#181a18;text-decoration:none}nav .contact-link[aria-current]{text-decoration:none}em{font-style:normal}a,button,figcaption,.lightbox-caption{text-transform:capitalize}@media(max-width:700px){h1{font-size:clamp(36px,9.4vw,64px)}nav{gap:14px}nav .contact-link{padding:10px 12px}.brand img{width:145px}.intro-bottom{gap:18px}.closing h2{overflow-wrap:normal}}@media(max-width:360px){.brand img{width:120px}nav{gap:10px}nav a{font-size:12px}}

@media(max-width:700px){.intro-bottom .text-link{min-width:150px;white-space:nowrap;gap:12px}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Subtle directional movement for the closing contact link. */
.closing .text-link span{display:inline-block;transition:transform .25s ease}
.closing .text-link:hover span,.closing .text-link:focus-visible span{transform:translate(4px,-4px)}
@media(prefers-reduced-motion:reduce){.closing .text-link span{transition:none}.closing .text-link:hover span,.closing .text-link:focus-visible span{transform:none}}

.arrow-icon{display:inline-block;width:1.2em;height:1.2em;vertical-align:middle;flex-shrink:0}.lightbox-prev,.lightbox-next{display:grid;place-items:center}.text-link>span,.submit>span{display:inline-flex;align-items:center}
