
.gim-elementor-registration-page,
.gim-registration-elementor-root,
.elementor-widget-gim_registration,
.elementor-widget-gim_registration > .elementor-widget-container{
  inline-size:100%;
  max-inline-size:none;
  margin:0;
  padding:0;
  min-inline-size:0;
}
.gim-registration-elementor-widget{
  --gim-jimmy-x:0px;
  --gim-jimmy-y:-52px;
  --gim-copy-x:0px;
  --gim-copy-y:0px;
  --gim-form-x:0px;
  --gim-form-y:0px;
  position:relative;
  inline-size:100%;
  min-block-size:calc(100vh - var(--gim-header-stack-height,64px));
  overflow:clip;
  background-image:var(--gim-register-bg-desktop);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  background-attachment:scroll;
  color:var(--gim-text-primary);
  font-family:var(--gim-font-base);
}
.gim-registration-elementor-widget::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(248,251,255,.15),rgba(248,251,255,.08));
}
.gim-registration-elementor__shell{
  position:relative;
  z-index:1;
  inline-size:min(1380px,calc(100% - 48px));
  margin-inline:auto;
  padding-block:12px 28px;
}

/* Compact top controls. */
.gim-registration-elementor__timeline{
  direction:ltr;
  display:grid;
  grid-template-columns:minmax(96px,116px) minmax(0,600px) minmax(96px,116px);
  justify-content:center;
  align-items:center;
  inline-size:100%;
  max-inline-size:930px;
  min-block-size:50px;
  margin-inline:auto;
  margin-block:0 10px;
  padding:0;
}
.gim-registration-elementor__stage{
  grid-column:3;
  grid-row:1;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-block-size:30px;
  padding-inline:10px;
  border-radius:9px;
  background:rgba(255,255,255,.82);
  color:var(--gim-accent);
  font-size:.72rem;
  font-weight:850;
  white-space:nowrap;
}
.gim-registration-elementor__steps{
  grid-column:2;
  grid-row:1;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:start;
  inline-size:100%;
  margin:0;
  padding:0;
  list-style:none;
}
.gim-registration-elementor__steps li{
  position:relative;
  display:grid;
  justify-items:center;
  gap:4px;
  min-inline-size:0;
  color:#5c6b7f;
  font-size:.72rem;
  font-weight:750;
  line-height:1.25;
  text-align:center;
}
.gim-registration-elementor__steps li::before{
  content:"";
  position:absolute;
  inset-block-start:12px;
  inset-inline-start:calc(50% + 16px);
  inline-size:calc(100% - 32px);
  block-size:1px;
  background:#d8e2ec;
}
.gim-registration-elementor__steps li:last-child::before{display:none;}
.gim-registration-elementor__steps li>span{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  inline-size:26px;
  block-size:26px;
  border:1px solid #d8e2ec;
  border-radius:50%;
  background:#eef3f8;
  color:#657489;
  font-size:.7rem;
  font-weight:850;
}
.gim-registration-elementor__steps li[aria-current="step"],
.gim-registration-elementor__steps li.is-active{color:var(--gim-accent);}
.gim-registration-elementor__steps li[aria-current="step"]>span,
.gim-registration-elementor__steps li.is-active>span{
  border-color:transparent;
  background:var(--gim-accent);
  color:#fff;
}

.gim-registration-elementor__steps li.is-complete{
  color:var(--gim-accent);
}
.gim-registration-elementor__steps li.is-complete>span{
  position:relative;
  border-color:var(--gim-accent);
  background:#fff;
  color:transparent;
}
.gim-registration-elementor__steps li.is-complete>span::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--gim-accent);
  font-size:.76rem;
  font-weight:900;
}

/* Stable physical Desktop layout: Jimmy/showcase left, form right. */
.gim-registration-elementor__workspace{
  direction:ltr;
  display:grid;
  grid-template-areas:"showcase form";
  grid-template-columns:minmax(0,.96fr) minmax(600px,1.04fr);
  gap:24px;
  align-items:start;
}
.gim-registration-elementor__form{
  grid-area:form;
  direction:rtl;
  min-inline-size:0;
  inline-size:100%;
  max-inline-size:680px;
  justify-self:end;
  transform:translate(var(--gim-form-x),var(--gim-form-y));
}
.gim-registration-elementor__showcase{
  grid-area:showcase;
  direction:ltr;
  display:grid;
  grid-template-areas:"jimmy copy";
  grid-template-columns:minmax(360px,1.14fr) minmax(225px,.86fr);
  gap:4px;
  align-items:start;
  min-inline-size:0;
  min-block-size:650px;
}
.gim-registration-elementor__jimmy{
  grid-area:jimmy;
  align-self:start;
  justify-self:start;
  inline-size:min(100%,660px);
  max-inline-size:100%;
  margin:0;
  transform:translate(var(--gim-jimmy-x),var(--gim-jimmy-y));
}
.gim-registration-elementor__jimmy picture,
.gim-registration-elementor__jimmy img{display:block;max-inline-size:100%;}
.gim-registration-elementor__jimmy img{
  inline-size:650px;
  block-size:auto;
  filter:drop-shadow(0 20px 38px rgba(23,49,88,.14));
}
.gim-registration-elementor__copy{
  grid-area:copy;
  direction:rtl;
  align-self:start;
  display:grid;
  gap:11px;
  max-inline-size:310px;
  padding-block:54px 0;
  transform:translate(var(--gim-copy-x),var(--gim-copy-y));
}
.gim-registration-elementor__copy h1{
  margin:0;
  color:#10213d;
  font-size:clamp(1.7rem,2vw,2.15rem);
  font-weight:900;
  line-height:1.48;
  letter-spacing:-.02em;
}
.gim-registration-elementor__description{
  margin:0;
  color:#53647b;
  font-size:.94rem;
  line-height:1.9;
}
.gim-registration-elementor__benefits{
  display:grid;
  gap:2px;
  margin:1px 0 0;
  padding:0;
  list-style:none;
}
.gim-registration-elementor__benefits li{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-block-size:52px;
  padding:5px 4px;
}
.gim-registration-elementor__benefit-icon{
  display:grid;
  place-items:center;
  inline-size:38px;
  block-size:38px;
  border:1.5px solid color-mix(in srgb,var(--gim-accent) 25%,#fff);
  border-radius:11px;
  background:rgba(255,255,255,.8);
  color:var(--gim-accent);
  box-shadow:0 7px 16px rgba(21,46,88,.06);
}
.gim-registration-elementor__benefit-icon svg{inline-size:20px;block-size:20px;}
.gim-registration-elementor__benefit-icon svg *{stroke-width:2.8;}
.gim-registration-elementor__benefits strong{
  display:block;
  color:#253750;
  font-size:.88rem;
  font-weight:850;
  line-height:1.45;
}
.gim-registration-elementor__benefits small{
  display:block;
  margin-block-start:0;
  color:#748296;
  font-size:.77rem;
  line-height:1.45;
}
.gim-registration-elementor__quote{display:none!important;}

/* Canonical form card. */
.gim-registration-elementor__form .gcm-registration-container{
  margin:0;
  padding:22px 20px 17px;
  border:1px solid rgba(217,226,236,.96);
  border-radius:21px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 36px rgba(21,46,88,.07);
}
.gim-registration-elementor__form .gcm-registration-container>h2{
  margin:0;
  padding-inline-end:52px;
  color:#10213d;
  font-size:1.78rem;
  font-weight:900;
  line-height:1.4;
}
.gim-registration-elementor__form .gcm-registration-container>p{
  margin:4px 52px 14px 0;
  color:#768499;
  font-size:.84rem;
  line-height:1.75;
}
.gim-registration-elementor-widget #gcm-registration-form{margin-block-start:8px;}
.gim-registration-elementor-widget .gcm-registration-live{
  margin-block:0 8px;
  padding:9px 11px;
  border:1px solid var(--gim-border);
  border-radius:11px;
  background:var(--gim-surface-muted);
  font-size:.82rem;
}
.gim-registration-elementor-widget .gcm-registration-live:empty{display:none;}
.gim-registration-elementor-widget .gcm-registration-honeypot{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  pointer-events:none;
}
.gim-registration-elementor-widget .gcm-registration-container .reg-step{
  min-inline-size:0;
  margin:0;
  padding:16px;
  border:1px solid #e0e7ef;
  border-radius:16px;
  background:rgba(255,255,255,.82);
}
.gim-registration-elementor-widget .gcm-registration-container .reg-step[hidden]{display:none!important;}
.gim-registration-elementor-widget .gcm-registration-container .reg-step legend{
  inline-size:auto;
  padding:0 4px;
  color:#152743;
  font-size:1.1rem;
  font-weight:900;
}
.gim-registration-elementor-widget .gcm-registration-step-copy{display:none!important;}
.gim-registration-elementor-widget .gcm-registration-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px 15px;
  align-items:start;
}
.gim-registration-elementor-widget .gcm-registration-grid>div,
.gim-registration-elementor-widget .gcm-registration-grid>.gcm-registration-otp-channel-group{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:5px;
  inline-size:100%;
  min-inline-size:0;
}
.gim-registration-elementor-widget .gcm-registration-grid>[data-span="full"]{grid-column:1/-1;}
.gim-registration-elementor-widget .gcm-registration-grid label,
.gim-registration-elementor-widget .gcm-registration-grid legend{
  display:block;
  margin:0;
  color:#22334e;
  font-size:.86rem;
  font-weight:850;
  line-height:1.55;
}
.gim-registration-elementor-widget .gcm-registration-grid :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
.gim-registration-editor-preview__input{
  display:block;
  box-sizing:border-box;
  inline-size:100%!important;
  min-inline-size:0!important;
  max-inline-size:none!important;
  min-block-size:48px;
  margin:0;
  padding-inline:12px;
  border:1px solid #d7e0ea;
  border-radius:11px;
  background:#fff;
  color:#23364f;
  font:inherit;
  font-size:.87rem;
}
.gim-registration-elementor-widget .gcm-registration-grid textarea{min-block-size:78px;padding-block:8px;}
.gim-registration-elementor-widget .gcm-registration-grid select[multiple]{min-block-size:150px;padding-block:7px;}
.gim-registration-elementor-widget .gcm-registration-grid input[type="file"]{padding:7px;background:#f7f9fb;}
.gim-registration-elementor-widget .gcm-registration-grid small{
  color:#8390a1;
  font-size:.74rem;
  line-height:1.55;
}
.gim-registration-elementor-widget .gcm-registration-grid small:empty{display:none;}
.gim-registration-elementor-widget .gcm-registration-slug{display:flex!important;direction:ltr;}
.gim-registration-elementor-widget .gcm-registration-slug span{
  display:grid;
  place-items:center;
  padding-inline:10px;
  border:1px solid #d7e0ea;
  border-inline-end:0;
  border-radius:11px 0 0 11px;
  background:#f6f8fa;
}
.gim-registration-elementor-widget .gcm-registration-slug input{border-radius:0 11px 11px 0;}
.gim-registration-elementor-widget .gcm-registration-otp-channel-group{
  grid-column:1/-1;
  margin:0;
  padding:12px;
  border:1px solid #e0e7ef;
  border-radius:12px;
}
.gim-registration-elementor-widget .gcm-otp-channel-options{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(165px,1fr));
  gap:8px;
}
.gim-registration-elementor-widget .gcm-otp-channel-option{
  display:flex;
  align-items:center;
  gap:8px;
  min-block-size:44px;
  padding:8px 9px;
  border:1px solid #dde5ed;
  border-radius:10px;
  background:#fff;
}
.gim-registration-elementor-widget .gcm-registration-subsection{
  grid-column:1/-1;
  margin-block-start:14px;
  padding-block-start:13px;
  border-block-start:1px solid #e4eaf1;
}
.gim-registration-elementor-widget .gcm-registration-subsection h3{margin:0 0 9px;font-size:.9rem;}
.gim-registration-elementor-widget .gcm-registration-grid--documents{grid-template-columns:repeat(2,minmax(0,1fr));}
.gim-registration-elementor-widget .gcm-registration-step-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-block-start:14px;
  padding-block-start:12px;
  border-block-start:1px solid #e5ebf1;
}
.gim-registration-elementor-widget .gcm-registration-step-actions button,
.gim-registration-elementor-widget .gcm-registration-step-actions .button{
  inline-size:100%;
  min-inline-size:0;
  min-block-size:48px;
  border-radius:10px;
  font-size:.87rem;
  font-weight:850;
}
.gim-registration-elementor-widget .gcm-registration-step-actions .button-primary{
  border-color:var(--gim-button-primary-bg,var(--gim-accent));
  background:var(--gim-button-primary-bg,var(--gim-accent));
  color:var(--gim-button-primary-text,#fff);
}

/* Existing-account row: requested larger. */
.gim-registration-elementor__login-prompt{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 8px 3px;
  color:#68768a;
  font-size:.92rem;
  line-height:1.6;
}
.gim-registration-elementor__login-prompt a{
  color:var(--gim-accent);
  font-size:.95rem;
  font-weight:900;
  text-decoration:none;
}
.gim-registration-elementor__trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-block-start:9px;
  padding-block-start:13px;
  border-block-start:1px solid #e3e9ef;
}
.gim-registration-elementor__trust-item{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding-inline:8px;
}
.gim-registration-elementor__trust-item+.gim-registration-elementor__trust-item{border-inline-start:1px solid #e3e9ef;}
.gim-registration-elementor__trust-icon{
  display:grid;
  place-items:center;
  inline-size:30px;
  block-size:30px;
  border-radius:9px;
  background:color-mix(in srgb,var(--gim-accent) 10%,#fff);
  color:var(--gim-accent);
}
.gim-registration-elementor__trust-icon svg{inline-size:17px;block-size:17px;}
.gim-registration-elementor__trust-icon svg *{stroke-width:2.8;}
.gim-registration-elementor__trust strong{display:block;color:#4c5c72;font-size:.7rem;font-weight:850;}
.gim-registration-elementor__trust small{display:block;color:#97a2b0;font-size:.62rem;line-height:1.45;}

/* Editor-safe visual preview. */
.gim-registration-editor-preview__field{display:grid;gap:5px;}
.gim-registration-editor-preview__input{
  display:flex;
  align-items:center;
  color:#99a5b4;
}
.gim-registration-editor-preview .gcm-registration-step-actions .button{
  display:grid;
  place-items:center;
  background:var(--gim-button-primary-bg,var(--gim-accent));
  color:#fff;
}

/* OTP canonical state. */
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-state="otp_required"] .reg-step,
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-state="verifying"] .reg-step,
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-state="creating_club"] .reg-step{display:none!important;}
.gim-registration-elementor-widget .gcm-registration-otp-step{
  max-inline-size:540px;
  margin:8px auto 0;
  padding:18px;
  border:1px solid #e0e7ef;
  border-radius:15px;
  background:#f8fafc;
}
.gim-registration-elementor-widget .gcm-registration-otp-step[hidden]{display:none!important;}
.gim-registration-elementor-widget .gcm-registration-otp-field{display:grid;gap:6px;margin-block-start:12px;}
.gim-registration-elementor-widget .gcm-registration-otp-field input{
  inline-size:min(100%,230px);
  min-block-size:48px;
  border:1px solid #d7e0ea;
  border-radius:11px;
  text-align:center;
}
.gim-registration-elementor-widget .gcm-registration-otp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-block-start:14px;
}

/* Tablet: timeline stays one row. Stage hides first. */
@media (max-width:1024px){
  .gim-registration-elementor-widget{
    background-image:var(--gim-register-bg-tablet);
    background-attachment:fixed;
  }
  .gim-registration-elementor__shell{
    inline-size:calc(100% - 28px);
    padding-block:9px 24px;
  }
  .gim-registration-elementor__timeline{
    grid-template-columns:minmax(88px,100px) minmax(0,1fr) minmax(88px,100px);
    max-inline-size:100%;
    min-block-size:44px;
    margin-block-end:8px;
  }
  .gim-registration-elementor__stage{display:inline-flex;}
  .gim-registration-elementor__steps{
    grid-column:1;
    inline-size:100%;
  }
  .gim-registration-elementor__workspace{
    direction:rtl;
    grid-template-areas:"form" "showcase";
    grid-template-columns:minmax(0,1fr);
    gap:20px;
  }
  .gim-registration-elementor__form{
    grid-area:form;
    inline-size:min(100%,740px);
    max-inline-size:740px;
    justify-self:center;
    transform:none;
  }
  .gim-registration-elementor__showcase{
    grid-area:showcase;
    grid-template-areas:"jimmy copy";
    grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);
    min-block-size:0;
    inline-size:min(100%,860px);
    gap:14px;
    margin-inline:auto;
  }
  .gim-registration-elementor__jimmy{
    inline-size:min(100%,390px);
    transform:none;
    justify-self:center;
  }
  .gim-registration-elementor__jimmy img{inline-size:370px;}
  .gim-registration-elementor__copy{
    max-inline-size:350px;
    padding-block:20px 0;
    transform:none;
  }
}

/* Compact responsive chrome: stage, six-step rail and home link remain one row. */
@media (max-width:640px){
  .gim-registration-elementor-widget{
    background-image:var(--gim-register-bg-mobile);
    background-attachment:fixed;
  }
  .gim-registration-elementor__shell{
    inline-size:calc(100% - 18px);
    padding-block:8px 20px;
  }
  .gim-registration-elementor__timeline{
    grid-template-columns:minmax(64px,68px) minmax(0,1fr) minmax(64px,68px);
    inline-size:100%;
    max-inline-size:none;
    min-block-size:39px;
    margin-block-end:7px;
  }
  .gim-registration-elementor__steps li{
    gap:3px;
    font-size:.6rem;
    line-height:1.1;
  }
  .gim-registration-elementor__stage{
    padding-inline:4px;
    font-size:.58rem;
  }
  .gim-registration-elementor__steps li>span{
    inline-size:22px;
    block-size:22px;
    font-size:.58rem;
  }
  .gim-registration-elementor__steps li::before{
    inset-block-start:10px;
    inset-inline-start:calc(50% + 13px);
    inline-size:calc(100% - 26px);
  }
  .gim-registration-elementor__form{
    inline-size:100%;
    max-inline-size:none;
  }
  .gim-registration-elementor__form .gcm-registration-container{
    padding:17px 13px 14px;
    border-radius:17px;
  }
  .gim-registration-elementor__form .gcm-registration-container>h2{
    padding-inline-end:0;
    font-size:1.5rem;
  }
  .gim-registration-elementor__form .gcm-registration-container>p{
    margin:4px 0 12px;
  }
  .gim-registration-elementor-widget .gcm-registration-container .reg-step{
    padding:13px 11px;
  }
  .gim-registration-elementor-widget .gcm-registration-grid,
  .gim-registration-elementor-widget .gcm-registration-grid--documents{
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
  .gim-registration-elementor-widget .gcm-registration-grid>[data-span="full"],
  .gim-registration-elementor-widget .gcm-registration-otp-channel-group,
  .gim-registration-elementor-widget .gcm-registration-subsection{grid-column:auto;}

  .gim-registration-elementor__showcase{
    grid-template-areas:"copy" "jimmy";
    grid-template-columns:minmax(0,1fr);
    inline-size:100%;
    gap:8px;
  }
  .gim-registration-elementor__copy{
    inline-size:100%;
    max-inline-size:none;
    padding:0;
  }
  .gim-registration-elementor__copy h1{font-size:1.62rem;}
  .gim-registration-elementor__description{font-size:.88rem;line-height:1.75;}
  .gim-registration-elementor__benefits{gap:0;}
  .gim-registration-elementor__benefits li{min-block-size:48px;}
  .gim-registration-elementor__jimmy{
    inline-size:min(100%,260px);
    max-inline-size:260px;
    justify-self:center;
  }
  .gim-registration-elementor__jimmy img{inline-size:240px;}
  .gim-registration-elementor__login-prompt{
    flex-wrap:wrap;
    font-size:.86rem;
  }
  .gim-registration-elementor__trust{
    grid-template-columns:1fr;
    gap:7px;
  }
  .gim-registration-elementor__trust-item{padding-inline:0;}
  .gim-registration-elementor__trust-item+.gim-registration-elementor__trust-item{border-inline-start:0;}
}

@media (max-width:380px){
  .gim-registration-elementor__steps li{font-size:.54rem;}
  .gim-registration-elementor__steps li>span{inline-size:20px;block-size:20px;}
}

@media (prefers-reduced-motion:reduce){
  .gim-registration-elementor-widget *{scroll-behavior:auto!important;transition:none!important;}
}


/* v18 — proportional typography, physical RTL stage placement, viewport-fit Jimmy. */

/* Stage is physically on the right; the six-step rail remains centered. */
.gim-registration-elementor__timeline{
  direction:ltr;
  grid-template-columns:116px minmax(0,600px) 116px;
  justify-content:center;
}
.gim-registration-elementor__stage{
  grid-column:3;
  justify-self:end;
  direction:rtl;
  text-align:right;
  font-size:.82rem;
}
.gim-registration-elementor__steps{
  grid-column:2;
  direction:rtl;
}
.gim-registration-elementor__steps li{
  font-size:.8rem;
  gap:5px;
}
.gim-registration-elementor__steps li>span{
  inline-size:28px;
  block-size:28px;
  font-size:.74rem;
}
.gim-registration-elementor__steps li::before{
  inset-block-start:13px;
  inset-inline-start:calc(50% + 17px);
  inline-size:calc(100% - 34px);
}

/* Give the visual column more room so Jimmy is actually larger at runtime. */
.gim-registration-elementor__workspace{
  grid-template-columns:minmax(0,1.08fr) minmax(590px,.92fr);
  gap:26px;
}
.gim-registration-elementor__showcase{
  grid-template-columns:minmax(430px,1.32fr) minmax(215px,.68fr);
  gap:8px;
  min-block-size:clamp(560px,calc(100dvh - 150px),670px);
}
.gim-registration-elementor__jimmy{
  align-self:start;
  inline-size:min(100%,700px);
  transform:translate(var(--gim-jimmy-x),var(--gim-jimmy-y));
}
.gim-registration-elementor__jimmy img{
  inline-size:700px;
  max-inline-size:100%;
  max-block-size:calc(100dvh - var(--gim-header-stack-height,64px) - 105px);
  block-size:auto;
  object-fit:contain;
}

/* Readability: modest size increase without creating a tall desktop page. */
.gim-registration-elementor__copy{
  gap:14px;
  max-inline-size:330px;
  padding-block:46px 0;
}
.gim-registration-elementor__copy h1{
  font-size:clamp(1.95rem,2.3vw,2.5rem);
  line-height:1.45;
}
.gim-registration-elementor__description{
  font-size:1.03rem;
  line-height:1.95;
}
.gim-registration-elementor__benefits{
  gap:4px;
  margin-block-start:3px;
}
.gim-registration-elementor__benefits li{
  min-block-size:58px;
  padding:7px 4px;
  gap:10px;
}
.gim-registration-elementor__benefit-icon{
  inline-size:40px;
  block-size:40px;
}
.gim-registration-elementor__benefits strong{
  font-size:.98rem;
  line-height:1.55;
}
.gim-registration-elementor__benefits small{
  font-size:.86rem;
  line-height:1.55;
}

/* Form text is brought back to a comfortable readable scale. */
.gim-registration-elementor__form .gcm-registration-container{
  padding:24px 22px 19px;
}
.gim-registration-elementor__form .gcm-registration-container>h2{
  font-size:1.95rem;
}
.gim-registration-elementor__form .gcm-registration-container>p{
  font-size:.94rem;
  line-height:1.8;
  margin-block-end:16px;
}
.gim-registration-elementor-widget .gcm-registration-container .reg-step{
  padding:17px;
}
.gim-registration-elementor-widget .gcm-registration-container .reg-step legend{
  font-size:1.2rem;
}
.gim-registration-elementor-widget .gcm-registration-grid{
  gap:15px 17px;
}
.gim-registration-elementor-widget .gcm-registration-grid label,
.gim-registration-elementor-widget .gcm-registration-grid legend{
  font-size:.95rem;
  line-height:1.6;
}
.gim-registration-elementor-widget .gcm-registration-grid :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
.gim-registration-editor-preview__input{
  min-block-size:50px;
  font-size:.95rem;
}
.gim-registration-elementor-widget .gcm-registration-grid small{
  font-size:.8rem;
}
.gim-registration-elementor-widget .gcm-registration-step-actions{
  margin-block-start:16px;
  padding-block-start:14px;
}
.gim-registration-elementor-widget .gcm-registration-step-actions button,
.gim-registration-elementor-widget .gcm-registration-step-actions .button{
  min-block-size:50px;
  font-size:.94rem;
}

/* Existing-account prompt receives the same readability bump. */
.gim-registration-elementor__login-prompt{
  font-size:1rem;
  padding-block-start:14px;
}
.gim-registration-elementor__login-prompt a{
  font-size:1.02rem;
}

/* Tablet keeps the timeline on one line; stage disappears before the rail wraps. */
@media (max-width:1024px){
  .gim-registration-elementor__timeline{
    direction:ltr;
    grid-template-columns:minmax(88px,100px) minmax(0,1fr) minmax(88px,100px);
    max-inline-size:100%;
  }
  .gim-registration-elementor__stage{display:inline-flex;}
  .gim-registration-elementor__steps{
    grid-column:1;
    direction:rtl;
  }
  .gim-registration-elementor__showcase{
    grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);
    gap:18px;
  }
  .gim-registration-elementor__jimmy{
    inline-size:min(100%,420px);
  }
  .gim-registration-elementor__jimmy img{
    inline-size:400px;
    max-block-size:none;
  }
  .gim-registration-elementor__copy{
    max-inline-size:370px;
    padding-block:22px 0;
  }
}


/* Mobile: one-row compact step rail, no overlap. */
@media (max-width:640px){
  .gim-registration-elementor__steps li{
    font-size:.64rem;
    gap:3px;
  }
  .gim-registration-elementor__steps li>span{
    inline-size:23px;
    block-size:23px;
    font-size:.62rem;
  }
  .gim-registration-elementor__steps li::before{
    inset-block-start:11px;
    inset-inline-start:calc(50% + 14px);
    inline-size:calc(100% - 28px);
  }
  .gim-registration-elementor__copy h1{
    font-size:1.78rem;
  }
  .gim-registration-elementor__description{
    font-size:.96rem;
  }
  .gim-registration-elementor__benefits strong{font-size:.92rem;}
  .gim-registration-elementor__benefits small{font-size:.82rem;}
  .gim-registration-elementor__jimmy{
    inline-size:min(100%,270px);
  }
  .gim-registration-elementor__jimmy img{
    inline-size:250px;
  }
}

/* Short desktop heights: preserve the visual hierarchy but guarantee viewport fit. */
@media (min-width:1025px) and (max-height:820px){
  .gim-registration-elementor__shell{
    padding-block:8px 18px;
  }
  .gim-registration-elementor__timeline{
    min-block-size:44px;
    margin-block-end:7px;
  }
  .gim-registration-elementor__showcase{
    min-block-size:calc(100dvh - var(--gim-header-stack-height,64px) - 70px);
  }
  .gim-registration-elementor__jimmy img{
    max-block-size:calc(100dvh - var(--gim-header-stack-height,64px) - 82px);
  }
  .gim-registration-elementor__copy{
    gap:10px;
    padding-block:32px 0;
  }
  .gim-registration-elementor__copy h1{
    font-size:clamp(1.82rem,2.05vw,2.25rem);
  }
  .gim-registration-elementor__description{
    font-size:.96rem;
    line-height:1.8;
  }
  .gim-registration-elementor__benefits li{
    min-block-size:51px;
    padding-block:4px;
  }
  .gim-registration-elementor__benefits strong{font-size:.92rem;}
  .gim-registration-elementor__benefits small{font-size:.8rem;}

  .gim-registration-elementor__form .gcm-registration-container{
    padding:19px 18px 15px;
  }
  .gim-registration-elementor__form .gcm-registration-container>h2{
    font-size:1.72rem;
  }
  .gim-registration-elementor__form .gcm-registration-container>p{
    font-size:.86rem;
    margin-block-end:12px;
  }
  .gim-registration-elementor-widget .gcm-registration-container .reg-step{
    padding:14px;
  }
  .gim-registration-elementor-widget .gcm-registration-grid{
    gap:11px 14px;
  }
  .gim-registration-elementor-widget .gcm-registration-grid :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
  .gim-registration-editor-preview__input{
    min-block-size:45px;
    font-size:.9rem;
  }
  .gim-registration-elementor-widget .gcm-registration-step-actions{
    margin-block-start:12px;
    padding-block-start:10px;
  }
  .gim-registration-elementor-widget .gcm-registration-step-actions button,
  .gim-registration-elementor-widget .gcm-registration-step-actions .button{
    min-block-size:45px;
  }
  .gim-registration-elementor__login-prompt{
    padding-block-start:9px;
    font-size:.9rem;
  }
  .gim-registration-elementor__trust{
    margin-block-start:6px;
    padding-block-start:9px;
  }
}


/* Step 2 — club profile composition. Reuses the canonical registration shell. */
.gim-registration-elementor-widget [data-gcm-registration-showcase][hidden]{
  display:none!important;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__workspace{
  grid-template-columns:minmax(0,.92fr) minmax(650px,1.08fr);
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__form{
  max-inline-size:760px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__showcase{
  grid-template-columns:minmax(390px,1.2fr) minmax(220px,.8fr);
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__copy{
  max-inline-size:340px;
  padding-block-start:38px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gcm-registration-container>h2{
  font-size:1.85rem;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gcm-registration-container>p{
  max-inline-size:620px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] .reg-step{
  padding:16px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] .gcm-registration-grid{
  gap:12px 15px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] .gcm-registry-field--sports{
  padding:12px;
  border:1px solid #e2e9f0;
  border-radius:13px;
  background:color-mix(in srgb,var(--gim-surface-muted) 62%,#fff);
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] .gcm-registry-field--sports>[data-gcm-sport-search]{
  margin-block-end:3px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] [data-gcm-sports-select]{
  min-block-size:122px;
  background:#fff;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] .gcm-registration-subsection{
  margin-block-start:4px;
  padding-block-start:12px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] .gcm-registration-grid--documents>div{
  align-content:start;
  min-block-size:102px;
  padding:11px;
  border:1px dashed #ccd8e4;
  border-radius:12px;
  background:#f8fafc;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] .gcm-registration-grid--documents input[type="file"]{
  min-block-size:44px;
  padding:7px;
  border:0;
  border-radius:9px;
  background:#fff;
}
.gim-registration-elementor-widget .gcm-registration-step-actions--split{
  display:grid;
  grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__login-prompt{
  display:none;
}

/* Step 3 entry is scaffolded here only to preserve the six-step flow.
   Its visual treatment will be completed in the dedicated Step 3 pass. */
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-registration-verification-entry{
  max-inline-size:620px;
  margin-inline:auto;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-registration-step-copy{
  display:block!important;
  margin:0 0 12px;
  color:#6d7c90;
  font-size:.9rem;
  line-height:1.8;
}

@media (max-width:1024px){
  .gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__workspace{
    grid-template-columns:minmax(0,1fr);
  }
  .gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__form{
    max-inline-size:780px;
  }
  .gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__showcase{
    grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr);
  }
}

@media (max-width:640px){
  .gim-registration-elementor-widget[data-gcm-registration-presentation="club"] .gim-registration-elementor__copy{
    padding-block-start:0;
  }
  .gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="club"] .gcm-registration-grid--documents>div{
    min-block-size:0;
  }
  .gim-registration-elementor-widget .gcm-registration-step-actions--split{
    grid-template-columns:minmax(0,1fr);
  }
}

/* v20 — desktop pinned onboarding shell.
   The site header/timeline and the visual story remain stationary; only the
   task column scrolls when its content is taller than the usable viewport. */
@media (min-width:1025px){
  .gim-registration-elementor-widget{
    block-size:calc(100dvh - var(--gim-header-stack-height,64px));
    min-block-size:calc(100dvh - var(--gim-header-stack-height,64px));
    max-block-size:calc(100dvh - var(--gim-header-stack-height,64px));
    overflow:hidden;
  }
  .gim-registration-elementor__shell{
    box-sizing:border-box;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    block-size:100%;
    max-block-size:100%;
    overflow:hidden;
  }
  .gim-registration-elementor__timeline{
    position:relative;
    z-index:3;
  }
  .gim-registration-elementor__workspace{
    block-size:100%;
    min-block-size:0;
    overflow:hidden;
    align-items:stretch;
  }
  .gim-registration-elementor__showcase{
    block-size:100%;
    min-block-size:0;
    max-block-size:100%;
    overflow:hidden;
    align-content:start;
  }
  .gim-registration-elementor__form{
    block-size:100%;
    min-block-size:0;
    max-block-size:100%;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
    -webkit-overflow-scrolling:touch;
  }
}

/* A stage may display only its own Jimmy/copy. This also prevents a future
   stage from inheriting the previous stage's visual before its own showcase
   has been implemented. */
.gim-registration-elementor-widget [data-gcm-registration-showcase]{
  display:none!important;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="manager"] [data-gcm-registration-showcase="manager"]:not([hidden]),
.gim-registration-elementor-widget[data-gcm-registration-presentation="club"] [data-gcm-registration-showcase="club"]:not([hidden]),
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] [data-gcm-registration-showcase="verify"]:not([hidden]){
  display:grid!important;
}


/* Step 3 — mobile verification. The backend OTP contract stays canonical;
   this section only recomposes its existing controls into the onboarding UI. */
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__workspace{
  grid-template-columns:minmax(0,1fr) minmax(560px,.88fr);
  gap:32px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__form{
  max-inline-size:640px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__showcase{
  grid-template-columns:minmax(390px,1.16fr) minmax(225px,.84fr);
  gap:12px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__copy{
  max-inline-size:350px;
  padding-block-start:42px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__login-prompt,
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__trust{
  display:none;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-registration-verification-entry{
  max-inline-size:none;
  margin:0;
  padding:20px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-registration-verification-entry>legend{
  margin-block-end:4px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-registration-step-copy{
  margin:0 0 16px;
  color:#68788d;
  font-size:.94rem;
  line-height:1.9;
}
.gim-registration-elementor-widget .gcm-registration-verification-mobile{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-block-size:72px;
  padding:13px 15px;
  border:1px solid color-mix(in srgb,var(--gim-accent) 24%,#dce5ee);
  border-radius:14px;
  background:color-mix(in srgb,var(--gim-accent) 6%,#fff);
}
.gim-registration-elementor-widget .gcm-registration-verification-mobile>div{
  display:grid;
  gap:5px;
}
.gim-registration-elementor-widget .gcm-registration-verification-mobile span{
  color:#718096;
  font-size:.78rem;
  font-weight:700;
}
.gim-registration-elementor-widget .gcm-registration-verification-mobile strong{
  color:#26384f;
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:.035em;
}
.gim-registration-elementor-widget .gcm-registration-verification-mobile .button-link{
  min-block-size:auto!important;
  padding:5px 8px!important;
  border:0!important;
  background:transparent!important;
  color:var(--gim-accent)!important;
  box-shadow:none!important;
  font-size:.82rem!important;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-registration-otp-channel-group{
  margin:0;
  padding:15px;
  border:1px solid #e0e7ef;
  border-radius:14px;
  background:#fff;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-registration-otp-channel-group>legend{
  margin-block-end:3px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] #gcm-reg-otp-channels-help{
  margin:0 0 10px;
  color:#7b899b;
  font-size:.78rem;
  line-height:1.7;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-option{
  display:flex;
  align-items:center;
  gap:10px;
  min-block-size:66px;
  margin:0;
  padding:11px 12px;
  border:1px solid #dfe7ef;
  border-radius:12px;
  background:#f9fbfc;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-option:has(input:checked){
  border-color:color-mix(in srgb,var(--gim-accent) 64%,#dfe7ef);
  background:color-mix(in srgb,var(--gim-accent) 7%,#fff);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--gim-accent) 10%,transparent);
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-option[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.58;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-option input{
  inline-size:18px;
  block-size:18px;
  margin:0;
  accent-color:var(--gim-accent);
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-option span{
  display:grid;
  gap:2px;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-option strong{
  color:#2f4056;
  font-size:.9rem;
}
.gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-option small{
  color:#8190a2;
  font-size:.72rem;
  line-height:1.5;
}
.gim-registration-elementor-widget .gcm-registration-verification-note{
  position:relative;
  margin-block-start:14px;
  padding:11px 42px 11px 12px;
  border:1px solid #dbeae7;
  border-radius:12px;
  background:#f2faf8;
  color:#55706b;
  font-size:.78rem;
  line-height:1.75;
}
.gim-registration-elementor-widget .gcm-registration-verification-note::before{
  content:"✓";
  position:absolute;
  inset-inline-start:auto;
  inset-inline-end:14px;
  inset-block-start:12px;
  display:grid;
  place-items:center;
  inline-size:20px;
  block-size:20px;
  border-radius:50%;
  background:color-mix(in srgb,var(--gim-accent) 14%,#fff);
  color:var(--gim-accent);
  font-weight:900;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-step-actions--split{
  grid-template-columns:minmax(145px,.38fr) minmax(0,1fr);
}

/* OTP received sub-state remains the same Step 3, with a focused verification card. */
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-step{
  max-inline-size:none;
  margin:0;
  padding:22px 20px 18px;
  border:1px solid #dfe7ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(30,55,86,.055);
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-step h3{
  margin:0 0 7px;
  color:#24364d;
  font-size:1.2rem;
  font-weight:900;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-step>p{
  margin:0;
  padding:12px 14px;
  border-radius:12px;
  background:color-mix(in srgb,var(--gim-accent) 6%,#f8fbfc);
  color:#68788d;
  font-size:.88rem;
  line-height:1.8;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] [data-gcm-registration-mobile-mask]{
  display:inline-block;
  margin-inline:5px;
  color:#26384f;
  font-weight:900;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-field{
  justify-items:center;
  gap:8px;
  margin-block-start:18px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-field label{
  justify-self:start;
  color:#40516a;
  font-size:.9rem;
  font-weight:850;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-field input{
  box-sizing:border-box;
  inline-size:min(100%,264px);
  min-block-size:60px;
  padding:8px 8px 8px 40px;
  border:1px solid #d5e0ea;
  border-radius:12px;
  background:#fff;
  color:#24364d;
  font-size:1.5rem;
  font-weight:900;
  letter-spacing:.35em;
  text-align:center;
  caret-color:var(--gim-accent);
  box-shadow:inset 0 1px 1px rgba(37,55,79,.02);
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-field input:focus{
  border-color:var(--gim-accent);
  outline:3px solid color-mix(in srgb,var(--gim-accent) 16%,transparent);
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-field small{
  color:#8794a5;
  font-size:.76rem;
  text-align:center;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-status{
  min-block-size:20px;
  color:#607286;
  font-size:.76rem;
  text-align:center;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:9px;
  margin-block-start:17px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-actions [data-gcm-registration-complete]{
  grid-column:1/-1;
  min-block-size:50px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-actions [data-gcm-registration-edit-mobile]{
  justify-self:start;
  min-block-size:42px;
}
.gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-actions [data-gcm-registration-resend]{
  min-block-size:42px;
}
@media (max-width:1024px){
  .gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__workspace{
    grid-template-columns:minmax(0,1fr);
  }
  .gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__form{
    max-inline-size:720px;
  }
  .gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__showcase{
    grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
  }
  .gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__copy{
    padding-block-start:18px;
  }
}
@media (max-width:640px){
  .gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gim-registration-elementor__copy{
    padding-block-start:0;
  }
  .gim-registration-elementor-widget .gcm-registration-verification-mobile{
    align-items:flex-start;
  }
  .gim-registration-elementor-widget #gcm-registration-form[data-gcm-registration-ui-step="verify"] .gcm-otp-channel-options{
    grid-template-columns:minmax(0,1fr);
  }
  .gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-actions{
    grid-template-columns:minmax(0,1fr);
  }
  .gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-actions [data-gcm-registration-complete]{
    grid-column:auto;
  }
  .gim-registration-elementor-widget[data-gcm-registration-presentation="verify"] .gcm-registration-otp-field input{
    inline-size:min(100%,248px);
    padding-inline-start:34px;
    letter-spacing:.35em;
  }
}
/* Final tablet contract: prevent the desktop form minimum from collapsing
 * the registration workspace into a narrow column. */
@media (min-width:641px) and (max-width:1024px){
  .gim-registration-elementor__timeline{
    grid-template-columns:minmax(0,1fr) auto;
    inline-size:100%;
    max-inline-size:100%;
  }
  .gim-registration-elementor__steps{
    grid-column:1;
    min-inline-size:0;
  }
  .gim-registration-elementor__stage{
    grid-column:2;
    justify-self:end;
  }
  .gim-registration-elementor__workspace{
    grid-template-columns:minmax(0,1fr);
    inline-size:100%;
    min-inline-size:0;
  }
  .gim-registration-elementor__form{
    inline-size:100%;
    min-inline-size:0;
  }
}

/* Final mobile contract: keep the first registration step full-width and
 * keep the shared six-step rail centered without the stage counter. */
@media (max-width:640px){
  .gim-registration-elementor__workspace{
    direction:rtl;
    grid-template-areas:"form" "showcase";
    grid-template-columns:minmax(0,1fr);
    inline-size:100%;
    min-inline-size:0;
  }
  .gim-registration-elementor__form{
    grid-area:form;
    inline-size:100%;
    min-inline-size:0;
  }
  .gim-registration-elementor__timeline{
    direction:ltr;
    grid-template-columns:minmax(0,1fr);
    inline-size:100%;
    max-inline-size:100%;
    justify-content:center;
  }
  .gim-registration-elementor__stage{display:none!important;}
  .gim-registration-elementor__steps{
    grid-column:1;
    grid-row:1;
    inline-size:100%;
    min-inline-size:0;
  }
  .gim-registration-elementor__steps li{
    min-inline-size:0;
    font-size:clamp(.52rem,2.25vw,.64rem);
  }
  .gim-registration-elementor__showcase{
    grid-template-areas:"jimmy copy";
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    inline-size:100%;
    min-inline-size:0;
    gap:8px;
    align-items:center;
  }
  .gim-registration-elementor__jimmy{
    grid-area:jimmy;
    inline-size:min(100%,240px);
    max-inline-size:100%;
    justify-self:center;
  }
  .gim-registration-elementor__jimmy img{
    inline-size:100%;
    max-inline-size:100%;
    block-size:auto;
  }
  .gim-registration-elementor__copy{
    grid-area:copy;
    inline-size:100%;
    min-inline-size:0;
    max-inline-size:none;
    padding:0;
    gap:6px;
  }
  .gim-registration-elementor__copy h1{
    font-size:clamp(1rem,5.2vw,1.45rem);
    line-height:1.45;
  }
  .gim-registration-elementor__description{
    font-size:clamp(.7rem,3.2vw,.86rem);
    line-height:1.7;
  }
  .gim-registration-elementor__benefits{
    gap:0;
    margin-block-start:0;
  }
  .gim-registration-elementor__benefits li{
    min-block-size:0;
    padding:3px 0;
    gap:5px;
  }
  .gim-registration-elementor__benefit-icon{
    inline-size:26px;
    block-size:26px;
  }
  .gim-registration-elementor__benefits strong{
    font-size:clamp(.68rem,3vw,.8rem);
    line-height:1.4;
  }
  .gim-registration-elementor__benefits small{
    display:block;
    font-size:clamp(.56rem,2.5vw,.68rem);
    line-height:1.35;
  }
}
