/* =============================================================
   NxtLevelCode  |  CONTACT - "The Live Brief"
   Same language as the homepage (matte charcoal, liquid glass,
   one cyan accent over navy) but a standalone stylesheet scoped
   to body.page-id-2386, so the two pages cannot break each other.
   Static hex only. Nothing inherits the Elementor global palette.
   ============================================================= */

@font-face{font-family:'Cabinet Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../nxt-home/fonts/cabinet-grotesk-500.woff2') format('woff2')}
@font-face{font-family:'Cabinet Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../nxt-home/fonts/cabinet-grotesk-700.woff2') format('woff2')}
@font-face{font-family:'Cabinet Grotesk';font-style:normal;font-weight:800;font-display:swap;src:url('../nxt-home/fonts/cabinet-grotesk-800.woff2') format('woff2')}
@font-face{font-family:'SatoshiW';font-style:normal;font-weight:400;font-display:swap;src:url('../nxt-home/fonts/satoshi-400.woff2') format('woff2')}
@font-face{font-family:'SatoshiW';font-style:normal;font-weight:500;font-display:swap;src:url('../nxt-home/fonts/satoshi-500.woff2') format('woff2')}
@font-face{font-family:'SatoshiW';font-style:normal;font-weight:700;font-display:swap;src:url('../nxt-home/fonts/satoshi-700.woff2') format('woff2')}

body.page-id-2386{
  --ink:#FFFFFF; --ink2:#DFE6EC; --mut:#9DAAB6; --dim:#8794A0;
  --acc:#1ECAD3; --acc2:#6FE6EE; --nav:#2F6F9A; --deep:#0F2A44;
  --dsp:'Cabinet Grotesk','SatoshiW',system-ui,sans-serif;
  --ui:'SatoshiW',system-ui,sans-serif;
  --gut:clamp(18px,4vw,54px); --maxw:1520px;
  --r:16px; --r-lg:24px; --pill:999px;
  --fs-mono:11px;
  --eo:cubic-bezier(.16,1,.3,1); --ex:cubic-bezier(.19,1,.22,1);
  --g-fill:linear-gradient(158deg,rgba(255,255,255,.115),rgba(255,255,255,.034) 44%,rgba(255,255,255,.075));
  --g-blur:blur(30px) saturate(200%);
  --g-edge:rgba(255,255,255,.15);
  --g-lip:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -1px 0 rgba(255,255,255,.06),inset 0 0 40px rgba(255,255,255,.03);
  --g-cast:0 24px 62px rgba(0,0,0,.52);
  --acc-line:linear-gradient(90deg,#1ECAD3,#6FE6EE);
}

html{background-color:#0A0C0F}
body.page-id-2386{background-color:#0A0C0F;color:#FFFFFF;font-family:var(--ui);-webkit-font-smoothing:antialiased}
body.page-id-2386 .site-main,body.page-id-2386 #content{background:transparent}
html.nxt-smooth.lenis-stopped{overflow:hidden}


/* matte finish */
body.page-id-2386::after{content:"";position:fixed;inset:-50%;width:200%;height:200%;z-index:9998;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:150px 150px;animation:nxtgr .62s steps(1) infinite}
@keyframes nxtgr{0%,100%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(3%,1%)}}

body.page-id-2386::before{content:"";position:fixed;inset:-12%;z-index:0;pointer-events:none;
  background:
    radial-gradient(38% 34% at calc(14% + var(--nxtp,0) * 30%) 14%,rgba(30,202,211,.15),transparent 66%),
    radial-gradient(40% 36% at calc(88% - var(--nxtp,0) * 30%) 70%,rgba(47,111,154,.24),transparent 68%),
    radial-gradient(56% 44% at 50% calc(118% - var(--nxtp,0) * 70%),rgba(15,42,68,.5),transparent 70%),
    radial-gradient(130% 88% at 50% -6%,rgba(255,255,255,.03),transparent 58%);
  filter:blur(26px)}

#nxt-world{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.8s var(--eo);
  -webkit-mask-image:radial-gradient(ellipse 50% 44% at 50% 50%,rgba(0,0,0,.5) 0%,rgba(0,0,0,.84) 54%,#000 80%);
  mask-image:radial-gradient(ellipse 50% 44% at 50% 50%,rgba(0,0,0,.5) 0%,rgba(0,0,0,.84) 54%,#000 80%)}
#nxt-world.is-live{opacity:.62}
#nxt-world canvas{display:block;width:100%;height:100%}
body.page-id-2386 .site-main{position:relative;z-index:1}

/* ---------------------------------------------------------- HEADER */
.nxt-hd{position:fixed;top:0;left:0;right:0;z-index:600;border-bottom:1px solid transparent;
  transition:transform .65s var(--eo),background .5s var(--eo),border-color .5s var(--eo),box-shadow .5s var(--eo),
             -webkit-backdrop-filter .5s var(--eo),backdrop-filter .5s var(--eo)}
.nxt-js .nxt-hd{transform:translate3d(0,-102%,0)}
.nxt-js .nxt-hd.is-ready{transform:translate3d(0,0,0)}
.nxt-hd.is-solid{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));
  -webkit-backdrop-filter:blur(30px) saturate(190%) brightness(.68);backdrop-filter:blur(30px) saturate(190%) brightness(.68);
  border-bottom-color:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 44px rgba(0,0,0,.42)}
.nxt-js .nxt-hd.is-ready.is-away{transform:translate3d(0,-102%,0)}
.nxt-hd__in{--hd-h:88px;width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut);
  height:var(--hd-h);display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:clamp(16px,2.2vw,42px);transition:height .5s var(--eo)}
.nxt-hd.is-solid .nxt-hd__in{--hd-h:66px}
.nxt-hd__logo{display:flex;align-items:center;flex:0 0 auto;transition:transform .5s var(--eo)}
body.page-id-2386 .nxt-hd__logo img{height:40px;width:auto;max-width:none;display:block;transition:height .5s var(--eo)}
body.page-id-2386 .nxt-hd.is-solid .nxt-hd__logo img{height:33px}
.nxt-hd__logo:hover{transform:translateY(-1px)}
/* on this page the readout is a live clock where the studio actually is */
.nxt-hd__now{display:flex;align-items:center;gap:clamp(10px,1vw,16px);padding-left:clamp(14px,1.6vw,26px);border-left:1px solid rgba(255,255,255,.12);min-width:230px}
.nxt-hd__now-k{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:#6E7B87;font-weight:700}
.nxt-hd__now-v{display:flex;align-items:baseline;gap:9px}
.nxt-hd__now-v b{font-family:var(--dsp);font-size:15px;font-weight:800;color:#1ECAD3;font-variant-numeric:tabular-nums;text-shadow:0 0 14px rgba(30,202,211,.6)}
.nxt-hd__now-l{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#DFE6EC;font-weight:700;white-space:nowrap}
.nxt-hd__dot{width:7px;height:7px;border-radius:50%;background:#1ECAD3;box-shadow:0 0 10px rgba(30,202,211,.95);animation:nxtpulse 2.6s ease-in-out infinite}
@keyframes nxtpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}
.nxt-hd__nav{position:relative;justify-self:end}
.nxt-hd__nav ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nxt-hd__l{position:relative;z-index:1;display:block;padding:11px 16px;text-decoration:none;color:#DFE6EC;font-size:13.5px;font-weight:600;transition:color .35s var(--eo)}
.nxt-hd__l:hover{color:#FFFFFF}
.nxt-hd__roll{display:block;overflow:hidden;height:1.3em}
.nxt-hd__roll em{display:block;font-style:normal;line-height:1.3em;transition:transform .48s var(--ex)}
.nxt-hd__roll em:last-child{color:#1ECAD3}
.nxt-hd__l:hover .nxt-hd__roll em{transform:translateY(-1.3em)}
.nxt-hd__pill{position:absolute;top:50%;left:0;height:38px;width:0;border-radius:var(--pill);opacity:0;pointer-events:none;transform:translate(0,-50%);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 22px rgba(30,202,211,.16);transition:transform .52s var(--ex),width .52s var(--ex),opacity .35s var(--eo)}
.nxt-hd__nav.is-on .nxt-hd__pill{opacity:1}
.nxt-hd__end{display:flex;align-items:center;gap:12px;justify-self:end}
.nxt-hd__burger{display:none;width:44px;height:44px;border-radius:50% !important;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;
  background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.14) !important}
.nxt-hd__burger i{display:block;width:17px;height:1.5px;background:#FFFFFF;transition:transform .4s var(--ex)}
.nxt-hd__burger[aria-expanded="true"] i:first-child{transform:translateY(3.25px) rotate(45deg)}
.nxt-hd__burger[aria-expanded="true"] i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.nxt-hd__prog{position:absolute;left:0;right:0;bottom:-1px;height:1px;overflow:hidden;pointer-events:none}
.nxt-hd__prog i{display:block;height:100%;background:var(--acc-line);box-shadow:0 0 10px rgba(30,202,211,.8);transform:scaleX(0);transform-origin:left}
.nxt-ovl{position:fixed;inset:0;z-index:590;display:flex;align-items:center;background:rgba(10,12,15,.72);
  -webkit-backdrop-filter:blur(36px) saturate(180%);backdrop-filter:blur(36px) saturate(180%);
  opacity:0;visibility:hidden;transition:opacity .5s var(--eo),visibility .5s var(--eo)}
.nxt-ovl.is-open{opacity:1;visibility:visible}
.nxt-ovl__in{width:100%;max-width:var(--maxw);margin-inline:auto;padding:clamp(90px,14vh,140px) var(--gut) var(--gut);display:flex;flex-direction:column;gap:clamp(20px,3vw,34px)}
.nxt-ovl__l{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}
.nxt-ovl__l li{border-bottom:1px solid rgba(255,255,255,.09);opacity:0;transform:translateY(22px)}
.nxt-ovl.is-open .nxt-ovl__l li{opacity:1;transform:none;transition:opacity .6s var(--eo),transform .6s var(--eo);transition-delay:calc(var(--i) * .06s + .12s)}
.nxt-ovl__l a{display:flex;align-items:baseline;gap:16px;padding:clamp(16px,2.4vw,24px) 0;text-decoration:none;font-family:var(--dsp);font-size:clamp(28px,7vw,46px);font-weight:800;letter-spacing:-.04em;color:#FFFFFF;transition:color .35s var(--eo),padding-left .45s var(--ex)}
.nxt-ovl__l a:hover{color:#1ECAD3;padding-left:14px}
.nxt-ovl__l i{font-style:normal;font-family:var(--ui);font-size:11px;letter-spacing:.2em;color:#1ECAD3;font-weight:700}

/* ------------------------------------------------------ PRIMITIVES */
.nxt{position:relative;z-index:1}
.nxt *,.nxt *::before,.nxt *::after{box-sizing:border-box}
.nxt ul,.nxt ol,.nxt li{list-style:none;margin:0;padding:0}
.nxt img{max-width:100%;height:auto;display:block}
.nxt :is(h1,h2,h3,h4){margin:0;color:#FFFFFF;font-weight:800;font-family:var(--dsp)}
.nxt h1{font-size:min(clamp(40px,7.4vw,108px),16vh);line-height:.9;letter-spacing:-.045em}
.nxt h2{font-size:clamp(28px,4vw,58px);line-height:.96;letter-spacing:-.04em}
.nxt h3{font-size:clamp(18px,1.7vw,25px);line-height:1.14;letter-spacing:-.025em;font-weight:700}
.nxt p{margin:0;font-size:16px;line-height:1.62;color:#9DAAB6}
.nxt-em{color:#1ECAD3;text-shadow:0 0 26px rgba(30,202,211,.45)}
.nxt-wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.nxt-mono{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-mono);font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#8794A0}
.nxt-mono::before{content:"";width:18px;height:1px;background:#1ECAD3;box-shadow:0 0 7px rgba(30,202,211,.8);flex:0 0 auto}
.nxt-mono--b::before{display:none}
.nxt-scrim::before{content:"";position:absolute;inset:-9% -6%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 62% 70% at 50% 50%,rgba(10,12,15,.8) 0%,rgba(10,12,15,.52) 50%,transparent 84%)}

.nxt-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:11px;font-weight:700;font-size:14px;line-height:1;padding:17px 30px;border-radius:var(--pill);border:1px solid transparent;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;
  transition:color .4s var(--eo),border-color .4s var(--eo),box-shadow .4s var(--eo)}
.nxt-btn span{position:relative;z-index:2}
.nxt-btn::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ex)}
.nxt-btn:hover::before{transform:scaleY(1)}
.nxt-btn--p{background:#1ECAD3;color:#07090B;border-color:#1ECAD3;box-shadow:0 0 30px rgba(30,202,211,.34)}
.nxt-btn--p::before{background:#FFFFFF}
.nxt-btn--p:hover{color:#07090B;border-color:#FFFFFF;box-shadow:0 0 38px rgba(255,255,255,.3)}
/* the ghost variant was missing, so ElementsKit's reset.css rule a{color:#c36}
   was painting the footer's --g button pink. Copied from nxt-home/home.css. */
.nxt-btn--g{background:rgba(255,255,255,.05);color:#FFFFFF;border-color:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%)}
.nxt-btn--g::before{background:#1ECAD3}
.nxt-btn--g:hover{color:#07090B;border-color:#1ECAD3;box-shadow:0 0 30px rgba(30,202,211,.32)}
@media (max-width:1024px){
  .nxt-btn--g{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(19,23,28,.94)}
}
.nxt a:focus-visible,.nxt button:focus-visible{outline:2px solid #1ECAD3;outline-offset:4px;border-radius:4px}

.nxt-js .nxt-rv{opacity:0;transform:translate3d(0,30px,0)}
.nxt-js .nxt-rv.is-in{opacity:1;transform:none;transition:opacity .9s var(--eo),transform .9s var(--eo)}
.nxt-js .nxt-rv[data-d="1"].is-in{transition-delay:.09s}
.nxt-js .nxt-rv[data-d="2"].is-in{transition-delay:.18s}
.nxt-js .nxt-rv[data-d="3"].is-in{transition-delay:.27s}
.nxt-ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.09em}
.nxt-js .nxt-ln > span{display:block;transform:translate3d(0,106%,0)}
.nxt-js .is-in .nxt-ln > span{transform:none;transition:transform 1.1s var(--ex)}
.nxt-js .is-in .nxt-ln:nth-child(2) > span{transition-delay:.09s}
@media (max-width:768px){.nxt-ln{overflow:visible}.nxt-js .nxt-ln > span{transform:none !important}}

/* ======================== 01 INTRO BAND ======================== */
.nxt-ct-hero{padding-block:clamp(132px,17vh,210px) clamp(30px,4vw,54px)}
.nxt-ct-hero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,4vw,70px);align-items:end}
.nxt-ct-hero h1{margin-top:20px}
.nxt-ct-hero__aside p{font-size:16px;max-width:38ch}
.nxt-ct-hero__meta{margin-top:22px;display:flex;flex-direction:column;gap:9px}
.nxt-ct-hero__meta span{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#DFE6EC}
.nxt-ct-hero__meta i{width:5px;height:5px;border-radius:50%;background:#1ECAD3;box-shadow:0 0 9px rgba(30,202,211,.9);flex:0 0 auto}

/* ==================== 02 THE CONSOLE (grid) ====================
   Targeted by the container's deterministic Elementor id, because
   container-level CSS classes are not rendered by this Elementor
   build (verified). The id is minted in the page builder script. */
.elementor-element-nxtc002{width:100%;max-width:var(--maxw);margin-inline:auto !important;padding-inline:var(--gut) !important;
  display:grid !important;grid-template-columns:1.02fr .98fr;gap:clamp(18px,2vw,34px);align-items:stretch;
  padding-block:clamp(16px,2vw,28px) clamp(70px,9vw,130px) !important}

/* ---------------------------- the form shell ---------------------------- */
.elementor-element-nxtc002 > .elementor-widget-form{position:relative;display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--g-edge);background:var(--g-fill);
  -webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);
  box-shadow:var(--g-lip),var(--g-cast);
  padding:clamp(24px,2.6vw,44px)}
.elementor-element-nxtc002 > .elementor-widget-form::before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);opacity:.6}

/* Elementor lays the fields out on .elementor-form-fields-wrapper - a
   flex row with NEGATIVE margins and percentage widths on each group -
   not on .elementor-form, whose only other children are hidden inputs.
   The grid therefore belongs on the wrapper, and its negative margins
   must be cleared or the first row hangs outside the panel. */
body.page-id-2386 .elementor-form{display:block}
body.page-id-2386 .elementor-form-fields-wrapper{
  display:grid !important;grid-template-columns:repeat(2,1fr);
  gap:clamp(13px,1.3vw,19px);margin:0 !important;width:100% !important}
body.page-id-2386 .elementor-field-group{position:relative;margin:0 !important;padding:0 !important;
  width:auto !important;max-width:none !important;flex:0 1 auto !important;
  display:flex !important;flex-direction:column !important;align-items:stretch !important}
body.page-id-2386 .elementor-field-group > *{max-width:100%}
body.page-id-2386 .elementor-field-group.elementor-col-100{grid-column:1 / -1}
body.page-id-2386 .elementor-field-group.elementor-col-50{grid-column:span 1}
body.page-id-2386 .e-form__buttons{display:flex !important;width:100% !important}
@media (max-width:640px){
  body.page-id-2386 .elementor-form-fields-wrapper{grid-template-columns:1fr}
  body.page-id-2386 .elementor-field-group.elementor-col-50{grid-column:1 / -1}
}

body.page-id-2386 .elementor-field-label{display:block !important;font-family:var(--ui) !important;font-size:10.5px !important;letter-spacing:.22em !important;
  text-transform:uppercase !important;color:#8794A0 !important;font-weight:700 !important;margin-bottom:9px !important;transition:color .3s var(--eo)}
body.page-id-2386 .elementor-field-group:focus-within .elementor-field-label{color:#1ECAD3 !important}
body.page-id-2386 .elementor-mark-required .elementor-field-label:after{color:#1ECAD3 !important;margin-left:4px}

body.page-id-2386 .elementor-field-group .elementor-field,
body.page-id-2386 .elementor-field-group input[type="text"],
body.page-id-2386 .elementor-field-group input[type="email"],
body.page-id-2386 .elementor-field-group input[type="url"],
body.page-id-2386 .elementor-field-group input[type="tel"],
body.page-id-2386 .elementor-field-group textarea,
body.page-id-2386 .elementor-field-group select{
  width:100% !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:12px !important;
  color:#FFFFFF !important;
  font-family:var(--ui) !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  padding:15px 16px !important;
  /* Each field group is a column flex container, and Elementor lets the
     control grow to fill it - which stretched the inputs to 74px while the
     selects stayed at their natural 55px. Pinning flex and letting padding
     set the height makes every control identical. */
  height:auto !important;
  flex:0 0 auto !important;
  align-self:stretch !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
  transition:border-color .35s var(--eo),background-color .35s var(--eo),box-shadow .35s var(--eo) !important;
  -webkit-appearance:none;appearance:none}
body.page-id-2386 .elementor-field-group textarea{min-height:132px;resize:vertical}
body.page-id-2386 .elementor-field-group .elementor-field::placeholder{color:#6E7B87 !important;opacity:1}
body.page-id-2386 .elementor-field-group .elementor-field:hover{border-color:rgba(255,255,255,.22) !important}
body.page-id-2386 .elementor-field-group .elementor-field:focus{
  outline:none !important;
  border-color:rgba(30,202,211,.75) !important;
  background:rgba(30,202,211,.05) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 3px rgba(30,202,211,.14),0 0 30px rgba(30,202,211,.2) !important}
/* the select needs its own arrow once the native one is removed */
/* Elementor puts the .elementor-field class on a WRAPPER div around the
   select, not on the select itself, so the field styling above was being
   painted twice - a box inside a box. The wrapper is stripped back to a
   positioning context and only the select is styled. Elementor also draws
   its own caret SVG, so no second arrow is added here; that one is just
   recoloured and parked over the control. */
body.page-id-2386 .elementor-field-type-select .elementor-select-wrapper{
  position:relative;display:block;
  background:none !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;padding:0 !important;height:auto !important;min-height:0 !important}
body.page-id-2386 .elementor-field-type-select select{padding-right:46px !important;cursor:pointer}
body.page-id-2386 .select-caret-down-wrapper{position:absolute;right:17px;top:50%;transform:translateY(-50%);
  width:13px;height:13px;display:flex;align-items:center;justify-content:center;pointer-events:none}
body.page-id-2386 .select-caret-down-wrapper svg,
body.page-id-2386 .select-caret-down-wrapper i{width:13px;height:13px;fill:#1ECAD3;color:#1ECAD3;
  filter:drop-shadow(0 0 7px rgba(30,202,211,.55))}
body.page-id-2386 .elementor-field-type-select select option{background:#12161B;color:#FFFFFF}
body.page-id-2386 .elementor-field-type-select select option[value=""]{color:#6E7B87}

/* submit */
body.page-id-2386 .elementor-field-type-submit{grid-column:1 / -1;margin-top:6px}
body.page-id-2386 .elementor-field-type-submit .elementor-button,
body.page-id-2386 .elementor-form .elementor-button[type="submit"]{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:11px;
  width:100% !important;
  background:#1ECAD3 !important;color:#07090B !important;
  border:1px solid #1ECAD3 !important;border-radius:var(--pill) !important;
  font-family:var(--ui) !important;font-size:14.5px !important;font-weight:700 !important;letter-spacing:.01em !important;
  padding:19px 30px !important;min-height:0 !important;cursor:pointer;overflow:hidden;isolation:isolate;
  box-shadow:0 0 34px rgba(30,202,211,.36) !important;
  transition:color .4s var(--eo),border-color .4s var(--eo),box-shadow .4s var(--eo),transform .4s var(--eo) !important}
body.page-id-2386 .elementor-field-type-submit .elementor-button::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:#FFFFFF;transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ex)}
body.page-id-2386 .elementor-field-type-submit .elementor-button:hover::before{transform:scaleY(1)}
body.page-id-2386 .elementor-field-type-submit .elementor-button:hover{border-color:#FFFFFF !important;box-shadow:0 0 44px rgba(255,255,255,.32) !important}
body.page-id-2386 .elementor-field-type-submit .elementor-button > span{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px}
body.page-id-2386 .elementor-button-content-wrapper{position:relative;z-index:2}

/* messages */
body.page-id-2386 .elementor-message{grid-column:1 / -1;font-family:var(--ui) !important;font-size:14px !important;border-radius:12px;padding:14px 16px;margin-top:4px}
body.page-id-2386 .elementor-message.elementor-message-success{color:#6FE6EE !important;background:rgba(30,202,211,.1);border:1px solid rgba(30,202,211,.4)}
body.page-id-2386 .elementor-message.elementor-message-danger{color:#FFB4B4 !important;background:rgba(255,90,90,.08);border:1px solid rgba(255,90,90,.35)}
body.page-id-2386 .elementor-field-group .elementor-field.elementor-error{border-color:rgba(255,120,120,.7) !important}

/* -------------------------- the live brief -------------------------- */
/* stretched to match the form rather than sticky - a sticky item in a
   stretch row cannot stick anyway, and equal panels read better */
.nxt-brief{position:relative;display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--g-edge);background:var(--g-fill);
  -webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);
  box-shadow:var(--g-lip),var(--g-cast)}
.nxt-brief::before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(30,202,211,.75),transparent);opacity:.8}
.nxt-brief__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:15px clamp(20px,2vw,30px);border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}
.nxt-brief__ref{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#8794A0;font-weight:700}
.nxt-brief__ref b{color:#DFE6EC;font-family:var(--ui)}
.nxt-brief__stamp{font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:800;padding:6px 12px;border-radius:var(--pill);
  border:1px solid rgba(255,255,255,.2);color:#8794A0;transition:color .5s var(--eo),border-color .5s var(--eo),background-color .5s var(--eo),box-shadow .5s var(--eo)}
.nxt-brief.is-ready .nxt-brief__stamp{color:#07090B;background:#1ECAD3;border-color:#1ECAD3;box-shadow:0 0 22px rgba(30,202,211,.6)}
.nxt-brief__body{padding:clamp(22px,2.4vw,34px) clamp(20px,2.4vw,34px) clamp(24px,2.6vw,36px);flex:1;display:flex;flex-direction:column}
.nxt-brief__ledger{display:flex;flex-direction:column;gap:0}
.nxt-brief__row{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.nxt-brief__row dt{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#6E7B87;font-weight:700}
.nxt-brief__row dd{margin:0;font-size:14.5px;color:#DFE6EC;font-weight:500;word-break:break-word;min-height:1.4em}
.nxt-brief__row dd.is-empty{color:#59646E}
.nxt-brief__row.is-hot dd{color:#FFFFFF}
.nxt-brief__sum{margin-top:clamp(20px,2.2vw,30px)}
.nxt-brief__sum h4{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#6E7B87;font-weight:700;margin:0 0 12px;font-family:var(--ui)}
.nxt-brief__line{font-family:var(--dsp);font-size:clamp(17px,1.55vw,23px);line-height:1.34;letter-spacing:-.02em;color:#FFFFFF;font-weight:700}
.nxt-brief__line .v{color:#1ECAD3;text-shadow:0 0 22px rgba(30,202,211,.5)}
.nxt-brief__line .ph{color:#4E5A65}
.nxt-brief__note{margin-top:18px;padding:15px 17px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);
  font-size:14px;line-height:1.6;color:#B9C5CF;font-style:italic;white-space:pre-wrap;max-height:150px;overflow:auto}
.nxt-brief__note.is-empty{color:#59646E}
.nxt-brief__meter{margin-top:auto;padding-top:clamp(20px,2.2vw,28px);display:flex;align-items:center;gap:12px}
.nxt-brief__meter-t{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#6E7B87;font-weight:700;white-space:nowrap}
.nxt-brief__meter-b{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.nxt-brief__meter-b i{display:block;height:100%;width:100%;border-radius:3px;background:var(--acc-line);box-shadow:0 0 12px rgba(30,202,211,.85);
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ex)}
.nxt-brief__pct{font-family:var(--dsp);font-size:14px;font-weight:800;color:#1ECAD3;font-variant-numeric:tabular-nums;min-width:38px;text-align:right}

/* ====================== 03 DIRECT CHANNELS ====================== */
.nxt-ct-ch{padding-block:clamp(60px,8vw,110px);border-top:1px solid rgba(255,255,255,.07)}
.nxt-ct-ch__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(13px,1.3vw,20px);margin-top:clamp(30px,4vw,52px)}
.nxt-ct-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.2vw,34px);
  border-radius:var(--r);border:1px solid var(--g-edge);background:var(--g-fill);
  -webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);box-shadow:var(--g-lip),var(--g-cast);
  text-decoration:none;transition:border-color .5s var(--eo),transform .5s var(--eo),box-shadow .5s var(--eo),background .5s var(--eo)}
.nxt-ct-card::after{content:"";position:absolute;top:0;left:14%;right:14%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);opacity:.55;transition:opacity .5s var(--eo),left .6s var(--ex),right .6s var(--ex),background .5s var(--eo)}
.nxt-ct-card:hover{transform:translateY(-5px);border-color:rgba(30,202,211,.45);
  background:linear-gradient(158deg,rgba(255,255,255,.155),rgba(30,202,211,.055) 46%,rgba(255,255,255,.1));
  box-shadow:var(--g-lip),0 0 0 1px rgba(30,202,211,.28),0 0 46px rgba(30,202,211,.2),0 26px 70px rgba(0,0,0,.55)}
.nxt-ct-card:hover::after{opacity:1;left:0;right:0;background:linear-gradient(90deg,transparent,rgba(30,202,211,.9),rgba(255,255,255,.95),rgba(30,202,211,.9),transparent)}
.nxt-ct-card__ico{width:26px;height:26px;color:#1ECAD3;filter:drop-shadow(0 0 10px rgba(30,202,211,.5))}
.nxt-ct-card h3{margin-top:6px}
.nxt-ct-card b{font-size:15px;color:#FFFFFF;font-weight:600;word-break:break-all}
.nxt-ct-card span{font-size:13.5px;color:#9DAAB6}
.nxt-ct-card__go{margin-top:auto;padding-top:14px;font-size:var(--fs-mono);letter-spacing:.18em;text-transform:uppercase;color:#1ECAD3;font-weight:700}

/* ======================== 04 WHAT HAPPENS ======================== */
.nxt-ct-next{padding-block:clamp(60px,8vw,110px);border-top:1px solid rgba(255,255,255,.07)}
.nxt-ct-next__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,34px);margin-top:clamp(30px,4vw,52px)}
.nxt-ct-step{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);position:relative}
.nxt-ct-step::before{content:"";position:absolute;top:-1px;left:0;width:0;height:1px;background:var(--acc-line);box-shadow:0 0 10px rgba(30,202,211,.8);transition:width .9s var(--ex)}
.nxt-ct-step.is-in::before{width:44px}
.nxt-ct-step b{font-family:var(--dsp);font-size:clamp(30px,3vw,46px);font-weight:800;letter-spacing:-.045em;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.25)}
.nxt-ct-step p{font-size:14.5px;max-width:40ch}

/* ============================ FOOTER ============================ */
.nxt-foot{border-top:1px solid rgba(255,255,255,.09);padding-block:clamp(56px,6.4vw,96px) 0;position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.032) 40%,rgba(255,255,255,.055));
  -webkit-backdrop-filter:blur(48px) saturate(180%) brightness(.5);backdrop-filter:blur(48px) saturate(180%) brightness(.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.nxt-foot{background:#0E1217}}
.nxt-foot__wm{font-size:clamp(58px,15.5vw,250px);font-weight:800;line-height:.8;letter-spacing:-.055em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);user-select:none;margin-bottom:clamp(40px,5vw,76px)}
.nxt-foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,56px);padding-bottom:clamp(38px,4.4vw,64px)}
.nxt-foot__grid h4{font-size:var(--fs-mono);letter-spacing:.22em;text-transform:uppercase;color:#8794A0;font-weight:700;margin-bottom:20px;font-family:var(--ui)}
.nxt-foot__grid li{margin-bottom:11px}
.nxt-foot__grid a{color:#DFE6EC;text-decoration:none;font-size:14.5px;transition:color .3s var(--eo)}
.nxt-foot__grid a:hover{color:#1ECAD3}
.nxt-foot__intro p{font-size:14.5px;max-width:34ch;margin-bottom:22px}
.nxt-foot__bar{border-top:1px solid rgba(255,255,255,.09);padding-block:24px clamp(28px,3vw,44px);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:var(--fs-mono);letter-spacing:.16em;text-transform:uppercase;color:#8794A0;font-weight:700}
.nxt-foot__bar a{color:#8794A0;text-decoration:none}
.nxt-foot__bar a:hover{color:#1ECAD3}

/* =========================== RESPONSIVE =========================== */
@media (max-width:1320px){.nxt-hd__now{display:none}.nxt-hd__in{grid-template-columns:auto 1fr auto auto}}
@media (max-width:1100px){
  .elementor-element-nxtc002{grid-template-columns:1fr !important}
  .nxt-brief{position:relative;top:auto}
  .nxt-ct-hero__grid{grid-template-columns:1fr;align-items:start}
}
@media (max-width:1024px){
  .nxt-ct-card,.nxt-brief,.elementor-element-nxtc002 > .elementor-widget-form{
    -webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(19,23,28,.94)}
  .nxt-foot{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0E1217}
  .nxt-hd__in{--hd-h:72px;grid-template-columns:auto 1fr auto}
  .nxt-hd.is-solid .nxt-hd__in{--hd-h:62px}
  .nxt-hd__nav{display:none}
  .nxt-hd__burger{display:flex}
  .nxt-hd.is-solid{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(12,15,19,.96)}
  .nxt-ct-ch__grid,.nxt-ct-next__grid{grid-template-columns:1fr}
  .nxt-foot__grid{grid-template-columns:1fr 1fr}
  #nxt-world{-webkit-mask-image:none;mask-image:none}
  #nxt-world.is-live{opacity:.5}
}
@media (max-width:640px){
  .nxt-foot__grid{grid-template-columns:1fr}
  .nxt-brief__row{grid-template-columns:1fr;gap:4px}
}

/* ======================== REDUCED MOTION ======================== */
@media (prefers-reduced-motion:reduce){
  .nxt-js :is(.nxt-rv,.nxt-ln > span){opacity:1 !important;transform:none !important;transition:none !important}
  #nxt-world{display:none !important}
  body.page-id-2386::after{animation:none !important}
  .nxt-hd__dot{animation:none !important}
  .nxt-brief__meter-b i{transition:none !important}
  .nxt *,.nxt *::before,.nxt *::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}

/* --------------------------- CASCADE GUARDS --------------------------- */
body.page-id-2386 .nxt-hd{position:fixed;top:0;left:0;right:0;z-index:600}
body.page-id-2386 .nxt-ovl{position:fixed;inset:0;z-index:590}
body.page-id-2386.admin-bar .nxt-hd{top:32px}
@media screen and (max-width:782px){body.page-id-2386.admin-bar .nxt-hd{top:46px}}


/* ---------------------------- SCROLL CONTAINERS ----------------------------
   Setting only overflow-x:hidden makes the used value of overflow-y 'auto',
   which quietly turns <body> into a SECOND scroll container behind the
   page's own - so a hover that nudged anything past its edge produced an
   extra scrollbar and a visible jump. 'clip' clips on one axis without
   creating a scroll container at all. */
body.page-id-2386{overflow-x:clip;overflow-y:visible}
@supports not (overflow-x:clip){body.page-id-2386{overflow-x:hidden;overflow-y:visible}}

/* ======================= PARITY WITH THE HOMEPAGE =======================
   Two things were missing here that exist on the homepage: the custom
   cursor had no styles at all (the JS was creating the elements, they were
   just invisible), and the two large panels had no hover state while the
   smaller cards did. Same recipe as the homepage, one shared token set. */
body.page-id-2386{
  --g-fill-h:linear-gradient(158deg,rgba(255,255,255,.155),rgba(30,202,211,.055) 46%,rgba(255,255,255,.1));
  --g-blur-h:blur(34px) saturate(215%);
  --g-lip-h:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -1px 0 rgba(255,255,255,.07),inset 0 0 54px rgba(30,202,211,.06);
  --g-glow:0 0 0 1px rgba(30,202,211,.28),0 0 46px rgba(30,202,211,.2),0 26px 70px rgba(0,0,0,.55);
}

/* custom cursor */
.nxt-cur{position:fixed;top:0;left:0;width:8px;height:8px;border-radius:50%;background:#1ECAD3;
  box-shadow:0 0 12px rgba(30,202,211,.8);pointer-events:none;z-index:9999;transform:translate3d(-50%,-50%,0);
  transition:width .35s var(--eo),height .35s var(--eo),border-color .35s var(--eo),background-color .35s var(--eo)}
.nxt-cur--ring{width:34px;height:34px;background:transparent;box-shadow:none;border:1px solid rgba(255,255,255,.32)}
.nxt-cur.is-hot{width:58px;height:58px;border-color:#1ECAD3;background:rgba(30,202,211,.1)}
.nxt-cur--dot.is-hot{width:0;height:0}
@media (hover:none),(pointer:coarse){.nxt-cur{display:none}}

/* the two large panels now light like the cards do - and the form also
   lights while you are actually typing in it, not only on hover */
.elementor-element-nxtc002 > .elementor-widget-form,
.nxt-brief{transition:border-color .5s var(--eo),box-shadow .5s var(--eo),background .5s var(--eo),
  -webkit-backdrop-filter .5s var(--eo),backdrop-filter .5s var(--eo)}
.elementor-element-nxtc002 > .elementor-widget-form:hover,
.elementor-element-nxtc002 > .elementor-widget-form:focus-within,
.nxt-brief:hover{
  background:var(--g-fill-h);
  -webkit-backdrop-filter:var(--g-blur-h);backdrop-filter:var(--g-blur-h);
  border-color:rgba(30,202,211,.42);
  box-shadow:var(--g-lip-h),var(--g-glow)}
.elementor-element-nxtc002 > .elementor-widget-form::before,
.nxt-brief::before{transition:opacity .5s var(--eo),left .6s var(--ex),right .6s var(--ex),background .5s var(--eo)}
.elementor-element-nxtc002 > .elementor-widget-form:hover::before,
.elementor-element-nxtc002 > .elementor-widget-form:focus-within::before,
.nxt-brief:hover::before{opacity:1;left:0;right:0;
  background:linear-gradient(90deg,transparent,rgba(30,202,211,.9),rgba(255,255,255,.95),rgba(30,202,211,.9),transparent)}

@media (max-width:1024px){
  .elementor-element-nxtc002 > .elementor-widget-form:hover,
  .elementor-element-nxtc002 > .elementor-widget-form:focus-within,
  .nxt-brief:hover{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(22,27,33,.96)}
}
