.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --ms-cream:#F4F0E8; --ms-ink:#231F20; --ms-muted:#8C8780; --ms-font-display:Lexend Zetta; --ms-font-body:Lexend; }
/* Start custom CSS *//* minutestreet.tv — shared Custom CSS (homepage + project pages). Built by tools/build-css.mjs.
   ".elementor-kit-6" = the page wrapper (.elementor-<id>). Hooks are the ms-* global classes.
   SIZING: mockups are desktop; --u = 1% of the viewport (capped at 16 px past 1600 px).
   n u = mockup px / mockup width * 100; max(…px, …) keeps phones readable. */

/* Roc Grotesk (licensed webfont files, uploaded to Elementor → Custom Fonts as 5 families × 9 weights, 2026-10-06).
   Loaded here directly because the design sets fonts in CSS, not in Elementor typography controls (same family names/weights). */
@font-face { font-family: "Roc Grotesk ExtraWide"; font-weight: 700; font-style: normal; font-display: swap;
  src: url("https://minutestreet.tv/wp-content/uploads/2026/10/roc-grotesk-extra-wide-extra-bold.woff2") format("woff2"); }
@font-face { font-family: "Roc Grotesk Wide"; font-weight: 700; font-style: normal; font-display: swap;
  src: url("https://minutestreet.tv/wp-content/uploads/2026/10/roc-grotesk-wide-extra-bold.woff2") format("woff2"); }
@font-face { font-family: "Roc Grotesk"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("https://minutestreet.tv/wp-content/uploads/2026/10/roc-grotesk-regular.woff2") format("woff2"); }
@font-face { font-family: "Roc Grotesk"; font-weight: 800; font-style: normal; font-display: swap;   /* ExtraBold: the card "% AI" tags (user 2026-10-13) */
  src: url("https://minutestreet.tv/wp-content/uploads/2026/10/roc-grotesk-extra-bold.woff2") format("woff2"); }

:root .elementor-kit-6 {
  --cream: var(--ms-cream, #F4F0E8);
  --ink: var(--ms-ink, #231F20);
  --muted: var(--ms-muted, #8C8780);
  --tint: #1800ff;   /* project card hover: 65% opacity, normal blend (designer, 2026-10-07) */
  --display: "Roc Grotesk ExtraWide", "Lexend Zetta", "Arial Black", sans-serif;   /* bold texts: ExtraWide ExtraBold */
  --display-w: 700;   /* = the ExtraBold slot (Elementor weights: Thin 100 … Bold 600, ExtraBold 700, Black 800, Heavy 900) */
  --display-wide: "Roc Grotesk Wide", "Roc Grotesk ExtraWide", "Arial Black", sans-serif;   /* Wide ExtraBold (use with --display-w): small bold labels, e.g. project client/technique values */
  --body: "Roc Grotesk", "Lexend", system-ui, sans-serif;   /* normal texts: Regular */
  --body-w: 400;
  --u: min(1vw, 16px);
  --g: max(0px, calc((100vw - 1600px) / 2));
  --tile: calc(var(--content) / 20);   /* ONE pixel tile everywhere (content width = 20 tiles): edges, card band, team overlay, menu.
     Team photos = 4 tiles (phones 10). The site-chrome script stretches it by a hair per tiled box (cards, edges, menu)
     so every box holds whole tiles only — never a half tile or a gap at the sides */
  --edge-h: calc(4 * var(--tile));   /* pixel separators: 4 tile rows */
  --bar-h: max(50.4px, calc(5.49 * var(--u)));   /* pinned header bar — always visible (user 2026-10-09); the first section of each page starts below it */
  --fs-h2: max(26px, calc(5.6 * var(--u)));
  --fs-body: max(13px, calc(2.6 * var(--u)));
  --fs-small: max(13px, calc(1.55 * var(--u)));
  --fs-sub: max(12px, calc(2.4 * var(--u)));
  /* designer grid (all pages): 3 columns, margin 5.76% · column 26.69% · gutter 4.2% (of --u-scaled width) */
  --m: calc(5.76 * var(--u));
  --col: calc(26.69 * var(--u));
  --gut: calc(4.2 * var(--u));
  --span2: calc(2 * var(--col) + var(--gut));
  --content: calc(3 * var(--col) + 2 * var(--gut));
  --ms-ico-ig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='10' fill='%23231F20'/%3E%3Crect x='11' y='11' width='26' height='26' rx='7.5' fill='none' stroke='%23F4F0E8' stroke-width='3.6'/%3E%3Ccircle cx='24' cy='24' r='6.2' fill='none' stroke='%23F4F0E8' stroke-width='3.6'/%3E%3Ccircle cx='31.6' cy='16.4' r='2.2' fill='%23F4F0E8'/%3E%3C/svg%3E");
  --ms-ico-map: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='10' fill='%23231F20'/%3E%3CclipPath id='q'%3E%3Crect width='48' height='48' rx='10'/%3E%3C/clipPath%3E%3Cpath clip-path='url(%23q)' d='M-2 45 L26 21 M-2 25 L21 49' fill='none' stroke='%23F4F0E8' stroke-width='3.4'/%3E%3Cpath d='M33 5a9.5 9.5 0 0 1 9.5 9.5c0 7.1-9.5 16.7-9.5 16.7S23.5 21.6 23.5 14.5A9.5 9.5 0 0 1 33 5z' fill='%23231F20' stroke='%23F4F0E8' stroke-width='2.6'/%3E%3Ccircle cx='33' cy='14.5' r='3.5' fill='none' stroke='%23F4F0E8' stroke-width='2.8'/%3E%3C/svg%3E");
  --ms-ico-in: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='10' fill='%23231F20'/%3E%3Ccircle cx='15.2' cy='14.2' r='3.3' fill='%23F4F0E8'/%3E%3Crect x='12.4' y='20' width='5.6' height='15.5' fill='%23F4F0E8'/%3E%3Cpath d='M21.6 20h5.3v2.5c1.2-1.9 3.2-3 5.9-3 4.5 0 6.7 2.9 6.7 7.8v8.2h-5.6v-7.6c0-2.4-.9-3.7-3-3.7-2.4 0-3.8 1.6-3.8 4.3v7h-5.5z' fill='%23F4F0E8'/%3E%3C/svg%3E");
  --ms-ico-be: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='10' fill='%23231F20'/%3E%3Cpath fill='%23F4F0E8' fill-rule='evenodd' d='M7.5 15h8.9c4 0 6.4 1.8 6.4 4.7 0 1.8-1 3.1-2.6 3.8 2.2.6 3.5 2.3 3.5 4.5 0 3.3-2.6 5.3-6.8 5.3H7.5zM12.2 18.7v3.7h3.5c1.3 0 2.2-.7 2.2-1.85s-.9-1.85-2.2-1.85zM12.2 25.8v3.9h3.9c1.5 0 2.5-.75 2.5-1.95s-1-1.95-2.5-1.95zM33.4 20.3c-4.3 0-7.2 2.9-7.2 6.6s2.7 6.6 7.3 6.6c3.4 0 5.8-1.6 6.6-4.1h-4.2c-.4.7-1.3 1.1-2.4 1.1-1.8 0-2.9-1-3.1-2.7h9.9c.1-.4.1-.9.1-1.3 0-3.6-2.7-6.2-7-6.2zM30.4 25.6c.3-1.5 1.4-2.4 2.9-2.4s2.6.9 2.8 2.4zM28.8 15.6h9.2v2.7h-9.2z'/%3E%3C/svg%3E");
  --ms-edge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 40' shape-rendering='crispEdges'%3E%3Cpath fill='%23231F20' d='M80 0h10v10h-10zM190 0h10v10h-10zM30 10h10v10h-10zM80 10h10v10h-10zM90 10h10v10h-10zM140 10h10v10h-10zM200 10h10v10h-10zM0 20h10v10h-10zM10 20h10v10h-10zM20 20h10v10h-10zM30 20h10v10h-10zM60 20h10v10h-10zM70 20h10v10h-10zM80 20h10v10h-10zM90 20h10v10h-10zM100 20h10v10h-10zM130 20h10v10h-10zM140 20h10v10h-10zM150 20h10v10h-10zM170 20h10v10h-10zM190 20h10v10h-10zM200 20h10v10h-10zM210 20h10v10h-10zM230 20h10v10h-10zM0 30h10v10h-10zM10 30h10v10h-10zM20 30h10v10h-10zM30 30h10v10h-10zM40 30h10v10h-10zM60 30h10v10h-10zM70 30h10v10h-10zM80 30h10v10h-10zM90 30h10v10h-10zM100 30h10v10h-10zM120 30h10v10h-10zM130 30h10v10h-10zM140 30h10v10h-10zM150 30h10v10h-10zM170 30h10v10h-10zM180 30h10v10h-10zM190 30h10v10h-10zM200 30h10v10h-10zM210 30h10v10h-10zM230 30h10v10h-10z'/%3E%3C/svg%3E");
  --ms-card-band: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 30' shape-rendering='crispEdges'%3E%3Cpath fill='%23F4F0E8' d='M10 0h10v10h-10zM50 0h10v10h-10zM60 10h10v10h-10zM90 0h10v10h-10zM120 20h10v10h-10zM130 10h10v10h-10zM160 0h10v10h-10zM170 0h10v10h-10zM200 10h10v10h-10zM220 0h10v10h-10zM20 20h10v10h-10zM30 20h10v10h-10zM70 20h10v10h-10zM100 20h10v10h-10zM150 20h10v10h-10zM180 20h10v10h-10zM190 20h10v10h-10zM230 20h10v10h-10zM0 10h10v10h-10zM110 10h10v10h-10z'/%3E%3C/svg%3E");
  --ms-people-pixels: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 160' preserveAspectRatio='none' shape-rendering='crispEdges'%3E%3Cpath fill='%23F4F0E8' d='M0 0h10v10h-10zM10 0h10v10h-10zM50 0h10v10h-10zM60 0h10v10h-10zM120 0h10v10h-10zM170 0h10v10h-10zM180 0h10v10h-10zM170 10h10v10h-10zM180 10h10v10h-10zM50 10h10v10h-10zM60 10h10v10h-10zM70 10h10v10h-10zM90 10h10v10h-10zM120 10h10v10h-10zM130 10h10v10h-10zM90 20h10v10h-10zM60 30h10v10h-10zM70 30h10v10h-10zM130 30h10v10h-10zM0 40h10v10h-10zM110 40h10v10h-10zM120 40h10v10h-10zM30 50h10v10h-10zM50 50h10v10h-10zM60 50h10v10h-10zM50 60h10v10h-10zM60 60h10v10h-10zM0 60h10v10h-10zM20 60h10v10h-10zM80 60h10v10h-10zM90 60h10v10h-10zM80 70h10v10h-10zM90 70h10v10h-10zM110 70h10v10h-10zM100 80h10v10h-10zM120 80h10v10h-10zM170 80h10v10h-10zM180 80h10v10h-10zM0 90h10v10h-10zM180 90h10v10h-10zM10 100h10v10h-10zM20 100h10v10h-10zM10 110h10v10h-10zM20 110h10v10h-10zM120 100h10v10h-10zM180 100h10v10h-10zM90 110h10v10h-10zM10 120h10v10h-10zM90 120h10v10h-10zM100 120h10v10h-10zM90 130h10v10h-10zM100 130h10v10h-10zM110 120h10v10h-10zM10 130h10v10h-10zM20 130h10v10h-10zM30 130h10v10h-10zM20 140h10v10h-10zM30 140h10v10h-10zM170 130h10v10h-10zM60 140h10v10h-10zM70 140h10v10h-10zM60 150h10v10h-10zM70 150h10v10h-10zM90 140h10v10h-10zM100 140h10v10h-10zM160 140h10v10h-10zM180 140h10v10h-10zM0 150h10v10h-10zM80 150h10v10h-10zM110 150h10v10h-10z'/%3E%3C/svg%3E");
  --ms-people-pixels-sm: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 500' preserveAspectRatio='none' shape-rendering='crispEdges'%3E%3Cpath fill='%23F4F0E8' d='M0 0h10v10h-10zM120 0h10v10h-10zM0 10h10v10h-10zM10 10h10v10h-10zM20 10h10v10h-10zM10 20h10v10h-10zM20 20h10v10h-10zM30 10h10v10h-10zM30 20h10v10h-10zM40 10h10v10h-10zM40 20h10v10h-10zM80 10h10v10h-10zM140 10h10v10h-10zM150 10h10v10h-10zM140 20h10v10h-10zM150 20h10v10h-10zM170 10h10v10h-10zM0 20h10v10h-10zM0 30h10v10h-10zM20 30h10v10h-10zM30 30h10v10h-10zM20 40h10v10h-10zM30 40h10v10h-10zM90 30h10v10h-10zM150 30h10v10h-10zM170 30h10v10h-10zM10 40h10v10h-10zM10 50h10v10h-10zM20 50h10v10h-10zM130 40h10v10h-10zM180 40h10v10h-10zM190 40h10v10h-10zM0 50h10v10h-10zM100 50h10v10h-10zM110 50h10v10h-10zM100 60h10v10h-10zM110 60h10v10h-10zM20 60h10v10h-10zM40 60h10v10h-10zM50 60h10v10h-10zM90 60h10v10h-10zM120 60h10v10h-10zM130 60h10v10h-10zM120 70h10v10h-10zM130 70h10v10h-10zM170 60h10v10h-10zM180 60h10v10h-10zM10 70h10v10h-10zM20 70h10v10h-10zM10 80h10v10h-10zM20 80h10v10h-10zM30 70h10v10h-10zM70 70h10v10h-10zM80 70h10v10h-10zM70 80h10v10h-10zM80 80h10v10h-10zM90 70h10v10h-10zM100 70h10v10h-10zM120 80h10v10h-10zM130 80h10v10h-10zM140 70h10v10h-10zM0 80h10v10h-10zM0 90h10v10h-10zM10 90h10v10h-10zM40 80h10v10h-10zM50 80h10v10h-10zM40 90h10v10h-10zM50 90h10v10h-10zM180 80h10v10h-10zM160 90h10v10h-10zM180 90h10v10h-10zM30 100h10v10h-10zM40 100h10v10h-10zM30 110h10v10h-10zM40 110h10v10h-10zM60 100h10v10h-10zM70 100h10v10h-10zM120 100h10v10h-10zM50 110h10v10h-10zM190 110h10v10h-10zM0 120h10v10h-10zM10 120h10v10h-10zM0 130h10v10h-10zM10 130h10v10h-10zM20 120h10v10h-10zM30 120h10v10h-10zM20 130h10v10h-10zM30 130h10v10h-10zM100 120h10v10h-10zM110 120h10v10h-10zM140 120h10v10h-10zM150 120h10v10h-10zM100 130h10v10h-10zM130 130h10v10h-10zM170 130h10v10h-10zM180 130h10v10h-10zM170 140h10v10h-10zM180 140h10v10h-10zM40 140h10v10h-10zM150 140h10v10h-10zM160 140h10v10h-10zM150 150h10v10h-10zM160 150h10v10h-10zM70 150h10v10h-10zM130 150h10v10h-10zM70 160h10v10h-10zM110 160h10v10h-10zM120 160h10v10h-10zM110 170h10v10h-10zM120 170h10v10h-10zM180 160h10v10h-10zM190 160h10v10h-10zM180 170h10v10h-10zM190 170h10v10h-10zM20 170h10v10h-10zM150 170h10v10h-10zM160 170h10v10h-10zM150 180h10v10h-10zM160 180h10v10h-10zM170 170h10v10h-10zM80 180h10v10h-10zM40 190h10v10h-10zM90 190h10v10h-10zM100 190h10v10h-10zM20 200h10v10h-10zM30 200h10v10h-10zM40 200h10v10h-10zM80 200h10v10h-10zM90 200h10v10h-10zM80 210h10v10h-10zM90 210h10v10h-10zM140 200h10v10h-10zM0 210h10v10h-10zM50 210h10v10h-10zM60 210h10v10h-10zM50 220h10v10h-10zM60 220h10v10h-10zM150 210h10v10h-10zM160 210h10v10h-10zM190 210h10v10h-10zM110 220h10v10h-10zM120 220h10v10h-10zM110 230h10v10h-10zM120 230h10v10h-10zM130 220h10v10h-10zM20 230h10v10h-10zM0 240h10v10h-10zM140 240h10v10h-10zM170 240h10v10h-10zM180 240h10v10h-10zM100 250h10v10h-10zM0 260h10v10h-10zM40 260h10v10h-10zM50 260h10v10h-10zM40 270h10v10h-10zM50 270h10v10h-10zM60 260h10v10h-10zM70 260h10v10h-10zM60 270h10v10h-10zM70 270h10v10h-10zM110 260h10v10h-10zM170 260h10v10h-10zM30 270h10v10h-10zM90 270h10v10h-10zM160 270h10v10h-10zM110 280h10v10h-10zM120 280h10v10h-10zM110 290h10v10h-10zM120 290h10v10h-10zM180 280h10v10h-10zM190 280h10v10h-10zM180 290h10v10h-10zM190 290h10v10h-10zM80 290h10v10h-10zM60 300h10v10h-10zM70 300h10v10h-10zM140 300h10v10h-10zM150 300h10v10h-10zM140 310h10v10h-10zM150 310h10v10h-10zM10 310h10v10h-10zM190 310h10v10h-10zM130 320h10v10h-10zM180 320h10v10h-10zM110 330h10v10h-10zM130 330h10v10h-10zM150 330h10v10h-10zM20 340h10v10h-10zM50 340h10v10h-10zM100 340h10v10h-10zM120 340h10v10h-10zM0 350h10v10h-10zM40 350h10v10h-10zM50 350h10v10h-10zM40 360h10v10h-10zM50 360h10v10h-10zM100 350h10v10h-10zM120 350h10v10h-10zM130 350h10v10h-10zM120 360h10v10h-10zM130 360h10v10h-10zM140 350h10v10h-10zM190 350h10v10h-10zM20 360h10v10h-10zM90 360h10v10h-10zM0 370h10v10h-10zM150 370h10v10h-10zM170 370h10v10h-10zM180 370h10v10h-10zM30 380h10v10h-10zM40 380h10v10h-10zM50 380h10v10h-10zM60 380h10v10h-10zM70 380h10v10h-10zM60 390h10v10h-10zM70 390h10v10h-10zM170 380h10v10h-10zM180 380h10v10h-10zM170 390h10v10h-10zM180 390h10v10h-10zM190 380h10v10h-10zM30 390h10v10h-10zM50 400h10v10h-10zM130 400h10v10h-10zM180 400h10v10h-10zM0 410h10v10h-10zM10 410h10v10h-10zM50 410h10v10h-10zM80 410h10v10h-10zM100 410h10v10h-10zM120 410h10v10h-10zM140 410h10v10h-10zM10 420h10v10h-10zM20 420h10v10h-10zM10 430h10v10h-10zM20 430h10v10h-10zM40 420h10v10h-10zM60 420h10v10h-10zM70 420h10v10h-10zM150 420h10v10h-10zM100 430h10v10h-10zM110 430h10v10h-10zM100 440h10v10h-10zM110 440h10v10h-10zM130 430h10v10h-10zM160 430h10v10h-10zM170 430h10v10h-10zM190 430h10v10h-10zM30 440h10v10h-10zM60 450h10v10h-10zM130 450h10v10h-10zM140 450h10v10h-10zM130 460h10v10h-10zM140 460h10v10h-10zM170 450h10v10h-10zM180 450h10v10h-10zM170 460h10v10h-10zM180 460h10v10h-10zM190 450h10v10h-10zM100 460h10v10h-10zM110 460h10v10h-10zM120 460h10v10h-10zM110 470h10v10h-10zM120 470h10v10h-10zM160 460h10v10h-10zM190 460h10v10h-10zM20 470h10v10h-10zM50 470h10v10h-10zM100 470h10v10h-10zM100 480h10v10h-10zM110 480h10v10h-10zM150 470h10v10h-10zM30 480h10v10h-10zM40 480h10v10h-10zM30 490h10v10h-10zM40 490h10v10h-10zM50 480h10v10h-10zM170 480h10v10h-10zM80 490h10v10h-10zM100 490h10v10h-10zM170 490h10v10h-10z'/%3E%3C/svg%3E");
  --ms-menu-pixels: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 30' shape-rendering='crispEdges'%3E%3Cpath fill='%23F4F0E8' d='M20 0h10v10h-10zM80 0h10v10h-10zM40 10h10v10h-10zM110 10h10v10h-10zM150 10h10v10h-10zM0 20h10v10h-10zM10 20h10v10h-10zM20 20h10v10h-10zM80 20h10v10h-10zM90 20h10v10h-10zM120 20h10v10h-10zM160 20h10v10h-10z'/%3E%3C/svg%3E");
  --ms-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M30 16 L84 50 L30 84 Z' fill='none' stroke='%23F4F0E8' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ms-logo-blink: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='24.9 76.4 449.3 357.5'><path fill='%23231F20' d='M426 84C385 91 378 93 294 114C245 126 205 135 205 135C204 135 204 122 203 107L203 81 170 79C140 77 131 77 83 78C54 79 30 80 30 80C29 81 27 132 26 184C25 237 25 409 27 426L27 434 251 434L474 434 474 429C473 423 471 292 470 164L470 76 426 84'/><path fill='%23F4F0E8' fill-rule='evenodd' d='M297 236C311 257 307 285 288 303C263 327 222 322 203 293C197 284 195 277 195 265C195 253 197 245 202 238L204 234 202 235C197 236 185 242 176 247C152 261 122 287 122 296C122 304 143 315 167 320C206 329 264 329 309 321C337 315 366 305 376 296C380 293 380 291 372 279C355 253 331 238 295 230C292 229 292 229 297 236'><animate attributeName='d' dur='5.042s' repeatCount='indefinite' calcMode='discrete' keyTimes='0.0000;0.1405;0.1488;0.1570;0.1653;0.1736;0.1818;0.1983;0.2066;0.2727;0.2810;0.2893;0.2975;0.3058;0.3140;0.3223;0.3306;0.3388;0.3471;0.5041;0.5124;0.5207;0.5289;0.5372;0.5455;0.5620;0.5702;0.5868;0.5950;0.6033;0.6198;0.6281;0.6364;0.6446;0.6529;0.6612;0.6777;0.6860;0.6942;0.7521;0.7603;0.7686;0.7769;0.8017;0.8099;0.9256;0.9339;0.9421;0.9504;0.9587' values='M297 236C311 257 307 285 288 303C263 327 222 322 203 293C197 284 195 277 195 265C195 253 197 245 202 238L204 234 202 235C197 236 185 242 176 247C152 261 122 287 122 296C122 304 143 315 167 320C206 329 264 329 309 321C337 315 366 305 376 296C380 293 380 291 372 279C355 253 331 238 295 230C292 229 292 229 297 236;M291 228C311 249 310 283 288 303C263 327 222 322 203 293C197 284 195 277 195 265C195 251 198 241 206 231C209 228 209 228 207 229C201 230 187 237 178 242C159 254 137 273 127 287C120 296 120 298 128 305C137 314 151 321 173 326C194 331 208 332 238 332C268 332 279 331 303 326C330 321 363 308 375 298C379 293 380 293 378 290C376 285 367 271 361 263C344 243 320 230 290 225L287 224 291 228;M283 221C302 236 310 258 303 280C290 324 228 332 203 293C197 284 195 277 195 265C195 248 199 238 211 226L216 221 210 223C187 231 165 246 144 267C130 281 122 291 122 296C122 299 126 305 132 310C167 341 254 348 321 326C347 318 379 299 379 292C379 287 364 265 352 253C335 236 309 223 285 219L280 219 283 221;M229 213C217 216 217 216 224 219C234 222 241 227 248 234C267 254 267 285 248 305C226 328 189 329 166 306C155 295 150 282 151 266L152 257 148 260C137 271 122 291 122 296C122 303 135 316 149 324C203 356 299 350 359 312C368 305 378 297 379 294C380 289 365 265 353 252C336 233 311 220 281 215C269 212 239 212 229 213;M230 240C226 240 226 240 230 245C249 269 242 306 214 322C211 324 208 326 208 326C208 327 222 327 240 327C274 326 285 325 310 320C338 314 366 303 376 295C380 292 380 290 372 283C350 261 310 245 269 240C260 239 237 239 230 240 M125 291C123 293 122 295 122 296C122 298 130 305 137 309L143 312 139 307C136 302 133 296 131 289C130 286 129 287 125 291;M230 267C230 267 231 271 231 274C232 284 231 294 227 303L223 310 239 310C285 310 346 303 374 293C377 293 379 291 379 291C379 290 377 289 374 288C361 281 324 273 287 268C271 267 230 265 230 267;M0 0;M235 251C233 251 228 252 223 252C218 253 214 253 214 254C214 254 216 257 217 260C226 275 226 292 219 308C217 311 216 314 216 314C216 316 270 314 296 312C331 308 370 299 377 293C379 291 379 291 378 289C377 287 373 284 370 281C352 268 318 257 285 253C273 251 241 250 235 251;M231 227C222 228 210 232 201 235L194 237 201 242C227 261 232 297 210 320L205 326 215 327C229 328 269 326 284 325C323 319 363 307 376 296C380 293 380 291 372 279C352 248 321 232 275 227C263 226 239 226 231 227;M229 227C219 228 202 233 197 236L194 237 201 242C228 261 232 297 209 321L203 328 211 328C236 330 275 329 298 325C329 319 364 307 375 297C380 292 380 291 371 278C356 255 334 240 306 232C286 226 247 224 229 227;M233 224C201 228 166 246 138 274C130 283 122 292 122 295C122 306 148 321 178 328C189 330 190 330 185 325C182 324 178 319 175 315C154 285 169 244 206 233C219 229 237 232 250 239C285 260 286 310 250 331L245 334 257 334C298 331 338 321 363 306C372 301 379 294 379 292C379 291 377 288 375 284C354 247 320 228 270 224C255 223 243 223 233 224;M232 222C202 226 171 242 144 268C133 278 124 290 122 294C121 297 124 302 130 307C145 321 172 331 204 336C220 339 260 340 260 338C260 338 259 337 258 337C256 337 252 336 249 335C224 326 208 300 213 275C216 264 220 256 228 247C254 222 297 227 316 257C333 284 322 318 292 333C289 335 287 336 288 336C307 332 312 330 322 327C350 318 379 300 379 292C379 291 377 287 374 282C355 251 329 233 291 225C273 221 248 220 232 222;M226 225C199 229 171 244 146 267C136 275 123 290 122 294C119 308 159 327 205 333C215 334 254 336 263 335L269 334 263 331C247 322 236 303 236 285C236 269 241 258 251 247C282 217 335 231 346 272C349 287 345 306 336 317C332 321 333 321 344 316C361 309 378 298 379 293C379 291 374 281 366 270C346 244 316 229 276 224C262 223 235 223 226 225;M233 225C199 229 162 249 135 278C120 293 119 297 127 304C140 317 171 326 208 330C219 331 261 331 270 330L276 330 270 326C262 320 255 309 252 298C250 292 250 279 251 272C256 252 274 235 296 232L304 230 297 229C280 225 248 223 233 225 M354 257C354 257 355 260 356 262C362 275 363 294 356 306C354 310 355 310 365 304C374 298 379 294 379 292C379 290 372 278 367 271C362 265 354 256 354 257;M237 226C214 228 189 237 166 252C145 266 122 289 122 296C122 304 144 316 170 322C193 327 202 328 240 328C259 328 276 327 277 327C279 326 279 325 273 320C263 309 259 298 259 284C259 261 274 241 297 234L304 231 296 230C280 226 253 225 237 226 M370 284C370 288 369 294 369 297C367 302 367 302 369 301C374 299 379 294 379 292C379 291 372 278 371 278C370 277 370 280 370 284;M234 227C210 230 190 238 170 250C147 265 122 288 122 296C122 299 128 306 137 310C159 321 193 327 238 327C254 327 282 326 283 325C283 324 281 322 279 320C264 304 261 279 271 260C276 249 290 238 302 234L306 232 301 231C292 228 276 227 257 227C246 226 235 226 234 227 M376 288C376 290 376 292 375 294L375 298 377 296C379 293 380 292 378 288L376 286 376 288;M234 227C210 230 190 238 170 250C147 265 122 288 122 296C122 304 143 315 167 320C193 326 237 329 270 326C288 325 287 325 282 319C256 290 268 248 306 234C308 233 302 231 288 229C278 227 240 226 234 227;M234 227C210 230 190 238 170 250C147 265 122 288 122 296C122 304 143 315 167 320C198 327 254 329 284 324L288 324 285 320C279 314 275 308 273 300C270 291 270 276 273 267C278 253 289 242 301 236C304 235 307 233 307 233C307 232 295 230 285 228C277 227 239 226 234 227;M234 227C212 229 190 238 170 250C147 265 122 288 122 296C122 304 143 315 167 320C198 327 252 329 285 324L289 324 284 318C270 303 267 280 277 260C281 252 292 241 301 237C305 235 308 233 307 233C305 232 286 228 276 227C265 226 240 226 234 227;M234 227C212 229 190 238 170 250C147 265 122 288 122 296C122 302 136 311 153 316C174 323 203 327 234 327L250 327 245 323C226 308 219 286 226 265C232 247 248 232 266 229C271 228 272 227 270 227C267 226 239 226 234 227 M310 236C328 248 338 269 334 290C332 299 329 305 324 312C322 315 320 318 321 318C322 319 353 309 365 303C376 298 380 294 379 291C377 286 366 269 357 261C345 249 332 241 314 235C303 231 302 231 310 236;M239 222C209 225 187 235 160 254C142 268 122 290 122 296C122 301 131 310 142 315C164 326 191 332 230 333C250 333 250 333 244 332C232 329 223 324 215 316C204 305 199 294 199 279C199 252 219 230 247 226C258 224 270 226 280 231C288 235 301 247 304 255C310 265 312 280 309 291C305 308 290 323 272 330L266 332 271 331C303 328 333 320 357 309C367 303 376 297 378 294C380 292 378 287 369 275C348 243 316 226 269 222C256 221 245 221 239 222;M225 219C196 225 170 241 144 267C130 281 122 292 122 296C122 304 138 317 158 326C180 335 204 338 238 338C277 338 307 333 339 319C359 311 379 297 379 292C379 287 364 265 352 253C335 236 315 226 287 220C272 217 237 216 225 219 M235 227C200 235 183 272 199 304C208 320 229 332 248 332C263 332 278 326 288 316C318 286 303 236 262 227C254 225 242 225 235 227;M229 213C203 218 177 233 151 257C138 270 122 291 122 296C122 300 127 306 133 313C165 344 240 354 303 336C331 328 357 315 372 301C380 294 380 293 375 283C353 244 324 222 281 214C269 212 239 212 229 213 M235 227C193 237 179 286 209 316C235 342 282 335 298 302C314 271 296 235 262 227C254 225 242 225 235 227;M304 277C304 286 302 295 298 303L295 308 299 308C317 308 379 295 379 291C379 287 349 277 318 271C302 268 303 268 304 277 M180 274C159 279 128 290 123 294C122 295 122 295 124 297C131 303 162 309 192 311L204 311 201 307C196 298 194 291 193 280L193 270 180 274;M0 0;M300 258C309 279 303 302 286 317C280 323 280 323 283 323C285 322 292 321 299 320C331 315 365 304 377 294C379 292 379 292 378 289C374 282 354 270 334 264C325 260 302 254 299 254C299 254 299 256 300 258 M185 258C164 266 147 275 132 285C121 294 120 295 126 301C140 313 172 321 213 324L220 325 217 323C209 317 206 314 202 309C192 295 190 274 196 259C198 254 198 254 185 258;M226 224C210 226 189 233 175 241C157 252 138 269 128 284C120 296 120 298 129 308C144 323 170 335 204 341C219 343 256 344 272 342C314 336 355 319 374 300C380 294 380 293 377 288C368 269 348 250 328 240C304 227 259 220 226 224 M233 227C193 238 179 286 208 315C221 329 241 335 260 331C293 324 312 291 300 260C295 246 282 234 268 228C260 225 241 224 233 227;M226 224C188 228 148 253 128 284C120 296 120 298 129 307C143 323 169 334 201 340C219 343 254 344 272 342C314 336 355 319 374 300C380 294 380 293 377 288C368 269 348 250 328 240C304 227 259 220 226 224 M239 225C203 230 182 268 197 300C212 331 251 341 280 321C292 313 301 299 303 285C308 250 276 220 239 225;M226 224C188 228 148 253 128 284C120 296 120 298 129 307C143 323 169 334 201 340C219 343 254 344 272 342C314 336 355 319 374 300C380 294 380 293 377 288C368 269 348 250 328 240C304 227 259 220 226 224 M241 225C218 228 199 244 194 265C186 293 204 322 233 330C253 335 273 329 288 315C299 303 303 293 303 278C303 246 273 220 241 225;M226 224C188 228 148 253 128 284C120 296 120 298 129 307C143 323 169 334 201 340C219 343 254 344 272 342C314 336 355 319 374 300C380 294 380 293 377 288C368 269 348 250 328 240C304 227 259 220 226 224 M237 225C221 228 205 240 197 255C189 271 190 291 200 306C219 335 262 340 287 315C304 299 308 275 297 254C294 248 285 237 278 233C267 226 250 223 237 225;M226 224C188 228 148 253 128 284C120 296 120 298 129 307C143 323 169 334 201 340C219 343 254 344 272 342C314 336 355 319 374 300C380 294 380 293 377 288C368 269 348 250 328 240C304 227 259 220 226 224 M234 226C192 236 177 286 208 315C238 343 286 332 300 295C311 266 292 233 260 226C252 224 241 224 234 226;M226 224C188 228 148 253 128 284C120 296 120 298 129 307C143 323 169 334 201 340C219 343 254 344 272 342C314 336 355 319 374 300C380 294 380 293 377 288C368 269 348 250 328 240C304 227 259 220 226 224 M233 226C215 230 200 244 194 261C191 269 191 286 194 295C204 321 232 336 260 330C303 319 317 268 285 239C282 236 277 232 274 231C263 225 245 222 233 226;M226 224C188 228 148 253 128 284C120 296 120 298 129 307C143 323 169 334 201 340C219 343 254 344 272 342C314 336 355 319 374 300C380 294 380 293 377 288C366 266 343 245 320 236C293 226 255 221 226 224 M232 226C213 231 197 246 193 265C186 291 202 320 229 328C239 331 255 331 263 329C282 322 296 308 301 291C303 283 302 269 300 262C295 245 279 230 261 226C253 224 239 224 232 226;M226 224C188 228 148 253 128 284C120 296 120 298 129 307C143 323 169 334 201 340C219 343 254 344 272 342C306 337 337 327 360 311C369 305 379 295 379 293C379 288 366 269 356 259C338 243 319 233 291 228C278 225 250 222 249 223C249 224 250 224 252 224C258 224 271 229 278 233C305 251 310 289 288 313C258 344 205 332 193 291C191 285 191 272 192 265C197 244 217 227 240 224L246 223 240 223C236 223 230 224 226 224;M297 254C297 254 298 257 299 260C302 268 303 281 301 289C298 301 291 311 281 319L276 323 282 323C304 320 333 314 350 307C360 304 376 296 378 293C382 288 363 274 337 265C324 260 297 253 297 254 M191 256C165 265 144 276 129 287C122 293 121 295 125 299C135 310 166 319 204 323C218 324 220 324 215 322C209 318 200 309 196 300C190 287 189 273 194 260C196 254 196 254 191 256;M181 293C183 293 187 293 189 293C191 293 189 292 185 292C181 292 179 293 181 293 M148 294C150 294 154 294 156 294C158 294 156 293 152 293C147 293 145 294 148 294;M293 274C290 284 281 295 272 302C270 303 268 304 268 305C269 305 303 303 320 302C346 299 377 294 379 292C380 290 372 286 361 282C345 277 326 272 298 268C295 267 294 267 293 274 M178 273C155 279 122 292 122 295C122 297 136 300 154 302C164 303 200 305 208 305L212 305 206 302C198 296 192 288 185 273L185 271 178 273;M288 244C288 260 275 279 259 287C250 292 244 293 233 293C216 293 204 288 193 277C187 271 179 258 179 254C179 251 176 252 167 258C147 270 122 290 122 295C122 298 129 303 138 306C175 319 257 322 318 311C349 306 379 296 379 292C379 289 374 283 366 276C354 265 336 254 316 247C307 244 292 239 289 239C289 239 288 241 288 244;M282 221C282 250 256 275 226 275C206 275 185 263 176 245L173 239 168 242C166 244 157 252 149 260C134 275 122 291 122 296C122 304 143 315 167 320C206 329 264 329 309 321C343 314 379 299 379 292C379 290 370 275 364 267C347 243 323 227 294 220C282 216 282 216 282 221;M223 222C195 227 168 242 145 265C133 277 122 291 122 295C122 301 131 310 144 316C170 330 205 336 249 335C291 334 326 325 357 309C368 304 379 295 379 292C379 290 370 276 364 268C345 243 320 229 283 222C271 220 233 220 223 222 M264 224C243 227 224 242 218 262C209 291 228 322 258 329C287 336 318 318 326 290C327 283 327 271 326 264C321 246 305 230 286 226C278 224 271 223 264 224;M231 226C198 229 167 244 141 270C130 281 122 292 122 296C122 299 126 305 132 311C154 331 196 343 241 343L254 343 250 337C244 328 242 321 241 310C240 289 251 270 270 261C308 242 352 267 352 308L352 316 358 312C366 307 379 295 379 293C379 290 373 279 365 270C347 247 317 232 280 228C264 226 243 225 231 226;M225 231C209 233 190 239 175 246C152 258 122 286 122 296C122 300 127 307 135 315C152 330 175 340 206 346C216 348 259 350 259 349C259 348 258 347 257 345C253 339 251 329 251 320C251 302 259 286 274 276C298 261 328 264 347 284C354 291 359 300 361 307C361 309 362 311 363 311C365 311 379 295 379 293C379 288 366 270 356 261C338 246 318 237 285 233C273 231 235 230 225 231;M226 233C196 237 171 247 149 264C134 276 122 290 122 296C122 300 129 310 135 316C162 340 200 352 246 352C254 352 261 352 261 352C261 351 260 348 258 345C242 309 268 270 309 270C332 269 354 284 362 306C363 309 364 311 364 311C366 311 378 297 379 294C381 287 362 264 345 254C323 240 294 233 254 233C242 232 229 233 226 233;M226 233C196 237 171 247 149 264C134 276 122 290 122 296C122 300 129 310 136 316C157 335 187 347 221 351C231 352 243 352 243 352C243 351 242 348 240 345C224 310 251 270 291 270C299 270 311 273 318 277C332 284 343 300 346 315C347 319 348 323 348 323C348 324 360 315 366 309C373 303 379 295 379 293C379 289 372 278 363 269C345 250 323 240 288 235C273 233 237 232 226 233;M226 233C196 237 171 247 149 264C134 276 122 290 122 296C122 298 124 302 126 305C141 327 182 347 219 351L226 351 224 347C217 333 217 314 225 300C226 297 231 291 235 288C246 276 258 271 275 271C291 271 303 276 315 288C325 298 330 310 330 325L330 333 336 330C355 321 379 300 379 293C379 289 372 278 363 269C345 250 323 240 288 235C273 233 237 232 226 233;M220 233C196 237 176 245 155 260C139 271 122 290 122 296C122 303 139 319 156 327C181 340 207 345 243 345C281 345 315 338 343 322C360 313 377 300 379 294C379 291 377 286 369 275C351 251 322 237 282 233C265 231 231 231 220 233 M252 236C225 240 205 262 205 289C205 313 219 333 243 340C252 343 267 343 276 341C295 335 310 319 315 300C316 291 316 287 315 279C309 251 282 232 252 236;M214 233C185 239 157 256 136 277C126 286 122 292 122 296C122 299 127 306 133 311C150 324 172 332 202 337C218 339 264 339 280 337C294 335 313 330 325 326C345 319 371 304 377 296C380 292 379 290 373 281C358 257 335 242 303 234C288 231 288 231 295 239C315 259 314 291 294 311C284 321 272 327 258 328C225 330 196 303 198 271C199 257 205 247 214 237C218 234 220 231 220 231C220 231 217 232 214 233;M295 235C319 265 304 309 267 319C241 327 213 315 202 292C192 274 195 250 207 236C208 234 209 233 209 233C207 233 188 241 182 244C165 252 146 266 134 279C120 293 119 297 128 305C140 317 164 326 196 331C213 333 266 333 283 331C324 324 363 310 376 296C380 293 380 291 374 282C357 256 335 241 303 233C292 230 291 230 295 235;M293 231C293 231 294 232 295 233C297 235 301 243 303 249C313 278 294 311 262 318C248 321 233 318 221 311C202 300 192 278 195 258C196 252 198 247 204 235C205 232 177 246 164 255C146 266 127 285 123 293C119 300 131 310 152 317C198 333 275 333 331 317C351 311 372 301 377 295C380 292 379 290 372 279C356 255 334 239 303 232C293 230 293 230 293 231;M297 236C311 257 307 285 288 303C263 327 222 322 203 293C197 284 195 277 195 265C195 253 197 245 202 238L204 234 202 235C197 236 185 242 176 247C152 261 122 287 122 296C122 304 143 315 167 320C206 329 264 329 309 321C337 315 366 305 376 296C380 293 380 291 372 279C355 253 331 238 295 230C292 229 292 229 297 236'/></path></svg>");   /* media/logo/minute-street-logo-blink.svg (" → ', # → %23) */
  background: var(--cream);
  color: var(--ink);
  font-family: var(--body);
  overflow-x: clip;
}

/* pictures below the first screen wait (PageSpeed 2026-11-05): no background image inside a .ms-section loads until the
   site-chrome script gives the section .msx-near (a screen before it scrolls in; all sections once the page is loaded and
   idle). The heroes are .ms-hero, never .ms-section, so the first screen is never held back. */
:root .elementor-kit-6 .ms-section:not(.msx-near) * { background-image: none !important; }
:root .elementor-kit-6 *, :root .elementor-kit-6 *::before, :root .elementor-kit-6 *::after { box-sizing: border-box; }
:root .elementor-kit-6 .e-con { min-width: 0; }

/* ---------- type ---------- */
:root .elementor-kit-6 .ms-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
:root .elementor-kit-6 .ms-h1, :root .elementor-kit-6 .ms-h2, :root .elementor-kit-6 .ms-h3 { font-family: var(--display); font-weight: var(--display-w); text-transform: uppercase; letter-spacing: 0; margin: 0; }
:root .elementor-kit-6 .ms-h2 { font-size: var(--fs-h2); line-height: 1; }
:root .elementor-kit-6 .ms-h3 { font-size: max(13px, calc(2 * var(--u))); line-height: 1.15; }
:root .elementor-kit-6 .ms-body { display: block; font-weight: var(--body-w); font-size: var(--fs-body); line-height: 1.3; letter-spacing: .01em; margin: 0; }
:root .elementor-kit-6 .ms-right { text-align: right; align-self: flex-end; }
:root .elementor-kit-6 .ms-body a { color: #5b78ff; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
:root .elementor-kit-6 .ms-body a:hover, :root .elementor-kit-6 .ms-body a:focus-visible { text-decoration-thickness: 2px; }
:root .elementor-kit-6 a:focus-visible, :root .elementor-kit-6 button:focus-visible, :root .elementor-kit-6 summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* ---------- layout ---------- */
:root .elementor-kit-6 .ms-main { display: block; padding: 0; }
:root .elementor-kit-6 .ms-section { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 0 var(--g); width: 100%; }
:root .elementor-kit-6 .ms-dark { background: var(--ink); color: var(--cream); }
:root .elementor-kit-6 .ms-head-right { display: flex; flex-direction: column; align-items: flex-end; text-align: right; padding: 0; gap: calc(1 * var(--u)); align-self: flex-end; width: auto; }
:root .elementor-kit-6 .ms-sub { display: block; font-size: var(--fs-sub); font-weight: var(--body-w); margin: 0; }

/* pixel "skyline" edges between cream and ink (Elementor styles ::before itself — reset top/bottom) */
:root .elementor-kit-6 .ms-edge-top { margin-top: var(--edge-h); }
:root .elementor-kit-6 .ms-edge-top::before, :root .elementor-kit-6 .ms-edge-bottom::after {
  content: ""; position: absolute; left: 0; right: 0; height: var(--edge-h); pointer-events: none;
  background-image: var(--ms-edge); background-repeat: repeat-x; background-size: auto 100%;
}
:root .elementor-kit-6 .ms-edge-top::before { top: auto; bottom: 100%; }
:root .elementor-kit-6 .ms-edge-bottom { margin-bottom: var(--edge-h); }
:root .elementor-kit-6 .ms-edge-bottom::after { top: 100%; bottom: auto; transform: scaleY(-1); background-position: 37% 0; }

/* hero (full-bleed media) */
:root .elementor-kit-6 .ms-hero { display: block; padding: 0 var(--g); }

/* outlined play triangle on video placeholders */
:root .elementor-kit-6 .ms-play { position: relative; }
:root .elementor-kit-6 .ms-play::after {
  content: ""; position: absolute; top: 50%; left: 50%; right: auto; bottom: auto; width: max(48px, calc(11 * var(--u))); aspect-ratio: 1;
  transform: translate(-50%, -50%); background: var(--ms-play) center / contain no-repeat; pointer-events: none;
}

/* ---------- project / work cards (hover: blue tint, title, pixel band, technique tag) ---------- */
:root .elementor-kit-6 .ms-card {
  position: relative; display: flex; flex-direction: column; justify-content: flex-start; overflow: hidden; min-width: 0;
  padding: calc(3 * var(--u)) calc(3.2 * var(--u)); color: var(--cream); text-decoration: none;
  background-color: #1b1a1b; background-size: cover; background-position: center;
}
:root .elementor-kit-6 .ms-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: var(--tint); mix-blend-mode: normal;
  opacity: 0; transition: opacity .25s ease; pointer-events: none;
}
:root .elementor-kit-6 .ms-card::after {
  content: ""; position: absolute; top: auto; left: 0; right: 0; bottom: -1px; height: calc(3 * var(--tile)); pointer-events: none;
  background: var(--ms-card-band) left bottom / calc(24 * var(--tile)) 100% repeat-x;
  clip-path: inset(100% 0 0 0); transition: clip-path .35s steps(4, end);
}
:root .elementor-kit-6 .ms-card-title {
  position: relative; z-index: 1; display: block; font-family: var(--display-wide); font-weight: var(--display-w); text-transform: uppercase;   /* Roc Grotesk Wide ExtraBold (user 2026-10-13) */
  font-size: max(12px, calc(2.75 * var(--u))); line-height: 1.1; margin: 0;
  opacity: 0; transform: translateY(6px); transition: opacity .2s ease, transform .3s ease;
}
:root .elementor-kit-6 .ms-card-sub {
  position: relative; z-index: 1; display: block; font-weight: var(--body-w); font-size: max(12px, calc(2.4 * var(--u))); margin: calc(.4 * var(--u)) 0 0;
  opacity: 0; transform: translateY(6px); transition: opacity .2s ease .05s, transform .3s ease .05s;
}
:root .elementor-kit-6 .ms-card-tag {
  position: absolute; z-index: 2; right: 0; bottom: 0; margin: 0; padding: calc(.9 * var(--u)) calc(1.2 * var(--u));
  background: var(--cream); color: var(--tint); text-align: right;   /* tint blue text (user 2026-10-13) */
  font-family: var(--body); font-weight: 800; text-transform: uppercase; font-size: max(10px, calc(1.5 * var(--u))); line-height: 1.15;   /* Roc Grotesk ExtraBold */
  opacity: 0; transition: opacity .2s ease .15s;
}
:root .elementor-kit-6 .ms-card:hover::before, :root .elementor-kit-6 .ms-card:focus-visible::before { opacity: .65; }
:root .elementor-kit-6 .ms-card:hover::after, :root .elementor-kit-6 .ms-card:focus-visible::after { clip-path: inset(0 0 0 0); }
:root .elementor-kit-6 .ms-card:hover .ms-card-title, :root .elementor-kit-6 .ms-card:hover .ms-card-sub, :root .elementor-kit-6 .ms-card:hover .ms-card-tag,
:root .elementor-kit-6 .ms-card:focus-visible .ms-card-title, :root .elementor-kit-6 .ms-card:focus-visible .ms-card-sub, :root .elementor-kit-6 .ms-card:focus-visible .ms-card-tag { opacity: 1; transform: none; }
/* card tag ┐ (site-chrome widget): tint blue text, right-aligned in its tiles (user 2026-10-13) */
:root .elementor-kit-6 .ms-card .msx-tag-top, :root .elementor-kit-6 .ms-card .msx-tag-bot { justify-content: flex-end; text-align: right; padding-right: calc(var(--tile) * .14); color: var(--tint); }
:root .elementor-kit-6 .ms-card.msx-tagged .ms-card-tag { font-size: max(12px, calc(2.4 * var(--u))); }   /* = the card's second line (.ms-card-sub; user 2026-10-13) */
:root .elementor-kit-6 .ms-card .msx-tag-bot { height: calc(var(--tile) + 2px); }   /* reaches 1px up under the upper piece: no hairline between the two rows at fractional sizes (user 2026-10-13) */
/* touch screens and phones (user 2026-10-09 / -13): nothing by default; the first tap shows the blue tint, title, pixel
   band and tag (site-chrome JS adds .is-tapped), the second tap opens the project. Phone-sized and coarse-pointer screens
   count too (some phones report hover support), and a sticky touch :hover never shows the overlay on its own */
@media (hover: none), (pointer: coarse), (max-width: 767px) and (orientation: portrait) {
  :root .elementor-kit-6 .ms-card:is(:hover, :focus-visible):not(.is-tapped)::before { opacity: 0; }
  :root .elementor-kit-6 .ms-card:is(:hover, :focus-visible):not(.is-tapped)::after { clip-path: inset(100% 0 0 0); }
  :root .elementor-kit-6 .ms-card:is(:hover, :focus-visible):not(.is-tapped) :is(.ms-card-title, .ms-card-sub, .ms-card-tag) { opacity: 0; transform: translateY(6px); }
  :root .elementor-kit-6 .ms-card.is-tapped::before { opacity: .65; }
  :root .elementor-kit-6 .ms-card.is-tapped::after { clip-path: inset(0 0 0 0); }
  :root .elementor-kit-6 .ms-card.is-tapped .ms-card-title, :root .elementor-kit-6 .ms-card.is-tapped .ms-card-sub, :root .elementor-kit-6 .ms-card.is-tapped .ms-card-tag { opacity: 1; transform: none; }
}

/* ---------- accordion: bracket lines + chevron (colour follows the section text colour) ---------- */
:root .elementor-kit-6 .ms-acc { display: flex; flex-direction: column; gap: calc(5.2 * var(--u)); padding: 0; border: 0; }   /* double space between the rows (user 2026-10-10) */
:root .elementor-kit-6 .ms-acc-item { display: block; padding: 0; border: max(2px, calc(.16 * var(--u))) solid currentColor; border-top: 0; }
:root .elementor-kit-6 .ms-acc-head { display: flex; list-style: none; cursor: pointer; padding: 0; }
/* Elementor adds its own icon slot to every header even with "show icon" off — we draw our own chevron */
:root .elementor-kit-6 .ms-acc-head > :not(.ms-acc-title) { display: none; }
:root .elementor-kit-6 .ms-acc-head > .ms-acc-title { flex: 1 1 auto; width: 100%; }
:root .elementor-kit-6 .ms-acc-head::-webkit-details-marker { display: none; }
:root .elementor-kit-6 .ms-acc { --acc-t: calc(1.4 * var(--u)); --acc-r: max(14px, calc(3 * var(--u))); --acc-b: max(16px, calc(3.2 * var(--u))); --acc-l: max(12px, calc(2 * var(--u))); }   /* inner margins of the dropdowns (more, user 2026-10-13) */
:root .elementor-kit-6 .ms-acc-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: max(8px, calc(.7 * var(--u))) var(--acc-r) max(8px, calc(.7 * var(--u))) var(--acc-l); min-height: max(36px, calc(2.4 * var(--u))); }   /* taller row: the closed chevron clears the line (user 2026-10-13) */
:root .elementor-kit-6 .ms-acc-label { font-family: var(--display-wide); font-weight: var(--display-w); text-transform: uppercase; font-size: max(11px, calc(1.5 * var(--u))); line-height: 1.5; letter-spacing: .1em; }   /* = the project page client-name row (.ms-meta-value, user 2026-10-10), more letter spacing (2026-10-13, twice) */
/* the "+" text is hidden (font-size 0) and replaced by a drawn chevron */
:root .elementor-kit-6 .ms-acc-plus { position: relative; display: block; font-size: 0; width: max(18px, calc(2.6 * var(--u))); height: max(12px, calc(1.6 * var(--u))); }
:root .elementor-kit-6 .ms-acc-plus::before {
  content: ""; position: absolute; left: 50%; top: calc(50% - .2195 * max(18px, calc(2.6 * var(--u))) - .14 * var(--u)); width: 62%; aspect-ratio: 1;   /* the visible V centred on the row (user 2026-10-13): its middle is .354 of the square below the square's centre */
  border-right: max(2px, calc(.12 * var(--u))) solid currentColor; border-bottom: max(2px, calc(.12 * var(--u))) solid currentColor;
  transform: translate(-50%, -50%) rotate(45deg); transition: transform .25s ease, top .25s ease;
}
:root .elementor-kit-6 .ms-acc-item[open] .ms-acc-plus::before { top: calc(50% + .2195 * max(18px, calc(2.6 * var(--u))) - .28 * var(--u)); transform: translate(-50%, -50%) rotate(225deg); }   /* minus the line thickness: measured on the rendered page */
:root .elementor-kit-6 .ms-acc-body { position: relative; display: block; padding: var(--acc-t) var(--acc-r) var(--acc-b) var(--acc-l); }   /* bigger margins (user 2026-10-13) */
/* a picture in a dropdown runs edge to edge (no side / bottom margin), with some space above it (user 2026-10-13); the
   site-chrome script draws scroll-built pixel tiles along its bottom edge */
:root .elementor-kit-6 .ms-acc-body img { display: block; width: calc(100% + var(--acc-l) + var(--acc-r)); max-width: none; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin: calc(2.4 * var(--u)) calc(-1 * var(--acc-r)) calc(-1 * var(--acc-b)) calc(-1 * var(--acc-l)); }
:root .elementor-kit-6 .ms-acc-text { display: block; font-weight: var(--body-w); font-size: var(--fs-small); line-height: 1.5; opacity: .8; }

/* ---------- social icon squares + footer ---------- */
:root .elementor-kit-6 .ms-social { display: flex; flex-direction: row; gap: max(6px, calc(2.4 * var(--u))); padding: 0; width: auto; }
:root .elementor-kit-6 .ms-icon { display: block; margin: 0; }
:root .elementor-kit-6 .ms-icon a {
  display: flex; align-items: center; justify-content: center; padding: 0; border-radius: max(4px, calc(.8 * var(--u)));
  min-width: max(21px, calc(3.213 * var(--u))); height: max(21px, calc(3.213 * var(--u)));   /* 10% smaller than 28px / 4.2u (user 2026-10-07), then 15% smaller (2026-10-10) */
  background: var(--ink); color: var(--cream); text-decoration: none; font-family: var(--display); font-weight: var(--display-w);
  font-size: max(10px, calc(1.3 * var(--u))); transition: transform .15s ease;
}
:root .elementor-kit-6 .ms-icon a:hover, :root .elementor-kit-6 .ms-icon a:focus-visible { transform: translateY(-2px); }
:root .elementor-kit-6 .ms-footer {
  display: flex; flex-direction: column; gap: calc(1 * var(--u)); background: var(--cream); color: var(--ink);
  padding: calc(3.7 * var(--u)) calc(var(--g) + var(--m)) calc(2 * var(--u)) calc(var(--g) + var(--m));
}
:root .elementor-kit-6 .ms-footer-h2 { font-size: max(20px, calc(3.8 * var(--u))); text-align: right; }   /* right-aligned (user 2026-10-09); ~15% smaller (2026-10-12) */
:root .elementor-kit-6 .ms-footer-row { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 0; }
:root .elementor-kit-6 .ms-contact { display: flex; flex-direction: column; gap: 0; padding: 0; flex: 1 1 auto; min-width: 0; }
:root .elementor-kit-6 .ms-footer .ms-social { flex: none; }
:root .elementor-kit-6 .ms-small { font-size: max(12px, calc(1.6 * var(--u))); font-weight: var(--body-w); margin: 0; }
:root .elementor-kit-6 .ms-small a { color: inherit; text-decoration: none; display: inline-block; padding: 2px 0; white-space: nowrap; }
:root .elementor-kit-6 .ms-small a:hover { text-decoration: underline; }
:root .elementor-kit-6 .ms-footer .ms-icon a { min-width: max(30.6px, calc(3.213 * var(--u))); height: max(30.6px, calc(3.213 * var(--u))); }   /* 15% smaller (user 2026-10-10) */
/* social icons = designer-style SVGs, chosen by position (link text stays for screen readers):
   footer: Instagram · map · LinkedIn — team cards: Instagram · Behance · LinkedIn */
:root .elementor-kit-6 .ms-icon a {
  width: max(21px, calc(3.213 * var(--u))); border-radius: 0; background: transparent center / contain no-repeat;
  font-size: 0; color: transparent; outline-color: var(--ink);
}
:root .elementor-kit-6 .ms-footer .ms-icon a { width: max(30.6px, calc(3.213 * var(--u))); }
:root .elementor-kit-6 .ms-icon:nth-child(1) a { background-image: var(--ms-ico-ig); }
:root .elementor-kit-6 .ms-icon:nth-child(3) a { background-image: var(--ms-ico-in); }
:root .elementor-kit-6 .ms-footer .ms-icon:nth-child(2) a { background-image: var(--ms-ico-map); }
:root .elementor-kit-6 .ms-info .ms-icon:nth-child(2) a { background-image: var(--ms-ico-be); }
:root .elementor-kit-6 .ms-copy { display: block; text-align: center; font-size: max(10px, calc(1.2 * var(--u))); color: var(--muted); margin: calc(1.5 * var(--u)) 0 0; }

/* ---------- site-chrome widget (pinned header + menu) — on the designer grid ----------
   The widget carries its own <style>; these rules win (higher specificity). Everything sits on the
   3-column grid: margins --m, columns --col, gutters --gut (plus --g beyond 1600 px). */
:root .elementor-kit-6 .msx-bar {
  height: var(--bar-h);   /* 10% lower than before (user 2026-10-09; was max(56px, 6.1u)) */
  padding: 0 calc(var(--g) + max(4px, var(--m) / 4)) 0 calc(var(--g) + max(4px, var(--m) / 4));   /* a quarter of the grid margin on both sides (user 2026-10-13: halved twice) */
  transition: background-color 0s, color .3s ease, transform .45s cubic-bezier(.2, .7, .2, 1);   /* no fade: the script cuts the cream away along the film edge */
}
/* over a video the bar turns see-through (user 2026-10-13): the script sets .is-over-video and paints the cream as a gradient
   that leaves out exactly the stretch with a film under it, so the change follows the scroll; each icon turns cream only
   where the bar is see-through behind it and a film or dark section is under it. The logo keeps its own colours — its
   animation is being redone. */
:root .elementor-kit-6 .msx.is-over-video .msx-bar { background-color: transparent; }
:root .elementor-kit-6 .msx-burger, :root .elementor-kit-6 .msx-mail { transition: color .3s ease; }
:root .elementor-kit-6 .msx-bar .msx-on-video { color: var(--cream); }
/* hamburger: two lines (user 2026-10-13), as wide as the mail icon; all header icons 30% smaller (user 2026-10-13). Lines and
   gap snapped to whole pixels so both lines render identically (fractional sizes made their rounded ends look different) */
:root .elementor-kit-6 .msx-burger {
  --bl: max(2px, calc(.157 * var(--u))); --bl: round(max(2px, calc(.157 * var(--u))), 1px);
  --bgap: max(4px, calc(.42 * var(--u))); --bgap: round(max(4px, calc(.42 * var(--u))), 1px);
  width: max(17px, calc(1.96 * var(--u))); width: round(max(17px, calc(1.96 * var(--u))), 1px); height: calc(2 * var(--bl) + var(--bgap));
}
:root .elementor-kit-6 .msx-burger span:nth-child(n+3) { display: none; }
:root .elementor-kit-6 .msx-burger span { height: var(--bl); border-radius: 999px; }   /* round ends (user 2026-10-09) */
:root .elementor-kit-6 .msx-logo { width: max(28px, calc(3.01 * var(--u))); }   /* 30% smaller (user 2026-10-13) */
/* header logo = the designer's blinking 2D logo as an animated VECTOR image: every frame of the 500 px WebM traced, the
   outline fixed and only the eye stepping through the frames at 24 fps (SMIL, which runs in CSS images in every browser).
   Crisp at any size and screen density (user 2026-10-10: the video's outline looked chopped). It replaces the static SVG. */
:root .elementor-kit-6 .msx-logo svg { visibility: hidden; }
:root .elementor-kit-6 .msx-logo::after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; background: var(--ms-logo-blink) center / contain no-repeat; }
:root .elementor-kit-6 .msx-mail { width: max(17px, calc(1.96 * var(--u))); width: round(max(17px, calc(1.96 * var(--u))), 1px); }   /* 30% smaller (user 2026-10-13) */
:root .elementor-kit-6 .msx-close { top: max(18px, calc(1.7 * var(--u))); left: calc(var(--g) + max(4px, var(--m) / 4)); width: max(28px, calc(2.45 * var(--u))); }
:root .elementor-kit-6 .msx-top { top: max(22px, calc(3.2 * var(--u))); right: calc(var(--g) + max(4px, var(--m) / 4)); gap: max(20px, calc(2.9 * var(--u))); }
:root .elementor-kit-6 .msx-top a { font-size: max(18px, calc(2.9 * var(--u))); font-family: var(--body); font-weight: var(--body-w); }
/* menu words: one per grid column, centred in it; the cream hover box fills the whole column */
:root .elementor-kit-6 .msx-words {
  display: grid; grid-template-columns: repeat(3, var(--col)); column-gap: var(--gut); justify-content: center; justify-items: stretch; align-items: center;
  width: 100%; margin: 0 0 6vh; padding: 0 calc(var(--g) + var(--m));
}
:root .elementor-kit-6 .msx-pixels { height: calc(3 * var(--tile)); background-size: calc(25 * var(--tile)) 100%; background-repeat: repeat-x; }   /* same tile as everywhere */
:root .elementor-kit-6 .msx-words li { display: block; width: 100%; margin: 0; padding: 0; min-width: 0; }
:root .elementor-kit-6 .msx-words a {
  display: block; width: 100%; text-align: center; white-space: nowrap;
  font-size: min(max(44px, calc(6.4 * var(--u))), calc(var(--col) / 3.9));   /* never wider than its column */
  padding: calc(1.7 * var(--u)) 0;
}
/* phones held upright (portrait only — a phone turned on its side gets the desktop composition, user 2026-10-09) */
@media (max-width: 767px) and (orientation: portrait) {
  :root .elementor-kit-6 { --tile: calc(var(--content) / 14); }   /* tiles ~1.5x bigger on phones (user 2026-10-09); 14 across keeps the
                                                             2-per-row team photos at whole tiles (7 x 7 each) */
  :root .elementor-kit-6 .msx-words { grid-template-columns: 1fr; row-gap: 6vh; margin-bottom: 14vh; padding: 0 calc(var(--m) + 8px); }   /* more air between the words */
  /* top bar: three times the desktop side margin on phones (user 2026-10-13: too narrow) */
  :root .elementor-kit-6 .msx-bar { padding: 0 calc(var(--g) + max(12px, var(--m) * .75)); }
  :root .elementor-kit-6 .msx-close { left: calc(var(--g) + max(12px, var(--m) * .75)); }
  :root .elementor-kit-6 .msx-top { right: calc(var(--g) + max(12px, var(--m) * .75)); }
  /* header icons 50% larger on phones (user 2026-10-13) */
  :root .elementor-kit-6 .msx-burger { --bl: 2px; --bgap: 6px; width: 26px; }   /* lines as thin as the envelope's outline (~1.9 px; user 2026-10-14) */
  :root .elementor-kit-6 .msx-mail { width: 26px; }
  :root .elementor-kit-6 .msx-logo { width: 35.7px; }   /* 15% smaller (user 2026-10-14; was 42 px) */
  /* every secondary text = the work subtitle size, 16.1 px (user 2026-10-13: 14 px, then 15% larger); the dropdown titles
     follow, as on desktop. :not(#_) outranks the page CSS rules that size these per section */
  :root .elementor-kit-6 :is(.ms-body, .ms-sub, .ms-acc-text, .ms-acc-label, .ms-p-text, .ms-office-info a[href^="mailto"], .ms-office-info a[href^="tel"], .ms-footer .ms-small, .ms-info-role, .ms-info-sur):not(#_) { font-size: 16.1px; }   /* + the team card bio and last name (user 2026-10-13) */
  /* project video overlays bigger on phones (user 2026-10-13; were 12 px): title 18 px, second line + % AI tag 16 px */
  :root .elementor-kit-6 .ms-card .ms-card-title:not(#_) { font-size: 18px; }
  :root .elementor-kit-6 .ms-card .ms-card-sub:not(#_), :root .elementor-kit-6 .ms-card.msx-tagged .ms-card-tag:not(#_) { font-size: 16px; }
  :root .elementor-kit-6 .msx-words a { font-size: 44px; padding: 8px 0; }
  /* social icons half size (user 2026-10-09); the transparent padding keeps a finger-sized tap area */
  :root .elementor-kit-6 .ms-icon a {
    width: 21px; min-width: 21px; height: 21px; box-sizing: content-box; padding: 6px; margin: -6px;   /* = the footer icons (team cards too, user 2026-10-14) */
    background-origin: content-box; background-clip: content-box;
  }
  :root .elementor-kit-6 .ms-footer .ms-icon a { width: 21px; min-width: 21px; height: 21px; padding: 6px; margin: -6px; }   /* +15% (user 2026-10-09) */
  :root .elementor-kit-6 .ms-social { gap: max(9px, calc(3.6 * var(--u))); }   /* 1.5x the space between the icons (user 2026-10-10) */
  /* footer: heading, contact lines, icons on their own row, copyright — compact, and its heading smaller than the page
     titles (user 2026-10-10) */
  :root .elementor-kit-6 .ms-footer { gap: 0; padding: 32px calc(var(--g) + var(--m)) 28px; }
  :root .elementor-kit-6 .ms-footer-h2 { font-size: 5.1vw; }
  :root .elementor-kit-6 .ms-footer-row { flex-direction: column; align-items: stretch; gap: 16px; margin-top: 16px; }
  :root .elementor-kit-6 .ms-footer .ms-small { font-size: 14px; }
  :root .elementor-kit-6 .ms-footer .ms-social { align-self: flex-end; }
  :root .elementor-kit-6 .ms-copy { margin-top: 24px; }
}
/* phones on their side: the screen is short — slimmer bar, lower menu pixels */
@media (orientation: landscape) and (max-height: 500px) {
  :root .elementor-kit-6 { --bar-h: 41.4px; }
  :root .elementor-kit-6 .msx-pixels { height: calc(2 * var(--tile)); }
  :root .elementor-kit-6 .msx-words { margin-bottom: 3vh; }
  :root .elementor-kit-6 .msx-words a { padding: 6px 0; }
}

/* ---------- PROJECT PAGES (all project pages; moved from the page CSS into the kit 2026-10-15). Per page only the poster /
   loop / stills are set in that page's own Custom CSS (css/projects/<slug>.css). Measurements from PROJECT_SELECT (379 px wide) ---------- */

/* hero: the looping preview of the project film, the whole 16:9 frame (user 2026-10-13: the cinemascope strip cut off its
   top and bottom), starting right under the header bar and never taller than the screen below it */
:root .elementor-kit-6 .ms-p-hero {
  display: block; width: calc(100% + 2 * var(--g)); max-width: none; margin: var(--bar-h) calc(-1 * var(--g)) 0; aspect-ratio: 16 / 9; max-height: calc(100vh - var(--bar-h)); padding: 0; overflow: hidden;   /* edge to edge on every screen, also past 1600 px (user 2026-10-07) */
  background: #000 center / cover no-repeat;   /* poster + loop (--ms-bg-video / --ms-bg-webm) come from the page CSS */
}

/* intro: title + meta (left) + description & credits (right) */
:root .elementor-kit-6 .ms-p-intro {
  display: grid; grid-template-columns: var(--col) var(--col) var(--col); column-gap: var(--gut); align-items: start;   /* designer grid */
  padding: calc(3.4 * var(--u)) calc(var(--g) + var(--m)) 0 calc(var(--g) + var(--m));
}
:root .elementor-kit-6 .ms-h1 { grid-column: 2 / 4; grid-row: 1; font-size: max(28px, calc(4.6 * var(--u))); line-height: .95; margin-bottom: calc(5.3 * var(--u)); }
:root .elementor-kit-6 .ms-p-meta { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; padding: 0; }
:root .elementor-kit-6 .ms-meta-label { font-size: max(12px, calc(1.6 * var(--u))); font-weight: var(--body-w); margin: 0 0 calc(.6 * var(--u)); }
:root .elementor-kit-6 .ms-meta-value { font-family: var(--display-wide); font-weight: var(--display-w); text-transform: uppercase; font-size: max(11px, calc(1.5 * var(--u))); line-height: 1.5; margin: 0; }
:root .elementor-kit-6 .ms-meta-value + .ms-meta-label { margin-top: calc(3.6 * var(--u)); }
:root .elementor-kit-6 .ms-p-desc { grid-column: 2 / 4; grid-row: 2; display: flex; flex-direction: column; padding: 0; }
:root .elementor-kit-6 .ms-p-text { display: block; font-weight: var(--body-w); font-size: var(--fs-small); line-height: 1.45; margin: 0; }
:root .elementor-kit-6 .ms-p-desc .ms-acc { width: 100%; margin-top: calc(4.7 * var(--u)); }

/* sneak peeks: free collage on a measured grid (cols 102/15/102/15/102, rows as in the mockup) */
:root .elementor-kit-6 .ms-sneak { padding-top: calc(14.2 * var(--u)); }
:root .elementor-kit-6 .ms-sneak-grid {
  display: grid; grid-template-columns: var(--col) var(--gut) var(--col) var(--gut) var(--col);   /* col | gutter | col | gutter | col */
  grid-template-rows: calc(17.9 * var(--u)) calc(9.2 * var(--u)) calc(17.7 * var(--u)) calc(6.9 * var(--u)) calc(17.9 * var(--u)) calc(9 * var(--u)) calc(9.8 * var(--u)) calc(8.2 * var(--u)) calc(24.5 * var(--u));
  width: var(--content); margin-left: var(--m); padding: 0;
}
:root .elementor-kit-6 .ms-sneak-intro { grid-column: 1 / 4; grid-row: 1; display: flex; flex-direction: column; gap: calc(1.4 * var(--u)); padding: calc(1.3 * var(--u)) 0 0; }
:root .elementor-kit-6 .ms-sneak-intro .ms-p-text { max-width: var(--span2); }
:root .elementor-kit-6 .ms-sneak-intro { display: none !important; }   /* the "Sneak peeks" title + short text removed (user 2026-10-14) */
:root .elementor-kit-6 .ms-case-logo { display: none; }   /* no names over the case study video (user 2026-10-14) */
:root .elementor-kit-6 .ms-shot { padding: 0; background-size: cover; background-position: center; }

/* case study (user 2026-10-13): edge to edge; the info sits in a SQUARE panel on the right, the rest of the row is the
   project's looping video (site-chrome script, first frame as poster; the hero's loop until the case-study film arrives) */
:root .elementor-kit-6 .ms-case {
  --case-h: calc(.3512 * var(--content));   /* row height = the panel's side (the old banner's height) */
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) var(--case-h); height: var(--case-h);
  width: calc(100% + 2 * var(--g)); max-width: none; margin: calc(8.2 * var(--u)) calc(-1 * var(--g)) 0; padding: 0; color: var(--cream);
  background: #000 left center / calc(100% - var(--case-h)) auto no-repeat;   /* still or loop come from the page CSS */
}
:root .elementor-kit-6 .ms-case .msx-bg-video { width: calc(100% - var(--case-h)); }   /* the video fills the area left of the panel */
:root .elementor-kit-6 .ms-case-panel { position: relative; z-index: 2; aspect-ratio: 1; }
:root .elementor-kit-6 .ms-case-logos { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; gap: calc(2.2 * var(--u)); padding: 0 0 0 calc(var(--g) + var(--m)); }
:root .elementor-kit-6 .ms-case-logo { font-family: var(--display); font-weight: var(--display-w); text-transform: uppercase; font-size: max(10px, calc(1.6 * var(--u))); margin: 0; opacity: .9; }
:root .elementor-kit-6 .ms-case-panel { display: flex; flex-direction: column; justify-content: center; gap: calc(2.2 * var(--u)); padding: calc(3 * var(--u)) calc(3.2 * var(--u)); background: var(--ink); text-align: right; }
:root .elementor-kit-6 .ms-case-panel .ms-h3 { text-align: center; }

/* numbered parts: video + text, alternating sides */
:root .elementor-kit-6 .ms-steps { padding-top: calc(17 * var(--u)); padding-bottom: calc(5.8 * var(--u)); gap: calc(9.8 * var(--u)); }
:root .elementor-kit-6 .ms-step { display: grid; grid-template-columns: var(--span2) var(--col); column-gap: var(--gut); align-items: start; margin-left: var(--m); padding: 0; width: max-content; /* not Elementor's default 100% + margin → overflow */ }
:root .elementor-kit-6 .ms-step:nth-child(even) { grid-template-columns: var(--col) var(--span2); }
:root .elementor-kit-6 .ms-step:nth-child(even) .ms-step-media { order: 2; }
:root .elementor-kit-6 .ms-step-media { aspect-ratio: 16 / 9; padding: 0; background: #000 center / cover no-repeat; }   /* each step = a film (.ms-film link), its still from the page CSS */
:root .elementor-kit-6 .ms-step-text { display: flex; flex-direction: column; gap: calc(1.6 * var(--u)); padding: 0; }

/* related projects */
:root .elementor-kit-6 .ms-related { padding-top: calc(9.8 * var(--u)); padding-bottom: calc(11 * var(--u)); }
:root .elementor-kit-6 .ms-related .ms-head-right { margin-right: var(--m); max-width: max(220px, calc(42 * var(--u))); }
:root .elementor-kit-6 .ms-related .ms-h2 { font-size: max(24px, calc(4.6 * var(--u))); }
:root .elementor-kit-6 .ms-related-grid {
  display: grid; grid-template-columns: repeat(3, var(--col)); column-gap: var(--gut); padding: 0;
  width: var(--content); margin: calc(8.7 * var(--u)) 0 0 var(--m);
}
:root .elementor-kit-6 .ms-related-grid .ms-card { aspect-ratio: 1; }   /* square everywhere (user 2026-10-14; was 102:103) */

/* phones: single column where the desktop composition gets too small */
@media (max-width: 767px) and (orientation: portrait) {
  :root .elementor-kit-6 .ms-p-intro { grid-template-columns: 1fr; row-gap: 24px; padding-top: calc(5.1 * var(--u)); }
  /* 1.5x the space between the sections (user 2026-10-10) */
  :root .elementor-kit-6 .ms-sneak { padding-top: calc(21.3 * var(--u)); }
  :root .elementor-kit-6 .ms-case { margin-top: calc(12.3 * var(--u)); }
  :root .elementor-kit-6 .ms-steps { padding-top: calc(25.5 * var(--u)); padding-bottom: calc(8.7 * var(--u)); }
  :root .elementor-kit-6 .ms-related { padding-top: calc(14.7 * var(--u)); padding-bottom: calc(16.5 * var(--u)); }
  :root .elementor-kit-6 .ms-h1, :root .elementor-kit-6 .ms-p-meta, :root .elementor-kit-6 .ms-p-desc { grid-column: 1; grid-row: auto; margin-bottom: 0; }
  :root .elementor-kit-6 .ms-meta-value + .ms-meta-label { margin-top: 16px; }
  :root .elementor-kit-6 .ms-sneak-intro { grid-column: 1 / 6; }
  /* case study: the video on top (16:9), the square panel under it */
  :root .elementor-kit-6 .ms-case { grid-template-columns: 1fr; height: auto; background-size: 100% auto; background-position: center top; }
  :root .elementor-kit-6 .ms-case .msx-bg-video { width: 100%; height: auto; aspect-ratio: 16 / 9; }
  :root .elementor-kit-6 .ms-case-logos { aspect-ratio: 16 / 9; padding: 20px var(--m); }
  :root .elementor-kit-6 .ms-case-panel { aspect-ratio: 16 / 9; }   /* as high as the video above it (user 2026-10-13; was square) */
  :root .elementor-kit-6 .ms-step, :root .elementor-kit-6 .ms-step:nth-child(even) { grid-template-columns: 1fr; row-gap: 14px; width: var(--content); margin-left: var(--m); }
  :root .elementor-kit-6 .ms-step:nth-child(even) .ms-step-media { order: 0; }
  :root .elementor-kit-6 .ms-related-grid { grid-template-columns: 1fr; row-gap: 32px; }   /* = the homepage work grid (user 2026-10-14) */
  :root .elementor-kit-6 .ms-related-grid .ms-card { aspect-ratio: 1; }   /* square (user 2026-10-14; was 16:10) */
}

:root .elementor-kit-6 .ms-acc-text a { color: inherit; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }   /* links in dropdown texts (credits, Infrastructure) */
:root .elementor-kit-6 .ms-acc-text a:hover, :root .elementor-kit-6 .ms-acc-text a:focus-visible { text-decoration-thickness: 2px; }/* End custom CSS */