:root {
  --red: #e31813;
  --red-deep: #ba1713;
  --black: #151515;
  --charcoal: #242424;
  --paper: #f3f1ed;
  --white: #fff;
  --gray: #6d6b67;
  --line: rgba(21,21,21,.18);
  --display: 'Barlow Condensed', sans-serif;
  --body: 'Inter', sans-serif;
  --content: 1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:118px}
body{margin:0;background:var(--paper);color:var(--black);font:400 15px/1.65 var(--body);-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.container{width:min(var(--content),calc(100% - 64px));margin-inline:auto}
.section{padding:106px 0}
.site-header{position:sticky;top:0;z-index:20;background:var(--white);transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 8px 25px rgba(0,0,0,.12)}
.topbar{background:var(--black);color:rgba(255,255,255,.8);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.topbar__inner{height:33px;display:flex;align-items:center;justify-content:space-between}
.topbar span,.topbar a{display:inline-flex;align-items:center;gap:7px}
.topbar i{color:var(--red);font-size:13px}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand img{width:150px;height:auto}
.nav__menu{display:flex;align-items:center;gap:38px}
.nav__link{color:#383838;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}
.nav__link:hover{color:var(--red)}
.nav__toggle,.nav__close{display:none}
.button{min-height:52px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--red);border-radius:0;background:var(--red);color:var(--white);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;transition:background .2s,border-color .2s}
.button:hover{background:var(--red-deep);border-color:var(--red-deep)}
.button i{font-size:16px}
.button--small{min-height:43px;padding-inline:17px;gap:10px;font-size:10px}

.hero{position:relative;padding:0;background:var(--black);color:var(--white);overflow:hidden}
.hero__grid{position:relative;min-height:min(760px,78svh);display:grid;grid-template-columns:1fr;align-items:center}
.hero__visual{position:absolute;inset:0;height:100%;min-width:0;overflow:hidden}
.hero__visual::after{position:absolute;inset:0;content:'';background:linear-gradient(90deg,rgba(12,12,12,.7) 0%,rgba(12,12,12,.48) 43%,rgba(12,12,12,.06) 100%),linear-gradient(0deg,rgba(12,12,12,.35),transparent 42%)}
.hero__image{width:100%;height:100%;object-fit:cover;object-position:center 58%;opacity:1;filter:none}
.hero__content{position:relative;z-index:2;max-width:850px;padding:60px 0 80px}
.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 27px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.eyebrow span{width:28px;height:3px;background:var(--red)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);letter-spacing:-.02em;text-transform:uppercase}
h1{max-width:850px;margin-bottom:22px;font-size:clamp(58px,7.1vw,96px);line-height:.91;font-weight:700}
h1 em,h2 em{color:var(--red);font-style:normal}
.hero__text{max-width:510px;margin:0 0 29px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.8}
.hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}
.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--white);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.text-link i{font-size:15px;transition:transform .2s}
.text-link:hover i{transform:translateX(4px)}
.hero__trust{display:flex;align-items:center;gap:12px;margin-top:42px;padding-top:21px;border-top:1px solid rgba(255,255,255,.24);max-width:350px}
.hero__trust-icon{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--red);color:var(--red);font-size:16px}
.hero__trust strong,.hero__trust small{display:block}
.hero__trust strong{font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.hero__trust small{margin-top:3px;color:rgba(255,255,255,.57);font-size:9px}
.hero__caption{position:absolute;z-index:2;left:auto;right:max(32px,calc((100vw - var(--content))/2));bottom:48px;display:flex;align-items:center;gap:11px;padding:0;background:none;box-shadow:none;color:#fff}
.caption__dot{width:7px;height:7px;flex:0 0 auto;background:var(--red);border-radius:0}
.hero__caption strong,.hero__caption small{display:block;text-align:right}
.hero__caption strong{font-family:var(--display);font-size:13px;letter-spacing:.03em;text-transform:uppercase}
.hero__caption small{margin-top:2px;color:rgba(255,255,255,.7);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.hero__bottom{position:absolute;right:auto;bottom:0;left:50%;width:min(var(--content),calc(100% - 64px));display:flex;justify-content:space-between;padding-top:13px;padding-bottom:13px;border-top:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.78);font-size:9px;letter-spacing:.11em;text-transform:uppercase;transform:translateX(-50%)}
.hero__bottom a{color:#fff;font-weight:700}

.intro{background:var(--white)}
.intro__grid{display:grid;grid-template-columns:.7fr 2.2fr .75fr;gap:36px;align-items:start}
.section-kicker{display:flex;align-items:center;gap:11px;color:var(--red);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.section-kicker i{width:24px;height:2px;background:var(--red)}
.intro__main h2,.section-heading h2,.projects__heading h2,.contact h2{margin:-8px 0 25px;font-size:clamp(39px,5vw,65px);line-height:.98;font-weight:700}
.intro__main h2 em,.projects__heading h2 em{color:var(--red)}
.intro__body{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:31px;margin-bottom:25px}
.intro__body p{margin:0;color:#5e5c59;font-size:12px;line-height:1.9}
.text-link--dark{color:var(--black)}
.intro__note{align-self:end;margin-top:100px;padding:18px 0 0 20px;border-left:2px solid var(--red)}
.note__mark{display:block;height:24px;color:var(--red);font:700 36px/.9 Georgia,serif}
.intro__note p{margin:8px 0 14px;font:600 18px/1.15 var(--display);text-transform:uppercase}
.note__line{display:block;width:28px;height:2px;background:var(--black)}

.expertise{background:var(--charcoal);color:var(--white)}
.section-kicker--light{color:rgba(255,255,255,.67)}
.section-heading__row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:24px}
.section-heading h2{margin:0;color:var(--white)}
.section-heading h2 em,.contact h2 em{color:var(--red)}
.section-heading__row>p{width:330px;margin:0 3% 7px 0;color:rgba(255,255,255,.65);font-size:12px;line-height:1.8}
.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:42px;margin-top:43px;border-top:1px solid rgba(255,255,255,.24)}
.service-card{position:relative;min-height:218px;padding:29px 58px 24px 67px;border:0;border-bottom:1px solid rgba(255,255,255,.24);transition:background .2s}
.service-card:hover{background:rgba(255,255,255,.04)}
.service-card__num{position:absolute;top:29px;left:3px;color:var(--red);font:600 22px/.9 var(--display)}
.service-card__icon{position:absolute;top:24px;right:2px;width:34px;height:34px;display:grid;place-items:center;margin:0;border:1px solid rgba(227,24,19,.6);color:var(--red);font-size:17px}
.service-card h3{margin-bottom:11px;font:700 27px/1 var(--display);letter-spacing:.01em;text-transform:uppercase}
.service-card p{max-width:440px;margin:0;color:rgba(255,255,255,.72);font-size:12px;line-height:1.75}
.service-card ul{display:flex;flex-wrap:wrap;gap:7px 18px;margin:17px 0 0;padding:13px 0 0;border-top:1px solid rgba(255,255,255,.14);list-style:none}
.service-card li{position:relative;padding-left:12px;color:rgba(255,255,255,.55);font-size:10px;line-height:1.5}
.service-card li::before{position:absolute;top:.55em;left:0;width:4px;height:4px;background:var(--red);content:''}
.service-card>a{position:absolute;right:7px;bottom:17px;color:var(--red);font-size:16px}
.expertise__footer{display:flex;justify-content:flex-end;align-items:center;gap:23px;margin-top:24px;color:rgba(255,255,255,.6);font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.text-link--light{color:#fff}

.projects{background:var(--paper)}
.projects__heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:23px 0 38px}
.projects__heading h2{margin:0}
.projects__heading>p{max-width:250px;margin:0 8% 8px 0;color:var(--gray);font-size:12px;line-height:1.8}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(210px,260px)) minmax(190px,230px);gap:12px}
.gallery__item{position:relative;min-width:0;margin:0;overflow:hidden;background:#d6d4cf}
.gallery__item--feature{grid-column:span 7;grid-row:span 2}
.gallery__item--tall{grid-column:span 5;grid-row:span 2}
.gallery__item:not(.gallery__item--feature):not(.gallery__item--tall){grid-column:span 4}
.gallery__item img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .5s}
.gallery__item:hover img{transform:scale(1.025)}
.gallery__item::after{position:absolute;inset:45% 0 0;content:'';background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.gallery__item figcaption{position:absolute;z-index:1;right:15px;bottom:14px;left:15px;color:#fff;font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.gallery__item figcaption span{margin-right:9px;color:var(--red);font:600 15px var(--display)}

.contact{background:var(--red);color:var(--white)}
.contact__grid{display:grid;grid-template-columns:.8fr 1fr;gap:12%}
.contact .section-kicker{color:rgba(255,255,255,.77)}
.contact .section-kicker i{background:#fff}
.contact h2{margin:27px 0 18px;color:#fff;font-size:clamp(54px,7vw,83px)}
.contact h2 em{color:var(--black)}
.contact__intro>p{max-width:380px;margin-bottom:30px;color:rgba(255,255,255,.82);font-size:12px;line-height:1.8}
.contact__direct{display:flex;align-items:center;gap:13px;width:max-content;margin-top:18px}
.contact__direct>span:first-child{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.65);font-size:16px}
.contact__direct small,.contact__direct strong{display:block}
.contact__direct small{color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.09em;text-transform:uppercase}
.contact__direct strong{margin-top:2px;font-size:11px;font-weight:600}
.contact__form{align-self:center;padding:33px 35px;background:var(--white);color:var(--black)}
.form__title{margin-bottom:23px;font:700 28px/.95 var(--display);text-transform:uppercase}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:block;margin-bottom:15px}
.field>span{display:block;margin-bottom:6px;color:#3c3a38;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.field input,.field textarea{width:100%;padding:11px;border:1px solid #d5d2cd;border-radius:0;background:#faf9f7;color:var(--black);font-size:11px;transition:border .2s}
.field input{height:42px}
.field textarea{min-height:103px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#999691}
.field input:focus,.field textarea:focus{border-color:var(--red);outline:none}
.button--light{min-height:47px;border-color:var(--black);background:var(--black);font-size:10px}
.button--light:hover{border-color:var(--red);background:var(--red)}
.form__privacy{margin:11px 0 0;color:#8c8984;font-size:9px}
.form__privacy a{color:var(--red-deep);text-decoration:underline;text-underline-offset:2px}

.footer{background:var(--black);color:#fff}
.footer__top{min-height:160px;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:30px}
.brand--footer img{width:132px}
.footer__top>p{margin:0;color:rgba(255,255,255,.66);font:600 20px/1.05 var(--display);text-transform:uppercase}
.footer__address>span{color:var(--red);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.footer__address p{margin:5px 0 0;color:rgba(255,255,255,.68);font-size:10px;line-height:1.7}
.footer__linkedin{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:15px;transition:background .2s,border .2s}
.footer__linkedin:hover{border-color:var(--red);background:var(--red)}
.footer__bottom{min-height:51px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.19);color:rgba(255,255,255,.52);font-size:9px}

@media(max-width:1000px){.container{width:min(var(--content),calc(100% - 44px))}.nav__menu{gap:22px}.hero__grid{min-height:min(700px,78svh)}.intro__grid{grid-template-columns:.55fr 2fr;gap:28px}.intro__note{display:none}.service-grid{column-gap:28px}.contact__grid{gap:7%}.contact__form{padding:29px 25px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.section{padding:74px 0}.topbar__inner{height:31px;font-size:8px}.nav{height:69px}.brand img{width:124px}.nav__toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--black);font-size:20px}.nav__menu{position:fixed;z-index:25;inset:0 0 0 auto;width:min(340px,86vw);padding:93px 27px 30px;display:flex;flex-direction:column;align-items:stretch;gap:22px;background:var(--paper);box-shadow:-20px 0 60px rgba(0,0,0,.18);transform:translateX(110%);transition:transform .3s}.nav__menu.is-open{transform:translateX(0)}.nav__close{position:absolute;top:24px;right:21px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--black);font-size:22px}.nav__link{padding-bottom:13px;border-bottom:1px solid var(--line);font-size:12px}.nav__menu .button{align-self:start}.hero__grid{min-height:760px;align-items:start}.hero__content{padding:86px 0 95px}.eyebrow{margin-bottom:22px;font-size:9px}.hero h1{font-size:clamp(54px,13vw,82px)}.hero__text{max-width:430px;font-size:12px}.hero__actions{align-items:flex-start;flex-direction:column;gap:17px}.button{min-height:48px;padding-inline:16px;font-size:10px}.hero__trust{margin-top:29px}.hero__image{object-position:58% center}.hero__visual::after{background:linear-gradient(90deg,rgba(12,12,12,.76),rgba(12,12,12,.43)),linear-gradient(0deg,rgba(12,12,12,.5),transparent 66%)}.hero__caption{right:20px;bottom:61px;gap:8px}.hero__caption strong{font-size:11px}.hero__caption small{font-size:8px}.hero__bottom{width:calc(100% - 40px);font-size:7px}.intro__grid{grid-template-columns:1fr;gap:22px}.intro__main h2,.section-heading h2,.projects__heading h2{margin:0 0 18px;font-size:43px}.intro__body{grid-template-columns:1fr;gap:12px}.intro__body p{font-size:11px}.section-heading__row,.projects__heading{display:block}.section-heading__row>p,.projects__heading>p{width:auto;max-width:420px;margin:16px 0 0;font-size:11px}.service-grid{grid-template-columns:1fr;margin-top:31px}.service-card{min-height:0;padding:26px 48px 25px 58px}.service-card__num{top:30px;font-size:18px}.service-card__icon{top:24px;width:29px;height:29px;font-size:14px}.service-card h3{font-size:23px}.service-card p{font-size:11px}.service-card ul{gap:7px 15px;margin-top:13px;padding-top:11px}.service-card li{font-size:9px}.expertise__footer{justify-content:space-between;gap:10px;font-size:8px}.projects__heading{margin-bottom:25px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px repeat(2,165px);gap:8px}.gallery__item--feature{grid-column:span 2;grid-row:span 1}.gallery__item--tall,.gallery__item:not(.gallery__item--feature):not(.gallery__item--tall){grid-column:span 1;grid-row:span 1}.gallery__item figcaption{right:9px;bottom:9px;left:9px;font-size:8px}.contact__grid{grid-template-columns:1fr;gap:31px}.contact h2{margin:22px 0 14px;font-size:67px}.contact__intro>p{font-size:11px}.contact__form{padding:24px 19px}.form__row{grid-template-columns:1fr;gap:0}.field{margin-bottom:13px}.footer__top{padding-top:30px;padding-bottom:26px;grid-template-columns:1fr auto;gap:22px 12px}.footer__top>p{justify-self:end;text-align:right;font-size:16px}.footer__address{grid-column:1}.footer__linkedin{grid-column:2;grid-row:2;justify-self:end}.footer__bottom{min-height:60px;flex-wrap:wrap;justify-content:space-between;gap:8px 12px;padding-top:12px;padding-bottom:12px;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.legal-main{background:var(--paper);padding:83px 0 100px}
.legal-page>h1{margin:24px 0 15px;color:var(--black);font-size:clamp(64px,8vw,102px);line-height:.86}
.legal-page>h1 em{color:var(--red)}
.legal-lead{max-width:620px;margin:0 0 58px;color:var(--gray);font-size:14px;line-height:1.8}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:58px;border-top:1px solid rgba(21,21,21,.2)}
.legal-section{display:grid;grid-template-columns:38px 1fr;gap:17px;padding:29px 0 31px;border-bottom:1px solid rgba(21,21,21,.2)}
.legal-section--wide{grid-column:1/-1}
.legal-number{color:var(--red);font:600 19px/1 var(--display)}
.legal-section h2{margin:0 0 15px;color:var(--black);font-size:26px;line-height:1;text-transform:uppercase}
.legal-section p{margin:0 0 12px;color:#5e5c59;font-size:12px;line-height:1.85}
.legal-section p:last-child{margin-bottom:0}
.legal-section strong{color:var(--black)}
.legal-section a{color:var(--red-deep);text-decoration:underline;text-underline-offset:3px}
.legal-updated{margin:32px 0 20px;color:var(--gray);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.nav__menu--legal{display:flex}
@media(max-width:700px){.legal-main{padding:60px 0 74px}.legal-lead{margin-bottom:35px;font-size:12px}.legal-grid{grid-template-columns:1fr}.legal-section--wide{grid-column:auto}.legal-section{grid-template-columns:29px 1fr;gap:12px;padding:23px 0 25px}.legal-section h2{font-size:23px}.legal-section p{font-size:11px}.nav__menu--legal{position:static;width:auto;padding:0;display:flex;flex-direction:row;align-items:center;gap:0;background:transparent;box-shadow:none;transform:none}.nav__menu--legal .nav__link{display:none}.nav__menu--legal .button{display:inline-flex;min-height:38px;padding-inline:12px;font-size:9px}}
