.elementor-14365 .elementor-element.elementor-element-3c02313{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14365 .elementor-element.elementor-element-18866f9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-81ad865{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-81ad865:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-81ad865 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-dave.jpg");background-position:center center;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-73a28f5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-4a27b55{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-4a27b55:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-4a27b55 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-madelyn.jpg");background-position:center center;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-ee347df{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-71bc20d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-71bc20d:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-71bc20d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-katie.jpg");background-position:center center;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-48ab95d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-a56415b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-a56415b:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-a56415b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-emma.jpg");background-position:center center;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-ff3ca34{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-65de985{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-65de985:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-65de985 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-rob.jpg");background-position:center center;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-d8a29a3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-72ce634{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-72ce634:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-72ce634 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-vardges.jpg");background-position:center center;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-00373ee{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-e619c84{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-e619c84:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-e619c84 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-spencer.jpg");background-position:center center;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-1a06505{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-0bfc16d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-0bfc16d:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-0bfc16d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-niko.jpg");background-position:center center;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-49b3120{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-58395ee{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-b548b4c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-b548b4c:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-b548b4c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-boardroom-bg.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-0e3b150{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-3137c91{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-3137c91:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-3137c91 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-boardroom-cutout.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-58609ad{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-e005a42{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-e005a42:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-e005a42 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-desk-bg.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-db6fc0d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-db6fc0d:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-db6fc0d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-desk-cutout.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-2f8d83b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-b02e736{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-b02e736:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-b02e736 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-duo-bg.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-68f8ab4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-68f8ab4:not(.elementor-motion-effects-element-type-background), .elementor-14365 .elementor-element.elementor-element-68f8ab4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://speedxmedia.com/wp-content/uploads/2026/08/sxm-team-duo-cutout.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-14365 .elementor-element.elementor-element-8e48564{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14365 .elementor-element.elementor-element-sxmlpbnd{--display:flex;}/* Start custom CSS *//* ===== SXM TEAM 2026 — built from Figma 653:1236 (1440px frame) =====
   Display type in vw so the composition scales like the artboard.
   Font families are indirected through variables: when the real
   webfonts are added as Elementor Custom Fonts under these exact
   names, every rule below picks them up with no edits. */
.page-id-14365{
  --sxm-display:"F37 Stout Black Compressed","Anton",Impact,sans-serif; /* condensed heavy */
  --sxm-wide:"Nord Medium","Nord Regular","Eurostile Extended Black",sans-serif;
  --sxm-ext:"Microgramma D Extended Bold","Eurostile Extended Black","Nord Medium",sans-serif;
  --sxm-mono:"OCR A Extended","Ocr A Tribute","OCRATributeW01 Regular Mono",monospace;
  --sxm-body:"Nord Regular","DM Sans",sans-serif;
  --sxm-pad:2.778vw;              /* 40px @1440 */
  background:#000;
}
.page-id-14365 .sxm-t-hero,.page-id-14365 .sxm-t-grid,.page-id-14365 .sxm-t-speed,
.page-id-14365 .sxm-t-roles,.page-id-14365 .sxm-t-shared,.page-id-14365 .sxm-t-roster{background:#000;color:#fff;}
.page-id-14365 h1,.page-id-14365 h2,.page-id-14365 h3{margin:0;color:#fff;}
.page-id-14365 .elementor-widget-heading .elementor-heading-title{color:#fff;}
.page-id-14365 .elementor-widget-text-editor{color:#fff;}
/* CAP PARITY (2026-08-27). The comp pairs F37 159 with Nord Medium 170 because Figma
   renders Nord with a ~12% larger cap than the real file; against the real file that
   pairing leaves the wide word 7% short and the rows over-full. Cap heights are
   F37 .7503em and Nord Medium .650em, so parity wants wide = 1.154 x display. The rows
   are already full, so each face moves half-way to the geometric-mean cap (display
   11.04 -> 10.628vw, wide 11.81 -> 12.268vw) and the tracking absorbs the rest. */
.sxm-t-speed,.sxm-t-roles,.sxm-t-shared,.sxm-t-roster{overflow-x:clip;}
/* Nord Medium and Microgramma D Extended Bold are the real files now (2026-08-27),
   so the synthetic -webkit-text-stroke that used to fake the weight is gone. Anything
   that still needs a nudge should change font-weight, not paint an outline. */


.page-id-14365 .elementor-widget-text-editor p{margin:0 0 1em;}
.page-id-14365 .elementor-widget-text-editor p:last-child{margin-bottom:0;}

/* ---------- 1. HERO ---------- */
/* The hero H1's tracked line 3 ("BUILT FOR EXECUTION", Nord Medium, ~21px letter-spacing)
   carries that tracking as a TRAILING ADVANCE inside its box, so the row's scrollWidth runs
   36-49px past the measure at every width. It only tips the page into a horizontal scrollbar
   at ~1200 (padding + overflow = 1203 in a 1200 viewport), which is why 1440 and 1024 both
   look clean and this survived earlier sweeps.
   Measured by pixel-scanning the painted row: the last GLYPH ends 23-31px clear of the
   viewport edge, so the overflow is entirely empty gap -- CLAUDE.md 13's case for
   "keep the gap and clip the row".
   It is clipped HERE, on the full-width hero, and not on .l3: .l3's own box edge sits 9px
   INSIDE its final glyph, so clipping the row itself would shave the last letter.
   overflow-x:clip (not hidden) leaves overflow-y visible (CLAUDE.md 16), so the tall display
   glyphs are not cropped, and this container is not an IntersectionObserver target. */
.sxm-t-hero{padding:4.03vw var(--sxm-pad) 0!important;overflow-x:clip;} /* headline ink lands on Figma y=156 */
.sxm-t-h1{text-align:center;}
.page-id-14365 .sxm-t-h1 .elementor-heading-title{display:block;text-transform:uppercase;color:#fff;white-space:nowrap;}
.page-id-14365 .sxm-t-h1 .elementor-heading-title{position:relative;height:32.99vw;}
.sxm-t-h1 .l1,.sxm-t-h1 .l2,.sxm-t-h1 .l3{position:absolute;left:0;right:0;}
.sxm-t-h1 .l1{top:0;} .sxm-t-h1 .l2{top:13.82vw;} .sxm-t-h1 .l3{top:24.72vw;}
.sxm-t-h1 .l1{font-family:var(--sxm-display);font-size:18.82vw;line-height:.778;}
/* recalibrated for the real Microgramma D Extended Bold (2026-08-27): Eurostile
   Extended Black had run much wider per glyph, so its -.8vw tracking jammed this
   line shut. Solved against the Figma crop: cap 92px, ink 1359px at 1440. */
.sxm-t-h1 .l2{font-family:var(--sxm-ext);font-weight:700;font-size:9.31vw;line-height:1.305;letter-spacing:.117vw;}
.sxm-t-h1 .l3{font-family:var(--sxm-wide);font-weight:500;font-size:5.07vw;line-height:1.2;letter-spacing:1.774vw;}
.sxm-t-h1 .l3::after{content:"";margin-left:-1.774vw;}
.sxm-t-hero-sub{max-width:74.1vw;margin:2.55vw auto 0;text-align:center;}
.sxm-t-hero-sub .elementor-widget-container{max-width:74.1vw;margin:0 auto;}
.sxm-t-hero-sub p{font-family:var(--sxm-body);font-size:16px;line-height:25px;letter-spacing:.8px;
  text-transform:uppercase;opacity:.7;}

/* ---------- 2. TEAM GRID ---------- */
.sxm-t-grid{display:grid!important;grid-template-columns:repeat(4,1fr);gap:.417vw;
  padding:7.6vw var(--sxm-pad) 0!important;}
.sxm-t-card{position:relative;aspect-ratio:335/496;overflow:hidden;padding:0!important;}
.sxm-t-card::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.72) 100%);}
.sxm-t-card__meta{position:absolute!important;left:0;right:0;bottom:0;z-index:2;
  padding:0 1.25vw 1.1vw!important;display:flex;flex-direction:column;align-items:flex-start;}
.sxm-t-nick p{font-family:var(--sxm-mono);font-size:13px;line-height:30px;letter-spacing:2.47px;
  text-transform:uppercase;margin:0;}
.page-id-14365 .sxm-t-name .elementor-heading-title{font-family:var(--sxm-display);font-size:7.22vw;line-height:.86;
  text-transform:uppercase;display:block;margin:.06vw 0 .1vw;}
.sxm-t-role p{font-family:var(--sxm-body);font-size:12px;line-height:30px;letter-spacing:1.08px;
  text-transform:uppercase;margin:0;}

/* ---------- shared: layered image sandwich ---------- */
.sxm-t-layer,.sxm-t-deskimg,.sxm-t-duoimg{position:absolute!important;padding:0!important;}

/* ---------- 3. BUILT FOR SPEED ----------
   Figma stacks three layers in one 1470px band: dimmed room photo, copy + headline,
   then the background-removed cut-out of the same photo so the people sit IN FRONT
   of the type. Children are absolutely placed on the Figma grid (origin y=2045). */
.sxm-t-speed{position:relative;padding:0!important;margin-top:5.76vw;height:110.09vw;}
.page-id-14365 .sxm-t-speed__title .elementor-heading-title{font-family:var(--sxm-display);font-size:25vw;line-height:1;
  text-transform:uppercase;text-align:center;display:block;white-space:nowrap;}
.sxm-t-speed__title{position:absolute!important;left:0;right:0;top:1.74vw;z-index:2;}
.sxm-t-layer{left:0;right:0;top:43.41vw;height:66.67vw;background-size:cover;background-position:center;}
.sxm-t-layer--bg{z-index:1;filter:brightness(.55) contrast(1.03);}
.sxm-t-layer--bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 22%,rgba(0,0,0,0) 45%);}
.sxm-t-layer--cut{z-index:3;background-size:cover;background-position:center;}
.sxm-t-speed__copy{position:absolute!important;z-index:2;left:40vw;top:28.13vw;width:20.07vw;
  display:flex;flex-direction:column;gap:31px;}  /* gap in px: the copy itself is px-sized */
.page-id-14365 .sxm-t-copy p{font-family:var(--sxm-body);font-size:14px;line-height:20px;letter-spacing:.7px;
  text-align:left;text-transform:uppercase;margin:0 0 20px;}   /* justify opened rivers at a 350px measure (audit 2026-09-03) */
.page-id-14365 .sxm-t-copy p:last-child{margin-bottom:0;}
.sxm-t-strategy{position:absolute!important;z-index:4;left:0;right:0;top:92.99vw;padding:0 var(--sxm-pad)!important;}
.sxm-t-strategy .elementor-heading-title{display:flex;align-items:baseline;justify-content:space-between;
  text-transform:uppercase;white-space:nowrap;line-height:1;}
.sxm-t-strategy .a{font-family:var(--sxm-wide);font-weight:500;font-size:12.268vw;letter-spacing:-.436vw;}
.sxm-t-strategy .b{font-family:var(--sxm-display);font-size:10.628vw;margin-right:-.35vw;}

/* ---------- 4. DEFINED ROLES ----------  Figma origin = title top (y=3556) */
.sxm-t-roles{position:relative;padding:0!important;margin-top:1.32vw;height:37.99vw;}
.sxm-t-roles__title{position:absolute!important;left:0;right:0;top:1.53vw;z-index:4;padding:0 var(--sxm-pad)!important;}
.sxm-t-roles__title .elementor-heading-title{display:flex;align-items:baseline;justify-content:space-between;
  text-transform:uppercase;white-space:nowrap;line-height:1;}
.sxm-t-roles__title .a{font-family:var(--sxm-display);font-size:10.628vw;}
.sxm-t-roles__title .b{font-family:var(--sxm-wide);font-weight:500;font-size:12.268vw;letter-spacing:5.632vw;}
.sxm-t-roles__title .b::after{content:"";margin-left:-5.632vw;}
.sxm-t-deskimg{left:3.82vw;top:6.6vw;width:47.08vw;height:31.39vw;background-size:cover;background-position:center;}
.sxm-t-deskimg--bg{z-index:1;}
.sxm-t-deskimg--cut{z-index:3;background-size:contain;background-repeat:no-repeat;background-position:center bottom;}
.sxm-t-roles__copy{position:absolute!important;z-index:2;left:57.57vw;top:15vw;width:21.11vw;padding:0!important;}
.page-id-14365 .sxm-t-roles__copy p{font-family:var(--sxm-body);font-size:14px;line-height:20px;letter-spacing:.7px;
  text-transform:uppercase;margin:0 0 20px;}
.page-id-14365 .sxm-t-roles__copy p:last-child{margin-bottom:0;}

/* ---------- 5. SHARED ACCOUNTABILITY ----------  Figma origin = title top (y=4066);
   it deliberately overlaps the Roles band by 15px */
.sxm-t-shared{position:relative;padding:0!important;margin-top:-2.57vw;height:33.82vw;}
.sxm-t-shared__title{position:absolute!important;left:0;right:0;top:1.53vw;z-index:4;padding:0 var(--sxm-pad)!important;}
.sxm-t-shared__title .elementor-heading-title{display:flex;align-items:baseline;justify-content:space-between;
  text-transform:uppercase;white-space:nowrap;line-height:1;}
.sxm-t-shared__title .a{font-family:var(--sxm-wide);font-weight:500;font-size:12.268vw;letter-spacing:-.742vw;}
.sxm-t-shared__title .b{font-family:var(--sxm-display);font-size:10.628vw;}
.sxm-t-duoimg{left:41.18vw;top:5.14vw;width:55.14vw;height:28.68vw;background-size:cover;background-position:center;}
.sxm-t-duoimg--bg{z-index:1;}
.sxm-t-duoimg--cut{z-index:3;background-size:contain;background-repeat:no-repeat;background-position:center bottom;}

/* ---------- 6. ROSTER + FORM ---------- */
.sxm-t-roster{padding:7.57vw var(--sxm-pad) clamp(46px,7vw,100px)!important;margin-top:-1.18vw;}
.sxm-t-roster__title .elementor-heading-title{display:block;text-transform:uppercase;white-space:nowrap;line-height:1;}
.sxm-t-roster__title .r1,.sxm-t-roster__title .r2,.sxm-t-roster__title .r4,.sxm-t-roster__title .r5{display:inline-block;vertical-align:baseline;}
.sxm-t-roster__title .r1{font-family:var(--sxm-display);font-size:10.628vw;}
.sxm-t-roster__title .r2{font-family:var(--sxm-wide);font-weight:500;font-size:12.268vw;letter-spacing:-.534vw;margin-left:1.05vw;}
.sxm-t-roster__title .r3{display:block;font-family:var(--sxm-wide);font-weight:500;font-size:4.63vw;
  letter-spacing:1.62vw;line-height:1.48;}
.sxm-t-roster__title .r3::after{content:"";margin-left:-1.62vw;}
.sxm-t-roster__title .r4{font-family:var(--sxm-wide);font-weight:500;font-size:12.268vw;letter-spacing:3.047vw;}
.sxm-t-roster__title .r4::after{content:"";margin-left:-3.047vw;}
.sxm-t-roster__title .r5{font-family:var(--sxm-display);font-size:10.628vw;margin-left:1.6vw;}
.sxm-t-roster__sub{max-width:34vw;margin:2.8vw auto 0;text-align:center;}
.sxm-t-roster__sub p{font-family:var(--sxm-body);font-size:16px;line-height:30px;letter-spacing:2.4px;text-transform:uppercase;}
.sxm-t-note{text-align:center;margin-top:13px;margin-bottom:0!important;}
.sxm-t-motion{display:none;}
.sxm-t-note p{margin:0;font-family:var(--sxm-mono);font-size:13px;letter-spacing:1.3px;text-transform:uppercase;color:#e8c33c;}

/* form — Gravity Forms id 1, restyled to the Figma spec */
.sxm-t-form{margin-top:5vw;}
.sxm-t-form .gform_wrapper{max-width:none;}
.sxm-t-form .gform_wrapper form{margin:0;}
.sxm-t-form .gform_wrapper .gform_fields{display:grid!important;grid-template-columns:1fr 1fr;
  grid-column-gap:.35vw;grid-row-gap:.35vw;}
.sxm-t-form .gform_wrapper .gfield{grid-column:1;}
.sxm-t-form .gform_wrapper .gfield:has(textarea){grid-column:2;grid-row:1/span 3;}
.sxm-t-form .gform_wrapper .gfield_label{display:none!important;}
/* left column ends flush with the textarea: equal rows, inputs fill them */
.sxm-t-form .gform_wrapper .gform_fields{grid-template-rows:repeat(3,minmax(0,1fr));align-items:stretch;
  height:clamp(240px,18.1vw,262px);row-gap:6px!important;column-gap:6px;}
.sxm-t-form .gform_wrapper .gfield{display:flex;flex-direction:column;min-height:0;margin:0!important;padding:0!important;}
.sxm-t-form .gform_wrapper .gfield > .ginput_container{flex:1 1 auto;display:flex;min-height:0;}
.sxm-t-form .gform_wrapper .gfield input[type=text],
.sxm-t-form .gform_wrapper .gfield input[type=email],
.sxm-t-form .gform_wrapper .gfield input[type=tel]{height:100%;}
.sxm-t-form .gform_wrapper input[type=text],.sxm-t-form .gform_wrapper input[type=email],
.sxm-t-form .gform_wrapper input[type=tel],.sxm-t-form .gform_wrapper textarea{
  width:100%;background:#1c1c1c;border:0;border-radius:6px;color:#fff;
  font-family:var(--sxm-body);font-size:16px;padding:2.3vw 2.1vw;}
.sxm-t-form .gform_wrapper input,.sxm-t-form .gform_wrapper textarea{border:0!important;}
.sxm-t-form .gform_wrapper textarea{height:100%!important;resize:none;padding-top:2.3vw;}
.sxm-t-form .gform_wrapper ::placeholder{color:#8a8a8a;opacity:1;}
.sxm-t-form .gform_wrapper .gform_footer{margin:.35vw 0 0;padding:0;}
.sxm-t-form .gform_wrapper .gform_footer input[type=submit],
.sxm-t-form .gform_wrapper .gform_button, .sxm-t-form .gform_wrapper .gform_footer button[type=submit]{width:100%!important;background:#fff!important;color:#000!important;
  border:0!important;border-radius:6px!important;font-family:var(--sxm-wide)!important;font-weight:500;
  font-size:1.94vw!important;line-height:1!important;letter-spacing:.02em;text-transform:uppercase;
  padding:clamp(20px,2.0vw,29px) 0!important;margin:0!important;cursor:pointer;
  box-shadow:inset 0 0 0 2px #fff!important;
  transition:background-color .25s ease,color .25s ease;}
/* House CTA button: hover inverts to a black ground with white type and a white ring,
   matching /faq/ /work/ /marketing/ the 42 sub-pages and the blog. The ring is an INSET
   box-shadow, not a border, so nothing shifts by 4px on hover. Was a translate+fade. */
.sxm-t-form .gform_wrapper .gform_footer input[type=submit]:hover,
.sxm-t-form .gform_wrapper .gform_button:hover, .sxm-t-form .gform_wrapper .gform_footer button[type=submit]:hover{background:#000!important;color:#fff!important;}
.sxm-t-form .gform_wrapper .gform_footer input[type=submit]:focus-visible, .sxm-t-form .gform_wrapper .gform_footer button[type=submit]:focus-visible{outline:3px solid #fff;outline-offset:3px;}

/* ================= MOTION =================
   Everything is opt-in behind prefers-reduced-motion and driven by one
   IntersectionObserver, so nothing animates off-screen and nothing runs on
   devices that ask for stillness. Transforms/opacity only - no layout thrash. */
@media (prefers-reduced-motion:no-preference){
  /* hero: each line wipes up behind its own mask, staggered */
  .sxm-t-h1 .l1,.sxm-t-h1 .l2,.sxm-t-h1 .l3{
    clip-path:inset(0 0 100% 0);transform:translateY(.14em);
    animation:sxmWipe 1.05s cubic-bezier(.16,.84,.44,1) forwards;}
  .sxm-t-h1 .l1{animation-delay:.10s} .sxm-t-h1 .l2{animation-delay:.24s} .sxm-t-h1 .l3{animation-delay:.38s}
  @keyframes sxmWipe{to{clip-path:inset(-.15em -100vw);transform:none}}
  .sxm-t-hero-sub{opacity:0;animation:sxmFade 1s ease .62s forwards}
  @keyframes sxmFade{to{opacity:1}}

  /* scroll reveals */
  .sxm-rv{opacity:0;transform:translateY(30px);
    transition:opacity .85s cubic-bezier(.16,.84,.44,1),transform .85s cubic-bezier(.16,.84,.44,1);
    transition-delay:var(--d,0s);will-change:opacity,transform}
  .sxm-rv.is-in{opacity:1;transform:none}
  /* big display lockups wipe rather than slide */
  /* clip the INNER title, never the observed element itself - a self-clipped node
     reports zero intersection area and the observer would never fire, leaving the
     headline permanently hidden. */
  .sxm-rv--wipe{opacity:1;transform:none}
  .sxm-rv--wipe .elementor-heading-title{clip-path:inset(0 -100vw 105% -100vw);
    transition:clip-path 1.1s cubic-bezier(.16,.84,.44,1);transition-delay:var(--d,0s)}
  .sxm-rv--wipe.is-in .elementor-heading-title{clip-path:inset(-.18em -100vw)}

  /* team cards: photo settles as the card arrives, then responds to hover */
  .sxm-t-card{transition:transform .5s cubic-bezier(.16,.84,.44,1)}
  .sxm-t-card{background-size:cover;}
  .sxm-t-card::before{content:"";position:absolute;inset:0;background:inherit;background-size:cover;
    background-position:center;transform:scale(1.001);transition:transform 1.1s cubic-bezier(.16,.84,.44,1);z-index:0}
  .sxm-t-card:hover::before{transform:scale(1.06)}
  .sxm-t-card:hover::after{background:linear-gradient(180deg,rgba(0,0,0,0) 28%,rgba(0,0,0,.85) 100%)}
  .sxm-t-card::after{transition:background .5s ease}
  .sxm-t-card .sxm-t-name .elementor-heading-title{transition:transform .5s cubic-bezier(.16,.84,.44,1)}
  .sxm-t-card:hover .sxm-t-name .elementor-heading-title{transform:translateX(.06em)}

  /* layered bands drift a little as they pass - depth without distraction */
  .sxm-t-layer--cut,.sxm-t-deskimg--cut,.sxm-t-duoimg--cut{
    transform:translate3d(0,var(--py,0px),0);transition:transform .12s linear;will-change:transform}

  /* BUILT FOR SPEED: letters arrive fast from the left, motion-blurred, and brake
     into place - staggered so the word reads like it is decelerating. */
  .sxm-speedchar{display:inline-block;white-space:pre;opacity:0;
    transform:translate3d(-.55em,0,0) skewX(-14deg);filter:blur(14px);
    transition:opacity .45s ease var(--cd,0s),
               transform .72s cubic-bezier(.11,.86,.18,1) var(--cd,0s),
               filter .45s ease var(--cd,0s);}
  .is-in .sxm-speedchar{opacity:1;transform:none;filter:none;}
  /* a single light streak sweeps the lockup as it settles */
  .sxm-t-speed__title{position:absolute!important;}
  /* streak spans the glyph area, not the (much shorter) line box */
  .sxm-t-speed__title::after{content:"";position:absolute;top:-55%;bottom:-55%;left:0;width:22%;
    transform:skewX(-18deg);pointer-events:none;opacity:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);}
  .sxm-t-speed__title.is-in::after{animation:sxmStreak 1.15s cubic-bezier(.2,.7,.2,1) .3s 1;}
  @keyframes sxmStreak{0%{opacity:0;left:0}18%{opacity:1}100%{opacity:0;left:82%}}

  /* STRATEGY IN MOTION drifts in laterally - the two halves close toward each other */
  .sxm-t-strategy .a{transform:translate3d(-.18em,0,0);opacity:0;
    transition:transform .95s cubic-bezier(.16,.84,.44,1) .05s,opacity .8s ease .05s;}
  .sxm-t-strategy .b{transform:translate3d(.28em,0,0);opacity:0;
    transition:transform .95s cubic-bezier(.16,.84,.44,1) .18s,opacity .8s ease .18s;}
  .sxm-t-strategy.is-in .a,.sxm-t-strategy.is-in .b{transform:none;opacity:1;}
  /* submit button: the invert is a colour change, so it needs no motion exemption */
}
/* ---------- TABLET ---------- */
@media(max-width:1024px){
  .sxm-t-form .gform_wrapper .gform_fields{height:clamp(250px,32vw,290px);}
  .page-id-14365 .sxm-t-h1 .elementor-heading-title{position:static;height:auto;}
  .sxm-t-h1 .l1,.sxm-t-h1 .l2,.sxm-t-h1 .l3{position:static;top:auto;display:block;}
  .sxm-t-h1 .l1{line-height:.86;} .sxm-t-h1 .l2{line-height:1.15;} .sxm-t-h1 .l3{line-height:1.5;}
  .sxm-t-hero-sub{margin-top:5vw;}
  .sxm-t-grid{grid-template-columns:repeat(2,1fr);gap:1vw;}
  .page-id-14365 .sxm-t-name .elementor-heading-title{font-size:12vw;}
  .sxm-t-speed__copy{width:34vw;margin-left:32vw;}
  /* ⚠ This used to be `width:34vw;margin-left:52vw` while the base rule still applied
     `left:57.57vw` to the same absolutely-positioned block. The two ADD: 57.57 + 52 =
     109.57vw, so from 1024px down to the 767px reset the copy sat entirely beyond the
     right edge of .sxm-t-roles, which is `overflow-x:clip` — and because a fully clipped
     element reports zero intersection area, its IntersectionObserver reveal never fired
     and it stayed at opacity:0 (CLAUDE.md 13). Two paragraphs of body copy were invisible
     on every tablet-width screen. Position it with `left` alone. */
  .sxm-t-roles__copy{left:52vw;margin-left:0;width:34vw;}
}
/* ---------- MOBILE ---------- */
@media(max-width:767px){
  .page-id-14365{--sxm-pad:20px;}
  .sxm-t-hero{padding:36px 20px 0!important;}   /* phone: 40px to the first ink like every page (was 22vw = 86px) */
  .page-id-14365 .sxm-t-h1 .elementor-heading-title{white-space:normal;position:static;height:auto;}
  .sxm-t-h1 .l1,.sxm-t-h1 .l2,.sxm-t-h1 .l3{position:static;top:auto;display:block;}
  .sxm-t-h1 .l1{font-size:15vw;line-height:.9;}
  .sxm-t-h1 .l2{font-size:9.5vw;letter-spacing:.3vw;line-height:1.25;}
  .sxm-t-h1 .l3{font-size:5.2vw;letter-spacing:1.2vw;line-height:1.5;}
  .sxm-t-hero-sub{max-width:100%;margin-top:7vw;}
  .sxm-t-hero-sub p{font-size:13px;line-height:21px;}

  .sxm-t-grid{grid-template-columns:1fr;gap:10px;padding-top:14vw!important;}
  .sxm-t-card{aspect-ratio:335/420;}
  .sxm-t-card__meta{padding:0 22px 20px!important;}
  .page-id-14365 .sxm-t-name .elementor-heading-title{font-size:19vw;}
  .sxm-t-nick p{font-size:11px;line-height:24px;letter-spacing:1.8px;}
  .sxm-t-role p{font-size:11px;line-height:22px;}

  /* layered sandwiches: unwind the desktop Figma grid completely and stack,
     otherwise the absolutely-placed copy collapses into an unreadable column */
  .sxm-t-speed,.sxm-t-roles,.sxm-t-shared{height:auto!important;min-height:0;margin-top:0;}
  .sxm-t-speed__title,.sxm-t-strategy,.sxm-t-speed__copy,
  .sxm-t-roles__title,.sxm-t-roles__copy,.sxm-t-shared__title{
    position:static!important;left:auto;right:auto;top:auto;width:auto!important;height:auto!important;}
  .sxm-t-speed__copy{display:flex!important;flex-direction:column;gap:7vw;}
  .sxm-t-speed__copy > *{position:static!important;top:auto!important;width:100%;}
  .sxm-t-speed{padding:18vw 0 0!important;}
  .page-id-14365 .sxm-t-speed__title .elementor-heading-title{font-size:23vw;line-height:.85;}
  .sxm-t-layer,.sxm-t-deskimg,.sxm-t-duoimg{position:relative!important;left:auto;right:auto;top:auto;}
  .sxm-t-layer--bg,.sxm-t-deskimg--bg,.sxm-t-duoimg--bg{display:none;}
  .sxm-t-layer--cut{width:100%;height:62vw;margin-top:8vw;background-size:cover;background-position:center;opacity:1;}
  .sxm-t-speed__copy{margin:0;padding:9vw 20px 0!important;}
  .sxm-t-copy p{font-size:12.5px;line-height:19px;text-align:left;}
  .sxm-t-strategy{margin-top:11vw;}
  .sxm-t-strategy .elementor-heading-title,
  .sxm-t-roles__title .elementor-heading-title,
  .sxm-t-shared__title .elementor-heading-title{display:block;white-space:normal;}
  .sxm-t-strategy .a,.sxm-t-shared__title .a{display:block;font-size:14.5vw;letter-spacing:-.2vw;}
  .sxm-t-strategy .b,.sxm-t-shared__title .b{display:block;font-size:16vw;}
  .sxm-t-roles{padding:13vw 0 0!important;}
  .sxm-t-roles__title .a{display:block;font-size:16vw;}
  .sxm-t-roles__title .b{display:block;font-size:13vw;letter-spacing:2.2vw;}
  .sxm-t-deskimg--cut,.sxm-t-duoimg--cut{width:100%;height:56vw;margin-top:7vw;background-size:cover;}
  .sxm-t-roles__copy{margin:0;padding:9vw 20px 0!important;}
  .sxm-t-roles__copy p{font-size:12.5px;line-height:19px;}
  .sxm-t-shared{padding:13vw 0 0!important;}

  .sxm-t-roster{padding:16vw 20px 46px!important;}
  .sxm-t-roster__title .elementor-heading-title{white-space:normal;}
  .sxm-t-roster__title .r1{display:block;font-size:16vw;}
  .sxm-t-roster__title .r2{display:block;font-size:13vw;margin:0;letter-spacing:-.2vw;}
  .sxm-t-roster__title .r3{font-size:6.4vw;letter-spacing:1vw;margin-top:3vw;}
  .sxm-t-roster__title .r4{display:block;font-size:16vw;letter-spacing:1vw;}
  .sxm-t-roster__title .r5{display:block;font-size:17vw;margin:0;}
  .sxm-t-roster__sub{max-width:100%;margin-top:8vw;}
  .sxm-t-roster__sub p{font-size:13px;line-height:24px;letter-spacing:1.6px;}
  .sxm-t-form{margin-top:11vw;}
  .sxm-t-form .gform_wrapper .gform_fields{grid-template-columns:1fr;grid-row-gap:10px!important;
    grid-template-rows:none;height:auto;}
  .sxm-t-form .gform_wrapper .gfield,
  .sxm-t-form .gform_wrapper .gfield:has(textarea){grid-column:1;grid-row:auto;}
  .sxm-t-form .gform_wrapper input[type=text],.sxm-t-form .gform_wrapper input[type=email],
  .sxm-t-form .gform_wrapper input[type=tel],.sxm-t-form .gform_wrapper textarea{padding:19px 20px!important;font-size:15px;line-height:1.35!important;height:auto!important;}
  .sxm-t-form .gform_wrapper textarea{height:180px!important;}
  .sxm-t-form .gform_wrapper .gform_footer{margin-top:10px;}
  /* !important is required: the base rule sets padding with !important, so an unflagged
     mobile override silently loses and the phone button keeps its desktop padding. */
  .sxm-t-form .gform_wrapper .gform_footer input[type=submit],
  .sxm-t-form .gform_wrapper .gform_button, .sxm-t-form .gform_wrapper .gform_footer button[type=submit]{font-size:20px!important;padding:20px 0!important;}
  .sxm-t-note p{font-size:11px;letter-spacing:.9px;}
}/* End custom CSS */