.elementor-19046 .elementor-element.elementor-element-a4ee0de{--display:flex;}.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-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-19046 .elementor-element.elementor-element-8182835{--display:flex;}.elementor-19046 .elementor-element.elementor-element-sxmpfhst{--display:flex;}.elementor-19046 .elementor-element.elementor-element-4298dce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-19046 .elementor-element.elementor-element-sxmlpbnd{--display:flex;}.elementor-19046 .elementor-element.elementor-element-c41aa4a{--display:flex;}/* Start custom CSS *//* /services/ — THE FIVE (CLAUDE.md §59.7). One page that holds the five disciplines the way the homepage
   holds them on a phone: the title in its own face, the monochrome clip, one line of copy, a way in.
   Desktop: each discipline is a chapter — copy column and clip panel, sides alternating, on a hairline.
   Phone: title, clip, copy, button, stacked. Measure 1360 at 1440 (gutter 40); every number in --u. */

.page-id-19046{
  --sp-pad: max(20px, min(40px, calc((100vw - 1360px) / 2)));
  --sxm-display: 'F37 Stout Black Compressed', sans-serif;
  --sxm-wide: 'Nord Medium', 'Nord Regular', sans-serif;
  --sxm-copy: 'DM Sans', system-ui, sans-serif;            /* SXM FONT SUBSTITUTE: Circular Std */
  --sxm-mono: 'OCRATributeW01 Regular Mono', 'Ocr A Tribute', monospace;
  --sp-gold: #FFDC30;
  --sp-line: rgba(255,255,255,.14);
  --sp-muted: rgba(255,255,255,.62);
}
body.page-id-19046{ background: #000; }
.page-id-19046 .e-con.sxm-sp{
  padding-inline: var(--sp-pad) !important; background: #000; color: #fff;
  container-type: inline-size; --u: calc(100cqi / 1360);
}

/* ------------------------------------------------------------------ hero */
.page-id-19046 .e-con.sxm-sp-hero{ padding-top: clamp(40px, 4.4vw, 62px) !important; padding-bottom: 0 !important; }
.page-id-19046 .sxm-sp-rule{ border-top: 1px solid var(--sp-line); margin: 0 0 clamp(14px, calc(18 * var(--u)), 18px); }
.page-id-19046 .sxm-sp-eyebrow p{
  font-family: var(--sxm-mono); font-size: 12px; letter-spacing: 2.4px; text-transform: uppercase;
  color: var(--sp-muted); margin: 0 0 clamp(28px, calc(46 * var(--u)), 46px);
}
/* the H1 lockup: SERVICES in the display face, BUILT FOR SPEED in the wide face on its own line */
.page-id-19046 .sxm-sp-h1 .elementor-heading-title{
  --lu: calc(100cqi / 1360); --dsz: 250;
  display: flex; flex-direction: column; align-items: flex-start; gap: calc(14 * var(--lu));
  line-height: 1; text-transform: uppercase; color: #fff; margin: 0;
  overflow-wrap: normal; word-break: normal;
}
.page-id-19046 .sxm-sp-h1 .l{ display: block; }
.page-id-19046 .sxm-sp-h1 .d{ font-family: var(--sxm-display); font-weight: 900; font-style: normal; font-size: calc(var(--dsz) * .9808 * var(--lu)); line-height: .86; letter-spacing: 0; }
.page-id-19046 .sxm-sp-h1 .w{ font-family: var(--sxm-wide); font-weight: 500; font-style: normal; font-size: calc(62 * var(--lu)); letter-spacing: .06em; line-height: 1.1; color: rgba(255,255,255,.92); }
.page-id-19046 .sxm-sp-stand p{
  font-family: var(--sxm-copy); font-weight: 400; font-size: clamp(17px, calc(22 * var(--u)), 23px); line-height: 1.5;
  color: var(--sp-muted); max-width: 56ch; margin: clamp(24px, calc(40 * var(--u)), 44px) 0 0;
}
/* the index: five mono chips that jump to the chapters */
.page-id-19046 .sxm-sp-index ul{ list-style: none; margin: clamp(30px, calc(48 * var(--u)), 52px) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.page-id-19046 .sxm-sp-index a{
  display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 18px; border-radius: 90px;
  border: 1px solid var(--sp-line); color: #fff; text-decoration: none;
  font-family: var(--sxm-mono); font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.page-id-19046 .sxm-sp-index a b{ font-weight: 400; color: var(--sp-muted); }
.page-id-19046 .sxm-sp-index a:hover, .page-id-19046 .sxm-sp-index a:focus-visible{ background: #fff; color: #000; border-color: #fff; outline: none; }
.page-id-19046 .sxm-sp-index a:hover b, .page-id-19046 .sxm-sp-index a:focus-visible b{ color: rgba(0,0,0,.6); }

/* -------------------------------------------------------------- chapters */
.page-id-19046 .e-con.sxm-sp-chapters{ padding-top: clamp(40px, calc(72 * var(--u)), 80px) !important; padding-bottom: 0 !important; }
.page-id-19046 .sxm-sp-chapters .elementor-widget-container{ width: 100%; }
.page-id-19046 .sxm-sp-ch{
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(60 * var(--u));
  align-items: center;
  border-top: 1px solid var(--sp-line);
  padding: clamp(40px, calc(84 * var(--u)), 92px) 0;
  scroll-margin-top: 120px;
}
.page-id-19046 .sxm-sp-ch:nth-child(even) .sxm-sp-ch__copy{ order: 2; }
.page-id-19046 .sxm-sp-ch:nth-child(even) .sxm-sp-ch__media{ order: 1; }
.page-id-19046 .sxm-sp-ch__copy{ min-width: 0; }
.page-id-19046 .sxm-sp-num{
  display: block; font-family: var(--sxm-mono); font-size: 12px; letter-spacing: 2.4px; color: var(--sp-muted);
  margin: 0 0 clamp(16px, calc(26 * var(--u)), 28px);
}
/* the five faces, every word scaled to ONE measure (the homepage column's ratios: ink width per em, §50.1) */
.page-id-19046 .sxm-sp-t{ --tw: clamp(280px, calc(440 * var(--u)), 460px); margin: 0 0 clamp(20px, calc(30 * var(--u)), 32px); line-height: 1; color: #fff; letter-spacing: 0; text-transform: none; font-weight: 400; }
.page-id-19046 .sxm-sp-t a{ color: inherit; text-decoration: none; display: inline-block; transition: opacity .3s ease; }
.page-id-19046 .sxm-sp-t a:hover, .page-id-19046 .sxm-sp-t a:focus-visible{ opacity: .72; outline: none; }
.page-id-19046 .sxm-sp-t--creative{    font-family: 'Exposure', serif;                     font-size: calc(var(--tw) / 3.98); line-height: 1.12; }
.page-id-19046 .sxm-sp-t--strategy{    font-family: 'Chomsky', serif;                      font-size: calc(var(--tw) / 3.05); }
.page-id-19046 .sxm-sp-t--marketing{   font-family: 'Bookman JFPro Regular', serif; font-style: oblique 12deg; font-size: calc(var(--tw) / 4.86); letter-spacing: -.02em; }
.page-id-19046 .sxm-sp-t--production{  font-family: var(--sxm-display); font-weight: 900; text-transform: uppercase; font-size: calc(var(--tw) / 2.57); letter-spacing: -.03em; line-height: .9; }
.page-id-19046 .sxm-sp-t--development{ font-family: var(--sxm-mono);                       font-size: calc(var(--tw) / 5.88); letter-spacing: .14em; white-space: nowrap; }
.page-id-19046 .sxm-sp-lede{
  font-family: 'Nord Regular', sans-serif; font-size: clamp(12px, calc(14 * var(--u)), 15px); line-height: 1.75;
  letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.78);
  max-width: 44ch; margin: 0 0 clamp(20px, calc(28 * var(--u)), 30px);
}
.page-id-19046 .sxm-sp-chips{ list-style: none; margin: 0 0 clamp(24px, calc(36 * var(--u)), 40px); padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.page-id-19046 .sxm-sp-chips a{
  display: inline-block; padding: 8px 14px; border-radius: 90px; border: 1px solid var(--sp-line);
  font-family: var(--sxm-mono); font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase; color: rgba(255,255,255,.8);
  text-decoration: none; transition: background .22s ease, color .22s ease, border-color .22s ease;
}
.page-id-19046 .sxm-sp-chips a:hover, .page-id-19046 .sxm-sp-chips a:focus-visible{ background: #fff; color: #000; border-color: #fff; outline: none; }
/* the way in: the hero button's language (Nord Medium, outlined, the white fill sweeps in) */
.page-id-19046 .sxm-sp-btn{
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; gap: 14px; height: 52px; padding: 0 28px; border-radius: 6px;
  border: 1px solid #fff; color: #fff; text-decoration: none;
  font-family: var(--sxm-wide); font-weight: 500; font-size: 13px; letter-spacing: .18em; text-transform: uppercase;
  transition: color .3s ease;
}
.page-id-19046 .sxm-sp-btn::before{ content: ''; position: absolute; inset: 0; background: #fff; transform: translateX(-101%); transition: transform .38s cubic-bezier(.2,.8,.2,1); z-index: -1; }
.page-id-19046 .sxm-sp-btn:hover, .page-id-19046 .sxm-sp-btn:focus-visible{ color: #000; outline: none; }
.page-id-19046 .sxm-sp-btn:hover::before, .page-id-19046 .sxm-sp-btn:focus-visible::before{ transform: translateX(0); }
.page-id-19046 .sxm-sp-btn:focus-visible{ box-shadow: 0 0 0 3px rgba(255,255,255,.35); }
/* the clip: the homepage's phone framing — rounded, a hairline, the monochrome loop filling it */
.page-id-19046 .sxm-sp-ch__media{ min-width: 0; }
.page-id-19046 .sxm-sp-frame{
  position: relative; aspect-ratio: 16 / 10; border-radius: 18px; overflow: hidden;
  border: 1px solid var(--sp-line); background: #0a0a0a; isolation: isolate;
}
.page-id-19046 .sxm-sp-frame video{
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(1); scale: 1.02; transition: scale 1.1s cubic-bezier(.2,.8,.2,1);
}
.page-id-19046 .sxm-sp-ch:hover .sxm-sp-frame video{ scale: 1.08; }
.page-id-19046 .sxm-sp-frame::after{ content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.35)); pointer-events: none; }
.page-id-19046 .sxm-sp-frame .sxm-sp-tag{
  position: absolute; left: 18px; bottom: 16px; z-index: 1;
  font-family: var(--sxm-mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.8);
}

/* --------------------------------------------------------------- proof */
.page-id-19046 .e-con.sxm-pf-host{ padding-inline: var(--sp-pad) !important; background: #000; }

/* ----------------------------------------------------------------- cta */
.page-id-19046 .e-con.sxm-sp-cta{ padding-top: clamp(60px, calc(150 * var(--u)), 170px) !important; padding-bottom: clamp(46px, 7vw, 100px) !important; text-align: center; }
.page-id-19046 .sxm-sp-cta .elementor-widget-container{ width: 100%; }
.page-id-19046 .sxm-sp-ctahead .elementor-heading-title{
  --lu: calc(100cqi / 1360); --dsz: 157;
  display: flex; flex-direction: column; align-items: center; gap: 0;
  line-height: 1; text-transform: uppercase; color: #fff; margin: 0 0 clamp(20px, 3.6cqi, 50px);
}
.page-id-19046 .sxm-sp-ctahead .l{ display: flex; align-items: baseline; justify-content: center; gap: calc(11 * var(--lu)); }
.page-id-19046 .sxm-sp-ctahead .d{ font-family: var(--sxm-display); font-weight: 900; font-style: normal; font-size: calc(var(--dsz) * .9808 * var(--lu)); line-height: .87; }
.page-id-19046 .sxm-sp-ctahead .w{ font-family: var(--sxm-wide); font-weight: 500; font-style: normal; font-size: calc(var(--dsz) * .9808 * 1.1543 * var(--lu)); letter-spacing: -.04em; line-height: .87; }
.page-id-19046 .sxm-sp-ctasub p{
  font-family: 'Nord Regular', sans-serif; font-size: clamp(12px, 1.32cqi, 19px); line-height: calc(30 / 18);
  letter-spacing: .19em; text-transform: uppercase; color: rgba(255,255,255,.7); text-align: center;
  margin: 0 auto clamp(30px, 5.3cqi, 74px); max-width: 34ch;
}
.page-id-19046 .sxm-sp-note{ margin-top: 13px; }
.page-id-19046 .sxm-sp-note p{ font-family: 'Nord Regular', sans-serif; font-size: clamp(9px, .74cqi, 11px); line-height: 30px; letter-spacing: .19em; text-transform: uppercase; color: var(--sp-gold); margin: 0; text-align: center; }
/* the form: the house grid (§36) */
.page-id-19046 .sxm-sp-form{ text-align: left; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gform_fields{
  display: grid !important; grid-template-columns: 681fr 676fr; grid-template-rows: repeat(3, minmax(0, 1fr));
  align-items: stretch; height: clamp(240px, 19.44vw, 280px); grid-column-gap: clamp(3px, .37cqi, 6px); grid-row-gap: clamp(3px, .37cqi, 6px);
}
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield{ grid-column: 1; display: flex; flex-direction: column; min-height: 0; margin: 0 !important; padding: 0 !important; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield:has(textarea){ grid-column: 2; grid-row: 1 / span 3; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield_label{ display: none !important; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield > .ginput_container{ flex: 1 1 auto; display: flex; min-height: 0; margin: 0 !important; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield input[type=text],
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield input[type=email],
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield input[type=tel],
.page-id-19046 .sxm-sp-form .gform_wrapper textarea{
  width: 100%; height: 100%; background: #232323 !important; border: 0 !important; border-radius: 0; color: #fff !important;
  font-family: var(--sxm-copy); font-weight: 400; font-size: clamp(13px, 1.1cqi, 16px); letter-spacing: -.01em;
  padding: 0 clamp(16px, 2.2cqi, 31px); resize: none;
}
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield:first-child input{ border-top-left-radius: 10px; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gfield:nth-child(3) input{ border-bottom-left-radius: 10px; }
.page-id-19046 .sxm-sp-form .gform_wrapper textarea{ border-radius: 0 10px 10px 0; padding-top: clamp(16px, 2.4cqi, 33px); line-height: calc(24 / 15); }
.page-id-19046 .sxm-sp-form .gform_wrapper ::placeholder{ color: rgba(255,255,255,.5); opacity: 1; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gform_footer{ margin: clamp(8px,1.5cqi,20px) 0 0 !important; padding: 0 !important; width: 100%; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gform_footer input[type=submit]{
  width: 100% !important; padding: 2.06cqi 0 !important; min-height: 0; height: auto;
  background: #fff !important; color: #000 !important; border: 0 !important; border-radius: 10px !important;
  box-shadow: inset 0 0 0 2px #fff; cursor: pointer;
  font-family: var(--sxm-wide) !important; font-weight: 500 !important; font-size: clamp(14px, 1.32cqi, 19px) !important;
  letter-spacing: .19em !important; text-transform: uppercase !important; text-align: center; white-space: nowrap;
  transition: background .28s ease, color .28s ease;
}
.page-id-19046 .sxm-sp-form .gform_wrapper .gform_footer input[type=submit]:hover{ background: #000 !important; color: #fff !important; }
.page-id-19046 .sxm-sp-form .gform_wrapper .gform_footer input[type=submit]:focus-visible{ outline: 2px solid #fff; outline-offset: 3px; }

/* --------------------------------------------------------------- motion */
.page-id-19046 .sxm-sp-rv{ opacity: 0; transform: translateY(18px); transition: opacity .7s ease var(--d, 0s), transform .8s cubic-bezier(.16,1,.3,1) var(--d, 0s); }
.page-id-19046 .sxm-sp-rv.is-in{ opacity: 1; transform: none; }
.page-id-19046 .sxm-sp-ch .sxm-sp-t{ clip-path: inset(-.25em -.4em -.25em -.1em); }
.page-id-19046 .sxm-sp-ch.sxm-sp-rv:not(.is-in) .sxm-sp-t{ clip-path: inset(-.25em 100% -.25em -.1em); }
.page-id-19046 .sxm-sp-ch.sxm-sp-rv.is-in .sxm-sp-t{ transition: clip-path 1s cubic-bezier(.16,1,.3,1) .12s; }
@media (prefers-reduced-motion: reduce){
  .page-id-19046 .sxm-sp-rv{ opacity: 1; transform: none; transition: none; }
  .page-id-19046 .sxm-sp-ch .sxm-sp-t{ clip-path: none !important; transition: none; }
  .page-id-19046 .sxm-sp-frame video{ transition: none; }
}

/* ---------------------------------------------------------- tablet/phone */
@media (max-width: 1024px){
  .page-id-19046 .sxm-sp-ch{ gap: calc(40 * var(--u)); }
  .page-id-19046 .sxm-sp-t{ --tw: clamp(240px, 38vw, 380px); }
}
@media (max-width: 767px){
  .page-id-19046 .e-con.sxm-sp-hero{ padding-top: 40px !important; }
  .page-id-19046 .sxm-sp-h1 .elementor-heading-title{ --dsz: 230; }
  .page-id-19046 .sxm-sp-h1 .d{ font-size: clamp(58px, 20vw, 84px); }
  .page-id-19046 .sxm-sp-h1 .w{ font-size: clamp(18px, 5.4vw, 24px); letter-spacing: .1em; }
  .page-id-19046 .sxm-sp-index a{ height: 40px; padding: 0 14px; font-size: 11px; }
  /* the homepage's phone order: title, clip, copy, the way in */
  .page-id-19046 .sxm-sp-ch{ grid-template-columns: minmax(0, 1fr); gap: 0; padding: 40px 0 48px; }
  .page-id-19046 .sxm-sp-ch:nth-child(even) .sxm-sp-ch__copy,
  .page-id-19046 .sxm-sp-ch:nth-child(even) .sxm-sp-ch__media{ order: 0; }
  .page-id-19046 .sxm-sp-ch__copy{ display: contents; }
  .page-id-19046 .sxm-sp-num{ order: 1; margin-bottom: 14px; }
  .page-id-19046 .sxm-sp-t{ order: 2; --tw: min(64vw, 300px); margin-bottom: 22px; }
  .page-id-19046 .sxm-sp-ch__media{ order: 3; margin-bottom: 24px; }
  .page-id-19046 .sxm-sp-lede{ order: 4; max-width: none; font-size: 12px; line-height: 1.8; margin-bottom: 18px; }
  .page-id-19046 .sxm-sp-chips{ order: 5; margin-bottom: 26px; }
  .page-id-19046 .sxm-sp-btn{ order: 6; width: 100%; justify-content: center; height: 56px; }
  .page-id-19046 .sxm-sp-frame{ aspect-ratio: 16 / 11; border-radius: 14px; }
  .page-id-19046 .sxm-sp-ctahead .l{ flex-direction: column; align-items: center; gap: 0; }
  .page-id-19046 .sxm-sp-ctahead .elementor-heading-title{ --dsz: 210; }
  .page-id-19046 .sxm-sp-form .gform_wrapper .gform_fields{ display: grid !important; grid-template-columns: 1fr; grid-template-rows: none; height: auto; gap: 6px; }
  .page-id-19046 .sxm-sp-form .gform_wrapper .gfield, .page-id-19046 .sxm-sp-form .gform_wrapper .gfield:has(textarea){ grid-column: 1; grid-row: auto; }
  .page-id-19046 .sxm-sp-form .gform_wrapper .gfield input[type=text],
  .page-id-19046 .sxm-sp-form .gform_wrapper .gfield input[type=email],
  .page-id-19046 .sxm-sp-form .gform_wrapper .gfield input[type=tel]{ height: auto !important; padding: 20px 18px !important; font-size: 16px !important; line-height: 1.35; border-radius: 10px !important; }
  .page-id-19046 .sxm-sp-form .gform_wrapper textarea{ height: 160px !important; padding: 18px !important; font-size: 16px !important; border-radius: 10px !important; }
  .page-id-19046 .sxm-sp-form .gform_wrapper .gform_footer input[type=submit]{ padding: 20px 0 !important; font-size: 17px !important; }
}/* End custom CSS */