/* VAST / Direction A. All layout rules scoped to this Elementor page. */
body:has(.vast-page){background:#f6f5ef;color:#171815}
/* Align the global Elementor header to the same responsive gutter as .vast-intro. */
.elementor-location-header>.e-con{width:100%!important;max-width:1800px!important;margin-inline:auto!important;box-sizing:border-box;padding:24px clamp(22px,4.2vw,72px)!important}
.elementor-location-header>.e-con>.e-con-inner{width:100%!important;max-width:none!important;padding:0!important;justify-content:space-between}
.elementor-location-header [data-id="0e22048"],.elementor-location-header [data-id="a59a120"]{padding:0!important}
.elementor-location-header [data-id="0e22048"]{justify-content:flex-start!important}
.elementor-location-header [data-id="a59a120"]{align-items:flex-end}
.elementor-location-header .elementor-widget-theme-site-logo{width:clamp(120px,16vw,300px)!important;max-width:100%}
.elementor-location-header .elementor-widget-theme-site-logo img{display:block;width:100%!important;height:auto!important}
@media(max-width:767px){.elementor-location-header>.e-con{padding-top:18px!important;padding-bottom:18px!important}.elementor-location-header .elementor-widget-theme-site-logo{width:clamp(120px,32vw,190px)!important}}
.vast-page{--ink:#171815;--paper:#f6f5ef;--line:#cecec5;--vast-gutter:clamp(22px,4.2vw,72px);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);--container-widget-width:100%;--widgets-spacing:0px;--vast-gutter:clamp(22px,4.2vw,72px)}
.elementor .vast-page.e-con{padding:0;gap:0;max-width:none;width:100%}
.vast-page .e-con{--container-widget-width:100%;gap:0;padding:0;min-width:0}
.vast-page .elementor-widget{margin:0;min-width:0}
.vast-page .elementor-heading-title{color:var(--ink);font-weight:400;line-height:1.05;letter-spacing:-.045em}
.vast-page :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title){font-family:var(--e-global-typography-primary-font-family,"Karla",sans-serif)!important}
.vast-page .elementor-widget-text-editor{font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px;line-height:1.45}
.vast-page p{margin:0}
.vast-page a{color:inherit;text-decoration:none}
.vast-page a:hover{text-decoration:underline;text-underline-offset:5px}
.vast-page a:focus-visible,.vast-page summary:focus-visible{outline:2px solid #39513d;outline-offset:6px}
.vast-page .vast-header{padding:30px var(--vast-gutter);display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-bottom:1px solid transparent}
.vast-page .vast-logo{width:auto}
.vast-page .vast-logo .elementor-heading-title{font-size:36px;letter-spacing:-.075em;font-weight:700;line-height:1}
.vast-page .vast-nav{width:auto}
.vast-nav p{display:flex;gap:34px;align-items:center;font-size:13px}
.vast-page .vast-mobile-nav{display:none}
.vast-page .vast-intro{padding:80px var(--vast-gutter) 44px;display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:28px}
.vast-page .vast-title{width:77%}
.vast-page .vast-title .elementor-heading-title{font-size:clamp(64px,7.65vw,144px);line-height:.99;letter-spacing:-.065em;font-weight:500}
.vast-page .vast-intro-note{width:21%;padding:0 0 5px;font-size:14px;line-height:1.35}
.vast-page .vast-hero{margin:0 22px;width:calc(100% - 44px);position:relative;overflow:hidden}
.vast-hero .elementor-widget-image{width:100%}
.vast-hero .elementor-widget-image img{display:block;width:100%;height:clamp(380px,47vw,760px);object-fit:cover;object-position:50% 50%}
.vast-page .vast-hero-label{position:absolute;bottom:28px;left:28px;right:28px;width:auto;color:#fff;z-index:1;font-size:14px;text-shadow:0 1px 8px #000}
.vast-hero-label p{display:flex;justify-content:space-between;gap:20px;align-items:center}
.vast-hero-label a{display:inline-flex;align-items:center;gap:12px}
.vast-hero-label .round-arrow{border:1px solid #ffffffa0;width:42px;height:42px;border-radius:50%;display:inline-grid;place-items:center;font-size:21px}
.vast-page .vast-work{padding:80px var(--vast-gutter) 0;scroll-margin-top:30px}
.vast-page .vast-section-head{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}
.vast-section-head .elementor-widget-heading{width:auto}
.vast-section-head .elementor-heading-title{font-size:clamp(36px,4vw,64px)}
.vast-page .vast-small-link{width:auto;font-size:13px}
.vast-page .vast-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 24px}
.vast-page .vast-card{width:100%;display:flex;flex-direction:column}
.vast-card .elementor-widget-image{overflow:hidden}
.vast-card img{display:block;width:100%;aspect-ratio:1.24;object-fit:cover;transition:transform .5s ease}
.vast-card .elementor-widget-image a{display:block}
.vast-card .elementor-widget-image a:hover img{transform:scale(1.025)}
.vast-page .vast-card-caption{margin-top:14px;font-size:18px}
.vast-card-caption p{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.vast-card-caption small{font-size:11px;color:#66685e;letter-spacing:.04em}
.vast-page .vast-about{margin-top:90px;padding:68px var(--vast-gutter);border-top:1px solid var(--line);display:flex;flex-direction:row;gap:8%;scroll-margin-top:30px}
.vast-page .vast-eyebrow{width:24%;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding-top:8px}
.vast-page .vast-about-copy{width:68%;gap:28px}
.vast-about-copy .elementor-heading-title{font-size:clamp(32px,3.5vw,58px);line-height:1.15;letter-spacing:-.04em}
.vast-page .vast-body{font-size:16px;line-height:1.6;max-width:630px}
.vast-page .vast-clients{padding:0 var(--vast-gutter) 75px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px}
.vast-clients .elementor-widget-text-editor{font-size:22px;letter-spacing:-.04em;width:auto}
.vast-clients .vast-client-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#66685e;max-width:110px}
.vast-page .vast-service{background:#e7e8df;padding:64px var(--vast-gutter);display:flex;flex-direction:row;align-items:center;gap:6%;scroll-margin-top:20px}
.vast-page .vast-service-image{width:49%}
.vast-service-image img{display:block;aspect-ratio:1.1;object-fit:cover;width:100%}
.vast-page .vast-service-copy{width:45%;gap:26px}
.vast-service-copy .vast-eyebrow{width:auto}
.vast-service-copy .elementor-heading-title{font-size:clamp(38px,4.6vw,74px);line-height:1.03}
.vast-service-copy .vast-small-link{border-bottom:1px solid #8b9081;padding-bottom:8px;align-self:flex-start;margin-top:4px}
.vast-page .vast-contact{padding:90px var(--vast-gutter) 72px;gap:26px;scroll-margin-top:20px}
.vast-contact .vast-eyebrow{width:auto}
.vast-contact .elementor-heading-title{font-size:clamp(60px,9.3vw,150px);line-height:1;letter-spacing:-.065em}
.vast-page .vast-contact-email{font-size:clamp(22px,2.5vw,40px);letter-spacing:-.03em}
.vast-page .vast-footer{padding:30px var(--vast-gutter) 40px;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line);gap:30px}
.vast-footer .elementor-widget-text-editor{width:auto;font-size:12px;line-height:1.6}
.vast-footer .vast-social p{display:flex;gap:24px}
.vast-page .vast-skip{position:absolute;top:-100px;left:20px;z-index:99}
.vast-page .vast-skip:focus-within{top:10px;background:var(--paper);padding:10px}
@media(min-width:1800px){.elementor .vast-page.e-con{max-width:1800px;margin:auto}}
@media(max-width:1024px){.vast-nav p{gap:20px}.vast-page .vast-intro{padding-top:65px}.vast-page .vast-title{width:75%}.vast-page .vast-title .elementor-heading-title{font-size:7.8vw}.vast-page .vast-intro-note{font-size:12px;width:23%}.vast-page .vast-card-caption{font-size:16px}.vast-card-caption small{font-size:10px}.vast-page .vast-clients{flex-wrap:wrap}.vast-clients .elementor-widget-text-editor{font-size:19px}}
@media(max-width:767px){.vast-page .vast-header{padding:24px 22px}.vast-page .vast-logo .elementor-heading-title{font-size:30px}.vast-page .vast-nav{display:none}.vast-page .vast-mobile-nav{display:block;width:auto;font-size:14px;z-index:3}.vast-mobile-nav summary{cursor:pointer;list-style:none}.vast-mobile-nav summary::-webkit-details-marker{display:none}.vast-mobile-nav details[open] nav{position:absolute;right:0;top:36px;min-width:240px;background:var(--paper);border:1px solid var(--line);padding:24px;box-shadow:0 14px 25px #0000000d}.vast-mobile-nav nav a{display:block;padding:12px 0}.vast-page .vast-intro{padding:52px 22px 30px;flex-direction:column;align-items:flex-start;gap:24px}.vast-page .vast-title{width:100%}.vast-page .vast-title .elementor-heading-title{font-size:clamp(40px,9.1vw,69px);line-height:1.04;letter-spacing:-.06em}.vast-page .vast-intro-note{width:100%;font-size:13px}.vast-page .vast-intro-note br{display:none}.vast-page .vast-hero{margin:0 12px;width:calc(100% - 24px)}.vast-hero .elementor-widget-image img{height:460px;object-position:58% center}.vast-page .vast-hero-label{bottom:18px;left:18px;right:18px;font-size:12px}.vast-hero-label .hero-location{display:none}.vast-page .vast-work{padding:52px 22px 0}.vast-section-head .elementor-heading-title{font-size:34px}.vast-page .vast-small-link{font-size:12px}.vast-page .vast-grid{grid-template-columns:1fr;gap:32px}.vast-card img{aspect-ratio:1.16}.vast-page .vast-card-caption{font-size:17px}.vast-page .vast-about{margin-top:54px;padding:40px 22px;flex-direction:column;gap:22px}.vast-page .vast-eyebrow,.vast-page .vast-about-copy{width:100%}.vast-about-copy .elementor-heading-title{font-size:34px}.vast-page .vast-body{font-size:15px}.vast-page .vast-clients{padding:0 22px 44px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.vast-clients .vast-client-label{grid-column:1/-1;max-width:none;font-size:10px}.vast-page .vast-service{padding:36px 22px;flex-direction:column;gap:32px}.vast-page .vast-service-image,.vast-page .vast-service-copy{width:100%}.vast-service-image img{aspect-ratio:1.3}.vast-service-copy .elementor-heading-title{font-size:44px}.vast-page .vast-contact{padding:55px 22px 45px;gap:22px}.vast-contact .elementor-heading-title{font-size:15vw}.vast-page .vast-footer{padding:26px 22px 32px;flex-wrap:wrap;gap:24px}.vast-page .vast-footer .vast-social{width:100%}}
@media(prefers-reduced-motion:reduce){.vast-page *{scroll-behavior:auto!important;transition:none!important}}
/* Dynamic case cards, work index and shared case template. */
.vast-page .vast-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 24px}
.vast-case-card{min-width:0}
.vast-case-card>a{display:block;overflow:hidden}
.vast-case-card img{display:block;width:100%;aspect-ratio:1.24;object-fit:cover;transition:transform .4s ease}
.vast-case-card>a:hover img{transform:scale(1.025)}
.vast-case-caption{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-top:14px}
.vast-case-caption h3{font-size:18px;font-weight:400;line-height:1.35;letter-spacing:-.025em;margin:0}
.vast-case-caption span{font-size:11px;color:#66685e;white-space:nowrap}
.vast-cover-fallback{display:grid;place-items:center;aspect-ratio:1.24;background:#e7e8df;font-size:28px;padding:25px}
.vast-work-index,.vast-case-detail{padding:65px var(--vast-gutter) 40px}
.vast-index-heading h1,.vast-case-heading h1{font-size:clamp(48px,7vw,112px);font-weight:400;letter-spacing:-.06em;line-height:1.03;margin:20px 0 30px}
.vast-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.vast-index-heading>p:last-child{font-size:18px}
.vast-filters{display:flex;gap:12px;flex-wrap:wrap;margin:45px 0 35px}
.vast-filters a,.vast-pagination a{padding:10px 18px;border:1px solid #c6c8bd;font-size:14px}
.vast-filters a[aria-current],.vast-pagination a[aria-current]{background:#171815;color:#f6f5ef;border-color:#171815}
.vast-pagination{display:flex;gap:10px;margin-top:40px;flex-wrap:wrap}
.vast-empty{padding:45px 0;min-height:160px;font-size:20px}
.vast-back{font-size:14px;display:inline-block;margin-bottom:50px}
.vast-case-intro{display:grid;grid-template-columns:2fr 1fr;gap:60px;margin-bottom:45px}
.vast-case-intro>p{font-size:clamp(20px,2.2vw,32px);line-height:1.4;max-width:820px}
.vast-case-intro>div{font-size:15px;line-height:1.6}
.vast-case-intro>div p{margin-top:12px}
.vast-case-hero{width:100%;max-height:850px;object-fit:cover;display:block}
.vast-case-video{aspect-ratio:16/9;background:#171815}
.vast-case-video iframe{width:100%;height:100%;border:0}
.vast-case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;align-items:start}
.vast-case-gallery figure{margin:0}
.vast-case-gallery img{width:100%;height:auto;display:block}
.vast-case-gallery figure:nth-child(3n){grid-column:1/-1}
.vast-credits{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid #cecec5;padding-top:35px;margin-top:55px;line-height:1.7}
.vast-credits h2{font-size:24px;font-weight:400;margin:0}
.vast-more{margin-top:75px;padding-top:40px;border-top:1px solid #cecec5}
.vast-more>h2{font-size:40px;font-weight:400;letter-spacing:-.04em;margin:0 0 30px}
@media(max-width:767px){.vast-page .vast-case-grid{grid-template-columns:1fr;gap:32px}.vast-case-caption h3{font-size:17px}.vast-case-caption span{font-size:10px}.vast-work-index,.vast-case-detail{padding:40px 22px 20px}.vast-case-intro{grid-template-columns:1fr;gap:25px}.vast-case-gallery{gap:12px}.vast-back{margin-bottom:35px}.vast-credits{grid-template-columns:1fr;gap:20px}.vast-filters{gap:8px}.vast-filters a{padding:9px 14px}}
.vast-page.vast-page a{color:inherit}
.vast-page.vast-page .vast-filters a[aria-current],.vast-page.vast-page .vast-pagination a[aria-current]{color:#f6f5ef}
.vast-case-gallery figure:only-child{grid-column:1/-1}
@media(max-width:767px){.vast-case-caption{flex-wrap:wrap;gap:4px 12px}}
/* Saved Elementor templates may assign the kit's accent to the logo heading. */
.vast-page .vast-logo .elementor-heading-title{color:var(--ink)!important}
/* Let the Work introduction's Elementor spacing controls determine its padding. */
.vast-page .e-con[data-id="a40c000"]{padding:var(--padding-top,0px) var(--padding-right,0px) var(--padding-bottom,0px) var(--padding-left,0px)}
.vast-case-videos{display:grid;gap:24px}
@media(max-width:767px){.vast-case-videos{gap:16px}}
