/* index.css: hand cursor for actionable controls site-wide (Beauty excluded). */
body :is(a[href], button, summary, select,
  input[type="button"], input[type="submit"], input[type="reset"],
  input[type="checkbox"], input[type="radio"], input[type="file"],
  [role="button"], [role="link"], [role="tab"], [role="checkbox"],
  [role="radio"], [role="switch"], [role="option"],
  [role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"],
  [data-clickable], .shc-role-button, .av-career-toggle, .faq-item .av-source-button
):not(:disabled):not([aria-disabled="true"]):not([data-disabled]:not([data-disabled="false"])) { cursor: pointer; }
body label:has(:is(input[type="checkbox"], input[type="radio"]):enabled) { cursor: pointer; }

/* Responsive CTA labels authored as two spans inside one editable button text. */
.av-label-mobile { display: none; }
@media (max-width: 767px) {
  .av-label-desktop { display: none; }
  .av-label-mobile { display: inline; }
}

/* Home Work intro: bold lead-in inside the description paragraph. */
.elementor-element-a1cdb6e strong { display: block; margin-bottom: 8px; font-weight: 700; color: #E6E7E8; }

/* Home brand strip: a cleared logo slot is hidden (duplicate Jersey Mike's PNG removed). */
.av-brand-strip img.av-brand-image:is([src=""], :not([src])) { display: none !important; }

/* Interior hero project CTA (Capabilities/Work/Gallery). */
html body:not(#av-n) .av-interior-project-cta .elementor-button { gap: .75rem; align-items: center; padding: 16px 24px !important; }
html body:not(#av-n) .av-interior-project-cta .elementor-button-content-wrapper { gap: .75rem !important; align-items: center; }
.av-interior-project-cta .elementor-button:hover { background-color: #0E1320 !important; color: #fff !important; }
.av-interior-project-cta .elementor-button:hover :is(svg, .cta-arrow) { transform: translateX(4px); }
.av-interior-project-cta .elementor-button :is(svg, .cta-arrow) { transition: transform .15s cubic-bezier(.4,0,.2,1); }

/* About showreel (0aa5cdf3): 16:9 frame, expand bottom-right, mute bottom-left,
   centred "Sound on" restart while muted. Controls stay the native containers. */
html body:not(#av-n):not(#av-m) .elementor .av-showreel-frame { height: 300px !important; aspect-ratio: auto !important; min-height: 300px !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .av-showreel-frame { height: auto !important; aspect-ratio: 16 / 9 !important; min-height: 300px !important; } }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-frame > .elementor-element-c42e14b { inset: 0 !important; width: 100% !important; height: 100% !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-frame > .elementor-element-c42e14b video { width: 100% !important; height: 100% !important; object-fit: cover !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-frame .av-showreel-controls { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; display: block !important; pointer-events: none !important; z-index: 30 !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .e-con { position: absolute !important; pointer-events: auto !important; min-height: 44px !important; min-width: 44px !important; margin: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; padding: 0 12px !important; border: 1px solid rgb(255 255 255 / .6) !important; background: rgb(14 19 32 / .9) !important; color: #fff !important; -webkit-backdrop-filter: blur(4px) !important; backdrop-filter: blur(4px) !important; transition: color .15s, border-color .15s !important; width: auto !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .e-con:hover { border-color: #F68720 !important; color: #F68720 !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .e-con:focus-visible { outline: 2px solid #F68720 !important; outline-offset: 4px !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .elementor-element-9b6a94d { right: 12px !important; bottom: 12px !important; left: auto !important; top: auto !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .elementor-element-9b6a94d img { width: 20px !important; height: 20px !important; display: block !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .elementor-element-2cb00bc { left: 12px !important; bottom: 12px !important; top: auto !important; right: auto !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .elementor-element-2cb00bc .elementor-widget-text-editor, html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .elementor-element-2cb00bc .elementor-widget-text-editor * { font-size: 14px !important; letter-spacing: .16em !important; line-height: 1.5 !important; text-transform: uppercase !important; color: inherit !important; margin: 0 !important; }
html body:not(#av-n):not(#av-m) .elementor .av-showreel-frame[data-av-muted="true"] .av-showreel-controls > .elementor-element-2cb00bc { left: 16px !important; right: 16px !important; top: 50% !important; bottom: auto !important; transform: translateY(-50%) !important; padding: 16px !important; gap: 12px !important; }
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .elementor-element-9b6a94d { right: 24px !important; bottom: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-showreel-controls > .elementor-element-2cb00bc { left: 24px !important; bottom: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-showreel-frame[data-av-muted="true"] .av-showreel-controls > .elementor-element-2cb00bc { left: 50% !important; right: auto !important; transform: translate(-50%, -50%) !important; padding: 16px 24px !important; }
}
/* Home hero mobile (homepage-mobile.css 0aa5cdf3): each colour group is one
   line sized against the inset copy column; CTAs stack full width. */
@media (max-width: 767px) {
  html body:not(#av-n) .elementor .elementor-element-d0d9ecc { padding-right: 0 !important; gap: 12px !important; }
  html body:not(#av-n) .elementor .elementor-element-d5f60e0 { gap: 5px !important; margin-top: 4px !important; }
  html body:not(#av-n) .elementor .elementor-element-50f78e0 { padding-top: 100px !important; }
  html body:not(#av-n) .elementor .elementor-element-d929da0 .elementor-button { min-height: 52px; box-sizing: border-box; }
  html body:not(#av-n) .elementor .elementor-element-d5f60e0 > .elementor-widget-text-editor, html body:not(#av-n) .elementor .elementor-element-d5f60e0 > .elementor-widget-text-editor * { font-size: 14px !important; line-height: 1.35 !important; margin: 0 !important; }
  html body:not(#av-n) .elementor .elementor-element-360cdc6, html body:not(#av-n) .elementor .elementor-element-360cdc6 * { line-height: 14px !important; }
  html body:not(#av-n) .elementor .elementor-element-01a570a { padding-left: 24px !important; padding-right: 24px !important; padding-bottom: 20px !important; }
  html body:not(#av-n) .elementor .elementor-element-d341430 { container-type: inline-size; }
  html body:not(#av-n) .elementor .elementor-element-d341430 :is(.elementor-element-2cbb086, .elementor-element-eeabc2b, .elementor-element-505e642, .elementor-element-e562a1a, .elementor-element-30f4341, .elementor-element-b56b6a5, .elementor-element-60b0baf) { font-size: min(8cqw, 34px) !important; line-height: 1.05 !important; }
  html body:not(#av-n) .elementor .elementor-element-d341430 :is(.elementor-element-308157a, .elementor-element-d91087d) { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: flex-start !important; column-gap: .22em !important; white-space: nowrap; }
  html body:not(#av-n) .elementor .elementor-element-d929da0 > .elementor-element { width: 100% !important; }
  html body:not(#av-n) .elementor .elementor-element-d929da0 .elementor-button { width: 100%; justify-content: center; }
}
/* Home desktop content inset (index.css .homepage --homepage-content-inset 2.5rem
   inside the 3rem gutter) and the hero heading's column-fit size. */
@media (min-width: 768px) {
  html body:not(#av-n) .elementor :is(.elementor-element-01a570a) { padding-left: 40px !important; }
  html body:not(#av-n) .elementor :is(.elementor-element-8841584, .elementor-element-b3f4cdc, .elementor-element-7e2b0e6, .elementor-element-193c10c, .elementor-element-c72afb7, .elementor-element-857452a) { padding-left: 40px !important; padding-right: 40px !important; }
  html body:not(#av-n) .elementor .elementor-element-11984ba { padding-left: 40px !important; padding-right: 40px !important; }
  html body:not(#av-n) .elementor .elementor-element-40bfebc { padding-left: 40px !important; padding-right: 40px !important; }
  html body:not(#av-n) .elementor .elementor-element-d341430 { container-type: inline-size; padding-bottom: 7px !important; margin-bottom: 0 !important; }
  html body:not(#av-n) .elementor .elementor-element-d341430 .elementor-widget-text-editor, html body:not(#av-n) .elementor .elementor-element-d341430 .elementor-widget-text-editor * { font-size: 11cqw !important; line-height: .9 !important; }
  html body:not(#av-n) .elementor .elementor-element-01a570a { gap: 24px !important; padding-right: 40px !important; }
  /* Current source: natural-height copy shares the viewport with a 46svh video.
     Do not budget the video using only the title column: the details can be taller. */
  html body:not(#av-n) .elementor .elementor-element-01a570a { flex: 0 0 auto !important; height: auto !important; min-height: min-content !important; container-type: inline-size !important; }
  html body:not(#av-n) .elementor .elementor-element-5377f72 { flex: 0 1 46svh !important; height: 46svh !important; max-height: 46svh !important; min-height: 0 !important; margin-top: 16px !important; }
  html body:not(#av-n) .elementor .elementor-element-d929da0 { flex-wrap: nowrap !important; }
  html body:not(#av-n) .elementor .elementor-element-d929da0 > .elementor-widget { min-width: 0 !important; flex-shrink: 1 !important; }
  html body:not(#av-n) .elementor .elementor-element-d929da0 .elementor-button { min-width: 0 !important; width: 100%; padding-inline: 8px !important; }
  html body:not(#av-n) .elementor .elementor-element-5377f72 > .elementor-element-d9c4e40 { height: 100% !important; min-height: 0 !important; }
  html body:not(#av-n) .elementor .elementor-element-28906a6 { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
  html body:not(#av-n) .elementor .elementor-element-d0d9ecc { flex: 0 0 44% !important; width: 44% !important; max-width: 44% !important; }
  html body:not(#av-n) .elementor .elementor-element-d0d9ecc { padding-right: 0 !important; padding-bottom: 0 !important; min-height: 0 !important; gap: 18px !important; }
  html body:not(#av-n) .elementor .elementor-element-d5f60e0 > .elementor-widget-text-editor, html body:not(#av-n) .elementor .elementor-element-d5f60e0 > .elementor-widget-text-editor * { line-height: 1.4 !important; }
  html body:not(#av-n) .elementor .elementor-element-50f78e0 { padding-top: calc(97px + clamp(12px, 3svh, 32px)) !important; padding-bottom: clamp(24px, 5svh, 48px) !important; }
  html body:not(#av-n) .elementor .elementor-element-fb88028 span { display: block; }
  html body:not(#av-n) .elementor .elementor-element-70f8025 { padding-left: 40px !important; padding-right: 40px !important; }
}
/* Home Work section (0aa5cdf3 index.css): 8px top frame space shared with the
   brand strip; intro 40/40 (32/32 mobile); gallery bottom 56 (48 mobile). */
html body:not(#av-n) .elementor .elementor-element-04b778d { padding-top: 8px !important; }
html body:not(#av-n) .elementor .elementor-element-a6be9cd { padding-bottom: 40px !important; }
html body:not(#av-n) .elementor .elementor-element-953d591 { padding-bottom: 56px !important; }
@media (max-width: 767px) {
  html body:not(#av-n) .elementor .elementor-element-a6be9cd { padding-bottom: 32px !important; }
  html body:not(#av-n) .elementor .elementor-element-953d591 { padding-bottom: 48px !important; }
}
/* Brand strip: video-to-label equals logo-row-to-next-rule (52px desktop,
   max(44px, hero bottom) mobile), counting the Work section's 8px once. */
html body:not(#av-n) .elementor .elementor-element-518168c .av-brand-strip { padding-top: calc(52px - clamp(24px, 5svh, 48px)) !important; padding-bottom: 44px !important; }
@media (max-width: 767px) { html body:not(#av-n) .elementor .elementor-element-518168c .av-brand-strip { padding-top: calc(max(44px, clamp(24px, 5svh, 48px)) - clamp(24px, 5svh, 48px)) !important; padding-bottom: calc(max(44px, clamp(24px, 5svh, 48px)) - 8px) !important; } }
/* Interior hero aside (copy + project CTA share the 5-column slot). */
html body:not(#av-n) .elementor .av-cap-hero-aside { width: 100% !important; max-width: 28rem !important; min-width: 0 !important; }
@media (min-width: 768px) { html body:not(#av-n) .elementor .av-cap-hero-aside { grid-column: span 5 / span 5 !important; justify-self: end !important; } }
html body:not(#av-n) .elementor .av-cap-hero-aside > .elementor-element { width: 100% !important; max-width: 100% !important; padding-right: 0 !important; }
html body:not(#av-n) .elementor .av-cap-hero-aside > .av-interior-project-cta { width: auto !important; }
@media (max-width: 767px) {
  html body:not(#av-n) .elementor .av-cap-hero-aside > .av-interior-project-cta { width: 100% !important; margin-top: 16px !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-interior-project-cta .elementor-button { width: 100% !important; min-height: 52px !important; justify-content: center !important; }
}
/* Interior hero frame (index.css .interior-hero-frame) for the hero that now
   carries the project CTA: header-clear top, inset frame, no 60vh floor. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-906cf2b { min-height: 0 !important; padding-bottom: 40px !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-9e2910e { min-height: 0 !important; padding: 81px 24px 0 !important; justify-content: flex-start !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-762d040 { margin: 0 !important; padding: 32px !important; }
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-906cf2b { padding-bottom: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-9e2910e { padding: 97px 48px 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-762d040 { padding: 40px !important; min-height: calc(80px + clamp(14rem, calc(44rem - 40vw), 25rem)) !important; align-items: end !important; align-content: end !important; }
}
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-076b6c3, .av-cap-hero-aside) { justify-content: flex-end !important; }
/* Same interior hero frame for About (showreel follows), Work and Gallery. */
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-334b819, .elementor-element-4197bcc) { min-height: 0 !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-7ca2228, .elementor-element-4dddbc6) { min-height: 0 !important; padding: 81px 24px 0 !important; justify-content: flex-start !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-7088231 { padding: 32px !important; margin: 0 !important; justify-content: flex-end !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-7147487 { margin: 0 !important; padding: 0 !important; }
html body:not(#av-n):not(#av-m) .elementor .av-hero-title-col { min-width: 0 !important; display: flex !important; flex-direction: column !important; justify-content: flex-end !important; gap: 20px !important; }
html body:not(#av-n):not(#av-m) .elementor .av-hero-title-col > .elementor-element { margin: 0 !important; width: 100% !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .av-hero-title-col { grid-column: span 7 / span 7 !important; } }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-a215b91) { margin: 0 !important; padding: 32px !important; }
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-7ca2228, .elementor-element-4dddbc6) { padding: 97px 48px 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-7088231, .elementor-element-a215b91) { padding: 40px !important; min-height: calc(80px + clamp(14rem, calc(44rem - 40vw), 25rem)) !important; align-items: end !important; align-content: end !important; }
}
/* Gallery lightbox (gallery.tsx 0aa5cdf3): backdrop closes on click (pointer);
   the panel itself is not a control (auto). Gallery hero aside keeps md:pr-4. */
#av-project-viewer-root .gallery-lightbox-overlay { cursor: pointer; }
#av-project-viewer-root .gallery-lightbox-panel { cursor: auto; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c51 { padding-right: 16px !important; } }
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-77fc860 { padding-right: 8px !important; } }
/* Contact / Start a Project photo (contact.tsx 0aa5cdf3): both intents span
   the measured guides on mobile (-mx-2 outside the inner px-2). */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-4c920d6, .elementor-element-a7f1b98) { margin-left: -8px !important; margin-right: -8px !important; width: calc(100% + 16px) !important; max-width: none !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-4c920d6, .elementor-element-a7f1b98) img { width: 100% !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-contact-image-caption { right: auto !important; width: max-content !important; max-width: calc(100% - 24px) !important; }
}
/* heading-scale.css mobile editorial scale (source h1/h2.font-clash under 768px):
   H1 clamp(42px,12.3vw,60px)*.9, H2 clamp(36px,10.3vw,48px)*.81. Scoped to the
   source-classed Elementor headings; gallery viewer/card titles are excluded. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) { --aardvark-heading-h1: calc(clamp(42px, 12.3vw, 60px) * .9); --heading-h1: calc(clamp(42px, 12.3vw, 60px) * .9); --heading-h2: calc(clamp(36px, 10.3vw, 48px) * .81); }
  html body:not(#av-n):not(#av-m) .elementor :is(h1.font-clash, .font-clash > .elementor-widget-container > h1, .font-clash > h1, .font-clash h1.elementor-heading-title) { font-size: calc(clamp(42px, 12.3vw, 60px) * .9) !important; line-height: .98 !important; letter-spacing: -.04em !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(h2.font-clash, .font-clash > .elementor-widget-container > h2, .font-clash > h2, .font-clash h2.elementor-heading-title):not(.gallery-viewer-title) { font-size: calc(clamp(36px, 10.3vw, 48px) * .81) !important; line-height: 1.05 !important; text-wrap: balance; }
}
/* Interior H1 line rows (source: block line span > inline-block word masks, so each
   row is a line box with the .98 strut). The native rows were flex columns. */
html body:not(#av-n):not(#av-m) .elementor h1.font-clash > .e-con { display: block !important; line-height: inherit !important; }
html body:not(#av-n):not(#av-m) .elementor h1.font-clash > .e-con > .e-con { display: inline-block !important; vertical-align: baseline !important; width: auto !important; line-height: inherit !important; }
html body:not(#av-n):not(#av-m) .elementor h1.font-clash > .e-con > .e-con > .elementor-element { line-height: inherit !important; }
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .av-hero-title-col { gap: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-widget-text-editor:has(+ h1.font-clash) { font-size: 10px !important; line-height: 15px !important; margin-bottom: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor :not(.av-hero-title-col) > .elementor-widget-text-editor + h1.font-clash { margin-top: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-hero-title-col > .elementor-widget-text-editor:has(+ h1.font-clash) { margin-bottom: 0 !important; }
}
/* guiding-principles.tsx: principle cards are md:min-h-[300px] (no mobile floor);
   the captured elements still carried the unprefixed min-height. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor :is(.e-con[class*="values-reveal"][class*="p-8"], .e-con[class^="relative min-h-[300px]"]) { min-height: 0 !important; height: auto !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-source-id-guiding-principles article { min-height: 0 !important; justify-content: flex-start !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-source-id-guiding-principles article > .e-con[class*="values-reveal"] { margin: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.av-source-id-guiding-principles, .av-source-id-core-values) .e-con.grid { height: auto !important; min-height: 0 !important; grid-template-rows: none !important; grid-auto-rows: auto !important; }
}
/* mobile-spacing.css (0aa5cdf3) section rhythm, keyed on the source utility
   classes the native containers still carry; #top heroes and forms excluded. */
@media (max-width: 767px) {
  :is(html body:not(#av-n):not(#av-m) .elementor section.e-con:not(#top):is([class~="py-14"], [class~="py-16"], [class~="py-20"], [class~="py-24"], [class~="py-28"])):not(.e-con-boxed), :is(html body:not(#av-n):not(#av-m) .elementor section.e-con:not(#top):is([class~="py-14"], [class~="py-16"], [class~="py-20"], [class~="py-24"], [class~="py-28"])).e-con-boxed > .e-con-inner { padding-block: 2.5rem !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor section.e-con:not(#top):is([class~="py-32"], [class~="py-36"], [class~="py-40"], [class~="py-44"]):not([class*="bg-[#0E1320]"])):not(.e-con-boxed), :is(html body:not(#av-n):not(#av-m) .elementor section.e-con:not(#top):is([class~="py-32"], [class~="py-36"], [class~="py-40"], [class~="py-44"]):not([class*="bg-[#0E1320]"])).e-con-boxed > .e-con-inner { padding-block: 3.5rem !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor section.e-con:not(#top):is([class~="pt-14"], [class~="pt-16"], [class~="pt-20"], [class~="pt-24"], [class~="pt-28"])):not(.e-con-boxed), :is(html body:not(#av-n):not(#av-m) .elementor section.e-con:not(#top):is([class~="pt-14"], [class~="pt-16"], [class~="pt-20"], [class~="pt-24"], [class~="pt-28"])).e-con-boxed > .e-con-inner { padding-top: 2.5rem !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor section.e-con:not(#top):is([class~="pb-14"], [class~="pb-16"], [class~="pb-20"], [class~="pb-24"], [class~="pb-28"])):not(.e-con-boxed), :is(html body:not(#av-n):not(#av-m) .elementor section.e-con:not(#top):is([class~="pb-14"], [class~="pb-16"], [class~="pb-20"], [class~="pb-24"], [class~="pb-28"])).e-con-boxed > .e-con-inner { padding-bottom: 2.5rem !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor .e-parent:not(#top) .e-con:is([class~="py-16"], [class~="py-20"], [class~="py-24"], [class~="py-28"]):not(form *)):not(.e-con-boxed), :is(html body:not(#av-n):not(#av-m) .elementor .e-parent:not(#top) .e-con:is([class~="py-16"], [class~="py-20"], [class~="py-24"], [class~="py-28"]):not(form *)).e-con-boxed > .e-con-inner { padding-block: 2.5rem !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor .e-parent:not(#top) .e-con:is([class~="pb-16"], [class~="pb-20"], [class~="pb-24"], [class~="pb-28"]):not(form *)):not(.e-con-boxed), :is(html body:not(#av-n):not(#av-m) .elementor .e-parent:not(#top) .e-con:is([class~="pb-16"], [class~="pb-20"], [class~="pb-24"], [class~="pb-28"]):not(form *)).e-con-boxed > .e-con-inner { padding-bottom: 2.5rem !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor .e-con.e-parent:not(#top), html body:not(#av-n):not(#av-m) .elementor .e-parent:not(#top) .e-con):is([class~="gap-12"], [class~="gap-14"], [class~="gap-16"], [class~="gap-20"], [class~="gap-24"]):not(form *), :is(html body:not(#av-n):not(#av-m) .elementor .e-con.e-parent:not(#top), html body:not(#av-n):not(#av-m) .elementor .e-parent:not(#top) .e-con):is([class~="gap-12"], [class~="gap-14"], [class~="gap-16"], [class~="gap-20"], [class~="gap-24"]).e-con-boxed > .e-con-inner { gap: 2rem !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-parent:not(#top) .elementor-element:is([class~="mt-12"], [class~="mt-14"], [class~="mt-16"], [class~="mt-20"], [class~="mt-24"]):not(form *) { margin-top: 2rem !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con[class~="pl-2"]:not(form *):not(.e-con-boxed), html body:not(#av-n):not(#av-m) .elementor .e-con.e-con-boxed[class~="pl-2"] > .e-con-inner { padding-left: .5rem !important; padding-right: .5rem !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-parent:not(#top) .elementor-element:is([class~="mb-12"], [class~="mb-14"], [class~="mb-16"], [class~="mb-20"], [class~="mb-24"]):not(form *) { margin-bottom: 2rem !important; }
}
@media (max-width: 767px) {
  /* guiding-principles.tsx light variant: pt-[5rem] (not a py utility) pb-20. */
  html body:not(#av-n):not(#av-m) .elementor :not(#top) .e-con.av-source-id-core-values.e-con-boxed:not(#top) > .e-con-inner, html body:not(#av-n):not(#av-m) .elementor :not(#top) .e-con.av-source-id-core-values:not(.e-con-boxed):not(#top) { padding-top: 5rem !important; }
}
/* Careers accordions below 1024px: same intrinsic 0fr/1fr clip as desktop. */
@media (max-width: 1023px) {
  body.page-id-1517461 .elementor .av-career-panel { display: grid !important; grid-template-rows: 0fr !important; height: auto !important; min-height: 0 !important; transition: grid-template-rows 300ms cubic-bezier(0,0,.2,1); }
  body.page-id-1517461 .elementor .av-career-panel.av-career-open { grid-template-rows: 1fr !important; }
  body.page-id-1517461 .elementor .av-career-clip { min-height: 0; overflow: hidden; }
  body.page-id-1517461 .elementor .av-career-clip > .elementor-widget-text-editor { margin: 0 !important; }
  body.page-id-1517461 .elementor .av-career-icon { transition: transform 150ms; }
  body.page-id-1517461 .elementor .av-career-icon.av-career-open { transform: rotate(45deg) !important; }
}
/* about.tsx 0aa5cdf3 mobile: stats stack (grid-cols-1 divide-y, py-3), leadership
   is one column, intro copy and team grid sit in the 2rem about-intro-inset. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-317f807 { grid-template-columns: 1fr !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-317f807 > .e-con { padding-top: 12px !important; padding-bottom: 12px !important; border-left-width: 0 !important; border-right-width: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-317f807 > .e-con + .e-con { border-top: 1px solid rgb(113 134 144 / .2) !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-f82c89f { grid-template-columns: 1fr !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-832102b { padding-left: 56px !important; padding-right: 56px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-b75b6cb { padding-left: 32px !important; padding-right: 32px !important; }
}
/* capabilities.tsx 0aa5cdf3: overview text blocks use .capabilities-text-inset
   (padding var(--about-intro-inset): 2rem, 2.5rem from 768px). */
html body:not(#av-n):not(#av-m) .elementor .e-con[class^="px-2 py-10 md:px-4 md:py-14"] { padding: 2rem !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con[class^="px-2 py-10 md:px-4 md:py-14"] { padding: 2.5rem !important; } }
/* capabilities.tsx 0aa5cdf3 mobile: hero stack uses the 24px intro gap; the
   transition photo is aspect-[3/2]; overview intro is a capabilities-text-inset
   block (32px frame, eyebrow→h2 24, 32 to the first row). */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-762d040 { gap: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-46764e7 { height: auto !important; min-height: 0 !important; aspect-ratio: 3 / 2 !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.e-grid[class^="grid grid-cols-2 gap-x-8 gap-y-3"] { grid-template-rows: none !important; grid-auto-rows: auto !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-f5ad01a { margin-top: 24px !important; }
}
/* capabilities.tsx featured section: pt-20 md:pt-20 pb-0 (carousel runs to the rule). */
html body:not(#av-n):not(#av-m) .elementor .e-con:not(#av-z):not(#av-w):not(#av-v).elementor-element-2eb0268 { padding-bottom: 0 !important; }
/* Capabilities overview intro = .capabilities-text-inset flex column (eyebrow,
   h2, CTA; 24px intro gap on mobile, 32px from 768px) directly above the rows. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-bb50144 { padding: 2rem !important; margin-bottom: 0 !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 0 !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-bb50144 > .elementor-element-05cf560 { display: block !important; line-height: 15px !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-767184c { margin-top: 0 !important; }
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-bb50144 { padding: 2.5rem !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-bb50144 > .elementor-element-05cf560 { line-height: 16.5px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-f5ad01a { margin-top: 32px !important; }
}
/* closing-cta.css (0aa5cdf3): one outer banner size independent of copy length,
   content centred; 2rem block padding. Applies to every native closing banner. */
html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v) { box-sizing: border-box !important; min-height: 32rem !important; padding-top: 2rem !important; padding-bottom: 2rem !important; justify-content: center !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v).e-con-boxed > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v) { min-height: max(30rem, calc(20rem + var(--heading-h2) * 3.06)) !important; } }
html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v) > .e-con { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v) > .e-con > .elementor-element:nth-child(2) { margin-top: 1.25rem !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v) > .e-con > .elementor-element:nth-child(3) { margin-top: 1.75rem !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v) > .e-con { padding-left: 2.5rem !important; padding-right: 2.5rem !important; } }
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v) > .e-con > .elementor-element:nth-child(3), html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937):not(#av-z):not(#av-w):not(#av-v) > .e-con > .elementor-element:nth-child(3) a { width: 100% !important; justify-content: center !important; } }
/* Careers Client Services Manager row (native c0a5c11-16, item 4): same grid
   placement as the existing position rows (md:col-span-4/4/2/2, centred). */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c11 { grid-template-columns: repeat(12, 1fr) !important; align-items: center !important; grid-template-rows: none !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-c0a5c12, .elementor-element-c0a5c13) { grid-column: span 4 / span 4 !important; white-space: normal; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c13 { color: rgb(14 19 32 / .7); line-height: 1.625; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c14 { grid-column: span 2 / span 2 !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c15 { grid-column: span 2 / span 2 !important; justify-self: flex-end !important; width: auto !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c16 { white-space: nowrap; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c11 > .elementor-element { align-self: auto !important; }
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c11 { grid-template-columns: repeat(1, minmax(0px, 1fr)) !important; align-items: flex-start !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c11 > .elementor-element { grid-column: auto !important; justify-self: auto !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c13 { font-size: 14px; }
}
/* Careers FAQ intro: the captured 476px bottom margin under the lead copy is not in careers.tsx. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c860de3 { margin-bottom: 0 !important; }
/* Inline colour groups inside a source H1 (span text-[#..] around word masks):
   the groups flow inline like the source spans instead of stacking as blocks. */
html body:not(#av-n):not(#av-m) .elementor h1.font-clash .e-con.av-inline-heading-group:not(#av-z) { display: inline !important; width: auto !important; }
/* careers.tsx hero: the copy block is centred between the header rule and the
   frame top (top: (header - frame top) / 2 = -15.5px at 97/128 and 81/112). */
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-6ea761f, .elementor-element-0c871ce, .elementor-element-20f7ca1, .elementor-element-5359866) { position: relative !important; top: -15.5px !important; }
/* mobile-spacing.css guide-offset owners (0aa5cdf3): top = 40px clearance + the
   frame's outward guide offset - border origin; inner frames lose their py. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-7e2fa14:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 63px !important; padding-bottom: 40px !important; }
  html body:not(#av-n):not(#av-m) .elementor section.e-con[class*="capabilities-overview"]:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 39px !important; }
  html body:not(#av-n):not(#av-m) .elementor section.e-con[class*="about-frame-bottom"]:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 70px !important; }
  html body:not(#av-n):not(#av-m) .elementor section.e-con[class*="principles-guide-frame"]:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 72px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con[class*="mobile-section-inner"]:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 0 !important; padding-bottom: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con[class*="mobile-stack-flush"] > .e-con:first-child:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con[class*="mobile-stack-flush"] > .e-con:last-child:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-bottom: 0 !important; }
}
/* careers.tsx Thrive photo: -mb-[24px] on mobile (meets the lower guide). */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-9774b31:not(#av-z):not(#av-w) { margin-bottom: -24px !important; } }
/* careers.tsx FAQ (authorised restyle): white section, dark copy, light accordion
   (border #0E1320/12, numbers /40, titles #0E1320, answers /70; open/hover orange). */
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) { background-color: #fff !important; background-image: none !important; color: #0E1320 !important; border-top-color: rgb(14 19 32 / .1) !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) h2 { color: #0E1320 !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .elementor-element-c860de3, html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .elementor-element-c860de3 * { color: rgb(14 19 32 / .7) !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .e-con:is([class*="border-b"], [class*="border-t"]) { border-color: rgb(14 19 32 / .12) !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .av-career-toggle [class*="font-futura"], html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .av-career-toggle [class*="font-futura"] * { color: rgb(14 19 32 / .4) !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .av-career-toggle .flex-1, html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .av-career-toggle .flex-1 * { color: #0E1320 !important; transition: color .15s; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .av-career-toggle:is(:hover, .av-career-open) .flex-1, html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .av-career-toggle:is(:hover, .av-career-open) .flex-1 * { color: #F68720 !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .av-career-panel [class*="pl-12"], html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c3fa053:not(#av-z):not(#av-w) .av-career-panel [class*="pl-12"] * { color: rgb(14 19 32 / .7) !important; }
/* about.tsx dogs grid sits in the about-intro-inset on mobile (cards 56..334). */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-60e0c17:not(#av-z):not(#av-w) { padding-left: 24px !important; padding-right: 24px !important; } }
/* about.tsx stats: labels text-sm (md:text-[10px]); grid mt-16 md:mt-20. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-317f807:not(#av-z) > .e-con > .elementor-element:not(:first-child), html body:not(#av-n):not(#av-m) .elementor .elementor-element-317f807:not(#av-z) > .e-con > .elementor-element:not(:first-child) * { font-size: 14px !important; line-height: 20px !important; letter-spacing: 3.5px !important; } }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-317f807:not(#av-z):not(#av-w) { margin-top: 80px !important; } }
/* about.tsx hero mobile: title -> copy 24px, full-width 52px CTA, showreel
   directly below the hero frame (no hero-tail pull on mobile). */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-7147487:not(#av-z):not(#av-w) { gap: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d3b5f8f:not(#av-z) .e-con, html body:not(#av-n):not(#av-m) .elementor .elementor-element-d3b5f8f:not(#av-z) a { width: 100% !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d3b5f8f:not(#av-z) a { min-height: 52px !important; box-sizing: border-box !important; justify-content: center !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-bcc6e12:not(#av-z):not(#av-w) { margin-top: 0 !important; }
}
/* about.tsx core values (mobile): mobile-section-inner loses its py, the grid is
   the about-intro-inset (32px), and the CTA is hidden md:block. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-a721f82:not(#av-z) > :is(.e-con, .e-con-inner) { padding-top: 0 !important; padding-bottom: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-be3da18:not(#av-z):not(#av-w) { padding-left: 32px !important; padding-right: 32px !important; }
}
/* about.tsx values mobile CTA (native c0a5c60, md:hidden): full-width 52px button. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c60:not(#av-z) .elementor-element, html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c60:not(#av-z) .e-con, html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c60:not(#av-z) a { width: 100% !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c60:not(#av-z) a { min-height: 52px !important; box-sizing: border-box !important; justify-content: center !important; }
/* guiding-principles.tsx blue (About) mobile: data-mobile-upper-guide="about"
   top (40 + 32) and the intro in the about-intro-inset. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-ad993ef:not(#av-z):not(#av-w) > .e-con-inner { padding-top: 72px !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-64b3782, .elementor-element-d2ffa00):not(#av-z) { padding-left: 32px !important; padding-right: 32px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-d88202a:not(#av-z):not(#av-w) { margin-top: 32px !important; }
}
/* about.tsx leadership (about-frame-bottom): content in the 40px about-intro-inset
   inside the 48px gutter, intro mb-10, section pt-28 with no bottom padding owner. */
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-832102b:not(#av-z):not(#av-w) { padding-left: 88px !important; padding-right: 88px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-f82c89f:not(#av-z):not(#av-w) { margin-top: 40px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-8794456:not(#av-z):not(#av-w) { padding-bottom: 40px !important; }
}
/* about.tsx dogs (about-frame-block): pt 40 / pb 80, 40px about-intro-inset, intro mb-10. */
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-4dc23f9:not(#av-z):not(#av-w) { padding-top: 40px !important; padding-bottom: 80px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-39a3372:not(#av-z):not(#av-w) { padding-left: 88px !important; padding-right: 88px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-60e0c17:not(#av-z):not(#av-w) { margin-top: 40px !important; }
}
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-be3da18:not(#av-z):not(#av-w) { padding-left: 40px !important; padding-right: 40px !important; } }
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-64b3782, .elementor-element-d2ffa00):not(#av-z) { padding-left: 40px !important; padding-right: 40px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-d88202a:not(#av-z):not(#av-w) { margin-top: 40px !important; }
}
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-1ab3d78:not(#av-z) > .e-con:last-child { padding-bottom: 0 !important; } }
/* about.tsx leadership + dogs mobile: about-frame-bottom pt 40 / pb 32,
   about-frame-block pt 32 / pb 64; mobile-intro gap 24; dogs intro in the inset. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-8794456:not(#av-z):not(#av-w) { padding-top: 40px !important; padding-bottom: 32px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-4dc23f9:not(#av-z):not(#av-w) { padding-top: 32px !important; padding-bottom: 64px !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-60b7863, .elementor-element-93fa200, .elementor-element-58fc196, .elementor-element-d8382b7):not(#av-z) { margin-top: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-550248c:not(#av-z):not(#av-w) { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-0e571da, .elementor-element-550248c):not(#av-z) { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-a49ab20, .elementor-element-f9c72f6):not(#av-z) { display: block !important; line-height: 15px !important; margin: 0 !important; }
}
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con:is(.elementor-element-f82c89f, .elementor-element-60e0c17):not(#av-z):not(#av-w) { margin-top: 32px !important; } }
/* home.tsx hero H1 desktop: the line rows use the word size (11cqw) as their
   .9 strut, and lg:-mb-[0.11em] replaces the captured 7px bottom padding. */
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d341430:not(#av-z) > .e-con, html body:not(#av-n):not(#av-m) .elementor .elementor-element-d341430:not(#av-z) > .e-con > .e-con { font-size: 11cqw !important; line-height: .9 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d341430:not(#av-z) { padding-bottom: 0 !important; margin-bottom: -8.27px !important; }
}
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-5377f72:not(#av-z) { margin-top: 16px !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  /* The current source has no captured optical offset on the tablet heading. */
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d341430:not(#av-z) { margin-bottom: 0 !important; }
}
/* client-logos.tsx optical scales (0aa5cdf3) keyed by logo alt: height = --logo-base x scale
   (mobileScale below 768px). Overrides the widget's positional scales. */
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Disney"] { height: calc(var(--av-logo-base) * 1.2) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Hulu"] { height: calc(var(--av-logo-base) * 0.71) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Kohl's"] { height: calc(var(--av-logo-base) * 0.43) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Target"] { height: calc(var(--av-logo-base) * 1.12) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="eBay"] { height: calc(var(--av-logo-base) * 1.0) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="CeraVe"] { height: calc(var(--av-logo-base) * 1.08) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Jersey Mike's Subs"] { height: calc(var(--av-logo-base) * 1.68) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="IT Cosmetics"] { height: calc(var(--av-logo-base) * 1.14) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="T-Mobile"] { height: calc(var(--av-logo-base) * 1.16) !important; }
@media (min-width: 768px) { html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="T-Mobile"] { height: calc(var(--av-logo-base) * 1.2) !important; } }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Olipop"] { height: calc(var(--av-logo-base) * 1.1) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="OUAI"] { height: calc(var(--av-logo-base) * 0.77) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Pandora"] { height: calc(var(--av-logo-base) * 0.7) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Roller Rabbit"] { height: calc(var(--av-logo-base) * 1.0) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Starbucks"] { height: calc(var(--av-logo-base) * 1.55) !important; }
html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Tatcha"] { height: calc(var(--av-logo-base) * 0.72) !important; }
@media (min-width: 768px) { html body:not(#av-n) .av-brand-cycle img.av-brand-image[alt="Tatcha"] { height: calc(var(--av-logo-base) * 0.78) !important; } }
/* home.tsx capabilities intro desktop: pt-28 / pb-24, label mb-10, rule mb-14. */
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-b47a15b:not(#av-z) > .e-con-inner { padding-top: 112px !important; padding-bottom: 96px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-2af64d4:not(#av-z) { margin-bottom: 56px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-70f8025:not(#av-z) { margin-bottom: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-fb88028:not(#av-z) { margin-top: 0 !important; }
}
/* testimonial.tsx on Home desktop: section py-14, heading frame py-10 + mb-10,
   heading in the 40px homepage inset. */
@media (min-width: 768px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-aa72c7a:not(#av-z):not(#av-w) { padding-top: 56px !important; padding-bottom: 56px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-054e6da:not(#av-z):not(#av-w) { padding-top: 40px !important; padding-bottom: 40px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-17e3fe9:not(#av-z):not(#av-w) { margin-top: 40px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-e2dd6f9:not(#av-z) { padding-left: 40px !important; padding-right: 40px !important; }
}
/* home.tsx capabilities mobile: intro pt-20 / pb-[72px] mobile-intro (24px gaps,
   full-width 52px CTA); row bodies pt-6 pb-6. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-b47a15b:not(#av-z):not(#av-w):not(#av-v):not(#av-u) > .e-con-inner { padding-top: 80px !important; padding-bottom: 72px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-2af64d4:not(#av-z) { margin-top: 24px !important; margin-bottom: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-fb88028, .elementor-element-70f8025):not(#av-z) { margin-top: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-70f8025:not(#av-z):not(#av-w) { gap: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-ca8dc1a:not(#av-z), html body:not(#av-n):not(#av-m) .elementor .elementor-element-ca8dc1a:not(#av-z) a { width: 100% !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-ca8dc1a:not(#av-z) a { min-height: 52px !important; box-sizing: border-box !important; justify-content: center !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-home-capabilities .e-con.av-cap-body:not(#av-z):not(#av-w) { padding-top: 24px !important; padding-bottom: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-home-capabilities .av-cap-copy:not(#av-z) > .elementor-element:first-child { margin-bottom: -8px !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-home-capabilities .av-cap-copy:not(#av-z) > .elementor-element:last-child, html body:not(#av-n):not(#av-m) .elementor .av-home-capabilities .av-cap-copy:not(#av-z) > .elementor-element:last-child a { width: 100% !important; }
  html body:not(#av-n):not(#av-m) .elementor .av-home-capabilities .av-cap-copy:not(#av-z) > .elementor-element:last-child a { min-height: 52px !important; box-sizing: border-box !important; justify-content: center !important; }
}
/* home.tsx work mobile: intro text in the 32px frame inset; md:hidden CTA
   (native c0a5c70) after the gallery, pt-6, inset, full width 52px; gallery pb 48. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-8841584:not(#av-z):not(#av-w) { padding-left: 32px !important; padding-right: 32px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c70:not(#av-z):not(#av-w) { margin: 24px 32px 0 !important; width: calc(100% - 64px) !important; max-width: none !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-953d591:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-bottom: 48px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c70:not(#av-z) :is(.elementor-widget-container, .elementor-button-wrapper, a) { width: 100% !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c70:not(#av-z) a { min-height: 52px !important; box-sizing: border-box !important; justify-content: center !important; }
}
/* home.tsx hero mobile: copy column in the 24px inset; h1 mt-3, details mt-3. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-01a570a:not(#av-z):not(#av-w):not(#av-v) { padding-left: 24px !important; padding-right: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d341430:not(#av-z):not(#av-w):not(#av-v) { margin-top: 12px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-d0d9ecc:not(#av-z):not(#av-w) { margin-top: 12px !important; gap: 12px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d341430:not(#av-z) > .e-con { min-height: calc(min(8cqw, 34px) * 1.05) !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d5f60e0:not(#av-z):not(#av-w) { margin-top: 0 !important; }
}
/* home.tsx agencies mobile: home-agencies-frame top (40 + 32 - 1), copy in the
   32px frame inset, mobile-intro 24px gaps; photo caption on the inset. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-d6aa999:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 71px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-b3f4cdc:not(#av-z):not(#av-w):not(#av-v) { padding-left: 32px !important; padding-right: 32px !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-da574a3, .elementor-element-fd3975d):not(#av-z) { margin-top: 8px !important; }
}
/* testimonial.tsx on Home mobile: section py 40, heading frame py 32, 32px inset. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-aa72c7a:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 40px !important; padding-bottom: 40px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-054e6da:not(#av-z):not(#av-w):not(#av-v) { padding-top: 32px !important; padding-bottom: 32px !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-e2dd6f9, .elementor-element-a1446d1):not(#av-z):not(#av-w) { padding-left: 32px !important; padding-right: 32px !important; }
}
/* home.tsx WorkCard mobile: copy in the 32px frame inset; md:hidden "View Project"
   span (native c0a5c80 in loop item 16894567). */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-11984ba:not(#av-z):not(#av-w):not(#av-v) { padding: 20px 32px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c80:not(#av-z) { margin: 16px 0 0 !important; width: 100% !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c80:not(#av-z) .av-work-mobile-cta { display: inline-flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; gap: 12px !important; box-sizing: border-box !important; width: 100% !important; min-height: 52px !important; padding: 8px 12px !important; border: 1px solid #F68720 !important; font-family: var(--font-futura, "Futura PT", Futura, sans-serif) !important; font-weight: 600 !important; font-size: 11px !important; line-height: 16.5px !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #F68720 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c80:not(#av-z) :is(p, .elementor-widget-container) { margin: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c0a5c80 .av-cta-arrow { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
}
/* footer.tsx mobile: pt-20 under mobile-spacing.css = 2.5rem. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c642f4f:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding-top: 40px !important; } }
/* index.css .homepage-photo-caption: left = centring + outer gutter + content inset. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-fa0e0e5:not(#av-z) { left: calc(max(0px, (100% - 2200px) / 2) + 24px + 32px) !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-fa0e0e5:not(#av-z) { left: calc(max(0px, (100% - 2200px) / 2) + 48px + 40px) !important; } }
/* capabilities.tsx FAQ grid: mobile-content-inset (px-2 below 768px). */
/* capabilities.tsx FAQ heading column: "mobile-intro md:sticky md:top-28 md:pl-4" (no inline padding below md). */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-04afe28:not(#av-z):not(#av-w):not(#av-v) { padding-left: 0 !important; } }
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-a8c18cd:not(#av-z):not(#av-w):not(#av-v) { padding-left: 8px !important; padding-right: 8px !important; } }
/* testimonial.tsx (interior pages) mobile: mobile-intro heading frame py 24. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-d38fc1d:not(#av-z):not(#av-w):not(#av-v) { padding-bottom: 24px !important; } }
/* work.tsx BigProjectCard mobile (loop item 16894575): the copy overlay spans the
   card (a captured mobile offset pushed it -1078px); 32px inset, 20px bottom. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-2d5f378:not(#av-z):not(#av-w):not(#av-v) { left: 0 !important; right: 0 !important; width: auto !important; max-width: none !important; padding: 20px 32px !important; } }
/* big-project-card.css .work-page composition: content pb 1.25rem (2rem md); CTA
   row mt 0 with motion pt 1.25rem (1.75rem md); on fine-hover devices the CTA row
   is 0fr until the card is hovered/focused. Inline inset 40px from 768px. */
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-2d5f378:not(#av-z):not(#av-w):not(#av-v) { padding: 40px 40px 32px !important; } }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-2d5f378:not(#av-z):not(#av-w):not(#av-v) { top: auto !important; bottom: 0 !important; height: auto !important; min-height: 0 !important; justify-content: flex-end !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-5c773b6:not(#av-z):not(#av-w) { display: grid !important; grid-template-rows: 1fr !important; margin-top: 0 !important; padding: 20px 0 0 !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-5c773b6:not(#av-z) > .elementor-element-a5f35aa { min-height: 0 !important; overflow: hidden !important; margin: 0 !important; padding-top: 0 !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-5c773b6:not(#av-z):not(#av-w) { padding-top: 28px !important; } }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-5c773b6:not(#av-z):not(#av-w):not(#av-v) { grid-template-rows: 0fr !important; padding-top: 0 !important; transition: grid-template-rows 450ms cubic-bezier(.4,0,.2,1), padding-top 450ms cubic-bezier(.4,0,.2,1); }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-5c773b6:not(#av-z) > .elementor-element-a5f35aa { opacity: 0; transform: translateY(-.75rem); transition: opacity 450ms cubic-bezier(.4,0,.2,1), transform 450ms cubic-bezier(.4,0,.2,1); }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-5c62e71:is(:hover, :focus-visible) .e-con.elementor-element-5c773b6:not(#av-z):not(#av-w):not(#av-v) { grid-template-rows: 1fr !important; padding-top: 20px !important; }
  @media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-5c62e71:is(:hover, :focus-visible) .e-con.elementor-element-5c773b6:not(#av-z):not(#av-w):not(#av-v) { padding-top: 28px !important; } }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-5c62e71:is(:hover, :focus-visible) .elementor-element-5c773b6:not(#av-z) > .elementor-element-a5f35aa { opacity: 1; transform: translateY(0); }
}
/* interior-hero-frame mobile: 32px on every side (inline padding was being lost). */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con:is(.elementor-element-a215b91, .elementor-element-7088231, .elementor-element-762d040):not(#av-z):not(#av-w):not(#av-v) { padding: 32px !important; row-gap: 24px !important; } }
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-77fc860:not(#av-z):not(#av-w):not(#av-v) { row-gap: 24px !important; } }
/* cta-heading.tsx mobile: <span class="md:hidden">{lines.join(" ")}</span>, one
   flowing line of text instead of one row per line. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937) h2.font-clash:not(#av-z) { display: block !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937) h2.font-clash:not(#av-z) > .e-con, html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937) h2.font-clash:not(#av-z) > .e-con > .elementor-element, html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937) h2.font-clash:not(#av-z) > .e-con > .elementor-element * { display: inline !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con:is([class^="relative py-32 md:py-44 bg-[#0E1320]"], .elementor-element-0343937) h2.font-clash:not(#av-z) > .e-con:not(:last-child)::after { content: " "; }
}
/* testimonial.tsx layout="static" on Careers (native 1156f6e): pt-14/16 pb-28/36
   (mobile 40/40); heading frame content py-6 / pt-8 pb-14 + mb-14 (mobile mb-10);
   grid px-8/16, 1 col (3 from 1024px), gap 24/32; card py-2, head mb-5, author mt-8. */
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-1156f6e:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding: 64px 0 144px !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-c232433:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding: 0 !important; gap: 0 !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-2183a0d:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { margin: 32px 0 0 !important; padding: 0 64px !important; line-height: 17px !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-902b318:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { margin: 24px 0 0 !important; padding: 0 64px !important; max-width: none !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-902b318:not(#av-z):not(#av-w):not(#av-v):not(#av-u) .elementor-heading-title { font-size: var(--heading-h2) !important; line-height: 1.02 !important; letter-spacing: -.02em !important; text-transform: uppercase !important; color: #E6E7E8 !important; max-width: 56rem; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-902b318:not(#av-z):not(#av-w):not(#av-v):not(#av-u) .av-t-line { display: block; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-902b318:not(#av-z):not(#av-w):not(#av-v):not(#av-u) .av-t-accent { color: #F68720; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-5da8225:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { margin-top: 110px !important; padding: 0 64px !important; display: grid !important; grid-template-columns: 1fr !important; gap: 32px !important; }
@media (min-width: 1024px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-5da8225:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
html body:not(#av-n):not(#av-m) .elementor .e-con:is(.elementor-element-903a489, .elementor-element-96ca599, .elementor-element-c77ecad):not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding: 8px 0 !important; margin: 0 !important; gap: 0 !important; border: 0 !important; background: #181F2E !important; min-height: 320px !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-34bf995, .elementor-element-89e4f4e, .elementor-element-c6e284c):not(#av-z):not(#av-w):not(#av-v):not(#av-u) { margin: 0 0 20px !important; padding: 0 !important; width: 100% !important; display: flex !important; align-items: flex-start !important; justify-content: space-between !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-34bf995, .elementor-element-89e4f4e, .elementor-element-c6e284c):not(#av-z):not(#av-w):not(#av-v):not(#av-u) p, html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-34bf995, .elementor-element-89e4f4e, .elementor-element-c6e284c):not(#av-z):not(#av-w):not(#av-v):not(#av-u) .elementor-widget-container { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; margin: 0 !important; width: 100% !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-34bf995, .elementor-element-89e4f4e, .elementor-element-c6e284c):not(#av-z):not(#av-w):not(#av-v):not(#av-u) .av-t-num { font-family: Futura, "Futura PT", sans-serif !important; font-weight: 600 !important; font-size: 10px !important; line-height: 15px !important; letter-spacing: .25em !important; color: rgb(230 231 232 / .4) !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-34bf995, .elementor-element-89e4f4e, .elementor-element-c6e284c):not(#av-z):not(#av-w):not(#av-v):not(#av-u) .av-t-mark { font-family: "Kumbh Sans", sans-serif !important; font-weight: 400 !important; font-size: 60px !important; line-height: 1 !important; color: #F68720 !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-7cf931b, .elementor-element-69ebb4e, .elementor-element-f17588f):not(#av-z):not(#av-w):not(#av-v):not(#av-u) { flex: 1 1 auto !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-7cf931b, .elementor-element-69ebb4e, .elementor-element-f17588f):not(#av-z):not(#av-w):not(#av-v):not(#av-u), html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-7cf931b, .elementor-element-69ebb4e, .elementor-element-f17588f):not(#av-z):not(#av-w):not(#av-v):not(#av-u) * { font-family: "Kumbh Sans", sans-serif !important; font-weight: 700 !important; font-size: 20px !important; line-height: 1.4 !important; letter-spacing: -.025em !important; text-transform: uppercase !important; color: #E6E7E8 !important; margin: 0 !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-740d240, .elementor-element-fd4f4d9, .elementor-element-4e82ec2):not(#av-z):not(#av-w):not(#av-v):not(#av-u) { margin: 32px 0 0 !important; padding: 0 !important; width: 100% !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-740d240, .elementor-element-fd4f4d9, .elementor-element-4e82ec2):not(#av-z):not(#av-w):not(#av-v):not(#av-u)::before { content: ""; display: block; height: 1px; margin-bottom: 12px; background: linear-gradient(#F68720, #F68720) 0 0 / 40px 1px no-repeat, rgb(14 19 32 / .1); }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-740d240, .elementor-element-fd4f4d9, .elementor-element-4e82ec2):not(#av-z):not(#av-w):not(#av-v):not(#av-u), html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-740d240, .elementor-element-fd4f4d9, .elementor-element-4e82ec2):not(#av-z):not(#av-w):not(#av-v):not(#av-u) * { font-family: Futura, "Futura PT", sans-serif !important; font-weight: 600 !important; font-size: 11px !important; line-height: 17.875px !important; letter-spacing: .25em !important; text-transform: uppercase !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-740d240, .elementor-element-fd4f4d9, .elementor-element-4e82ec2):not(#av-z):not(#av-w):not(#av-v):not(#av-u) .av-t-name { display: block; margin: 0 !important; color: #E6E7E8 !important; }
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-740d240, .elementor-element-fd4f4d9, .elementor-element-4e82ec2):not(#av-z):not(#av-w):not(#av-v):not(#av-u) .av-t-role { display: block; color: rgb(230 231 232 / .7) !important; }
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-1156f6e:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding: 40px 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-2183a0d:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { margin-top: 24px !important; padding: 0 32px !important; line-height: 15px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-902b318:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { padding: 0 32px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-5da8225:not(#av-z):not(#av-w):not(#av-v):not(#av-u) { margin-top: 64px !important; padding: 0 32px !important; gap: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con:is(.elementor-element-903a489, .elementor-element-96ca599, .elementor-element-c77ecad):not(#av-z):not(#av-w):not(#av-v):not(#av-u) { min-height: 300px !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-34bf995, .elementor-element-89e4f4e, .elementor-element-c6e284c):not(#av-z):not(#av-w):not(#av-v):not(#av-u) .av-t-mark { font-size: 48px !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-7cf931b, .elementor-element-69ebb4e, .elementor-element-f17588f):not(#av-z):not(#av-w):not(#av-v):not(#av-u), html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-7cf931b, .elementor-element-69ebb4e, .elementor-element-f17588f):not(#av-z):not(#av-w):not(#av-v):not(#av-u) * { font-size: 18px !important; }
}
/* Careers mobile hero rule: source sits 40px above the hero bottom (522 of 562). */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-512d6fc:not(#av-z):not(#av-w):not(#av-v) { top: calc(100% - 40px) !important; bottom: auto !important; }
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-23d7988, .elementor-element-953f7f7):not(#av-z):not(#av-w):not(#av-v) { top: calc(100% - 40px) !important; bottom: auto !important; }
}
/* Gallery mobile filter bar: source md:hidden py-6 (24/24). */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-88db7c6:not(#av-z):not(#av-w):not(#av-v) { padding-top: 24px !important; padding-bottom: 24px !important; } }
/* About guide rules = source (about.tsx frames): heading rule 73 / 9 (mobile) from the
   frame-bottom section top; its closing rule on the section bottom; principles top rule
   72 / 40 and the desktop principles-frame closing rule (missing natively). */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-27e9a83:not(#av-z):not(#av-w):not(#av-v) { top: 73px !important; }
/* about.tsx leadership: the top CrossMarkers share --ot-y1 with the heading rule; verticals run top 0 to bottom 0. */
:is(html body:not(#av-n):not(#av-m) .elementor .elementor-element-5c881ea, html body:not(#av-n):not(#av-m) .elementor .elementor-element-708afb1):not(#av-z):not(#av-w):not(#av-v) { top: 73px !important; bottom: auto !important; }
:is(html body:not(#av-n):not(#av-m) .elementor .elementor-element-fc16668, html body:not(#av-n):not(#av-m) .elementor .elementor-element-2ad293c):not(#av-z):not(#av-w):not(#av-v) { top: 0 !important; bottom: 0 !important; height: auto !important; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-ad993ef:not(#av-z):not(#av-w):not(#av-v)::after { content: ""; position: absolute; left: 0; right: 0; top: 72px; height: 1px; border-top: 1px dashed rgba(232, 240, 255, .3); pointer-events: none; z-index: 1; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-dc05f25:not(#av-z):not(#av-w):not(#av-v)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; border-top: 1px dashed rgba(232, 240, 255, .3); pointer-events: none; } }
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-27e9a83:not(#av-z):not(#av-w):not(#av-v) { top: 9px !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor .elementor-element-5c881ea, html body:not(#av-n):not(#av-m) .elementor .elementor-element-708afb1):not(#av-z):not(#av-w):not(#av-v) { top: 9px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-ea5a758:not(#av-z):not(#av-w):not(#av-v) { top: auto !important; bottom: 0 !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-ad993ef:not(#av-z):not(#av-w):not(#av-v)::after { top: 40px; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-91a789d:not(#av-z):not(#av-w):not(#av-v) { top: auto !important; bottom: 0 !important; }
}
/* About "How we got here" mobile intro: eyebrow mb-6 (24) and copy mt-6 (24). */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-15a6f1c:not(#av-z):not(#av-w):not(#av-v) { row-gap: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-e64d583:not(#av-z):not(#av-w):not(#av-v) { row-gap: 24px !important; }
}
/* Careers hero CTA: source cta-button is 50px tall on desktop (arrow does not grow the row). */
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-5359866:not(#av-z):not(#av-w):not(#av-v) .elementor-button { height: 50px !important; } }
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-5359866:not(#av-z):not(#av-w):not(#av-v) .elementor-button { min-height: 52px !important; } }
/* Careers: hero rule 56px above the hero bottom on desktop; testimonial heading-frame
   rules (source testimonial-heading-frame top/bottom guides) at 60/298 (desktop), 47/202 (mobile). */
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-512d6fc, .elementor-element-23d7988, .elementor-element-953f7f7):not(#av-z):not(#av-w):not(#av-v) { top: calc(100% - 56px) !important; bottom: auto !important; } }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-1156f6e:not(#av-z):not(#av-w):not(#av-v)::before, html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-1156f6e:not(#av-z):not(#av-w):not(#av-v)::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; border-top: 1px dashed rgba(232, 240, 255, .3); pointer-events: none; z-index: 1; background: none; opacity: 1; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-1156f6e:not(#av-z):not(#av-w):not(#av-v)::before { top: 64px; }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-1156f6e:not(#av-z):not(#av-w):not(#av-v)::after { top: 302px; }
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-1156f6e:not(#av-z):not(#av-w):not(#av-v)::before { top: 40px; }
  html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-1156f6e:not(#av-z):not(#av-w):not(#av-v)::after { top: 195px; }
}
/* Careers open positions, mobile: eyebrow mb-6 + rule mb-6 (mobile-intro-rule), and
   full-width 52px "Apply now" buttons (cta-button, gap-3). */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-3add8d9:not(#av-z):not(#av-w):not(#av-v) { margin-top: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-ffe6db3:not(#av-z):not(#av-w):not(#av-v) { margin-top: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-98b3638:not(#av-z):not(#av-w):not(#av-v) .elementor-widget:has(> a), html body:not(#av-n):not(#av-m) .elementor .elementor-element-98b3638:not(#av-z):not(#av-w):not(#av-v) .elementor-widget:has(a) { width: 100% !important; max-width: none !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-98b3638:not(#av-z):not(#av-w):not(#av-v) a { width: 100% !important; min-height: 52px !important; justify-content: center !important; gap: 12px !important; box-sizing: border-box !important; }
}
/* Careers thrive top rule: source 39px below the section top on mobile. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-a731079:not(#av-z):not(#av-w):not(#av-v) { top: 39px !important; } }
/* careers.tsx Thrive: the upper CrossMarkers and the lower verticals start at --wt-y1 (= the rule above); the short
   upper extensions end there (top --wt-y1 - 30). */
@media (max-width: 767px) {
  :is(html body:not(#av-n):not(#av-m) .elementor .elementor-element-ae71c87, html body:not(#av-n):not(#av-m) .elementor .elementor-element-bc330f4, html body:not(#av-n):not(#av-m) .elementor .elementor-element-c122871, html body:not(#av-n):not(#av-m) .elementor .elementor-element-6135a02):not(#av-z):not(#av-w):not(#av-v) { top: 39px !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor .elementor-element-c38ab24, html body:not(#av-n):not(#av-m) .elementor .elementor-element-4d5d9c9):not(#av-z):not(#av-w):not(#av-v) { top: 9px !important; }
}
/* Project template mobile rhythm (work-project.tsx: h1/p mt-6, rule mt-4 after the
   eyebrow row, h2 mt-8 less the rule) — the mobile margins had been scaled to 8px. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-6aaa492, .elementor-element-4a1ba7c) { margin-top: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-f79f3e6 + .elementor-element { margin-top: 24px !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-6ab478f { margin-top: 24px !important; }
}
/* Project meta strip: client words keep their intrinsic width; agency takes the rest. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-6cf2938 > .elementor-element:first-child { min-width: min-content !important; flex-shrink: 0 !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-6cf2938 > .elementor-element:last-child { min-width: 0 !important; }
/* Project template (work-project.tsx 0aa5cdf3): first/last full-width media
   slots are 16:10 landscape on mobile; desktop and middle portraits unchanged. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .av-case-media-grid > .case-img[class*="md:col-span-2"], html body:not(#av-n):not(#av-m) .elementor [class*="av-case-m"] > .case-img[class*="md:col-span-2"] { aspect-ratio: 16 / 10 !important; height: auto !important; min-height: 0 !important; }
}
/* big-project-card.tsx + index.css (.work-page): discipline pill left = work-intro-inset - .75rem
   (2rem / 2.5rem from 768px); CTA is span.cta-button inline-flex gap .75rem with the 18px CTAArrow. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-570c3f7:not(#av-z):not(#av-w) { left: calc(2rem - .75rem) !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-570c3f7:not(#av-z):not(#av-w) { left: calc(2.5rem - .75rem) !important; } }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-a5f35aa:not(#av-z) { display: block !important; font-size: 16px !important; line-height: 24px !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-a5f35aa .av-cta-span { display: inline-flex; align-items: center; gap: .75rem; font-size: 11px; line-height: 16.5px; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-a5f35aa .av-cta-arrow { display: block; width: 18px; height: 18px; flex: 0 0 18px; align-self: center; pointer-events: none; transition: transform 200ms cubic-bezier(.4,0,.2,1); }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-5c62e71:hover .elementor-element-a5f35aa .av-cta-arrow { transform: translateX(4px); }
/* home.tsx WorkCard (loop 16894567): .homepage-work-label left = content inset - .75rem (32/40px inset);
   index.css mobile .work-card-overlay contrast gradient (owner 50c15f4). */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-e623380:not(#av-z):not(#av-w) { left: calc(2rem - .75rem) !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-e623380:not(#av-z):not(#av-w) { left: calc(2.5rem - .75rem) !important; } }
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-50c15f4:not(#av-z):not(#av-w) { background: linear-gradient(180deg, rgb(0 0 0 / 18%) 0%, rgb(0 0 0 / 55%) 40%, rgb(0 0 0 / 90%) 65%, rgb(0 0 0 / 96%) 100%) !important; } }
/* testimonial.tsx heading frame guides (Home 0d9405a): horizontals at the frame top/bottom (inset 0 layer);
   verticals run from -9999px to the frame bottom. Mobile had captured desktop-scaled offsets. */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-c02bfd2:not(#av-z):not(#av-w) { top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: auto !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-95e6992:not(#av-z):not(#av-w) { top: -9999px !important; bottom: 0 !important; height: auto !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-e72dbf6:not(#av-z):not(#av-w) { top: 0 !important; bottom: auto !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-8bd1c68:not(#av-z):not(#av-w) { top: auto !important; bottom: 0 !important; }
  :is(html body:not(#av-n):not(#av-m) .elementor .elementor-element-d1a73ab, html body:not(#av-n):not(#av-m) .elementor .elementor-element-e4e8ea3):not(#av-z):not(#av-w) { top: 0 !important; bottom: 0 !important; height: auto !important; }
}
/* testimonial.tsx h2 line spans (span.block) inherit the h2 line-height (Home e2dd6f9). */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-e2dd6f9 > .elementor-widget:not(#av-z), html body:not(#av-n):not(#av-m) .elementor .elementor-element-e2dd6f9 > .elementor-widget:not(#av-z) :is(.elementor-widget-container, p) { line-height: inherit !important; }
/* index.css (max-width: 767px) footer mailto: clamp(0.875rem, 4.3vw, 1.6rem), lh 1.2, nowrap;
   address span inherits, arrow span .6em (text-[0.6em]). */
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) footer a[href^="mailto:"]:not(#av-z):not(#av-w) { min-width: 0 !important; max-width: 100% !important; width: auto !important; align-self: flex-start !important; font-size: clamp(0.875rem, 4.3vw, 1.6rem) !important; line-height: 1.2 !important; white-space: nowrap !important; letter-spacing: -.02em !important; }
  html body:not(#av-n):not(#av-m) footer a[href^="mailto:"]:not(#av-z) > .elementor-element:first-child, html body:not(#av-n):not(#av-m) footer a[href^="mailto:"]:not(#av-z) > .elementor-element:first-child * { font-size: 1em !important; line-height: inherit !important; letter-spacing: inherit !important; white-space: nowrap !important; flex-shrink: 0 !important; }
  html body:not(#av-n):not(#av-m) footer a[href^="mailto:"]:not(#av-z) > .elementor-element:last-child { font-size: .6em !important; line-height: 1.2 !important; letter-spacing: inherit !important; flex-shrink: 0 !important; }
  html body:not(#av-n):not(#av-m) footer a[href^="mailto:"]:not(#av-z) > .elementor-element:last-child * { font-size: inherit !important; line-height: inherit !important; letter-spacing: inherit !important; }
}
/* cta-arrow.tsx: 18px svg, does not shrink; group-hover nudge 4px. */
html body:not(#av-n):not(#av-m) .av-cta-arrow { display: inline-block; width: 18px; height: 18px; flex: 0 0 18px; vertical-align: middle; transition: transform 200ms cubic-bezier(.4,0,.2,1); }
html body:not(#av-n):not(#av-m) a:hover > .av-cta-arrow, html body:not(#av-n):not(#av-m) a:hover .elementor-button-text > .av-cta-arrow, html body:not(#av-n):not(#av-m) button:hover .av-cta-arrow { transform: translateX(4px); }
/* index.css --cta-overlay (max-width: 767px): vertical scrim across the full-width mobile copy.
   Closing-banner / image-panel overlays on Home, About, Capabilities, Careers, Work, Gallery, Contact,
   Start a Project and the Project template. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-element-224ce24:not(#av-z):not(#av-w), html body:not(#av-n):not(#av-m) .elementor .elementor-element-3f57b51:not(#av-z):not(#av-w), html body:not(#av-n):not(#av-m) .elementor .elementor-element-428d43d:not(#av-z):not(#av-w), html body:not(#av-n):not(#av-m) .elementor .elementor-element-54cd086:not(#av-z):not(#av-w), html body:not(#av-n):not(#av-m) .elementor .elementor-element-62ef5f5:not(#av-z):not(#av-w), html body:not(#av-n):not(#av-m) .elementor .elementor-element-7f7aa37:not(#av-z):not(#av-w), html body:not(#av-n):not(#av-m) .elementor .elementor-element-8c2aa33:not(#av-z):not(#av-w), html body:not(#av-n):not(#av-m) .elementor .elementor-element-76bacf6:not(#av-z):not(#av-w), html body:not(#av-n):not(#av-m) .elementor .elementor-element-6767fe5:not(#av-z):not(#av-w) { background: linear-gradient(180deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.78) 70%, rgba(0,0,0,0.65) 100%) !important; } }
/* cta-button (index.css + gap-3): label and CTAArrow 12px apart; mobile: full column width, min 52px, centred. */
html body:not(#av-n):not(#av-m) .elementor:not(.elementor-location-header) .elementor-button-text:has(> .av-cta-arrow) { display: inline-flex !important; align-items: center !important; gap: .75rem !important; }
html body:not(#av-n):not(#av-m) .elementor:not(.elementor-location-header) .elementor-button-content-wrapper:has(.av-cta-arrow) { gap: .75rem !important; align-items: center !important; }
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-button:has(.av-cta-arrow):not(#av-z):not(.elementor-element-297c31b):not(header *) { width: 100% !important; max-width: 100% !important; }
  html body:not(#av-n):not(#av-m) .elementor:not(.elementor-location-header):not(.elementor-location-footer) a.elementor-button:has(.av-cta-arrow):not(#av-z):not(.elementor-element-297c31b *):not(header *) { width: 100% !important; max-width: 100% !important; min-width: 0 !important; min-height: 52px !important; box-sizing: border-box !important; justify-content: center !important; text-align: center !important; }
}
/* careers.tsx hero CTA sits inside the px-2 frame: column width less both 8px insets. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor .elementor-widget-button.elementor-element-5359866:not(#av-z):not(#av-w) { width: calc(100% - 16px) !important; } }
/* about.tsx "who" grid (b75b6cb) is .about-intro-inset: same 40px inline padding as be3da18 from 768px. */
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-b75b6cb:not(#av-z):not(#av-w):not(#av-v) { padding-left: 40px !important; padding-right: 40px !important; } }
/* guiding-principles.tsx (blue, About ad993ef): frame verticals at --principles-frame-inset (2rem / 4rem,
   capped at 2200px) full height, plus the two CrossMarkers on the heading rule (72 / 40 from the top). */
html body:not(#av-n):not(#av-m) .elementor-element-ad993ef > .av-principles-frame { --pf-inset: calc(max(0px, (100% - 2200px) / 2) + 2rem); position: absolute; inset: 0; pointer-events: none; z-index: 0; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor-element-ad993ef > .av-principles-frame { --pf-inset: calc(max(0px, (100% - 2200px) / 2) + 4rem); } }
html body:not(#av-n):not(#av-m) .av-principles-frame > .av-pf-v { position: absolute; top: 0; bottom: 0; width: 1px; border-left: 1px dashed rgba(232, 240, 255, .3); }
html body:not(#av-n):not(#av-m) .av-principles-frame > .av-pf-v:first-child { left: var(--pf-inset); }
html body:not(#av-n):not(#av-m) .av-principles-frame > .av-pf-v + .av-pf-v { left: calc(100% - var(--pf-inset)); }
html body:not(#av-n):not(#av-m) .av-principles-frame > svg { position: absolute; width: 14px; height: 14px; margin: -7px 0 0 -7px; top: 40px; color: #F68720; z-index: 10; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .av-principles-frame > svg { top: 72px; } }
html body:not(#av-n):not(#av-m) .av-principles-frame > svg.av-pf-l { left: var(--pf-inset); }
html body:not(#av-n):not(#av-m) .av-principles-frame > svg.av-pf-r { left: calc(100% - var(--pf-inset)); }
/* work.tsx ProjectList: section-height verticals at left/right-6 (md:12) of the 2200px-capped inner (z-20),
   and a full-viewport hero-guide-h on each card's bottom (z-[2]). */
html body:not(#av-n):not(#av-m) .elementor-element-126c3d2 > .av-work-frame { position: absolute; top: 0; bottom: 0; left: 50%; width: 100%; max-width: 2200px; transform: translateX(-50%); pointer-events: none; z-index: 20; }
html body:not(#av-n):not(#av-m) .av-work-frame > i { position: absolute; top: 0; bottom: 0; width: 0; border-left: 1px dashed rgba(232, 240, 255, .3); left: 24px; }
html body:not(#av-n):not(#av-m) .av-work-frame > i + i { left: auto; right: 24px; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .av-work-frame > i { left: 48px; } html body:not(#av-n):not(#av-m) .av-work-frame > i + i { left: auto; right: 48px; } }
html body:not(#av-n):not(#av-m) .elementor-element-126c3d2 .e-loop-item.elementor-16894575 { position: relative; }
html body:not(#av-n):not(#av-m) .elementor-element-126c3d2 .e-loop-item.elementor-16894575::after { content: ""; position: absolute; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw); height: 0; border-top: 1px dashed rgba(232, 240, 255, .3); pointer-events: none; z-index: 2; }
/* testimonial.tsx: the heading frame's vertical guides (top -9999 → frame bottom, clipped by the section's
   overflow-hidden) at the hero frame edges (--ts-x1/--ts-x2 = px-6 / md:px-12 of the 2200px container). */
html body:not(#av-n):not(#av-m) .elementor-element-1156f6e > .av-ts-frame { position: absolute; top: 0; height: 196px; left: 0; right: 0; pointer-events: none; z-index: 0; --ts-x: calc(max(0px, (100% - 2200px) / 2) + 24px); }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor-element-1156f6e > .av-ts-frame { height: 303px; --ts-x: calc(max(0px, (100% - 2200px) / 2) + 48px); } }
html body:not(#av-n):not(#av-m) .av-ts-frame > i { position: absolute; top: 0; bottom: 0; width: 0; border-left: 1px dashed rgba(232, 240, 255, .3); left: var(--ts-x); }
html body:not(#av-n):not(#av-m) .av-ts-frame > i + i { left: calc(100% - var(--ts-x)); }
/* testimonial.tsx: four orange CrossMarkers at the heading frame corners (frame 40→195 / md 64→302). */
html body:not(#av-n):not(#av-m) .av-ts-frame > svg { position: absolute; width: 14px; height: 14px; margin: -7px 0 0 -7px; color: #F68720; z-index: 10; top: 40px; left: var(--ts-x); }
html body:not(#av-n):not(#av-m) .av-ts-frame > svg.av-ts-b { top: 195px; }
html body:not(#av-n):not(#av-m) .av-ts-frame > svg.av-ts-r { left: calc(100% - var(--ts-x)); }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .av-ts-frame > svg { top: 64px; } html body:not(#av-n):not(#av-m) .av-ts-frame > svg.av-ts-b { top: 302px; } }
/* careers.tsx hero: hero-guide-v runs top 0 → bottom 0 of the hero section. */
:is(html body:not(#av-n):not(#av-m) .elementor .elementor-element-aef3e13, html body:not(#av-n):not(#av-m) .elementor .elementor-element-fc86659):not(#av-z):not(#av-w):not(#av-v) { top: 0 !important; bottom: 0 !important; height: auto !important; }
/* Text colours = source 0aa5cdf3: careers.tsx hero copy text-[#F5F6F7]; big-project-card.tsx description text-white;
   headquarters-parallax.tsx copy text-[#F5F6F7] below md; index.css (max-width: 767px) .work-card-description p and
   .fw-card-overview p color #fff. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-20f7ca1:not(#av-z), html body:not(#av-n):not(#av-m) .elementor .elementor-element-20f7ca1:not(#av-z) p { color: #F5F6F7 !important; }
html body:not(#av-n):not(#av-m) .elementor .elementor-element-65b9ed4:not(#av-z), html body:not(#av-n):not(#av-m) .elementor .elementor-element-65b9ed4:not(#av-z) p { color: #fff !important; }
@media (max-width: 767px) {
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-adf8a1b:not(#av-z), html body:not(#av-n):not(#av-m) .elementor .elementor-element-adf8a1b:not(#av-z) p, html body:not(#av-n):not(#av-m) .elementor .elementor-element-2a8b9b0:not(#av-z), html body:not(#av-n):not(#av-m) .elementor .elementor-element-2a8b9b0:not(#av-z) p { color: #F5F6F7 !important; }
  html body:not(#av-n):not(#av-m) .elementor .elementor-element-d8fa750:not(#av-z), html body:not(#av-n):not(#av-m) .elementor .elementor-element-d8fa750:not(#av-z) p, html body:not(#av-n):not(#av-m) .elementor .elementor-element-da85f3c:not(#av-z), html body:not(#av-n):not(#av-m) .elementor .elementor-element-da85f3c:not(#av-z) p { color: #fff !important; }
}
/* big-project-card.tsx discipline pill: bg-[#0E1320]/85 backdrop-blur-sm. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-570c3f7:not(#av-z):not(#av-w) { background-color: rgb(14 19 32 / .85) !important; width: auto !important; max-width: none !important; }
/* Project template closing banner (case-study.tsx ClosingCTA): closing-cta.css body mt (measured React 24px <768, 1.25rem ≥768), actions mt 1.75rem. */
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-b59b9c8:not(#av-z):not(#av-w):not(#av-v) > .e-con > .elementor-element:nth-child(2) { margin-top: 24px !important; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-b59b9c8:not(#av-z):not(#av-w):not(#av-v) > .e-con > .elementor-element:nth-child(2) { margin-top: 1.25rem !important; } }
html body:not(#av-n):not(#av-m) .elementor .e-con.elementor-element-b59b9c8:not(#av-z):not(#av-w):not(#av-v) > .e-con > .elementor-element:nth-child(3) { margin-top: 1.75rem !important; }
/* capabilities.tsx section verticals: height calc(100% + 80px), bottom auto at every width (baked tablet/mobile px heights). */
html body:not(#av-n):not(#av-m) .elementor :is(.elementor-element-e679b4e, .elementor-element-1fb63ac):not(#av-z):not(#av-w) { height: calc(100% + 80px) !important; bottom: auto !important; }
/* gallery.tsx grid bottom rule: "absolute left-1/2 bottom-0" (no baked top) at every width. */
html body:not(#av-n):not(#av-m) .elementor .elementor-element-7cc27a7:not(#av-z):not(#av-w) { top: auto !important; bottom: 0 !important; }
/* capabilities.tsx image column marks (JS-injected .av-capimg-marks = "absolute inset-0 pointer-events-none z-20 md:hidden"). */
html body:not(#av-n):not(#av-m) .elementor .av-capimg:not(#av-z) { overflow: visible !important; }
html body:not(#av-n):not(#av-m) .av-capimg-marks { position: absolute; inset: 0; pointer-events: none; z-index: 20; }
html body:not(#av-n):not(#av-m) .av-capimg-marks > svg { position: absolute; width: 14px; height: 14px; margin: -7px 0 0 -7px; color: #F68720; top: 0; left: 0; }
html body:not(#av-n):not(#av-m) .av-capimg-marks > svg.av-capimg-r { left: 100%; }
@media (min-width: 768px) { html body:not(#av-n):not(#av-m) .av-capimg-marks { display: none; } }
/* testimonial.tsx heading line spans inherit the h2 leading (WP text-editor lines baked 1.02). */
html body:not(#av-n):not(#av-m) .elementor-1517457 .elementor-element-13a51b9:not(#av-z), html body:not(#av-n):not(#av-m) .elementor-1517457 .elementor-element-454c806:not(#av-z), html body:not(#av-n):not(#av-m) .elementor-1517457 .elementor-element-13a51b9:not(#av-z) *, html body:not(#av-n):not(#av-m) .elementor-1517457 .elementor-element-454c806:not(#av-z) * { line-height: inherit !important; }
/* mobile-spacing.css: .mobile-intro > * {margin-block:0}; rule + next sibling margin-top = --mobile-intro-gap (24px). Capabilities FAQ intro: eyebrow 5933434 is a block child (not an inline in a 24px line box), rule 8e5d345. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor-1517457 .elementor-element-5933434:not(#av-z) { display: block !important; } html body:not(#av-n):not(#av-m) .elementor-1517457 .elementor-element-8e5d345:not(#av-z) { margin-top: 24px !important; margin-bottom: 0 !important; } html body:not(#av-n):not(#av-m) .elementor-1517457 .elementor-element-8e5d345:not(#av-z) + * { margin-top: 24px !important; } }
/* mobile-spacing.css: footer [class~=mt-12] -> margin-top var(--mobile-content-gap) (32px) below 768. Footer bottom bar d602765. */
@media (max-width: 767px) { html body:not(#av-n):not(#av-m) .elementor-1517445 .elementor-element-d602765:not(#av-z) { margin-top: 32px !important; } }
/* site-footer.tsx copyright: flex flex-wrap items-center gap-x-3 gap-y-1 over three editable spans; separator text-white/60. Native footer 92c4e15. */
html body:not(#av-n):not(#av-m) .elementor-1517445 .elementor-element-92c4e15:not(#av-z) { display: flex !important; flex-wrap: wrap !important; align-items: center !important; column-gap: 12px !important; row-gap: 4px !important; } html body:not(#av-n):not(#av-m) .elementor-1517445 .elementor-element-92c4e15:not(#av-z) > [aria-hidden] { color: rgb(255 255 255 / .6) !important; }
/* about.tsx, capabilities.tsx, gallery.tsx, contact.tsx render the copyright as ONE span ("... / ...") in the same flex row: same editable spans, inline flow, uniform colour. */
html body:is(.page-id-1517453,.page-id-1517457,.page-id-1517469,.page-id-1517465):not(#av-n):not(#av-m) .elementor-1517445 .elementor-element-92c4e15:not(#av-z) { display: block !important; } html body:is(.page-id-1517453,.page-id-1517457,.page-id-1517469,.page-id-1517465):not(#av-n):not(#av-m) .elementor-1517445 .elementor-element-92c4e15:not(#av-z) > [aria-hidden] { color: inherit !important; }
