/* GIM Layout — canonical shell/layout layer. UTF-8 without BOM. */
*{box-sizing:border-box;}
html,body{min-height:100%;}
html{color-scheme:dark;}html.gim-light{color-scheme:light;}
body{margin:0;font-family:var(--gim-font-base);background:linear-gradient(180deg,var(--gim-bg),var(--gim-surface-2));color:var(--gim-text-primary);direction:rtl;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}img{max-width:100%;height:auto;}
.gim-app-shell{min-height:100vh;display:flex;direction:rtl;background:var(--gim-bg);isolation:isolate;}
.gim-app-sidebar,.gim-sidebar{
  inline-size:var(--gim-sidebar-width);
  border-inline-end:1px solid var(--gim-border);
  background:var(--gim-surface);
  backdrop-filter:none;
  padding:var(--gim-space-3) var(--gim-space-3);
  position:sticky;
  inset-block-start:0;
  block-size:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  flex:0 0 var(--gim-sidebar-width);
  z-index:var(--gim-layer-header);
  scrollbar-width:thin;
  overscroll-behavior:contain;
}
.gim-sidebar.mini{inline-size:var(--gim-sidebar-mini-width);flex-basis:var(--gim-sidebar-mini-width);}
.gim-sidebar-backdrop{position:fixed;inset:0;background:var(--gim-color-overlay);z-index:var(--gim-layer-backdrop);}
.gim-brand{display:flex;align-items:center;gap:var(--gim-space-2);padding:var(--gim-space-2) var(--gim-space-2) var(--gim-space-3);min-height:56px;}
.gim-logo{width:38px;height:38px;border-radius:12px;background:var(--gim-gradient-brand);border:1px solid var(--gim-border);box-shadow:var(--gim-shadow-sm);flex:0 0 auto;}
.gim-brand-copy{min-width:0;}.gim-brand-title{font-weight:var(--gim-font-weight-semibold);line-height:1.3;white-space:nowrap;}.gim-brand-sub{font-size:var(--gim-font-xs);color:var(--gim-text-secondary);white-space:nowrap;}.gim-sidebar.mini .gim-brand-copy{display:none;}
.gim-club-selector{margin:4px 4px 12px;}
.gim-nav{display:flex;flex-direction:column;gap:2px;margin-top:4px;}
.gim-bottomnav-item{display:flex;align-items:center;gap:var(--gim-space-2);border:1px solid transparent;color:var(--gim-text-primary);cursor:pointer;min-height:var(--gim-touch-target-min);}
.gim-sidebar.mini .gim-nav-label,.gim-sidebar.mini .gim-nav-group-title,.gim-sidebar.mini .gim-sidebar-copyright,.gim-sidebar.mini .gim-club-selector{display:none;}.gim-sidebar.mini .gim-nav .gim-nav-item{justify-content:center;}
.gim-main,.gim-app-main{flex:1;min-width:0;display:flex;flex-direction:column;max-width:100%;}
.gim-topbar-start,.gim-topbar-end{display:flex;align-items:center;gap:10px;min-width:0;}.gim-topbar-start{justify-content:flex-start;}.gim-topbar-end{justify-content:flex-end;}
.gim-page-context{min-width:0;}
.gim-topbar-end .gim-club-select{min-inline-size:170px;max-inline-size:260px;}
.gim-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gim-border);border-radius:999px;padding:7px 10px;background:var(--gim-surface);font-size:var(--gim-font-xs);color:var(--gim-text-secondary);white-space:nowrap;}.gim-pill strong{color:var(--gim-text-primary);font-weight:var(--gim-font-weight-semibold);}.gim-pill.is-warn{border-color:color-mix(in srgb,var(--gim-warning) 45%,var(--gim-border));background:color-mix(in srgb,var(--gim-warning) 10%,var(--gim-surface));}.gim-pill.is-danger{border-color:color-mix(in srgb,var(--gim-danger) 48%,var(--gim-border));background:color-mix(in srgb,var(--gim-danger) 10%,var(--gim-surface));}.gim-dot{width:4px;height:4px;border-radius:999px;background:var(--gim-border);}
.gim-club-select{min-height:40px;max-width:210px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-md);background:var(--gim-surface);color:var(--gim-text-primary);padding:8px 10px;font:inherit;}
.gim-toolbar,.gim-app-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid var(--gim-border);background:color-mix(in srgb,var(--gim-surface-2) 70%,transparent);}.gim-toolbar-context{color:var(--gim-text-secondary);font-size:var(--gim-font-sm);}.gim-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.gim-content,.gim-app-content{
  padding:clamp(var(--gim-space-3),1.25vw,var(--gim-space-5));
  min-inline-size:0;
  inline-size:100%;
  max-inline-size:none;
  margin:0;
  overflow-x:clip;
}
.gim-page-host{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:var(--gim-space-3);
  min-inline-size:0;
  inline-size:100%;
  max-inline-size:none;
}
.gim-page-host:not(:empty){padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
.gim-page-host> :first-child{margin-top:0;}
.gim-page-host>.gcm-page-header:first-child{margin:0 0 var(--gim-space-3);}
.gim-page-host > *,
#gcm-spa-root,
#app-content{
  min-inline-size:0;
  max-inline-size:100%;
  box-sizing:border-box;
}
@media (min-width:1440px){
  .gim-content,.gim-app-content{padding-inline:var(--gim-space-5);}
}
@media (max-width:768px){
  .gim-content,.gim-app-content{padding:var(--gim-space-3);}
  .gim-page-host{gap:var(--gim-space-2);}
}
@media (max-width:430px){
  .gim-content,.gim-app-content{padding:10px;}
}.gim-loader{display:none!important;}
.gim-bottomnav{display:none;}.gim-sidebar__footer{padding:12px 10px;color:var(--gim-text-secondary);font-size:var(--gim-font-xs);}
.gim-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.gim-page,.gcm-page{min-width:0;}.gim-dashboard-grid,.gcm-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}.gim-form-shell,.gim-table-shell,.gim-settings-layout{min-width:0;}
body.gim-shell-switching .gim-content{opacity:.72;pointer-events:none;}body.gcm-modal-open,body.gim-modal-open{overflow:hidden;}

/* Registration onboarding inside /app/: preserve the canonical SPA renderer
   without exposing operational panel navigation before activation handoff. */
body.gim-registration-onboarding-context #gcm-app.gim-app-shell--registration-onboarding{
  display:block;
  min-block-size:calc(100vh - var(--gim-panel-site-visible-height) - var(--gim-site-topbar-admin-offset));
  background:transparent;
}
body.gim-registration-onboarding-context #gcm-app.gim-app-shell--registration-onboarding .gim-app-main{
  inline-size:100%;
  max-inline-size:100%;
}
body.gim-registration-onboarding-context #gcm-app.gim-app-shell--registration-onboarding .gim-app-content{
  inline-size:100%;
  max-inline-size:none;
  padding:0;
  overflow:visible;
}
body.gim-registration-onboarding-context #gcm-app.gim-app-shell--registration-onboarding .gim-page-host{
  gap:0;
}
body.gim-registration-onboarding-context .gim-userchip--onboarding{
  cursor:default;
}
body.gim-registration-onboarding-context .gim-userchip--onboarding .gim-userchip__copy{
  max-inline-size:180px;
}
@media (max-width:768px){
  body.gim-registration-onboarding-context .gim-userchip--onboarding .gim-userchip__copy{
    display:none;
  }
}

/* Public marketing layout.
   Canonical owner: theme layout.css; selectors are shared by front-page.php and page.php. */
.home-page,
.gim-marketing{
  --home-bg:var(--gim-bg);
  --home-bg2:var(--gim-surface-2);
  --home-border:var(--gim-border);
  --home-muted:var(--gim-text-secondary);
  --home-text:var(--gim-text-primary);
  --home-accent:var(--gim-brand-blue-500);
  --home-accent-2:var(--gim-brand-teal-500);
  --home-interaction:var(--gim-color-primary);
  --home-shadow:var(--gim-shadow-sm);
  min-block-size:100vh;
  color:var(--home-text);
  background:linear-gradient(180deg,color-mix(in srgb,var(--home-accent) 3%,var(--home-bg)) 0,var(--home-bg) 420px,var(--home-bg2) 100%);
  direction:rtl;
  overflow-x:hidden;
}
.home-topbar{
  position:sticky;
  inset-block-start:0;
  z-index:var(--gim-layer-header);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  padding-block:14px;
  padding-inline:26px;
  border-block-end:1px solid var(--home-border);
  background:color-mix(in srgb,var(--home-bg) 86%,transparent);
  backdrop-filter:blur(14px);
}
.home-brand,.home-actions,.home-nav{display:flex;align-items:center;gap:12px;}
.home-nav{justify-content:flex-start;gap:18px;flex-wrap:wrap;}
.home-nav a{padding-block:8px;font-weight:600;}
.home-actions{gap:10px;}
.home-logo{
  inline-size:42px;
  block-size:42px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:14px;
  color:var(--home-bg);
  background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--home-accent) 85%,white),color-mix(in srgb,var(--home-accent-2) 45%,transparent));
  box-shadow:var(--home-shadow);
  font-weight:800;
}
.home-brand-title{font-weight:800;}.home-brand-sub{color:var(--home-muted);font-size:var(--gim-font-xs);}
.home-page .btn,.gim-pricing-page .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-block-size:44px;
  padding-block:10px;
  padding-inline:16px;
  border:1px solid transparent;
  border-radius:var(--gim-radius-md);
  color:var(--home-text);
  font-weight:700;
  transition:transform var(--gim-transition),background var(--gim-transition),border-color var(--gim-transition);
}
.home-page .btn.lg{padding-block:12px;padding-inline:18px;}
.home-page .btn.solid,.gim-pricing-page .btn.solid{color:var(--gim-color-on-primary,#fff);background:var(--home-interaction);box-shadow:var(--home-shadow);}
.home-page .btn.outline,.home-page .btn.ghost,.gim-pricing-page .btn.ghost{border-color:var(--home-border);background:color-mix(in srgb,var(--home-text) 4%,transparent);}
.home-page .btn:hover,.gim-pricing-page .btn:hover{transform:translateY(-1px);}
.home-page .btn:active,.gim-pricing-page .btn:active{transform:translateY(0);}
.home-hero{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  align-items:center;
  gap:32px;
  max-inline-size:1180px;
  margin-inline:auto;
  padding-block:54px 32px;
  padding-inline:26px;
}
.home-page .hero-text h1{max-inline-size:680px;margin-block:12px 16px;font-size:clamp(32px,4vw,48px);line-height:1.3;}
.home-page .hero-text .lede{margin-block-end:18px;color:var(--home-muted);font-size:17px;line-height:1.9;}
.home-page .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-block-end:14px;}
.home-page .hero-points{display:grid;gap:6px;margin-block:10px 0;padding:0;list-style:none;color:var(--home-muted);line-height:1.7;}
.home-page .hero-points li{display:flex;gap:8px;}
.home-page .hero-preview{display:flex;justify-content:center;min-inline-size:0;}
.home-page .preview-card{
  inline-size:min(520px,100%);
}
.home-page .preview-header{display:flex;align-items:center;gap:8px;margin-block-end:12px;}
.home-page .preview-header .dot{inline-size:10px;block-size:10px;border-radius:50%;}.home-page .dot.red{background:#f87171;}.home-page .dot.amber{background:#fbbf24;}.home-page .dot.green{background:#34d399;}
.home-page .preview-header .tag{margin-inline-start:auto;padding-block:6px;padding-inline:10px;border-radius:999px;background:color-mix(in srgb,var(--home-accent) 12%,transparent);color:var(--home-accent);font-size:var(--gim-font-xs);}
.home-page .preview-body{display:grid;gap:14px;}
.home-page .metric,.home-page .mini-card,.home-page .preview-footer,.home-page .card,.home-page .cta-panel,.cta-copy{
  border:1px solid var(--home-border);
  background:color-mix(in srgb,var(--home-text) 3%,transparent);
}
.home-page .metric{padding:12px;border-radius:var(--gim-radius-lg);}.home-page .metric-label,.home-page .mini-label,.home-page .mini-sub,.home-page .pf-desc{color:var(--home-muted);font-size:var(--gim-font-xs);}
.home-page .metric-value{margin-block-start:6px;font-size:24px;font-weight:800;}.home-page .metric-value .unit{margin-inline-start:6px;font-size:var(--gim-font-xs);}.home-page .metric-trend{margin-block-start:4px;font-size:var(--gim-font-xs);}.home-page .metric-trend.up,.home-page .mini-sub.success{color:var(--gim-success);}
.home-page .mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;}.home-page .mini-card{padding:10px;border-radius:var(--gim-radius-md);}.home-page .mini-value{margin-block-start:6px;font-size:20px;font-weight:800;}
.home-page .preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:var(--gim-radius-lg);background:color-mix(in srgb,var(--home-accent) 6%,transparent);}.home-page .pf-title{font-weight:700;}.home-page .pf-pill{padding-block:8px;padding-inline:12px;border-radius:999px;background:color-mix(in srgb,var(--home-accent-2) 18%,transparent);font-weight:700;}
.home-page .section-head{max-inline-size:680px;margin-block:0 24px;margin-inline:auto;padding-inline:18px;text-align:center;}.home-page .section-head h2{margin-block:10px 8px;font-size:26px;}.home-page .muted,.gim-pricing-page .muted{color:var(--home-muted);}
.home-page .pill{display:inline-flex;align-items:center;gap:8px;padding-block:7px;padding-inline:12px;border:1px solid var(--home-border);border-radius:999px;background:color-mix(in srgb,var(--home-text) 5%,transparent);color:var(--home-muted);font-size:var(--gim-font-xs);}
.home-personas,.home-features,.home-walkthrough,.home-diff,.home-cta{max-inline-size:1180px;margin-inline:auto;padding-block:48px;padding-inline:16px;}
.home-page .card-grid{display:grid;gap:16px;}.home-page .grid-3{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));}
.home-page .card{min-inline-size:0;}.home-page .card h3{margin-block:0 8px;}.home-page .card p{margin-block:0 10px;color:var(--home-muted);line-height:1.8;}.home-page .card ul{margin:0;padding-inline-start:18px;color:var(--home-muted);line-height:1.8;}
.home-page .persona .avatar{inline-size:48px;block-size:48px;display:grid;place-items:center;margin-block-end:10px;border-radius:var(--gim-radius-lg);background:color-mix(in srgb,var(--home-accent) 18%,transparent);color:var(--home-accent);font-weight:800;}
.home-walkthrough .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px;}.home-page .step{display:grid;grid-template-columns:46px 1fr;align-items:start;gap:12px;padding:12px;border:1px dashed var(--home-border);border-radius:var(--gim-radius-lg);background:color-mix(in srgb,var(--home-text) 2%,transparent);}.home-page .step-num{inline-size:46px;block-size:46px;display:grid;place-items:center;border-radius:var(--gim-radius-md);background:color-mix(in srgb,var(--home-accent) 15%,transparent);color:var(--home-accent);font-weight:800;}
.home-cta{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:22px;}.cta-copy,.home-page .cta-panel{padding:22px;border-radius:var(--gim-radius-xl);box-shadow:none;}.home-page .cta-pricing{display:flex;align-items:center;gap:18px;margin-block:14px;}.home-page .price{font-size:32px;font-weight:800;}.home-page .price-note{color:var(--home-muted);line-height:1.8;}.home-page .cta-list{padding-inline-start:18px;color:var(--home-muted);line-height:1.8;}
.home-workflow-map{display:grid;gap:16px;}
.home-proof-label{margin-inline-start:auto;color:var(--home-muted);font-size:var(--gim-font-xs);}
.home-workflow-map__list{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:workflow;}
.home-workflow-map__list li{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1fr);gap:16px;padding:16px 4px;border-block-end:1px solid var(--home-border);}
.home-workflow-map__list li:last-child{border-block-end:0;}
.home-workflow-map__list strong{color:var(--home-text);}
.home-workflow-map__list span,.home-workflow-map>p{color:var(--home-muted);line-height:1.8;}
.home-workflow-map>p{margin:0;padding-block-start:4px;font-size:var(--gim-font-xs);}
.home-feature-group__eyebrow{display:block;margin-block-end:8px;color:var(--home-accent);font-size:var(--gim-font-xs);font-weight:700;}
.home-features .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.home-section-action{display:flex;justify-content:center;margin-block-start:22px;}
.home-pricing-empty{grid-column:1 / -1;text-align:center;}
.home-assurance,.home-final-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center;gap:28px;max-inline-size:1148px;margin:24px auto 48px;padding:28px;border:1px solid var(--home-border);border-radius:var(--gim-radius-xl);background:var(--gim-surface);}
.home-assurance h2,.home-final-cta h2{margin-block:12px 8px;}
.home-assurance p,.home-final-cta p{margin-block:0;color:var(--home-muted);line-height:1.9;}
.home-assurance ul{display:grid;gap:10px;margin:0;padding-inline-start:20px;color:var(--home-muted);line-height:1.8;}
.home-final-cta{margin-block-end:56px;background:color-mix(in srgb,var(--home-accent) 5%,var(--gim-surface));}
.home-final-cta .hero-ctas{justify-content:flex-start;margin:0;}
.home-footer{margin-block-start:32px;padding-block:28px 38px;padding-inline:20px;border-block-start:1px solid var(--home-border);background:color-mix(in srgb,#000 25%,transparent);}.home-page .footer-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-block-end:16px;}.home-page .footer-bottom{display:flex;justify-content:space-between;gap:12px;color:var(--home-muted);font-size:var(--gim-font-sm);}
.gim-marketing{padding-block-end:48px;}.gim-marketing .secure-list{display:grid;gap:12px;max-inline-size:780px;margin-inline:auto;padding-inline:18px;list-style:none;}.gim-marketing .secure-list li{position:relative;padding-inline-start:18px;color:var(--home-muted);line-height:1.8;}.gim-marketing .secure-list li::before,.gim-features-page .hero-points li::before{content:'•';color:var(--home-accent);}.gim-marketing .secure-list li::before{position:absolute;inset-inline-start:0;inset-block-start:0;}.gim-features-page .card{border-block-start:2px solid color-mix(in srgb,var(--home-accent) 35%,transparent);}
.features-workflow-index{align-content:start;}
.features-workflow-index nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.features-workflow-index nav a{display:flex;align-items:center;min-block-size:44px;padding:10px 12px;border:1px solid var(--home-border);border-radius:var(--gim-radius-md);background:var(--gim-surface-2);font-size:var(--gim-font-sm);font-weight:700;}
.features-workflow-index nav a:hover,.features-workflow-index nav a:focus-visible{border-color:var(--home-interaction);color:var(--home-interaction);}
.features-workflow-index>p{margin:4px 0 0;color:var(--home-muted);font-size:var(--gim-font-xs);line-height:1.8;}
.gim-features-page .gim-features .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.gim-features-page .feature-workflow{scroll-margin-block-start:90px;}
.feature-workflow__eyebrow{display:block;margin-block-end:8px;color:var(--home-accent);font-size:var(--gim-font-xs);font-weight:700;}
.feature-workflow small{display:block;margin-block-start:14px;padding-block-start:12px;border-block-start:1px solid var(--home-border);color:var(--home-muted);font-size:var(--gim-font-xs);line-height:1.8;}
.gim-marketing-security{border-block:1px solid var(--home-border);background:color-mix(in srgb,var(--home-accent) 3%,var(--gim-surface));}
@media (max-width:640px){
  .features-workflow-index nav,.gim-features-page .gim-features .card-grid{grid-template-columns:1fr;}
}
.gim-pricing-page{max-inline-size:1180px;margin-inline:auto;padding-block:48px 56px;padding-inline:16px;}.gim-pricing-page .pricing-hero h1{margin-block:0 10px;font-size:clamp(30px,4vw,38px);}.gim-pricing-page .pricing-sub{margin-block:0 26px;color:var(--home-muted);font-size:16px;}.gim-pricing-page .pricing-plans{margin-block-start:18px;}.gim-pricing-page .pricing-grid,.gim-pricing-page .faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;}.gim-pricing-page .pricing-card,.gim-pricing-page .faq-item{min-inline-size:0;}.gim-pricing-page .pricing-card{display:grid;gap:12px;}.gim-pricing-page .plan-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}.gim-pricing-page .plan-name{margin:0;font-size:20px;}.gim-pricing-page .plan-price{color:var(--home-accent);font-weight:800;}.gim-pricing-page .plan-points{display:grid;gap:8px;margin:0;padding-inline-start:18px;color:var(--home-muted);line-height:1.7;}.gim-pricing-page .pricing-faq{margin-block:32px 12px;}.gim-pricing-page .faq-grid{gap:12px;}.gim-pricing-page .faq-item h3{margin-block:0 6px;font-size:16px;}.gim-pricing-page .faq-item p{margin:0;color:var(--home-muted);line-height:1.8;}.gim-pricing-page .pricing-cta{margin-block-start:26px;text-align:center;}.gim-pricing-page .cta-actions{display:inline-flex;justify-content:center;gap:10px;flex-wrap:wrap;}

@media (max-width:960px){
  .home-topbar{grid-template-columns:1fr;text-align:center;}.home-nav,.home-actions{justify-content:center;}.home-hero{padding-block-start:36px;}
  .home-cta,.home-assurance,.home-final-cta{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .home-topbar{padding-block:12px;padding-inline:16px;}.home-nav{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;white-space:nowrap;}.home-hero{gap:24px;padding:28px 16px 20px;}.home-page .hero-ctas{inline-size:100%;}.home-page .hero-ctas .btn{flex:1 1 150px;}.home-page .footer-bottom{flex-direction:column;}
  .home-personas,.home-features,.home-walkthrough,.home-diff,.home-cta{padding-block:36px;padding-inline:16px;}
  .home-features .card-grid{grid-template-columns:1fr;}
  .home-workflow-map__list li{grid-template-columns:1fr;gap:4px;}
  .home-assurance,.home-final-cta{margin-inline:16px;padding:20px;}
}

/* Canonical shell/header/main drawer contract.
   Foundation values and the layer registry are owned by gim-design-system.css.
   This file owns only shell geometry and responsive composition. */

.gim-shell-hamburger,
#gimSidebarToggle{
  position:relative;
  inline-size:var(--gim-header-control-size);
  block-size:var(--gim-header-control-size);
  min-inline-size:var(--gim-header-control-size);
  min-block-size:var(--gim-header-control-size);
  padding:0;
  font-size:0;
  line-height:0;
  justify-content:center;
  align-items:center;
  overflow:hidden;
}
/* Persistent desktop navigation does not need a main drawer toggle. */
#gimSidebarToggle{display:none;}

@media (max-width:1200px){
  #gimSidebarToggle{display:inline-flex;}
}

.gim-shell-hamburger::before,
#gimSidebarToggle::before,
.gim-shell-hamburger::after,
#gimSidebarToggle::after{
  content:none;
  display:none;
}

#gcm-app .gim-notification-toggle{
  inline-size:var(--gim-notification-btn-size);
  block-size:var(--gim-notification-btn-size);
  min-inline-size:var(--gim-notification-btn-size);
  min-block-size:var(--gim-notification-btn-size);
  max-inline-size:var(--gim-notification-btn-size);
  max-block-size:var(--gim-notification-btn-size);
  padding:0;
  font-size:var(--gim-notification-icon-size);
  line-height:1;
}
#gcm-app .gim-notification-toggle :where(svg,.ico){
  inline-size:var(--gim-notification-icon-size);
  block-size:var(--gim-notification-icon-size);
  font-size:var(--gim-notification-icon-size);
}

@media (max-width:1200px){
  #gcm-app.gim-app-shell{
    display:block;
    inline-size:100%;
    max-inline-size:100%;
    overflow-x:hidden;
  }
  #gcm-app .gim-main,
  #gcm-app .gim-app-main{
    inline-size:100%;
    max-inline-size:100%;
    min-inline-size:0;
    margin:0;
  }
  #gcm-app .gim-sidebar-backdrop{
    position:fixed;
    inset:0;
    z-index:var(--gim-layer-backdrop);
    background:rgba(0,0,0,.42);
  }
  #gcm-app .gim-sidebar-backdrop[hidden]{display:none !important;}
  #gcm-app :where(.gim-ui-main-sidebar,.gim-app-sidebar#gimSidebar,.gim-sidebar#gimSidebar){
    position:fixed;
    inset-block:0;
    inset-inline-start:0;
    inset-inline-end:auto;
    inline-size:var(--gim-drawer-width-main);
    max-inline-size:var(--gim-drawer-width-main);
    block-size:100dvh;
    max-block-size:100dvh;
    padding:16px 12px;
    margin:0;
    transform:translateX(110%);
    transition:transform var(--gim-transition,.18s ease);
    z-index:var(--gim-layer-drawer);
    overflow-y:auto;
    overflow-x:hidden;
    box-shadow:var(--gim-shadow-lg,0 18px 50px rgba(15,23,42,.18));
  }
  #gcm-app :where(.gim-ui-main-sidebar,.gim-app-sidebar#gimSidebar,.gim-sidebar#gimSidebar).open{transform:translateX(0);}

  html.gim-main-drawer-open,
  body.gim-main-drawer-open{overflow:hidden;}

}

/* Sprint UI Consolidation 1 — app-shell/header/menu hardening.
   Canonical owner: theme layout.css. Scoped to #gcm-app and panel context only. */
#gcm-app :where(.gim-app-sidebar,.gim-sidebar,.gim-ui-main-sidebar){
  width:var(--gim-sidebar-width) !important;
  max-width:var(--gim-sidebar-width) !important;
  flex-basis:var(--gim-sidebar-width) !important;
  background:var(--gim-surface) !important;
  color:var(--gim-text-primary) !important;
}

@media (min-width:1201px){
  #gcm-app :where(.gim-app-sidebar,.gim-sidebar,.gim-ui-main-sidebar).mini{
    width:var(--gim-sidebar-mini-width) !important;
    max-width:var(--gim-sidebar-mini-width) !important;
    flex-basis:var(--gim-sidebar-mini-width) !important;
    padding-inline:8px !important;
    overflow:visible;
  }
  #gcm-app .gim-sidebar.mini .gim-nav-item{
    position:relative;
  }
  #gcm-app .gim-sidebar.mini .gim-nav-item[data-ui-tooltip]:hover::after,
  #gcm-app .gim-sidebar.mini .gim-nav-item[data-ui-tooltip]:focus-visible::after{
    content:attr(data-ui-tooltip);
    position:absolute;
    inset-block-start:50%;
    inset-inline-start:calc(100% + 8px);
    z-index:var(--gim-layer-tooltip);
    inline-size:max-content;
    max-inline-size:220px;
    padding:7px 10px;
    border:1px solid var(--gim-border);
    border-radius:var(--gim-radius-sm);
    background:var(--gim-surface);
    color:var(--gim-text-primary);
    box-shadow:var(--gim-shadow-md);
    font-size:var(--gim-font-xs);
    line-height:1.6;
    white-space:normal;
    transform:translateY(-50%);
  }
}

#gcm-app :where(.gim-brand){
  min-height:54px;
  padding:8px 8px 10px;
}

#gcm-app :where(.gim-brand-title){font-size:var(--gim-font-sm);}
#gcm-app :where(.gim-brand-sub){font-size:var(--gim-font-xs);}

#gcm-app .gim-shell-theme-controls{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}

#gcm-app :where(.gim-shell-theme-toggle,.gim-shell-accent-toggle){
  inline-size:40px;
  block-size:40px;
  min-inline-size:40px;
  min-block-size:40px;
  padding:0;
}

.gim-accent-popover{
  position:fixed;
  z-index:var(--gim-layer-accent-popover);
  direction:rtl;
  font-family:var(--gim-font-base);
}
.gim-accent-popover[hidden]{display:none !important;}
.gim-accent-popover__panel{
  width:100%;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-lg);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  box-shadow:var(--gim-shadow-lg);
  padding:14px;
}
.gim-accent-popover__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.gim-accent-popover__title{font-weight:var(--gim-font-weight-semibold);}
.gim-accent-popover__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.gim-accent-chip{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-md);
  background:var(--gim-surface-2);
  color:var(--gim-text-primary);
  cursor:pointer;
  padding:8px 10px;
  font:inherit;
}
.gim-accent-chip:hover{
  border-color:color-mix(in srgb,var(--gim-accent) 45%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-accent) 10%,var(--gim-surface));
}
.gim-accent-chip .dot{
  width:16px;
  height:16px;
  border-radius:999px;
  border:1px solid var(--gim-border);
  background:var(--gim-accent);
}
.gim-accent-chip .dot.gim-accent-blue{background:#3b6fdc;}
.gim-accent-chip .dot.gim-accent-green{background:#2fa06a;}
.gim-accent-chip .dot.gim-accent-red{background:#d45a5a;}
.gim-accent-chip .dot.gim-accent-orange{background:#d28a3b;}
.gim-accent-chip .dot.gim-accent-purple{background:#6d5bd0;}
.gim-accent-popover__foot{margin-top:12px;font-size:var(--gim-font-xs);}

@media (max-width:1200px){
  #gcm-app.gim-app-shell{
    --gim-drawer-width-main:min(82vw,var(--gim-sidebar-width));
  }
  #gcm-app .gim-shell-theme-controls{display:none !important;}
  #gcm-app :where(.gim-ui-main-sidebar,.gim-app-sidebar#gimSidebar,.gim-sidebar#gimSidebar){
    inline-size:var(--gim-drawer-width-main) !important;
    max-inline-size:var(--gim-drawer-width-main) !important;
    background:var(--gim-surface) !important;
  }
}


#gcm-app .gim-ui-subnav-toggle[hidden]{display:none;}

/* ==========================================================================
   R3 — canonical contextual navigation layout.
   Theme is the only presentation owner for Accounting/Reports local navigation.
   Item anatomy is shared with the main sidebar in components.css.
   ========================================================================== */
#gcm-app :where(.gcm-reports-shell,.gcm-acc-shell,.gcm-module-shell){
  min-inline-size:0;
  inline-size:100%;
  max-inline-size:100%;
  direction:rtl;
}

@media (min-width:1201px){
  /* Contextual navigation is the first RTL column of the workspace.
     Its parent content padding must not create a second gutter between
     the main sidebar and the contextual rail. */
  #gcm-app :where(.gim-content,.gim-app-content):has(.gcm-reports-shell,.gcm-acc-shell){
    padding-inline-start:0;
  }

  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell){
    display:grid;
    grid-template-columns:var(--gim-sidebar-width) minmax(0,1fr);
    grid-template-rows:auto;
    column-gap:var(--gim-space-3);
    row-gap:0;
    align-items:start;
  }

  /* The canonical shell also contains toggle/backdrop controls. They are
     interaction controls, not layout tracks, and must never auto-place in
     the desktop grid. */
  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell) > :where(.gim-ui-subnav-toggle,.gim-ui-subnav-backdrop){
    display:none;
  }

  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell) > :where(.gcm-reports-sidebar,.gcm-acc-side,.gim-ui-subnav-rail){
    grid-column:1;
    grid-row:1;
    min-inline-size:0;
    inline-size:var(--gim-sidebar-width);
    max-inline-size:var(--gim-sidebar-width);
    align-self:stretch;
    background:color-mix(in srgb,var(--gim-accent) 7%,var(--gim-surface));
    border:0;
  }

  #gcm-app :where(.gcm-reports-sidebar__inner,.gcm-acc-sidebar,.gim-ui-subnav-sidebar){
    position:sticky;
    inset-block-start:0;
    display:block;
    min-inline-size:0;
    direction:rtl;
    text-align:start;
    padding:var(--gim-space-3);
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell) > :where(.gcm-module-content,.gcm-reports-content,.gcm-acc-main){
    grid-column:2;
    grid-row:1;
    min-inline-size:0;
    inline-size:100%;
    max-inline-size:100%;
  }
}

@media (max-width:1200px){
  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell){
    display:block;
    position:relative;
    min-inline-size:0;
  }

  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell) > :where(.gcm-reports-sidebar,.gcm-acc-side,.gim-ui-subnav-rail){
    position:fixed;
    inset-block-start:calc(var(--gim-panel-site-visible-height) + var(--gim-site-topbar-admin-offset));
    inset-block-end:0;
    inset-inline-end:0;
    inset-inline-start:auto;
    inline-size:var(--gim-drawer-width-main);
    max-inline-size:var(--gim-drawer-width-main);
    block-size:auto;
    max-block-size:none;
    padding:16px 12px;
    margin:0;
    transform:translateX(-110%);
    transition:transform var(--gim-transition,.18s ease);
    z-index:var(--gim-layer-drawer);
    overflow-y:auto;
    overflow-x:hidden;
    background:color-mix(in srgb,var(--gim-accent) 7%,var(--gim-surface));
    border-inline-start:1px solid color-mix(in srgb,var(--gim-accent) 22%,var(--gim-border));
    border-inline-end:0;
    box-shadow:var(--gim-shadow-lg,0 18px 50px rgba(15,23,42,.18));
    will-change:transform;
  }

  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell).is-subnav-open > :where(.gcm-reports-sidebar,.gcm-acc-side,.gim-ui-subnav-rail){
    transform:translateX(0);
  }

  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell) .gim-ui-subnav-backdrop{
    display:none;
    position:fixed;
    inset-inline:0;
    inset-block-start:calc(var(--gim-panel-site-visible-height) + var(--gim-site-topbar-admin-offset));
    inset-block-end:0;
    background:var(--gim-color-overlay);
    z-index:var(--gim-layer-backdrop);
  }

  #gcm-app :where(.gcm-reports-shell,.gcm-acc-shell).is-subnav-open .gim-ui-subnav-backdrop{
    display:block;
  }

  #gcm-app :where(.gcm-reports-sidebar__inner,.gcm-acc-sidebar,.gim-ui-subnav-sidebar){
    position:static;
    display:block;
    min-inline-size:0;
    inline-size:100%;
    max-inline-size:100%;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  :is(.gim-panel-frame-header,.gim-mobile-subnav-slot) > :where(.gim-reports-topbar-toggle,.gim-acc-topbar-toggle){
    display:inline-flex;
    align-items:center;
    justify-content:center;
    inline-size:var(--gim-touch-target-min);
    block-size:var(--gim-touch-target-min);
    min-inline-size:var(--gim-touch-target-min);
    min-block-size:var(--gim-touch-target-min);
    padding:0;
    border:1px solid var(--gim-border);
    border-radius:var(--gim-radius-control);
    background:var(--gim-surface);
    color:var(--gim-text-primary);
  }
}

html.gim-subnav-drawer-open,
body.gim-subnav-drawer-open{overflow:hidden;}

/* ==========================================================================
   Canonical adaptive unified header
   Both global-site and panel-operational layers live in one visual row.
   ========================================================================== */
:root{
  --gim-site-topbar-height:60px;
  --gim-unified-header-height:60px;
  --gim-app-topbar-height:0px;
  --gim-header-stack-height:var(--gim-unified-header-height);
  --gim-site-topbar-admin-offset:0px;
  --gim-panel-site-visible-height:var(--gim-unified-header-height);
  --gim-panel-app-visible-height:0px;
  --gim-header-sync-duration:.22s;
  --gim-header-sync-ease:cubic-bezier(.2,.7,.2,1);
}
body.admin-bar{--gim-site-topbar-admin-offset:32px;}
body.gim-panel-context.gim-header-stack-collapsed{--gim-panel-site-visible-height:0px;}

.gim-icon{
  inline-size:20px;
  block-size:20px;
  display:block;
  flex:0 0 auto;
}
.gim-site-topbar{
  position:sticky;
  inset-block-start:var(--gim-site-topbar-admin-offset,0px);
  z-index:calc(var(--gim-layer-header,900) + 120);
  min-block-size:var(--gim-site-topbar-height);
  border-block-end:1px solid var(--gim-border,rgba(148,163,184,.25));
  background:var(--gim-surface,#fff);
  color:var(--gim-text-primary,#0f172a);
  box-shadow:none;
  backdrop-filter:none;
  transform:translateY(0);
  transition:transform var(--gim-header-sync-duration) var(--gim-header-sync-ease),box-shadow var(--gim-header-sync-duration) var(--gim-header-sync-ease),background var(--gim-header-sync-duration) var(--gim-header-sync-ease);
  direction:rtl;
}
.gim-site-topbar__inner{
  inline-size:min(1600px,calc(100% - 20px));
  min-block-size:var(--gim-site-topbar-height);
  margin-inline:auto;
  padding:5px 0;
  display:flex;
  align-items:center;
  gap:var(--gim-space-2);
  flex-wrap:nowrap;
}
body.gim-panel-context .gim-site-topbar__inner{
  inline-size:100%;
  padding-inline:var(--gim-space-3);
}
.gim-header-site-layer,
.gim-header-app-layer,
.gim-site-actions{
  display:flex;
  align-items:center;
  min-inline-size:0;
}
.gim-header-site-layer{
  flex:1 1 auto;
  gap:var(--gim-space-2);
}
.gim-header-app-layer{
  flex:1 1 520px;
  justify-content:flex-start;
  gap:var(--gim-space-2);
  padding-inline:var(--gim-space-3);
  border-inline-start:1px solid var(--gim-border,rgba(148,163,184,.25));
}
.gim-site-actions{
  flex:0 0 auto;
  justify-content:flex-end;
  gap:var(--gim-space-1);
}
.gim-site-brand{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-inline-size:max-content;
  font-weight:700;
}
.gim-site-brand__mark{
  inline-size:34px;
  block-size:34px;
  display:inline-grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--gim-brand-blue-500,#1267D8) 34%,var(--gim-border,rgba(148,163,184,.25)));
  border-radius:11px;
  background:var(--gim-gradient-brand);
  box-shadow:var(--gim-shadow-sm,0 6px 16px rgba(15,23,42,.08));
}
.gim-site-brand__text{letter-spacing:.02em;}
.gim-site-brand__copy{display:grid;gap:1px;line-height:1.15;}
.gim-site-brand__descriptor{color:var(--gim-text-secondary);font-size:10px;font-weight:600;white-space:nowrap;}
.gim-site-brand--logo .custom-logo-link{display:inline-flex;align-items:center;}
.gim-site-brand--logo .custom-logo{display:block;inline-size:auto;max-inline-size:148px;block-size:36px;object-fit:contain;}

.gim-site-navigation-wrap{
  position:relative;
  display:flex;
  align-items:center;
  min-inline-size:0;
  flex:1 1 auto;
}
.gim-site-nav{
  min-inline-size:0;
  flex:1 1 auto;
  display:flex;
}
.gim-site-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:nowrap;
}
.gim-site-menu li{margin:0;padding:0;}
.gim-site-menu a{
  display:inline-flex;
  align-items:center;
  min-block-size:40px;
  padding:5px 9px;
  border-radius:var(--gim-radius-sm,10px);
  color:var(--gim-text-secondary,#64748b);
  font-size:13px;
  line-height:1.4;
  white-space:nowrap;
}
.gim-site-menu a:hover,
.gim-site-menu a:focus-visible{
  background:color-mix(in srgb,var(--gim-accent,#3b6fdc) 9%,transparent);
  color:var(--gim-text-primary,#0f172a);
  outline:none;
}
.gim-site-nav-toggle{display:none!important;}
.gim-site-menu--context{padding-inline-start:0;border-inline-start:1px solid var(--gim-border);}
.gim-site-register-cta{white-space:nowrap;}

.gim-site-footer{border-block-start:1px solid var(--gim-border);background:var(--gim-surface);color:var(--gim-text-primary);}
.gim-site-footer__inner{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(150px,.7fr));gap:32px;max-inline-size:1180px;margin-inline:auto;padding:36px 20px 28px;}
.gim-site-footer__brand{display:grid;gap:14px;align-content:start;max-inline-size:430px;}
.gim-site-footer__brand .gim-site-brand{inline-size:max-content;}
.gim-site-footer__brand p{margin:0;color:var(--gim-text-secondary);line-height:1.9;}
.gim-site-footer__nav{display:grid;align-content:start;gap:10px;}
.gim-site-footer__nav strong{margin-block-end:3px;font-size:var(--gim-font-sm);}
.gim-site-footer__nav a{color:var(--gim-text-secondary);font-size:var(--gim-font-sm);}
.gim-site-footer__nav a:hover,.gim-site-footer__nav a:focus-visible{color:var(--gim-accent);}
.gim-site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;max-inline-size:1180px;margin-inline:auto;padding:16px 20px;border-block-start:1px solid var(--gim-border);color:var(--gim-text-secondary);font-size:var(--gim-font-xs);}
@media (max-width:768px){
  .gim-site-brand__descriptor{display:none;}
  .gim-site-menu--context{border-inline-start:0;}
  .gim-site-footer__inner{grid-template-columns:1fr 1fr;gap:24px;}
  .gim-site-footer__brand{grid-column:1 / -1;}
}
@media (max-width:430px){
  .gim-site-register-cta{padding-inline:10px!important;font-size:12px;}
  .gim-site-footer__inner{grid-template-columns:1fr;padding-block:28px 22px;}
  .gim-site-footer__brand{grid-column:auto;}
  .gim-site-footer__bottom{align-items:flex-start;flex-direction:column;}
}

.gim-header-app-layer .gim-shell-hamburger{
  flex:0 0 auto;
}
.gim-page-context{
  min-inline-size:0;
  max-inline-size:280px;
}
.gim-page-title{
  margin:0;
  color:var(--gim-text-primary);
  font-size:17px;
  font-weight:var(--gim-font-weight-semibold);
  line-height:1.4;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gim-club-field{
  position:relative;
  min-inline-size:170px;
  max-inline-size:250px;
  flex:1 1 220px;
}
.gim-club-field__icon{
  position:absolute;
  inset-inline-start:11px;
  inset-block-start:50%;
  z-index:1;
  display:grid;
  place-items:center;
  color:var(--gim-text-secondary);
  pointer-events:none;
  transform:translateY(-50%);
}
.gim-club-field__icon .gim-icon{
  inline-size:18px;
  block-size:18px;
}
.gim-club-select{
  inline-size:100%;
  min-block-size:42px;
  max-inline-size:none;
  padding-block:7px;
  padding-inline-start:36px;
  padding-inline-end:10px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-md);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  font:inherit;
}
.gim-club-select:hover{border-color:color-mix(in srgb,var(--gim-accent) 36%,var(--gim-border));}
.gim-club-select:focus-visible{outline:2px solid color-mix(in srgb,var(--gim-accent) 55%,transparent);outline-offset:2px;}

.gim-site-actions .gim-btn{
  min-block-size:42px;
}
.gim-site-actions .gim-btn--icon,
.gim-header-app-layer .gim-btn--icon{
  inline-size:42px;
  block-size:42px;
  min-inline-size:42px;
  min-block-size:42px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.gim-userchip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-inline-size:210px;
  min-block-size:42px;
  padding:4px 8px;
  border:1px solid var(--gim-border,rgba(148,163,184,.25));
  border-radius:999px;
  background:var(--gim-surface-2,#f8fafc);
  color:var(--gim-text-secondary,#64748b);
  font-size:12px;
}
.gim-userchip__avatar{
  inline-size:30px;
  block-size:30px;
  display:grid;
  place-items:center;
  flex:0 0 30px;
  border-radius:999px;
  background:color-mix(in srgb,var(--gim-accent) 12%,var(--gim-surface));
  color:var(--gim-accent);
}
.gim-userchip__avatar .gim-icon{inline-size:17px;block-size:17px;}
.gim-userchip__copy{
  display:grid;
  min-inline-size:0;
  line-height:1.25;
}
.gim-userchip__name,
.gim-userchip__role{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gim-userchip__name{color:var(--gim-text-primary);font-weight:var(--gim-font-weight-medium);}
.gim-userchip__role{display:block;color:var(--gim-text-secondary);font-size:10px;}
.gim-user-menu{position:relative;display:inline-flex;align-items:center;min-inline-size:0;}
.gim-user-menu__toggle{cursor:pointer;font:inherit;}
.gim-user-menu__chevron{display:grid;place-items:center;flex:0 0 auto;transition:transform var(--gim-transition,.18s ease);}
.gim-user-menu__chevron .gim-icon{inline-size:15px;block-size:15px;}
.gim-user-menu__panel{
  position:absolute;
  inset-block-start:calc(100% + var(--gim-space-2));
  inset-inline-end:0;
  z-index:var(--gim-layer-popover);
  display:grid;
  gap:2px;
  inline-size:max-content;
  min-inline-size:184px;
  max-inline-size:min(240px,calc(100vw - 24px));
  padding:var(--gim-space-1);
  border:1px solid var(--gim-border,rgba(148,163,184,.25));
  border-radius:var(--gim-radius-control);
  background:var(--gim-surface,#fff);
  box-shadow:var(--gim-shadow-raised);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity var(--gim-transition,.18s ease),transform var(--gim-transition,.18s ease);
}
.gim-user-menu.is-open .gim-user-menu__panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.gim-user-menu.is-open .gim-user-menu__chevron{transform:rotate(180deg);}
.gim-user-menu__item{
  display:flex;
  align-items:center;
  gap:var(--gim-space-2);
  min-block-size:40px;
  padding:6px 9px;
  border-radius:calc(var(--gim-radius-control) - 2px);
  color:var(--gim-text-primary,#0f172a);
  font-size:var(--gim-font-sm);
  line-height:var(--gim-line-tight);
  white-space:nowrap;
}
.gim-user-menu__item .gim-icon{inline-size:18px;block-size:18px;}
.gim-user-menu__item:hover,
.gim-user-menu__item:focus-visible{
  background:color-mix(in srgb,var(--gim-accent,#3b6fdc) 9%,transparent);
  outline:none;
}
.gim-user-menu__item--danger{color:var(--gim-danger,#dc2626);}

.gim-user-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;}
.gim-user-notifications .gim-notification-toggle{position:relative;}
.gim-notification-badge{
  position:absolute;
  inset-block-start:-4px;
  inset-inline-end:-4px;
  display:inline-grid;
  place-items:center;
  min-inline-size:18px;
  block-size:18px;
  padding-inline:4px;
  border-radius:999px;
  background:var(--gim-danger,#dc2626);
  color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:1;
}
.gim-notification-panel{
  position:absolute;
  inset-block-start:calc(100% + 8px);
  inset-inline-end:0;
  z-index:var(--gim-layer-popover);
  inline-size:min(390px,calc(100vw - 24px));
  max-block-size:min(620px,calc(100dvh - var(--gim-site-topbar-height,64px) - var(--gim-site-topbar-admin-offset,0px) - 24px));
  overflow:auto;
  padding:10px;
  border:1px solid var(--gim-border,rgba(148,163,184,.25));
  border-radius:var(--gim-radius-lg,16px);
  background:var(--gim-surface,#fff);
  box-shadow:var(--gim-shadow-lg,0 18px 50px rgba(15,23,42,.18));
  color:var(--gim-text-primary,#0f172a);
  direction:rtl;
}
.gim-notification-panel[hidden]{display:none!important;}
.gim-notification-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:2px 2px 10px;border-block-end:1px solid var(--gim-border);}
.gim-notification-panel__actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;}
.gim-notification-panel__actions .gim-btn{min-block-size:40px;padding:4px 7px;font-size:11px;}
.gim-notification-list{display:grid;gap:8px;padding-block-start:8px;}
.gim-notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-md);background:var(--gim-surface-2);}
.gim-notification-item p{margin:4px 0;color:var(--gim-text-secondary);font-size:12px;line-height:1.7;}
.gim-notification-item small{color:var(--gim-text-secondary);font-size:11px;}
.gim-notification-item__actions{display:flex;align-items:flex-start;gap:5px;flex-wrap:wrap;}
.gim-notification-panel:focus-visible{outline:2px solid var(--gim-accent);outline-offset:3px;}
.gim-mobile-subnav-slot{display:none;align-items:center;justify-content:center;flex:0 0 auto;min-inline-size:0;}

.gim-header-stack--panel{
  position:sticky;
  inset-block-start:var(--gim-site-topbar-admin-offset,0px);
  z-index:calc(var(--gim-layer-header,900) + 120);
  block-size:var(--gim-panel-site-visible-height);
  min-block-size:0;
  overflow:visible;
  transition:block-size var(--gim-header-sync-duration) var(--gim-header-sync-ease);
}
.gim-header-stack--panel > .gim-site-topbar{
  position:absolute;
  inset-block-start:0;
  inset-inline:0;
  inline-size:100%;
  min-block-size:var(--gim-unified-header-height);
}
body.gim-panel-context.gim-header-stack-collapsed .gim-header-stack--panel > .gim-site-topbar{
  transform:translateY(calc(-100% - 2px));
  box-shadow:none;
}
body:not(.gim-panel-context).gim-site-topbar-collapsed .gim-site-topbar{
  transform:translateY(calc(-100% - 2px));
  box-shadow:none;
}

body.gim-panel-context #gcm-app.gim-app-shell{
  min-height:calc(100vh - var(--gim-panel-site-visible-height) - var(--gim-site-topbar-admin-offset));
  margin-block-start:0!important;
  padding-block-start:0!important;
}
body.gim-panel-context #gcm-app :where(.gim-main,.gim-app-main,.gim-content,.gim-app-content){margin-block-start:0;}
.gim-shell-status{
  padding:8px 18px 0;
  background:var(--gim-bg);
}
.gim-shell-status[hidden]{display:none;}
.gim-shell-status .gcm-state{margin:0;min-block-size:0;}
.gim-shell-status .gcm-state--compact{padding:8px 12px;}

@media (min-width:1201px){
  body.gim-panel-context #gcm-app :where(.gim-app-sidebar,.gim-sidebar){
    top:calc(var(--gim-panel-site-visible-height) + var(--gim-site-topbar-admin-offset));
    height:calc(100vh - var(--gim-panel-site-visible-height) - var(--gim-site-topbar-admin-offset));
    margin-block-start:0;
    padding-block-start:14px;
    transition:top var(--gim-header-sync-duration) var(--gim-header-sync-ease),height var(--gim-header-sync-duration) var(--gim-header-sync-ease),padding-block-start var(--gim-header-sync-duration) var(--gim-header-sync-ease);
  }
}

@media (max-width:1280px){
  .gim-site-topbar__inner{gap:8px;}
  .gim-header-site-layer{gap:8px;}
  .gim-header-app-layer{flex-basis:470px;padding-inline:8px;}
  .gim-site-menu a{padding-inline:7px;font-size:12px;}
  .gim-page-context{max-inline-size:150px;}
  .gim-userchip{max-inline-size:170px;}
}

@media (max-width:1200px){
  :root{
    --gim-site-topbar-height:60px;
    --gim-unified-header-height:60px;
    --gim-header-stack-height:60px;
    --gim-panel-site-visible-height:60px;
  }
  body.gim-panel-context.gim-header-stack-collapsed{--gim-panel-site-visible-height:0px;}
  body.gim-panel-context #gcm-app.gim-app-shell{isolation:auto;}
  .gim-site-topbar__inner{min-block-size:60px;}
  .gim-header-app-layer{flex:1 1 auto;border-inline-start:0;}
  .gim-page-context{max-inline-size:190px;}
  .gim-page-title{font-size:15px;}
  .gim-club-field{min-inline-size:140px;max-inline-size:220px;}
  .gim-site-actions .gim-btn--icon,
  .gim-header-app-layer .gim-btn--icon{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px;}
  .gim-mobile-subnav-slot{display:inline-flex;}
  .gim-mobile-subnav-slot:empty{display:none;}
  body.gim-panel-context #gcm-app .gim-content,
  body.gim-panel-context #gcm-app .gim-app-content{
    padding-block-start:8px!important;
    padding-block-end:calc(76px + env(safe-area-inset-bottom,0px))!important;
  }
  body.gim-panel-context #gcm-app .gim-bottomnav:not([hidden]),
  body.gim-panel-context #gcm-app .gim-app-mobile-nav:not([hidden]){
    position:fixed!important;
    inset-inline:0!important;
    inset-block-end:0!important;
    z-index:calc(var(--gim-layer-header,900) + 60)!important;
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(54px,1fr))!important;
    align-items:stretch!important;
    gap:3px!important;
    min-block-size:58px!important;
    padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))!important;
    border-block-start:1px solid var(--gim-border)!important;
    background:var(--gim-surface,#fff)!important;
    backdrop-filter:none!important;
    box-shadow:0 -4px 16px rgba(15,23,42,.08)!important;
    direction:rtl!important;
  }
  body.gim-panel-context #gcm-app .gim-bottomnav-item{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    min-block-size:44px!important;
    padding:4px 3px!important;
    border-radius:12px!important;
    font-size:11px!important;
    line-height:1.25!important;
    color:var(--gim-text-secondary)!important;
    background:transparent!important;
    border:1px solid transparent!important;
  }
  body.gim-panel-context #gcm-app .gim-bottomnav-item:hover,
  body.gim-panel-context #gcm-app .gim-bottomnav-item.active,
  body.gim-panel-context #gcm-app .gim-bottomnav-item[aria-current="page"]{
    color:var(--gim-text-primary)!important;
    background:color-mix(in srgb,var(--gim-accent) 10%,transparent)!important;
    border-color:color-mix(in srgb,var(--gim-accent) 28%,var(--gim-border))!important;
  }
  body.gim-panel-context #gcm-app .gim-bottomnav-icon{inline-size:18px!important;block-size:18px!important;display:grid!important;place-items:center!important;font-size:17px!important;}
  body.gim-panel-context #gcm-app .gim-bottomnav-item :where(.gim-nav-label,.nav-label){display:block!important;max-inline-size:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
}


@media (max-width:1200px){
  body.gim-panel-context .gim-site-topbar__inner{padding-inline:var(--gim-space-2);}
  body.gim-panel-context .gim-header-site-layer{flex:0 0 auto;}
  body.gim-panel-context .gim-header-app-layer{
    flex:1 1 auto;
    min-inline-size:0;
    padding-inline:var(--gim-space-2);
    border-inline-start:0;
  }
  body.gim-panel-context .gim-site-actions{min-inline-size:0;}
}
@media (max-width:640px){
  :root{
    --gim-site-topbar-height:56px;
    --gim-unified-header-height:56px;
  }
  body.gim-panel-context .gim-site-topbar{
    min-block-size:var(--gim-site-topbar-height);
    border-block-end:1px solid var(--gim-border);
    box-shadow:none;
  }
  body.gim-panel-context .gim-site-topbar__inner{
    min-block-size:var(--gim-site-topbar-height);
    gap:var(--gim-space-1);
    padding-inline:var(--gim-space-2);
  }
  body.gim-panel-context .gim-header-app-layer{gap:var(--gim-space-1);padding-inline:var(--gim-space-1);}
  body.gim-panel-context .gim-page-context{max-inline-size:min(42vw,180px);}
  body.gim-panel-context .gim-club-field{min-inline-size:0;max-inline-size:180px;flex:0 1 180px;}
}

@media (max-width:960px){
  .gim-site-nav-toggle{display:inline-flex!important;}
  .gim-site-navigation-wrap{flex:0 0 auto;}
  .gim-site-nav{
    position:absolute;
    inset-block-start:calc(100% + 10px);
    inset-inline-start:0;
    z-index:calc(var(--gim-layer-header,900) + 200);
    inline-size:min(320px,calc(100vw - 24px));
    display:block;
    padding:8px;
    border:1px solid var(--gim-border);
    border-radius:var(--gim-radius-lg);
    background:var(--gim-surface);
    box-shadow:var(--gim-shadow-lg);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity var(--gim-transition),transform var(--gim-transition);
  }
  .gim-site-navigation-wrap.is-open .gim-site-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
  .gim-site-menu{display:grid;gap:3px;}
  .gim-site-menu a{inline-size:100%;min-block-size:44px;padding:7px 10px;font-size:13px;}
  .gim-site-brand__text{display:none;}
  .gim-header-site-layer{flex:0 0 auto;}
  .gim-header-app-layer{flex:1 1 auto;justify-content:flex-start;border-inline-start:0;}
  .gim-userchip__copy{display:none;}
  .gim-userchip{padding:4px;max-inline-size:none;}
  .gim-user-menu__chevron{display:none;}
}

@media (max-width:782px){
  body.admin-bar{--gim-site-topbar-admin-offset:46px;}
  .gim-notification-panel{
    position:fixed;
    inset-block-start:calc(var(--gim-site-topbar-height,60px) + var(--gim-site-topbar-admin-offset,0px) + 6px);
    inset-inline:8px;
    inline-size:auto;
    max-inline-size:none;
    max-block-size:calc(100dvh - var(--gim-site-topbar-height,60px) - var(--gim-site-topbar-admin-offset,0px) - 18px);
  }
  .gim-notification-item{grid-template-columns:1fr;}
}

@media (max-width:720px){
  :root{
    --gim-site-topbar-height:56px;
    --gim-unified-header-height:56px;
    --gim-header-stack-height:56px;
    --gim-panel-site-visible-height:56px;
  }
  .gim-site-topbar__inner{min-block-size:56px;padding-inline:6px!important;gap:5px;}
  .gim-header-site-layer{gap:4px;}
  .gim-header-app-layer{gap:5px;padding-inline:0;border:0;}
  .gim-page-context{max-inline-size:150px;}
  .gim-page-title{font-size:15px;}
  .gim-club-field{min-inline-size:100px;max-inline-size:none;flex:1 1 auto;}
  .gim-club-select{min-block-size:42px;font-size:12px;}
  .gim-site-actions{gap:4px;}
  .gim-site-actions .gim-btn--icon,
  .gim-header-app-layer .gim-btn--icon{inline-size:42px;block-size:42px;min-inline-size:42px;min-block-size:42px;}
  #gimThemePicker{display:none;}
}

@media (max-width:560px){
  .gim-page-context{display:none;}
  .gim-site-brand{display:none;}
  .gim-header-site-layer{flex:0 0 auto;}
  .gim-header-app-layer{min-inline-size:0;}
  .gim-club-field{min-inline-size:82px;}
  .gim-site-actions #gimThemeToggle{display:none;}
  .gim-site-actions .gim-userchip{inline-size:44px;block-size:44px;min-block-size:44px;}
  .gim-userchip__avatar{inline-size:30px;block-size:30px;flex-basis:30px;}
  .gim-site-actions .gim-btn--icon,
  .gim-header-app-layer .gim-btn--icon{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px;}
}

@media (max-width:390px){
  .gim-site-topbar__inner{gap:3px;padding-inline:4px!important;}
  .gim-header-app-layer{gap:3px;}
  .gim-site-actions{gap:2px;}
  .gim-club-field__icon{display:none;}
  .gim-club-select{padding-inline:7px;min-inline-size:72px;}
  .gim-site-actions .gim-btn--icon,
  .gim-header-app-layer .gim-btn--icon{inline-size:44px;block-size:44px;min-inline-size:44px;min-block-size:44px;}
}

@media (prefers-reduced-motion:reduce){
  .gim-site-topbar,
  .gim-header-stack--panel,
  body.gim-panel-context #gcm-app :where(.gim-app-sidebar,.gim-sidebar),
  .gim-site-nav,
  .gim-user-menu__panel{transition:none!important;}
}


/* Sprint 9 — skip navigation, route-focus and diagnostic accessibility states. */
.gim-skip-link{
  position:fixed;
  inset-block-start:max(8px,env(safe-area-inset-top));
  inset-inline-start:12px;
  z-index:var(--gim-layer-toast,2147483003);
  display:inline-flex;
  align-items:center;
  min-block-size:44px;
  padding:8px 14px;
  border:2px solid var(--gim-accent);
  border-radius:var(--gim-radius-md);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  font-weight:var(--gim-font-weight-semibold);
  text-decoration:none;
  transform:translateY(calc(-100% - 24px));
  transition:transform var(--gim-motion-fast) var(--gim-motion-ease);
}
.gim-skip-link:focus-visible{transform:translateY(0);}
.gim-page-title[data-gim-route-focus]:focus-visible,
.gim-page-host[data-gim-skip-focus]:focus-visible{
  outline:2px solid var(--gim-accent);
  outline-offset:4px;
  border-radius:var(--gim-radius-sm);
}
[data-gim-a11y-issue="missing-accessible-name"]{
  --gim-a11y-diagnostic:1;
}



/* Release 1.0.13 — bounded unified header and device-specific sidebar controls.
   Canonical owner: theme shell. Header geometry is token-driven and must never
   derive its next height from its own rendered height. */
.gim-site-topbar{
  block-size:var(--gim-unified-header-height) !important;
  min-block-size:var(--gim-unified-header-height) !important;
  max-block-size:var(--gim-unified-header-height) !important;
  overflow:visible;
}
.gim-site-topbar__inner{
  block-size:100%;
  min-block-size:0 !important;
  max-block-size:100%;
  flex-wrap:nowrap;
  overflow:visible;
}
.gim-header-site-layer,
.gim-header-app-layer,
.gim-site-actions{
  min-block-size:0;
  max-block-size:100%;
  flex-wrap:nowrap;
}
.gim-header-stack--panel{
  block-size:var(--gim-panel-site-visible-height) !important;
  min-block-size:0 !important;
  max-block-size:var(--gim-unified-header-height);
}
.gim-header-stack--panel > .gim-site-topbar{
  block-size:var(--gim-unified-header-height) !important;
  max-block-size:var(--gim-unified-header-height) !important;
}
.gim-mobile-sidebar-toggle{
  display:none !important;
  order:-30;
  flex:0 0 auto;
}
#gcm-app .gim-sidebar-desktop-toggle{
  display:inline-flex;
  inline-size:40px;
  block-size:40px;
  min-inline-size:40px;
  min-block-size:40px;
  flex:0 0 40px;
  border-color:color-mix(in srgb,var(--gim-accent) 22%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-accent) 6%,var(--gim-surface));
}
#gcm-app .gim-sidebar-desktop-toggle:hover,
#gcm-app .gim-sidebar-desktop-toggle:focus-visible{
  border-color:color-mix(in srgb,var(--gim-accent) 45%,var(--gim-border));
  background:color-mix(in srgb,var(--gim-accent) 12%,var(--gim-surface));
}
#gcm-app .gim-sidebar.mini .gim-brand{
  justify-content:center;
  padding-inline:0;
}
#gcm-app .gim-sidebar.mini .gim-sidebar-desktop-toggle{
  margin-inline:auto;
}

@media (max-width:1200px){
  .gim-mobile-sidebar-toggle{
    display:inline-flex !important;
    align-self:center;
  }
  #gcm-app .gim-sidebar-desktop-toggle{
    display:none !important;
  }
  body.gim-panel-context #gcm-app .gim-sidebar-backdrop{
    inset-block-start:calc(var(--gim-panel-site-visible-height) + var(--gim-site-topbar-admin-offset));
    inset-block-end:0;
    inset-inline:0;
  }
  body.gim-panel-context #gcm-app :where(.gim-ui-main-sidebar,.gim-app-sidebar#gimSidebar,.gim-sidebar#gimSidebar){
    inset-block-start:calc(var(--gim-panel-site-visible-height) + var(--gim-site-topbar-admin-offset)) !important;
    inset-block-end:0 !important;
    block-size:auto !important;
    max-block-size:none !important;
  }
  #gcm-app #gimSidebar.mini .gim-brand-copy{
    display:block;
  }
  #gcm-app #gimSidebar.mini :where(.gim-nav-label,.gim-nav-group-title,.gim-sidebar-copyright,.gim-club-selector){
    display:initial;
  }
  #gcm-app #gimSidebar.mini .gim-nav{
    display:flex;
  }
  #gcm-app #gimSidebar.mini .gim-nav .gim-nav-item{
    justify-content:flex-start;
  }
}


/* Stable unified-header collapse: prevent scroll anchoring feedback loops. */
.gim-header-stack--panel{
  overflow-anchor:none;
  contain:layout style;
}
.gim-header-stack--panel > .gim-site-topbar{
  backface-visibility:hidden;
  will-change:transform;
}
@media (prefers-reduced-motion:reduce){
  .gim-header-stack--panel,
  .gim-header-stack--panel > .gim-site-topbar{
    transition-duration:.01ms !important;
  }
}

/* Phase 4A — canonical public marketing, editorial and utility surfaces. */
.gim-utility-header,.gim-register-intro,.gcm-blog-archive__intro{display:grid;gap:12px;}
.gim-utility-eyebrow,.gcm-blog-eyebrow{color:var(--gim-brand-blue-500);font-size:.84rem;font-weight:700;letter-spacing:.02em;}
.gim-login-page{display:grid;place-items:start center;min-block-size:calc(100dvh - var(--gim-header-stack-height,60px));padding:clamp(32px,7vw,80px) 16px;background:var(--gim-color-page);}
.gim-login-shell{inline-size:min(100%,480px);padding:clamp(24px,4vw,38px);border:1px solid var(--gim-border);border-block-start:4px solid var(--gim-accent);border-radius:var(--gim-radius-xl);background:var(--gim-surface);box-shadow:var(--gim-shadow-md,var(--gim-shadow-sm));}
.gim-login-shell .gim-utility-header{padding-block-end:24px;border-block-end:1px solid var(--gim-border);}
.gim-login-shell .gim-utility-header h1{margin:0;font-size:clamp(1.85rem,4vw,2.35rem);line-height:1.35;}
.gim-login-shell .gim-utility-header p{margin:0;color:var(--gim-text-secondary);line-height:1.9;}
.gim-login-shell form{display:grid;gap:18px;margin-block-start:24px;}
.gim-login-shell form p{display:grid;gap:7px;margin:0;}
.gim-login-shell form label{color:var(--gim-text-primary);font-weight:650;}
.gim-login-shell input:not([type="checkbox"]){box-sizing:border-box;inline-size:100%;min-block-size:48px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-md);background:var(--gim-surface);color:var(--gim-text-primary);}
.gim-login-shell input:not([type="checkbox"]):focus-visible{border-color:var(--gim-accent);outline:3px solid color-mix(in srgb,var(--gim-accent) 24%,transparent);outline-offset:1px;}
.gim-login-shell .login-remember{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;}
.gim-login-shell .login-remember input{inline-size:18px;block-size:18px;margin:0;accent-color:var(--gim-accent);}
.gim-login-shell .login-submit input{inline-size:100%;min-block-size:48px;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);font-weight:750;cursor:pointer;transition:background-color var(--gim-motion-fast),border-color var(--gim-motion-fast),transform var(--gim-motion-fast);}
.gim-login-shell .login-submit input:hover{border-color:var(--gim-button-primary-bg-hover,var(--gim-color-primary-hover));background:var(--gim-button-primary-bg-hover,var(--gim-color-primary-hover));}
.gim-login-shell .login-submit input:active{transform:translateY(1px);}

.gim-login-method-divider{display:flex;align-items:center;gap:12px;margin-block:24px 4px;color:var(--gim-text-secondary);font-size:.88rem;}
.gim-login-method-divider::before,.gim-login-method-divider::after{content:"";flex:1;block-size:1px;background:var(--gim-border);}
.gim-login-otp-section{margin-block-start:18px;padding-block-start:2px;}
.gim-login-otp-section h2{margin:0;font-size:1.12rem;line-height:1.55;}
.gim-login-otp-section>p{margin:6px 0 0;}
.gim-login-shell .gim-login-otp-form{gap:16px;margin-block-start:16px;}
.gim-login-otp-request,.gim-login-otp-verify{display:grid;gap:16px;}
.gim-login-otp-form .gcm-otp-channel-group{min-inline-size:0;margin:0;padding:14px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-md);}
.gim-login-otp-form .gcm-otp-channel-group legend{padding-inline:6px;font-weight:750;color:var(--gim-text-primary);}
.gim-login-otp-form .gcm-otp-channel-group .gim-muted{margin:0 0 10px;font-size:.86rem;line-height:1.75;}
.gim-login-otp-form .gcm-otp-channel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.gim-login-otp-form .gcm-otp-channel-option{display:flex;align-items:flex-start;gap:9px;min-inline-size:0;min-block-size:48px;padding:10px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-md);background:var(--gim-surface);cursor:pointer;}
.gim-login-otp-form .gcm-otp-channel-option input{flex:0 0 auto;inline-size:18px;block-size:18px;margin-block-start:2px;accent-color:var(--gim-accent);}
.gim-login-otp-form .gcm-otp-channel-option span{display:grid;gap:2px;min-inline-size:0;}
.gim-login-otp-form .gcm-otp-channel-option strong{font-size:.92rem;}
.gim-login-otp-form .gcm-otp-channel-option small{color:var(--gim-text-secondary);font-size:.78rem;line-height:1.55;}
.gim-login-otp-form .gcm-otp-channel-option:focus-within{border-color:var(--gim-accent);outline:3px solid color-mix(in srgb,var(--gim-accent) 20%,transparent);outline-offset:1px;}
.gim-login-otp-form .gcm-otp-channel-option.is-unavailable{opacity:.68;cursor:not-allowed;}
.gim-login-otp-form .login-submit button{inline-size:100%;min-block-size:48px;}
.gim-login-otp-form input[name="code"],#gcm-registration-form input[name="otp_code"]{inline-size:min(100%,14rem);min-inline-size:12rem;letter-spacing:.22em;text-align:center;}
.gim-login-otp-actions{display:flex;flex-wrap:wrap;gap:8px;}
.gim-login-otp-actions .button{flex:1 1 140px;min-block-size:44px;}
.gim-login-otp-status{min-block-size:1.7em;color:var(--gim-text-secondary);font-size:.88rem;line-height:1.7;}
.gim-login-otp-status.is-error{color:var(--gim-danger,var(--gim-color-danger));}
.gim-login-otp-form [aria-busy="true"]{cursor:progress;}
.gim-login-otp-form button:disabled{cursor:not-allowed;opacity:.62;}
@media (max-width:520px){
  .gim-login-page{padding-inline:12px;}
  .gim-login-shell{padding-inline:18px;}
  .gim-login-otp-form .gcm-otp-channel-options{grid-template-columns:1fr;}
  .gim-login-otp-actions{display:grid;grid-template-columns:1fr;}
}
.gim-utility-footnote{margin-block:22px 0;padding-block-start:18px;border-block-start:1px solid var(--gim-border);color:var(--gim-text-secondary);font-size:.92rem;line-height:1.8;}
.gim-utility-footnote a{font-weight:700;}

.pricing-card--empty{grid-column:1/-1;text-align:center;}
.plan-availability{margin-block:20px 0;padding-block-start:16px;border-block-start:1px solid var(--gim-border);color:var(--gim-text-secondary);font-size:.9rem;line-height:1.8;}

.gcm-blog-archive,.gcm-blog-single{padding-block:clamp(40px,6vw,76px);background:var(--gim-color-page);}
.gcm-blog-shell{inline-size:min(1120px,calc(100% - 32px));margin-inline:auto;}
.gcm-blog-shell--single{inline-size:min(820px,calc(100% - 32px));}
.gcm-blog-archive__header{display:grid;max-inline-size:760px;margin-block-end:clamp(38px,6vw,64px);padding-inline-start:clamp(16px,2vw,24px);border-inline-start:3px solid var(--gim-accent);}
.gcm-blog-archive__header h1,.gcm-blog-single h1{margin:0;color:var(--gim-text-primary);font-size:clamp(2.15rem,4.5vw,3.65rem);line-height:1.2;letter-spacing:-.025em;}
.gcm-blog-archive__header p{max-inline-size:680px;margin:0;color:var(--gim-text-secondary);font-size:1.04rem;line-height:1.95;}
.gcm-blog-discovery{display:grid;gap:22px;}
.gcm-blog-section-header{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-block-end:18px;border-block-end:1px solid var(--gim-border);}
.gcm-blog-section-header>div{display:grid;gap:8px;}
.gcm-blog-section-header h2{margin:0;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.4;}
.gcm-blog-section-header p{max-inline-size:520px;margin:0;color:var(--gim-text-secondary);line-height:1.85;}
.gcm-blog-cta,.gcm-blog-single-cta{padding:clamp(22px,4vw,34px);border:1px solid var(--gim-border);border-radius:var(--gim-radius-xl);background:var(--gim-surface-muted);}
.gcm-blog-cta{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-block-start:clamp(42px,7vw,72px);}
.gcm-blog-cta>div:first-child{display:grid;gap:10px;max-inline-size:680px;}
.gcm-blog-cta h2{margin:0;font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1.45;}
.gcm-blog-cta p,.gcm-blog-single-cta p{margin:0;color:var(--gim-text-secondary);line-height:1.85;}
.gcm-blog-cta-buttons{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:9px;}
.gcm-blog-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;}
.gcm-blog-card{min-inline-size:0;overflow:hidden;transition:transform var(--gim-motion-fast);}
.gcm-blog-card:hover{transform:translateY(-2px);}
.gcm-blog-card__media{flex:0 0 38%;min-block-size:220px;overflow:hidden;background:var(--gim-surface-muted);}
.gcm-blog-card__media img{display:block;inline-size:100%;block-size:100%;object-fit:cover;}
.gcm-blog-card__body{display:grid;align-content:start;gap:14px;min-inline-size:0;padding:clamp(22px,3vw,30px);}
.gcm-blog-card:only-child .gcm-blog-card__body{inline-size:100%;min-block-size:220px;}
.gcm-blog-card h2{margin:0;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.55;}
.gcm-blog-card h2 a{text-decoration:none;}
.gcm-blog-card p{margin:0;color:var(--gim-text-secondary);line-height:1.9;}
.gcm-blog-card__meta,.gcm-blog-post__meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--gim-text-secondary);font-size:.84rem;}
.gcm-blog-card__footer{margin-block-start:auto;padding-block-start:8px;}
.gcm-blog-card__footer a{display:inline-flex;align-items:center;min-block-size:44px;font-weight:700;}
.gcm-blog-pagination{margin-block-start:32px;}
.gcm-blog-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;}
.gcm-blog-pagination :where(a,span){display:grid;place-items:center;min-inline-size:44px;min-block-size:44px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-md);}
.gcm-blog-empty{padding:32px;border:1px dashed var(--gim-border);border-radius:var(--gim-radius-lg);text-align:center;}
.gcm-blog-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:clamp(30px,5vw,48px);color:var(--gim-text-secondary);font-size:.9rem;}
.gcm-blog-breadcrumbs span:last-child{overflow:hidden;max-inline-size:38ch;text-overflow:ellipsis;white-space:nowrap;}
.gim-blog-post>header{display:grid;gap:18px;padding-block-end:clamp(26px,4vw,38px);border-block-end:1px solid var(--gim-border);}
.gcm-blog-post__featured{overflow:hidden;margin:clamp(28px,5vw,44px) 0 0;border-radius:var(--gim-radius-xl);background:var(--gim-surface-muted);}
.gcm-blog-post__featured img{display:block;inline-size:100%;block-size:auto;}
.gcm-blog-content{margin-block-start:clamp(28px,5vw,44px);color:var(--gim-text-primary);font-size:clamp(1rem,1.4vw,1.08rem);line-height:2.15;}
.gcm-blog-content>*{max-inline-size:100%;}
.gcm-blog-content :where(p,ul,ol,blockquote,pre,table,figure){margin-block:0 1.45em;}
.gcm-blog-content :where(h2,h3,h4){margin-block:2em .75em;line-height:1.55;}
.gcm-blog-content :where(ul,ol){padding-inline-start:1.4em;}
.gcm-blog-content li+li{margin-block-start:.5em;}
.gcm-blog-content blockquote{margin-inline:0;padding:18px 22px;border-inline-start:4px solid var(--gim-accent);border-radius:var(--gim-radius-md);background:var(--gim-surface-muted);}
.gcm-blog-content :where(img,video,iframe){max-inline-size:100%;block-size:auto;border-radius:var(--gim-radius-lg);}
.gcm-blog-content table{display:block;overflow-x:auto;max-inline-size:100%;border-collapse:collapse;}
.gcm-blog-content :where(th,td){padding:10px 12px;border:1px solid var(--gim-border);text-align:start;}
.gcm-blog-content a{text-decoration-thickness:.08em;text-underline-offset:.18em;}
.gcm-blog-content :where(h2,h3,h4){color:var(--gim-text-primary);}
.gcm-blog-content :where(hr){margin-block:2.25em;border:0;border-block-start:1px solid var(--gim-border);}
.gcm-blog-content :where(figcaption){margin-block-start:10px;color:var(--gim-text-secondary);font-size:.86rem;line-height:1.8;text-align:center;}
.gim-blog-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-block-start:28px;padding-block-start:20px;border-block-start:1px solid var(--gim-border);}
.gcm-blog-single-cta{margin-block-start:clamp(36px,6vw,56px);}
.gcm-blog-single-cta h2{margin-block-start:0;}
.gcm-blog-single-cta-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block-start:18px;}
.gcm-related-clubs{display:grid;gap:18px;margin-block-start:clamp(38px,6vw,58px);padding-block-start:clamp(28px,4vw,38px);border-block-start:1px solid var(--gim-border);}
.gcm-related-clubs h2{margin:0;font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.5;}
.gcm-related-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.gcm-related-list article{min-inline-size:0;}
.gcm-related-list a{display:grid;gap:5px;min-block-size:76px;padding:16px 18px;border:1px solid var(--gim-border);border-radius:var(--gim-radius-lg);background:var(--gim-surface);text-decoration:none;transition:border-color var(--gim-motion-fast),background-color var(--gim-motion-fast);}
.gcm-related-list a:hover{border-color:var(--gim-color-border-strong);background:var(--gim-surface-muted);}
.gcm-related-list strong{overflow-wrap:anywhere;line-height:1.65;}
.gcm-related-list span{color:var(--gim-text-secondary);font-size:.86rem;}

@media (prefers-reduced-motion:reduce){
  .gcm-blog-card,.gcm-related-list a{transition:none;}
  .gcm-blog-card:hover{transform:none;}
}

@media (max-width:900px){
  .gcm-blog-section-header,.gcm-blog-cta{align-items:start;flex-direction:column;}
}
@media (max-width:680px){
  .gcm-blog-card{flex-direction:column;}
  .gcm-blog-card__media{flex-basis:auto;min-block-size:190px;max-block-size:260px;}
  .gcm-blog-card:only-child .gcm-blog-card__body{min-block-size:0;}
  .gcm-related-list{grid-template-columns:1fr;}
  .gcm-blog-cta-buttons,.gcm-blog-single-cta-actions{inline-size:100%;}
  .gcm-blog-cta-buttons .gcm-btn,.gcm-blog-single-cta-actions .gcm-btn{flex:1 1 180px;justify-content:center;}
  .gim-login-page{min-block-size:auto;padding-block:28px 40px;}
  .gim-login-shell{padding:22px 20px;}
}

/* Phase 4B — public control sizing polish inside existing canonical components. */
body:not(.gim-panel-context) .gim-site-brand,
body:not(.gim-panel-context) .gim-site-menu a,
body:not(.gim-panel-context) .gim-site-nav-toggle,
body:not(.gim-panel-context) .gim-site-actions .gim-btn{min-inline-size:44px;min-block-size:44px;}
.gcm-blog-cta-buttons .gcm-btn,.gcm-blog-single-cta-actions .gcm-btn{min-block-size:44px;}
.gim-login-shell .login-remember label{display:flex;align-items:center;gap:9px;min-block-size:44px;}
.gim-login-shell .gim-utility-footnote a{display:inline-flex;align-items:center;min-block-size:44px;}

/* Phase 4D.1E — Elementor-native public Home composition.
 * Elementor owns section content and order; the theme owns only reusable presentation. */
.gim-elementor-page-body{
  overflow:clip;
  background:var(--gim-color-page);
}
.gim-elementor-page-body .elementor{
  color:var(--gim-color-text);
  font-family:var(--gim-font-base);
}
.gim-elementor-page-body .elementor :where(h1,h2,h3,p){margin-block-start:0;}
.gim-elementor-page-body .elementor :where(h1,h2,h3){color:var(--gim-color-heading);font-family:var(--gim-font-display);}
.gim-home-section{
  inline-size:min(1180px,calc(100% - 32px));
  margin-inline:auto;
  padding-block:clamp(52px,7vw,92px);
}
.gim-home-section--wide{inline-size:min(1280px,calc(100% - 32px));}
.gim-home-section--compact{padding-block:clamp(34px,5vw,64px);}
.gim-home-eyebrow .elementor-widget-container{
  display:inline-flex;
  align-items:center;
  min-block-size:34px;
  margin-block-end:16px;
  padding:6px 13px;
  border:1px solid color-mix(in srgb,var(--gim-brand-blue-500) 24%,var(--gim-color-border));
  border-radius:999px;
  background:color-mix(in srgb,var(--gim-brand-blue-100) 72%,var(--gim-color-surface));
  color:var(--gim-brand-blue-700);
  font-size:.8rem;
  font-weight:700;
}
.gim-home-eyebrow p{margin:0!important;}
.gim-home-heading{max-inline-size:780px;}
.gim-home-heading .elementor-heading-title{font-size:clamp(1.85rem,4vw,3.15rem);line-height:1.28;letter-spacing:-.025em;}
.gim-home-section-heading .elementor-heading-title{font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.42;letter-spacing:-.015em;}
.gim-home-subheading{max-inline-size:760px;color:var(--gim-color-text-secondary);font-size:clamp(.98rem,1.5vw,1.1rem);line-height:2;}
.gim-home-subheading p:last-child{margin-block-end:0;}
.gim-home-section-head{display:grid;gap:6px;margin-block-end:clamp(24px,4vw,42px);}

.gim-home-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  align-items:center;
  gap:clamp(34px,6vw,80px);
  min-block-size:min(760px,calc(100vh - var(--gim-unified-header-height,60px)));
  padding-block:clamp(58px,8vw,112px);
}
.gim-home-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset-block:-20%;
  inset-inline:-10%;
  background:
    radial-gradient(circle at 78% 28%,color-mix(in srgb,var(--gim-brand-cyan-100) 82%,transparent) 0 18%,transparent 47%),
    radial-gradient(circle at 18% 64%,color-mix(in srgb,var(--gim-brand-blue-100) 76%,transparent) 0 16%,transparent 44%);
  pointer-events:none;
}
.gim-home-hero__copy{display:grid;align-content:center;gap:0;min-inline-size:0;}
.gim-home-hero__title .elementor-heading-title{font-size:clamp(2.35rem,5vw,4.65rem);line-height:1.16;letter-spacing:-.04em;}
.gim-home-hero__lead{max-inline-size:690px;margin-block:20px 0;color:var(--gim-color-text-secondary);font-size:clamp(1.03rem,1.7vw,1.22rem);line-height:2;}
.gim-home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:28px;}
.gim-home-actions .elementor-widget-button{inline-size:auto;}
.gim-home-actions .elementor-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-block-size:50px;
  padding:12px 20px;
  border:1px solid transparent;
  border-radius:var(--gim-radius-md);
  background:var(--gim-color-primary);
  color:var(--gim-color-on-primary);
  font-weight:750;
  box-shadow:0 10px 24px color-mix(in srgb,var(--gim-color-primary) 22%,transparent);
  transition:transform var(--gim-motion-fast) var(--gim-motion-ease),background-color var(--gim-motion-fast) var(--gim-motion-ease);
}
.gim-home-actions .elementor-button:hover{transform:translateY(-2px);background:var(--gim-color-primary-hover);color:var(--gim-color-on-primary);}
.gim-home-actions .elementor-button:focus-visible{outline:3px solid var(--gim-color-focus-ring);outline-offset:3px;}
.gim-home-button--secondary .elementor-button{
  border-color:var(--gim-color-border-strong);
  background:var(--gim-color-surface);
  color:var(--gim-color-heading);
  box-shadow:none;
}
.gim-home-button--secondary .elementor-button:hover{background:var(--gim-color-surface-subtle);color:var(--gim-color-heading);}
.gim-home-proof-list{margin-block-start:24px;color:var(--gim-color-text-secondary);}
.gim-home-proof-list ul{display:grid;gap:9px;margin:0;padding:0;list-style:none;}
.gim-home-proof-list li{position:relative;padding-inline-start:24px;line-height:1.75;}
.gim-home-proof-list li::before{content:"";position:absolute;inset-block-start:.72em;inset-inline-start:2px;inline-size:8px;block-size:8px;border-radius:50%;background:var(--gim-brand-teal-500);box-shadow:0 0 0 5px color-mix(in srgb,var(--gim-brand-teal-100) 86%,transparent);}

.gim-home-product-map{
  position:relative;
  display:grid;
  gap:10px;
  padding:clamp(24px,4vw,40px);
  border:1px solid color-mix(in srgb,var(--gim-brand-blue-500) 18%,var(--gim-color-border));
  border-radius:calc(var(--gim-radius-xl) + 8px);
  background:color-mix(in srgb,var(--gim-color-surface) 94%,var(--gim-brand-blue-100));
  box-shadow:0 26px 70px rgb(7 17 29 / 13%);
}
.gim-home-product-map::after{content:"";position:absolute;z-index:-1;inset-block:18px -18px;inset-inline:18px -18px;border-radius:inherit;background:var(--gim-gradient-brand);opacity:.18;}
.gim-home-product-map__label{color:var(--gim-brand-blue-600);font-size:.8rem;font-weight:700;}
.gim-home-product-map__label p{margin:0!important;}
.gim-home-product-map__title .elementor-heading-title{font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1.5;}
.gim-home-product-map__rows{display:grid;gap:0;margin-block-start:8px;border-block-start:1px solid var(--gim-color-divider);}
.gim-home-product-row{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(0,1.28fr);gap:18px;padding-block:17px;border-block-end:1px solid var(--gim-color-divider);}
.gim-home-product-row .elementor-heading-title{font-size:1rem;line-height:1.7;}
.gim-home-product-row__copy{color:var(--gim-color-text-secondary);line-height:1.8;}
.gim-home-product-row__copy p{margin:0!important;}
.gim-home-product-map__note{margin-block-start:8px;color:var(--gim-color-text-muted);font-size:.8rem;line-height:1.8;}

.gim-home-band{inline-size:100%;background:color-mix(in srgb,var(--gim-brand-navy-800) 96%,var(--gim-brand-blue-500));}
.gim-home-band .gim-home-section-heading .elementor-heading-title,.gim-home-band .gim-home-card .elementor-heading-title{color:var(--gim-neutral-0);}
.gim-home-band .gim-home-subheading,.gim-home-band .gim-home-card__copy{color:var(--gim-sidebar-text);}
.gim-home-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.gim-home-card{display:grid;align-content:start;gap:10px;min-inline-size:0;padding:clamp(20px,3vw,30px);border:1px solid var(--gim-color-border);border-radius:var(--gim-radius-xl);background:var(--gim-color-surface);box-shadow:var(--gim-shadow-sm);}
.gim-home-band .gim-home-card{border-color:rgb(255 255 255 / 12%);background:rgb(255 255 255 / 6%);box-shadow:none;}
.gim-home-card__index{color:var(--gim-brand-cyan-600);font-size:.78rem;font-weight:800;letter-spacing:.08em;}
.gim-home-card__index p,.gim-home-card__copy p{margin:0!important;}
.gim-home-card .elementor-heading-title{font-size:clamp(1.08rem,2vw,1.32rem);line-height:1.55;}
.gim-home-card__copy{color:var(--gim-color-text-secondary);line-height:1.9;}

.gim-home-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:clamp(28px,6vw,72px);}
.gim-home-problem-list ul,.gim-home-trust-list ul{display:grid;gap:14px;margin:8px 0 0;padding:0;list-style:none;}
.gim-home-problem-list li,.gim-home-trust-list li{position:relative;padding-inline-start:26px;color:var(--gim-color-text-secondary);line-height:1.85;}
.gim-home-problem-list li::before,.gim-home-trust-list li::before{content:"";position:absolute;inset-block-start:.66em;inset-inline-start:0;inline-size:10px;block-size:10px;border:2px solid var(--gim-brand-cyan-600);border-radius:3px;}
.gim-home-outcome{display:grid;gap:14px;padding:clamp(24px,4vw,38px);border:1px solid var(--gim-color-border);border-radius:var(--gim-radius-xl);background:var(--gim-gradient-brand-subtle);}
.gim-home-outcome .elementor-heading-title{font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.5;}
.gim-home-outcome__copy{color:var(--gim-color-text-secondary);line-height:1.95;}
.gim-home-pillar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}

.gim-home-workflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;counter-reset:gim-home-step;}
.gim-home-step{position:relative;display:grid;align-content:start;gap:8px;min-inline-size:0;padding:20px 16px;border-block:1px solid var(--gim-color-border);background:var(--gim-color-surface);}
.gim-home-step:first-child{border-start-start-radius:var(--gim-radius-xl);border-end-start-radius:var(--gim-radius-xl);border-inline-start:1px solid var(--gim-color-border);}
.gim-home-step:last-child{border-start-end-radius:var(--gim-radius-xl);border-end-end-radius:var(--gim-radius-xl);border-inline-end:1px solid var(--gim-color-border);}
.gim-home-step:not(:last-child)::after{content:"";position:absolute;inset-block-start:29px;inset-inline-end:-5px;z-index:2;inline-size:9px;block-size:9px;border-block-start:2px solid var(--gim-brand-cyan-600);border-inline-end:2px solid var(--gim-brand-cyan-600);transform:rotate(-135deg);background:var(--gim-color-surface);}
.gim-home-step__number{color:var(--gim-brand-blue-600);font-size:.78rem;font-weight:800;}
.gim-home-step__number p{margin:0!important;}
.gim-home-step .elementor-heading-title{font-size:1rem;line-height:1.65;}
.gim-home-step__copy{color:var(--gim-color-text-secondary);font-size:.88rem;line-height:1.8;}

.gim-home-proof-stage{display:grid;grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr);gap:24px;padding:clamp(24px,4vw,42px);border:1px solid var(--gim-color-border);border-radius:calc(var(--gim-radius-xl) + 6px);background:var(--gim-color-surface);box-shadow:var(--gim-shadow-md);}
.gim-home-proof-stage__copy{display:grid;align-content:center;gap:10px;}
.gim-home-proof-stage__visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;border-radius:var(--gim-radius-xl);background:var(--gim-color-surface-subtle);}
.gim-home-proof-stage__visual .gim-home-card{padding:18px;box-shadow:none;}
.gim-home-proof-stage__visual .gim-home-card:first-child{grid-column:1/-1;border-color:color-mix(in srgb,var(--gim-brand-blue-500) 28%,var(--gim-color-border));}
.gim-home-media-note{padding:12px 14px;border-inline-start:3px solid var(--gim-brand-cyan-600);background:var(--gim-color-surface-subtle);color:var(--gim-color-text-secondary);font-size:.84rem;line-height:1.8;}

.gim-home-audience-grid{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,.78fr));gap:16px;}
.gim-home-audience-grid>.gim-home-card:first-child{background:var(--gim-gradient-brand-subtle);border-color:color-mix(in srgb,var(--gim-brand-blue-500) 24%,var(--gim-color-border));}
.gim-home-bridge{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:clamp(26px,4vw,44px);border:1px solid var(--gim-color-border);border-radius:calc(var(--gim-radius-xl) + 4px);background:var(--gim-color-surface);}
.gim-home-bridge--pricing{background:color-mix(in srgb,var(--gim-brand-blue-100) 55%,var(--gim-color-surface));}
.gim-home-bridge .gim-home-actions{margin:0;}
.gim-home-trust{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(26px,6vw,72px);align-items:center;}
.gim-home-final{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:32px;
  margin-block:clamp(44px,7vw,88px);
  padding:clamp(30px,5vw,58px);
  border-radius:calc(var(--gim-radius-xl) + 8px);
  background:var(--gim-gradient-brand);
  color:var(--gim-neutral-0);
  box-shadow:0 26px 70px rgb(7 17 29 / 16%);
}
.gim-home-final .elementor-heading-title,.gim-home-final .gim-home-subheading{color:var(--gim-neutral-0);}
.gim-home-final .gim-home-subheading{opacity:.9;}
.gim-home-final .gim-home-actions{margin:0;}
.gim-home-final .elementor-button{border-color:rgb(255 255 255 / 30%);background:var(--gim-neutral-0);color:var(--gim-brand-navy-800);box-shadow:none;}
.gim-home-final .elementor-button:hover{background:var(--gim-neutral-100);color:var(--gim-brand-navy-800);}

@media (max-width:1024px){
  .gim-home-hero{grid-template-columns:1fr minmax(360px,.78fr);gap:30px;}
  .gim-home-pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-home-workflow{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  .gim-home-step{border:1px solid var(--gim-color-border);border-radius:var(--gim-radius-lg)!important;}
  .gim-home-step::after{display:none;}
  .gim-home-proof-stage{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .gim-home-section{inline-size:min(100% - 28px,720px);padding-block:clamp(42px,8vw,68px);}
  .gim-home-hero{grid-template-columns:1fr;min-block-size:0;padding-block-start:48px;}
  .gim-home-hero__copy{order:1;}
  .gim-home-hero__visual{order:2;}
  .gim-home-value-grid,.gim-home-split,.gim-home-audience-grid,.gim-home-trust{grid-template-columns:1fr;}
  .gim-home-workflow{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-home-bridge,.gim-home-final{grid-template-columns:1fr;align-items:start;}
  .gim-home-bridge .gim-home-actions,.gim-home-final .gim-home-actions{margin-block-start:4px;}
}
@media (max-width:430px){
  .gim-home-section{inline-size:calc(100% - 24px);padding-block:42px;}
  .gim-home-hero{padding-block-start:34px;}
  .gim-home-hero__title .elementor-heading-title{font-size:clamp(2rem,11vw,2.75rem);line-height:1.25;}
  .gim-home-actions{display:grid;grid-template-columns:1fr;inline-size:100%;}
  .gim-home-actions .elementor-widget-button,.gim-home-actions .elementor-button{inline-size:100%;}
  .gim-home-product-map{padding:22px 18px;}
  .gim-home-product-row{grid-template-columns:1fr;gap:4px;}
  .gim-home-value-grid,.gim-home-pillar-grid,.gim-home-workflow,.gim-home-proof-stage__visual{grid-template-columns:1fr;}
  .gim-home-card{padding:20px;}
  .gim-home-proof-stage__visual .gim-home-card:first-child{grid-column:auto;}
  .gim-home-final{margin-block:38px;padding:28px 20px;}
}
@media (prefers-reduced-motion:reduce){
  .gim-home-actions .elementor-button{transition:none;}
  .gim-home-actions .elementor-button:hover{transform:none;}
}

/* Elementor emits page CSS after theme assets. Keep the established GIM Theme
 * ownership explicit at the integration boundary without introducing a second palette. */
body.elementor-page .gim-elementor-page-body .elementor .gim-home-section{
  inline-size:min(1180px,calc(100% - 32px));
  margin-inline:auto;
  padding-block:clamp(52px,7vw,92px);
}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-section--wide{inline-size:min(1280px,calc(100% - 32px));}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-section--compact{padding-block:clamp(34px,5vw,64px);}
body.elementor-page .gim-elementor-page-body .elementor .elementor-heading-title{color:var(--gim-color-heading);font-family:var(--gim-font-display);}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  align-items:center;
  gap:clamp(34px,6vw,80px);
  min-block-size:min(760px,calc(100vh - var(--gim-unified-header-height,60px)));
  padding-block:clamp(58px,8vw,112px);
}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero__title .elementor-heading-title{color:var(--gim-color-heading);font-size:clamp(2.35rem,5vw,4.65rem);line-height:1.16;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:28px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-actions .elementor-button{
  min-block-size:50px;
  padding:12px 20px;
  border:1px solid transparent;
  border-radius:var(--gim-radius-md);
  background:var(--gim-color-primary);
  color:var(--gim-color-on-primary);
  font-family:var(--gim-font-base);
  font-weight:750;
  box-shadow:0 10px 24px color-mix(in srgb,var(--gim-color-primary) 22%,transparent);
}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-button--secondary .elementor-button{border-color:var(--gim-color-border-strong);background:var(--gim-color-surface);color:var(--gim-color-heading);box-shadow:none;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-product-map,
body.elementor-page .gim-elementor-page-body .elementor .gim-home-section-head,
body.elementor-page .gim-elementor-page-body .elementor .gim-home-card,
body.elementor-page .gim-elementor-page-body .elementor .gim-home-outcome,
body.elementor-page .gim-elementor-page-body .elementor .gim-home-step,
body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage__copy{display:grid;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-product-map__rows{display:grid;gap:0;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-product-row{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(0,1.28fr);gap:18px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-band{inline-size:100%;max-inline-size:none;background:color-mix(in srgb,var(--gim-brand-navy-800) 96%,var(--gim-brand-blue-500));}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(28px,6vw,72px);}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-pillar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-workflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage{display:grid;grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr);gap:24px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage__visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-audience-grid{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,.78fr));gap:16px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-bridge,
body.elementor-page .gim-elementor-page-body .elementor .gim-home-final{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-trust{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(26px,6vw,72px);}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-band .elementor-heading-title,
body.elementor-page .gim-elementor-page-body .elementor .gim-home-final .elementor-heading-title{color:var(--gim-neutral-0);}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-final .elementor-button{border-color:rgb(255 255 255 / 30%);background:var(--gim-neutral-0);color:var(--gim-brand-navy-800);box-shadow:none;}

@media (max-width:1024px){
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero{grid-template-columns:1fr minmax(360px,.78fr);gap:30px;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-workflow{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage{grid-template-columns:1fr;}
}
@media (max-width:768px){
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-section{inline-size:min(100% - 28px,720px);padding-block:clamp(42px,8vw,68px);}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero{grid-template-columns:1fr;min-block-size:0;padding-block-start:48px;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-value-grid,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-split,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-audience-grid,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-trust{grid-template-columns:1fr;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-workflow{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-bridge,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-final{grid-template-columns:1fr;align-items:start;}
}
@media (max-width:430px){
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-section{inline-size:calc(100% - 24px);padding-block:42px;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero{padding-block-start:34px;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero__title .elementor-heading-title{font-size:clamp(2rem,11vw,2.75rem);line-height:1.25;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-actions{display:grid;grid-template-columns:1fr;inline-size:100%;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-product-row,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-value-grid,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-pillar-grid,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-workflow,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage__visual{grid-template-columns:1fr;}
}

/* Elementor 4.2 boxed containers place child elements in .e-con-inner. The
 * theme composition therefore targets that canonical child wrapper as well. */
body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero>.e-con-inner{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  align-items:center;
  gap:clamp(34px,6vw,80px);
}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero__copy>.e-con-inner{display:grid;align-content:center;gap:0;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-actions>.e-con-inner{display:flex;flex-wrap:wrap;gap:12px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-product-map>.e-con-inner{display:grid;gap:10px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-product-map__rows>.e-con-inner{display:grid;gap:0;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-product-row>.e-con-inner{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(0,1.28fr);gap:18px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-section-head>.e-con-inner{display:grid;gap:6px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-value-grid>.e-con-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-card>.e-con-inner{display:grid;align-content:start;gap:10px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-split>.e-con-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:start;gap:clamp(28px,6vw,72px);}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-outcome>.e-con-inner{display:grid;gap:14px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-pillar-grid>.e-con-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-workflow>.e-con-inner{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage>.e-con-inner{display:grid;grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr);gap:24px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage__copy>.e-con-inner{display:grid;align-content:center;gap:10px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage__visual>.e-con-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-audience-grid>.e-con-inner{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,.78fr));gap:16px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-audience-grid>.e-con-inner>.gim-home-card:first-child{background:var(--gim-gradient-brand-subtle);border-color:color-mix(in srgb,var(--gim-brand-blue-500) 24%,var(--gim-color-border));}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-bridge>.e-con-inner,
body.elementor-page .gim-elementor-page-body .elementor .gim-home-final>.e-con-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;}
body.elementor-page .gim-elementor-page-body .elementor .gim-home-trust>.e-con-inner{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(26px,6vw,72px);}

@media (max-width:1024px){
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero>.e-con-inner{grid-template-columns:1fr minmax(360px,.78fr);gap:30px;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-pillar-grid>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-workflow>.e-con-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage>.e-con-inner{grid-template-columns:1fr;}
}
@media (max-width:768px){
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-hero>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-value-grid>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-split>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-audience-grid>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-trust>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-bridge>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-final>.e-con-inner{grid-template-columns:1fr;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-workflow>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:430px){
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-actions>.e-con-inner{display:grid;grid-template-columns:1fr;inline-size:100%;}
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-product-row>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-value-grid>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-pillar-grid>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-workflow>.e-con-inner,
  body.elementor-page .gim-elementor-page-body .elementor .gim-home-proof-stage__visual>.e-con-inner{grid-template-columns:1fr;}
}

body.elementor-page .gim-elementor-page-body .elementor :is(
  .gim-home-hero,
  .gim-home-hero__copy,
  .gim-home-actions,
  .gim-home-product-map,
  .gim-home-product-map__rows,
  .gim-home-product-row,
  .gim-home-section-head,
  .gim-home-value-grid,
  .gim-home-card,
  .gim-home-split,
  .gim-home-outcome,
  .gim-home-pillar-grid,
  .gim-home-workflow,
  .gim-home-step,
  .gim-home-proof-stage,
  .gim-home-proof-stage__copy,
  .gim-home-proof-stage__visual,
  .gim-home-audience-grid,
  .gim-home-bridge,
  .gim-home-trust,
  .gim-home-final
){display:block;}

/* Phase 4D.2E — Elementor-native Features experience.
 * Home remains the visual reference; these rules add only capability-page composition. */
.gim-elementor-features-body{overflow:clip;background:var(--gim-color-page-bg);}
.gim-features-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.88fr);align-items:center;gap:clamp(34px,6vw,76px);padding-block:clamp(50px,7vw,84px);}
.gim-features-hero::before{content:"";position:absolute;z-index:-1;inset-block-start:-140px;inset-inline-end:-12vw;inline-size:min(660px,66vw);aspect-ratio:1;border-radius:50%;background:var(--gim-gradient-brand-subtle);filter:blur(1px);opacity:.8;}
.gim-features-hero__copy{display:grid;align-content:center;gap:0;min-inline-size:0;}
.gim-features-hero__title .elementor-heading-title{font-size:clamp(2.15rem,4.25vw,3.85rem);line-height:1.22;letter-spacing:-.035em;}
.gim-features-hero__lead{margin-block-start:18px;}
.gim-features-hero__note{max-inline-size:670px;margin-block-start:20px;padding-inline-start:16px;border-inline-start:3px solid var(--gim-brand-cyan-600);color:var(--gim-color-text-muted);font-size:.88rem;line-height:1.9;}
.gim-features-hero__note p{margin:0!important;}
.gim-features-system-map{position:relative;display:grid;gap:12px;padding:clamp(24px,4vw,38px);border:1px solid var(--gim-color-border);border-radius:calc(var(--gim-radius-xl) + 7px);background:var(--gim-color-surface);box-shadow:var(--gim-shadow-md);}
.gim-features-system-map::after{content:"";position:absolute;z-index:-1;inset-block:18px -18px;inset-inline:18px -18px;border-radius:inherit;background:var(--gim-gradient-brand);opacity:.16;}
.gim-features-system-map__label,.gim-features-lane__label{color:var(--gim-brand-blue-600);font-size:.78rem;font-weight:800;}
.gim-features-system-map__label p,.gim-features-lane__label p{margin:0!important;}
.gim-features-system-map__title .elementor-heading-title{font-size:clamp(1.28rem,2.2vw,1.72rem);line-height:1.5;}
.gim-features-system-map__rail{display:grid;gap:10px;margin-block:8px;}
.gim-features-system-map__rail .elementor-widget-text-editor{position:relative;padding:17px 20px;border:1px solid var(--gim-color-border);border-radius:var(--gim-radius-lg);background:var(--gim-color-surface-subtle);}
.gim-features-system-map__rail .elementor-widget-text-editor::before{content:"";position:absolute;inset-block:50%;inset-inline-start:-6px;inline-size:11px;block-size:11px;border-radius:50%;background:var(--gim-brand-cyan-500);transform:translateY(-50%);box-shadow:0 0 0 5px color-mix(in srgb,var(--gim-brand-cyan-100) 80%,transparent);}
.gim-features-system-map__rail p{display:grid;grid-template-columns:minmax(110px,.72fr) minmax(0,1.28fr);gap:12px;margin:0!important;line-height:1.8;}
.gim-features-system-map__rail span{color:var(--gim-color-text-secondary);}

.gim-features-index{border-block:1px solid var(--gim-color-divider);}
.gim-features-index__links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}
.gim-features-index__links .elementor-widget-text-editor{min-inline-size:0;}
.gim-features-index__links p{margin:0!important;}
.gim-features-index__links a{display:flex;align-items:center;justify-content:center;min-block-size:54px;padding:10px 12px;border:1px solid var(--gim-color-border);border-radius:var(--gim-radius-md);background:var(--gim-color-surface);color:var(--gim-color-heading);font-size:.88rem;font-weight:750;text-align:center;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease;}
.gim-features-index__links a:hover{border-color:var(--gim-color-primary);background:var(--gim-color-primary-subtle);color:var(--gim-color-primary);}
.gim-features-index__links a:focus-visible{outline:3px solid var(--gim-color-focus-ring);outline-offset:3px;}

.gim-features-band__inner{margin-inline:auto;}
.gim-features-band .gim-home-eyebrow .elementor-widget-container{border-color:rgb(255 255 255 / 16%);background:rgb(255 255 255 / 8%);color:var(--gim-brand-cyan-100);}
.gim-features-band .gim-home-section-heading .elementor-heading-title{color:var(--gim-neutral-0);}
.gim-features-band .gim-home-subheading{color:var(--gim-sidebar-text);}
.gim-features-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.gim-features-workflow .gim-features-capability{border-color:rgb(255 255 255 / 12%);background:rgb(255 255 255 / 6%);}
.gim-features-workflow .gim-features-capability .elementor-heading-title{color:var(--gim-neutral-0);}
.gim-features-workflow .gim-features-capability__copy{color:var(--gim-sidebar-text);}
.gim-features-workflow .gim-features-capability__evidence{border-color:rgb(255 255 255 / 13%);color:var(--gim-sidebar-text);}

.gim-features-capability{display:grid;align-content:start;gap:10px;min-inline-size:0;padding:clamp(21px,3vw,30px);border:1px solid var(--gim-color-border);border-radius:var(--gim-radius-xl);background:var(--gim-color-surface);box-shadow:var(--gim-shadow-sm);}
.gim-features-capability__index{color:var(--gim-brand-cyan-600);font-size:.78rem;font-weight:800;letter-spacing:.04em;}
.gim-features-capability__index p,.gim-features-capability__copy p,.gim-features-capability__evidence p{margin:0!important;}
.gim-features-capability .elementor-heading-title{font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.55;}
.gim-features-capability__copy{color:var(--gim-color-text-secondary);line-height:1.9;}
.gim-features-capability__evidence{margin-block-start:4px;padding-block-start:12px;border-block-start:1px solid var(--gim-color-divider);color:var(--gim-color-text-muted);font-size:.79rem;line-height:1.85;}

.gim-features-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.82fr);align-items:center;gap:clamp(32px,7vw,88px);}
.gim-features-split--reverse{grid-template-columns:minmax(330px,.82fr) minmax(0,1.08fr);}
.gim-features-split__copy{display:grid;align-content:center;gap:8px;}
.gim-features-checklist ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:20px 0 0;padding:0;list-style:none;}
.gim-features-checklist li{position:relative;padding:13px 36px 13px 12px;border-block-start:1px solid var(--gim-color-divider);color:var(--gim-color-text-secondary);line-height:1.75;}
.gim-features-checklist li::before{content:"";position:absolute;inset-block-start:21px;inset-inline-start:10px;inline-size:9px;block-size:9px;border:2px solid var(--gim-brand-cyan-600);border-radius:3px;}

.gim-features-attendance{border-block:1px solid var(--gim-color-divider);}
.gim-features-attendance__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}
.gim-features-attendance__steps .gim-features-capability{position:relative;border-radius:0;box-shadow:none;}
.gim-features-attendance__steps .gim-features-capability:first-child{border-start-start-radius:var(--gim-radius-xl);border-end-start-radius:var(--gim-radius-xl);}
.gim-features-attendance__steps .gim-features-capability:last-child{border-start-end-radius:var(--gim-radius-xl);border-end-end-radius:var(--gim-radius-xl);}
.gim-features-attendance__steps .gim-features-capability:not(:last-child){border-inline-end:0;}
.gim-features-attendance__steps .gim-features-capability:not(:last-child)::after{content:"";position:absolute;z-index:2;inset-block-start:32px;inset-inline-end:-6px;inline-size:10px;block-size:10px;border-block-start:2px solid var(--gim-brand-cyan-600);border-inline-end:2px solid var(--gim-brand-cyan-600);background:var(--gim-color-surface);transform:rotate(-135deg);}

.gim-features-lanes{position:relative;}
.gim-features-lanes::before{content:"";position:absolute;z-index:-1;inset-block:18%;inset-inline:-12vw;background:var(--gim-gradient-brand-subtle);opacity:.52;}
.gim-features-lanes__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.gim-features-lane{display:grid;align-content:start;gap:12px;padding:clamp(24px,4vw,40px);border:1px solid var(--gim-color-border);border-radius:calc(var(--gim-radius-xl) + 4px);background:var(--gim-color-surface);box-shadow:var(--gim-shadow-sm);}
.gim-features-lane--service{border-block-start:4px solid var(--gim-brand-cyan-500);}
.gim-features-lane--finance{border-block-start:4px solid var(--gim-brand-blue-500);}
.gim-features-lane .elementor-heading-title{font-size:clamp(1.2rem,2.1vw,1.65rem);line-height:1.55;}

.gim-features-report-board{display:grid;gap:12px;padding:clamp(24px,4vw,38px);border:1px solid var(--gim-color-border);border-radius:calc(var(--gim-radius-xl) + 5px);background:var(--gim-gradient-brand-subtle);}
.gim-features-report-board .elementor-heading-title{font-size:clamp(1.25rem,2.1vw,1.65rem);line-height:1.55;}
.gim-features-report-board__rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.gim-features-report-board__rows p{margin:0!important;padding:13px 15px;border:1px solid color-mix(in srgb,var(--gim-brand-blue-500) 16%,var(--gim-color-border));border-radius:var(--gim-radius-md);background:color-mix(in srgb,var(--gim-color-surface) 88%,transparent);color:var(--gim-color-heading);font-weight:700;}
.gim-features-report-board__rows p:first-child{grid-column:1/-1;}

.gim-features-role-grid{grid-template-columns:1.25fr 1fr 1fr;}
.gim-features-role-grid>.gim-features-capability:first-child{background:var(--gim-gradient-brand-subtle);border-color:color-mix(in srgb,var(--gim-brand-blue-500) 24%,var(--gim-color-border));}
.gim-features-proof{display:grid;grid-template-columns:minmax(0,.95fr) minmax(400px,1.05fr);align-items:center;gap:clamp(32px,7vw,78px);}
.gim-features-proof__copy{display:grid;gap:8px;}
.gim-features-proof__requests{display:grid;gap:10px;padding:clamp(22px,4vw,34px);border:1px solid var(--gim-color-border);border-radius:var(--gim-radius-xl);background:var(--gim-color-surface);box-shadow:var(--gim-shadow-sm);}
.gim-features-proof__requests p{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;margin:0!important;padding-block:14px;border-block-end:1px solid var(--gim-color-divider);line-height:1.8;}
.gim-features-proof__requests .elementor-widget-text-editor:last-child p{border-block-end:0;}
.gim-features-proof__requests strong{color:var(--gim-brand-blue-600);}
.gim-features-proof__requests span{color:var(--gim-color-text-secondary);}
.gim-features-bridge__copy,.gim-features-final__copy{display:grid;gap:6px;}

body.elementor-page .gim-elementor-features-body .elementor :is(.gim-features-hero,.gim-features-hero__copy,.gim-features-system-map,.gim-features-system-map__rail,.gim-features-index__links,.gim-features-band__inner,.gim-features-workflow,.gim-features-capability,.gim-features-split,.gim-features-split__copy,.gim-features-attendance__steps,.gim-features-lanes__grid,.gim-features-lane,.gim-features-report-board,.gim-features-proof,.gim-features-proof__copy,.gim-features-proof__requests,.gim-features-bridge__copy,.gim-features-final__copy){display:block;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-hero>.e-con-inner{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.88fr);align-items:center;gap:clamp(34px,6vw,76px);}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-hero__copy>.e-con-inner{display:grid;align-content:center;gap:0;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-system-map>.e-con-inner{display:grid;gap:12px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-system-map__rail>.e-con-inner{display:grid;gap:10px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-index__links>.e-con-inner{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-workflow>.e-con-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-capability>.e-con-inner{display:grid;align-content:start;gap:10px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-split>.e-con-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.82fr);align-items:center;gap:clamp(32px,7vw,88px);}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-split--reverse>.e-con-inner{grid-template-columns:minmax(330px,.82fr) minmax(0,1.08fr);}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-split__copy>.e-con-inner{display:grid;align-content:center;gap:8px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-attendance__steps>.e-con-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-lanes__grid>.e-con-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-lane>.e-con-inner{display:grid;align-content:start;gap:12px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-report-board>.e-con-inner{display:grid;gap:12px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-role-grid>.e-con-inner{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-role-grid>.e-con-inner>.gim-features-capability:first-child{background:var(--gim-gradient-brand-subtle);border-color:color-mix(in srgb,var(--gim-brand-blue-500) 24%,var(--gim-color-border));}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-proof>.e-con-inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(400px,1.05fr);align-items:center;gap:clamp(32px,7vw,78px);}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-proof__copy>.e-con-inner{display:grid;gap:8px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-proof__requests>.e-con-inner{display:grid;gap:10px;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-bridge__copy>.e-con-inner,
body.elementor-page .gim-elementor-features-body .elementor .gim-features-final__copy>.e-con-inner{display:grid;gap:6px;}

@media (max-width:1024px){
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-hero>.e-con-inner{grid-template-columns:1fr minmax(340px,.76fr);gap:28px;}
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-index__links>.e-con-inner{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-workflow>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-features-index__links{grid-template-columns:repeat(3,minmax(0,1fr));}
  .gim-features-workflow{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:768px){
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-hero>.e-con-inner,
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-split>.e-con-inner,
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-split--reverse>.e-con-inner,
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-lanes__grid>.e-con-inner,
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-role-grid>.e-con-inner,
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-proof>.e-con-inner{grid-template-columns:1fr;}
  .gim-features-hero,.gim-features-split,.gim-features-split--reverse,.gim-features-lanes__grid,.gim-features-role-grid,.gim-features-proof{grid-template-columns:1fr;}
  .gim-features-split--reverse .gim-features-capability{order:2;}
  .gim-features-split--reverse .gim-features-split__copy{order:1;}
  .gim-features-checklist ul{grid-template-columns:1fr;}
  .gim-features-attendance__steps{grid-template-columns:1fr;gap:10px;}
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-attendance__steps>.e-con-inner{grid-template-columns:1fr;gap:10px;}
  .gim-features-attendance__steps .gim-features-capability{border:1px solid var(--gim-color-border)!important;border-radius:var(--gim-radius-lg)!important;}
  .gim-features-attendance__steps .gim-features-capability::after{display:none;}
}
@media (max-width:430px){
  .gim-features-hero{padding-block-start:34px;}
  .gim-features-hero__title .elementor-heading-title{font-size:clamp(1.9rem,10.5vw,2.55rem);line-height:1.28;}
  .gim-features-system-map{padding:22px 18px;}
  .gim-features-system-map__rail p{grid-template-columns:1fr;gap:2px;}
  .gim-features-index__links{grid-template-columns:repeat(2,minmax(0,1fr));}
  body.elementor-page .gim-elementor-features-body .elementor .gim-features-index__links>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-features-workflow{grid-template-columns:1fr;}
body.elementor-page .gim-elementor-features-body .elementor .gim-features-workflow>.e-con-inner{grid-template-columns:1fr;}
  .gim-features-report-board__rows{grid-template-columns:1fr;}
  .gim-features-report-board__rows p:first-child{grid-column:auto;}
  .gim-features-proof__requests p{grid-template-columns:1fr;gap:4px;}
}

/* Phase 1D — registration OTP delivery-channel chooser. */
.gcm-registration-grid > .gcm-registration-otp-channel-group{
  grid-column:1/-1;
}
.gcm-registration-otp-channel-group{
  min-inline-size:0;
  margin:0;
  padding:14px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-md);
  background:var(--gim-surface-muted);
}
.gcm-registration-otp-channel-group > legend{
  padding-inline:4px;
  color:var(--gim-text-primary);
  font-size:.96rem;
  font-weight:750;
  line-height:1.7;
}
.gcm-registration-otp-channel-group > p{
  margin:0;
  max-inline-size:72ch;
  color:var(--gim-text-secondary);
  line-height:1.8;
}
.gcm-registration-otp-channel-group .gcm-otp-channel-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-block-start:12px;
}
.gcm-registration-otp-channel-group .gcm-otp-channel-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:10px;
  min-inline-size:0;
  min-block-size:56px;
  padding:12px;
  border:1px solid var(--gim-border);
  border-radius:var(--gim-radius-md);
  background:var(--gim-surface);
  color:var(--gim-text-primary);
  cursor:pointer;
}
.gcm-registration-otp-channel-group .gcm-otp-channel-option:has(input:checked){
  border-color:var(--gim-accent);
  background:var(--gim-color-surface-selected);
}
.gcm-registration-otp-channel-group .gcm-otp-channel-option:has(input:focus-visible){
  outline:3px solid color-mix(in srgb,var(--gim-accent) 24%,transparent);
  outline-offset:2px;
}
.gcm-registration-otp-channel-group .gcm-otp-channel-option input[type="checkbox"]{
  inline-size:20px;
  block-size:20px;
  min-block-size:20px;
  margin:2px 0 0;
  accent-color:var(--gim-accent);
}
.gcm-registration-otp-channel-group .gcm-otp-channel-option > span{
  display:grid;
  gap:2px;
  min-inline-size:0;
}
.gcm-registration-otp-channel-group .gcm-otp-channel-option strong{
  line-height:1.6;
}
.gcm-registration-otp-channel-group .gcm-otp-channel-option small{
  color:var(--gim-text-secondary);
  line-height:1.7;
}
.gcm-registration-otp-channel-group.has-error{
  border-color:var(--gim-color-danger);
}
.gcm-registration-otp-channel-group-status{
  min-block-size:1.6em;
  margin-block-start:8px;
  color:var(--gim-color-danger);
  line-height:1.7;
}
.gcm-registration-otp-channel-group-status:empty{
  min-block-size:0;
  margin-block-start:0;
}
@media (max-width:768px){
  .gcm-registration-otp-channel-group .gcm-otp-channel-options{
    grid-template-columns:1fr;
  }
}
@media (max-width:430px){
  .gcm-registration-otp-channel-group{
    padding:12px;
  }
  .gcm-registration-otp-channel-group .gcm-otp-channel-option{
    min-block-size:52px;
  }
}

/* Home public visual refresh v3 — canonical Theme presentation.
 * Scope: content BELOW the custom Home Hero only.
 * Hero/Elementor template/widget styles are intentionally untouched.
 * Direction: light minimal SaaS + Jimmy guide + real product UI + selective dark highlight. */

.gim-home-public .home-v3-body{
  --home-v3-max:1320px;
  position:relative;
  isolation:isolate;
  padding-block:10px 0;
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--gim-brand-cyan-100) 42%,transparent),transparent 27%),
    radial-gradient(circle at 8% 54%,color-mix(in srgb,var(--gim-brand-blue-100) 32%,transparent),transparent 24%),
    var(--gim-neutral-0);
}
.gim-home-public .home-v3-body::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 auto;
  block-size:520px;
  opacity:.2;
  pointer-events:none;
  background-image:
    linear-gradient(90deg,color-mix(in srgb,var(--gim-brand-blue-500) 5%,transparent) 1px,transparent 1px),
    linear-gradient(to bottom,color-mix(in srgb,var(--gim-brand-blue-500) 5%,transparent) 1px,transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 95%);
  mask-image:linear-gradient(to bottom,#000 0%,transparent 95%);
}
.gim-home-public .home-v3-body :is(.home-features,.home-brand-stage,.home-personas,.home-walkthrough,.home-diff,.home-cta,.home-assurance,.home-final-cta){
  inline-size:min(var(--home-v3-max),calc(100% - 48px));
  max-inline-size:none;
  margin-inline:auto;
}
.gim-home-public .home-v3-body :is(.home-personas,.home-diff){
  padding-block:clamp(52px,6vw,78px);
}
.gim-home-public .home-v3-body .pill{
  display:inline-flex;
  align-items:center;
  min-block-size:30px;
  padding:6px 11px;
  border:1px solid color-mix(in srgb,var(--gim-brand-blue-500) 16%,var(--gim-color-border));
  border-radius:999px;
  background:color-mix(in srgb,var(--gim-brand-blue-100) 42%,var(--gim-neutral-0));
  color:var(--gim-brand-blue-700);
  font-size:.78rem;
  font-weight:800;
  line-height:1.2;
}
.gim-home-public .home-v3-body :is(.section-head,.home-v3-heading) h2,
.gim-home-public .home-v3-body :is(.home-brand-stage,.home-assurance,.home-final-cta,.home-cta) h2{
  color:var(--gim-color-heading);
  font-family:var(--gim-font-display);
  font-size:clamp(1.7rem,2.65vw,2.45rem);
  font-weight:900;
  line-height:1.45;
  letter-spacing:-.02em;
}
.gim-home-public .home-v3-body .section-head{
  max-inline-size:780px;
  margin-block:0 clamp(24px,3vw,34px);
  padding:0;
  text-align:center;
}
.gim-home-public .home-v3-body .section-head .muted{
  margin-block:10px 0;
  color:var(--gim-color-text-secondary);
  font-size:.98rem;
  line-height:1.92;
}
.gim-home-public .home-v3-body .btn{
  min-block-size:46px;
  border-radius:var(--gim-radius-lg);
  font-weight:800;
}

/* Capability strip — dense, comparison-friendly, immediately below Hero. */
.gim-home-public .home-capabilities{
  margin-block-start:18px;
  padding:clamp(24px,3vw,34px);
  border:1px solid color-mix(in srgb,var(--gim-brand-blue-500) 12%,var(--gim-color-border));
  border-radius:calc(var(--gim-radius-xl) + 10px);
  background:rgb(255 255 255 / 90%);
  box-shadow:0 18px 48px rgb(7 17 29 / 7%);
  backdrop-filter:blur(14px);
}
.gim-home-public .home-v3-heading--inline{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
  align-items:end;
  gap:clamp(24px,4vw,60px);
  margin-block-end:24px;
}
.gim-home-public .home-v3-heading--inline h2{
  margin:10px 0 0;
  font-size:clamp(1.55rem,2.2vw,2.05rem);
}
.gim-home-public .home-v3-heading--inline .muted{
  margin:0;
  color:var(--gim-color-text-secondary);
  line-height:1.88;
}
.gim-home-public .home-capabilities__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.gim-home-public .home-capability{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:11px;
  min-inline-size:0;
  padding:16px 14px;
  border:1px solid color-mix(in srgb,var(--gim-brand-navy-900) 8%,var(--gim-color-border));
  border-radius:var(--gim-radius-xl);
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--gim-brand-blue-100) 17%,#fff));
}
.gim-home-public .home-capability__index{
  display:grid;
  place-items:center;
  inline-size:34px;
  block-size:34px;
  flex:0 0 auto;
  border-radius:11px;
  background:var(--gim-gradient-brand-subtle);
  color:var(--gim-brand-blue-700);
  font-size:.76rem;
  font-weight:900;
}
.gim-home-public .home-capability h3{
  margin:1px 0 4px;
  color:var(--gim-color-heading);
  font-size:.96rem;
  line-height:1.55;
}
.gim-home-public .home-capability p{
  margin:0;
  color:var(--gim-color-text-secondary);
  font-size:.8rem;
  line-height:1.72;
}

/* Product proof + Jimmy — same visual logic as reference, using real current product screenshot. */
.gim-home-public .home-brand-stage{
  display:grid;
  grid-template-columns:minmax(360px,.76fr) minmax(0,1.24fr);
  align-items:center;
  gap:clamp(42px,6vw,82px);
  padding-block:clamp(58px,7vw,92px);
}
.gim-home-public .home-brand-stage__copy{
  display:grid;
  align-content:center;
  gap:13px;
  min-inline-size:0;
}
.gim-home-public .home-brand-stage__copy h2{margin:0}
.gim-home-public .home-brand-stage__lead{
  margin:0;
  color:var(--gim-color-text-secondary);
  font-size:1rem;
  line-height:1.98;
}
.gim-home-public .home-brand-stage__proofs{
  display:grid;
  gap:9px;
  margin:2px 0 8px;
  padding:0;
  list-style:none;
}
.gim-home-public .home-brand-stage__proofs li{
  position:relative;
  padding-inline-start:25px;
  color:var(--gim-color-text-secondary);
  font-size:.94rem;
  line-height:1.78;
}
.gim-home-public .home-brand-stage__proofs li::before{
  content:"";
  position:absolute;
  inset-inline-start:3px;
  inset-block-start:.68em;
  inline-size:8px;
  block-size:8px;
  border-radius:50%;
  background:var(--gim-brand-teal-500);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--gim-brand-teal-100) 70%,transparent);
}
.gim-home-public .home-brand-stage__copy>.btn{
  justify-self:start;
  margin-block-start:3px;
}
.gim-home-public .home-brand-stage__visual{
  position:relative;
  min-block-size:455px;
  min-inline-size:0;
}
.gim-home-public .home-product-frame{
  position:absolute;
  inset-block-start:0;
  inset-inline-end:0;
  inline-size:min(94%,820px);
  margin:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--gim-brand-blue-500) 15%,var(--gim-color-border));
  border-radius:calc(var(--gim-radius-xl) + 8px);
  background:var(--gim-neutral-0);
  box-shadow:0 28px 62px rgb(7 17 29 / 13%);
}
.gim-home-public .home-product-frame__bar{
  display:flex;
  align-items:center;
  direction:ltr;
  gap:7px;
  block-size:34px;
  padding-inline:14px;
  border-block-end:1px solid var(--gim-color-border);
  background:var(--gim-color-surface-subtle);
}
.gim-home-public .home-product-frame__bar span{
  inline-size:8px;
  block-size:8px;
  border-radius:50%;
  background:var(--gim-neutral-300);
}
.gim-home-public .home-product-frame__bar span:first-child{background:#fb7185}
.gim-home-public .home-product-frame__bar span:nth-child(2){background:#fbbf24}
.gim-home-public .home-product-frame__bar span:nth-child(3){background:#34d399}
.gim-home-public .home-product-frame img{
  display:block;
  inline-size:100%;
  block-size:auto;
}
.gim-home-public .home-product-frame figcaption{
  position:absolute;
  inset-inline-end:13px;
  inset-block-end:13px;
  padding:6px 10px;
  border:1px solid rgb(255 255 255 / 14%);
  border-radius:999px;
  background:rgb(7 17 29 / 78%);
  color:#fff;
  font-size:.72rem;
  backdrop-filter:blur(8px);
}
.gim-home-public .home-jimmy-guide{
  position:absolute;
  z-index:2;
  inset-inline-start:0;
  inset-block-end:-8px;
  inline-size:clamp(170px,16vw,220px);
  margin:0;
  overflow:hidden;
  border:5px solid #fff;
  border-radius:30px;
  background:#fff;
  box-shadow:0 22px 52px rgb(7 17 29 / 20%);
}
.gim-home-public .home-jimmy-guide img{
  display:block;
  inline-size:100%;
  aspect-ratio:405/760;
  object-fit:cover;
  object-position:center top;
}
.gim-home-public .home-jimmy-guide figcaption{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  padding:9px 11px;
  border-block-start:1px solid var(--gim-color-border);
  background:#fff;
  color:var(--gim-color-heading);
  font-size:.72rem;
}
.gim-home-public .home-jimmy-guide figcaption span{color:var(--gim-brand-blue-600)}

/* Why GIM / business value — canonical cards, calmer and denser. */
.gim-home-public .home-personas{
  border-block:1px solid color-mix(in srgb,var(--gim-brand-blue-500) 8%,var(--gim-color-border));
}
.gim-home-public .home-v3-body .card-grid{gap:15px}
.gim-home-public .home-v3-body .card{
  min-inline-size:0;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--gim-brand-navy-900) 9%,var(--gim-color-border));
  border-radius:var(--gim-radius-xl);
  background:#fff;
  box-shadow:0 10px 28px rgb(7 17 29 / 5%);
  transition:transform var(--gim-motion-fast) var(--gim-motion-ease),border-color var(--gim-motion-fast) var(--gim-motion-ease),box-shadow var(--gim-motion-fast) var(--gim-motion-ease);
}
.gim-home-public .home-v3-body .card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--gim-brand-blue-500) 20%,var(--gim-color-border));
  box-shadow:0 16px 36px rgb(7 17 29 / 8%);
}
.gim-home-public .home-v3-body .card h3{
  color:var(--gim-color-heading);
  font-family:var(--gim-font-display);
  font-size:1.08rem;
  line-height:1.58;
}
.gim-home-public .home-v3-body .card p{
  color:var(--gim-color-text-secondary);
  line-height:1.86;
}
.gim-home-public .home-card-kicker,
.gim-home-public .home-role-tag{
  display:inline-block;
  margin-block-end:7px;
  color:var(--gim-brand-blue-600);
  font-size:.72rem;
  font-weight:800;
}

/* Dark operational highlight — reference rhythm without fake metrics. */
.gim-home-public .home-walkthrough{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(30px,4.5vw,52px);
  border:1px solid rgb(255 255 255 / 10%);
  border-radius:calc(var(--gim-radius-xl) + 14px);
  background:
    radial-gradient(circle at 12% 18%,rgb(34 211 238 / 16%),transparent 35%),
    radial-gradient(circle at 88% 88%,rgb(22 93 255 / 18%),transparent 42%),
    var(--gim-brand-navy-900);
  box-shadow:0 26px 62px rgb(7 17 29 / 17%);
}
.gim-home-public .home-walkthrough::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.15;
  background-image:
    linear-gradient(rgb(255 255 255 / 8%) 1px,transparent 1px),
    linear-gradient(90deg,rgb(255 255 255 / 8%) 1px,transparent 1px);
  background-size:34px 34px;
}
.gim-home-public .home-walkthrough__layout{
  display:grid;
  grid-template-columns:minmax(190px,.38fr) minmax(0,1.62fr);
  align-items:end;
  gap:clamp(26px,4vw,54px);
}
.gim-home-public .home-walkthrough__guide{
  position:relative;
  align-self:stretch;
  display:grid;
  align-content:end;
  min-block-size:315px;
}
.gim-home-public .home-walkthrough__guide img{
  display:block;
  inline-size:min(100%,280px);
  max-block-size:270px;
  object-fit:cover;
  object-position:center top;
  justify-self:center;
  filter:drop-shadow(0 18px 30px rgb(0 0 0 / 26%));
}
.gim-home-public .home-walkthrough__guide p{
  margin:0;
  padding:10px 12px;
  border:1px solid rgb(255 255 255 / 12%);
  border-radius:var(--gim-radius-lg);
  background:rgb(255 255 255 / 7%);
  color:var(--gim-brand-cyan-100);
  text-align:center;
  font-size:.84rem;
  font-weight:800;
}
.gim-home-public .home-walkthrough .section-head{
  max-inline-size:760px;
  margin-inline:0;
  text-align:start;
}
.gim-home-public .home-walkthrough .section-head h2{color:#fff}
.gim-home-public .home-walkthrough .section-head .muted{color:rgb(255 255 255 / 72%)}
.gim-home-public .home-walkthrough .pill{
  border-color:rgb(255 255 255 / 14%);
  background:rgb(255 255 255 / 8%);
  color:var(--gim-brand-cyan-100);
}
.gim-home-public .home-walkthrough .steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.gim-home-public .home-walkthrough .step{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:start;
  gap:11px;
  min-block-size:148px;
  padding:16px;
  border:1px solid rgb(255 255 255 / 12%);
  border-radius:var(--gim-radius-xl);
  background:rgb(255 255 255 / 6%);
  backdrop-filter:blur(9px);
}
.gim-home-public .home-walkthrough .step-num{
  inline-size:42px;
  block-size:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:rgb(34 211 238 / 14%);
  color:var(--gim-brand-cyan-100);
  font-weight:900;
}
.gim-home-public .home-walkthrough .step h3{
  margin:0 0 6px;
  color:#fff;
  font-size:.96rem;
  line-height:1.55;
}
.gim-home-public .home-walkthrough .step p{
  margin:0;
  color:rgb(255 255 255 / 68%);
  font-size:.82rem;
  line-height:1.78;
}

/* Role section. */
.gim-home-public .home-diff .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gim-home-public .home-diff .card:first-child{
  border-color:color-mix(in srgb,var(--gim-brand-blue-500) 20%,var(--gim-color-border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--gim-brand-blue-100) 30%,#fff),#fff);
}
.gim-home-public .home-section-action{
  display:flex;
  justify-content:center;
  margin-block-start:24px;
}

/* Pricing — preserve live catalog data; only recompose presentation. */
.gim-home-public .home-cta{
  display:grid;
  grid-template-columns:minmax(330px,.74fr) minmax(0,1.26fr);
  align-items:start;
  gap:18px;
  padding-block:clamp(24px,3.5vw,44px) clamp(54px,6vw,80px);
}
.gim-home-public .home-cta .cta-copy,
.gim-home-public .home-cta .cta-panel{
  padding:clamp(22px,3vw,30px);
  border:1px solid var(--gim-color-border);
  border-radius:calc(var(--gim-radius-xl) + 5px);
  background:#fff;
  box-shadow:0 12px 30px rgb(7 17 29 / 5%);
}
.gim-home-public .home-cta .cta-copy{
  position:sticky;
  inset-block-start:92px;
  background:
    radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--gim-brand-cyan-100) 50%,transparent),transparent 34%),
    var(--gim-gradient-brand-subtle);
  border-color:color-mix(in srgb,var(--gim-brand-blue-500) 18%,var(--gim-color-border));
}
.gim-home-public .home-cta .cta-copy h2{margin:12px 0 10px}
.gim-home-public .home-cta .cta-copy .muted{
  margin:0;
  color:var(--gim-color-text-secondary);
  line-height:1.9;
}
.gim-home-public .home-cta .hero-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-block-start:20px;
}
.gim-home-public .home-cta .cta-panel{min-inline-size:0}
.gim-home-public .home-cta .pricing-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.gim-home-public .home-cta .pricing-card{
  min-inline-size:0;
  border-color:color-mix(in srgb,var(--gim-brand-navy-900) 9%,var(--gim-color-border));
  border-radius:var(--gim-radius-xl);
  background:var(--gim-color-surface-subtle);
}
.gim-home-public .home-cta .plan-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.gim-home-public .home-cta .plan-name{
  margin:0;
  color:var(--gim-color-heading);
  font-size:1rem;
}
.gim-home-public .home-cta .plan-price{
  color:var(--gim-brand-blue-700);
  font-weight:900;
}

/* Trust/FAQ-like static content; no second accordion implementation. */
.gim-home-public .home-assurance{
  display:grid;
  grid-template-columns:minmax(280px,.74fr) minmax(0,1.26fr);
  align-items:start;
  gap:clamp(30px,5vw,70px);
  padding:clamp(28px,4vw,46px);
  border:1px solid color-mix(in srgb,var(--gim-brand-teal-500) 14%,var(--gim-color-border));
  border-radius:calc(var(--gim-radius-xl) + 10px);
  background:
    radial-gradient(circle at 92% 18%,color-mix(in srgb,var(--gim-brand-teal-100) 46%,transparent),transparent 34%),
    #fff;
  box-shadow:none;
}
.gim-home-public .home-assurance__intro h2{margin:12px 0 10px}
.gim-home-public .home-assurance__intro>p:last-child{
  margin:0;
  color:var(--gim-color-text-secondary);
  line-height:1.92;
}
.gim-home-public .home-assurance__questions{
  display:grid;
  gap:0;
  border-block-start:1px solid var(--gim-color-border);
}
.gim-home-public .home-assurance__questions article{
  padding-block:16px;
  border-block-end:1px solid var(--gim-color-border);
}
.gim-home-public .home-assurance__questions h3{
  margin:0 0 6px;
  color:var(--gim-color-heading);
  font-size:.98rem;
  line-height:1.58;
}
.gim-home-public .home-assurance__questions p{
  margin:0;
  color:var(--gim-color-text-secondary);
  font-size:.86rem;
  line-height:1.82;
}

/* Final dark CTA with Jimmy, no fabricated proof or financial claim. */
.gim-home-public .home-final-cta{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(160px,205px) auto;
  align-items:center;
  gap:clamp(22px,3.5vw,44px);
  overflow:hidden;
  margin-block:clamp(42px,5.5vw,72px);
  padding:clamp(28px,4vw,46px);
  border:1px solid rgb(255 255 255 / 12%);
  border-radius:calc(var(--gim-radius-xl) + 14px);
  background:
    radial-gradient(circle at 16% 20%,rgb(34 211 238 / 15%),transparent 34%),
    radial-gradient(circle at 88% 82%,rgb(22 93 255 / 17%),transparent 38%),
    var(--gim-brand-navy-900);
  color:#fff;
  box-shadow:0 28px 62px rgb(7 17 29 / 18%);
}
.gim-home-public .home-final-cta__copy{position:relative;z-index:1}
.gim-home-public .home-final-cta h2{
  margin:12px 0 8px;
  color:#fff;
}
.gim-home-public .home-final-cta p{
  margin:0;
  color:rgb(255 255 255 / 74%);
  line-height:1.9;
}
.gim-home-public .home-final-cta .pill{
  border-color:rgb(255 255 255 / 16%);
  background:rgb(255 255 255 / 8%);
  color:var(--gim-brand-cyan-100);
}
.gim-home-public .home-final-cta__jimmy{
  align-self:end;
  block-size:190px;
  overflow:hidden;
  border:4px solid rgb(255 255 255 / 14%);
  border-radius:26px 26px 0 0;
  background:#fff;
  box-shadow:0 16px 36px rgb(0 0 0 / 18%);
}
.gim-home-public .home-final-cta__jimmy img{
  display:block;
  inline-size:100%;
  block-size:100%;
  object-fit:cover;
  object-position:center top;
}
.gim-home-public .home-final-cta .hero-ctas{
  position:relative;
  z-index:1;
  display:grid;
  gap:10px;
  min-inline-size:205px;
}
.gim-home-public .home-final-cta .btn.solid{
  background:#fff;
  color:var(--gim-brand-navy-900);
  box-shadow:none;
}
.gim-home-public .home-final-cta .btn.outline{
  border-color:rgb(255 255 255 / 28%);
  background:rgb(255 255 255 / 7%);
  color:#fff;
}

/* Accessibility: visible focus, touch size, reduced motion. */
.gim-home-public .home-v3-body :is(a,button):focus-visible{
  outline:3px solid color-mix(in srgb,var(--gim-color-focus-ring) 80%,#fff);
  outline-offset:3px;
}
@media (hover:none){
  .gim-home-public .home-v3-body .card:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .gim-home-public .home-v3-body .card{transition:none}
  .gim-home-public .home-v3-body .card:hover{transform:none}
}

/* Tablet — true reflow, not shrunken Desktop. */
@media (max-width:1024px){
  .gim-home-public .home-capabilities__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .gim-home-public .home-brand-stage{
    grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);
    gap:30px;
  }
  .gim-home-public .home-brand-stage__visual{min-block-size:420px}
  .gim-home-public .home-walkthrough__layout{
    grid-template-columns:170px minmax(0,1fr);
    gap:24px;
  }
  .gim-home-public .home-walkthrough .steps{
    grid-template-columns:1fr;
  }
  .gim-home-public .home-walkthrough .step{min-block-size:0}
  .gim-home-public .home-cta{grid-template-columns:minmax(280px,.84fr) minmax(0,1.16fr)}
  .gim-home-public .home-cta .pricing-grid{grid-template-columns:1fr}
  .gim-home-public .home-final-cta{
    grid-template-columns:minmax(0,1fr) 175px;
  }
  .gim-home-public .home-final-cta .hero-ctas{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
    inline-size:100%;
  }
}

/* Tablet portrait / Mobile — task-first order and single-column reading. */
@media (max-width:768px){
  .gim-home-public .home-v3-body :is(.home-features,.home-brand-stage,.home-personas,.home-walkthrough,.home-diff,.home-cta,.home-assurance,.home-final-cta){
    inline-size:min(100% - 28px,720px);
  }
  .gim-home-public .home-v3-heading--inline{
    grid-template-columns:1fr;
    align-items:start;
    gap:10px;
  }
  .gim-home-public .home-capabilities{padding:20px}
  .gim-home-public .home-capabilities__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gim-home-public .home-brand-stage{
    grid-template-columns:1fr;
    gap:28px;
    padding-block:48px 58px;
  }
  .gim-home-public .home-brand-stage__copy>.btn{justify-self:stretch}
  .gim-home-public .home-brand-stage__visual{min-block-size:410px}
  .gim-home-public .home-product-frame{inline-size:94%}
  .gim-home-public .home-jimmy-guide{inline-size:155px}
  .gim-home-public .home-v3-body .section-head{
    max-inline-size:620px;
  }
  .gim-home-public .home-walkthrough{padding:24px 18px}
  .gim-home-public .home-walkthrough__layout{
    grid-template-columns:1fr;
    align-items:start;
  }
  .gim-home-public .home-walkthrough__guide{
    display:none;
  }
  .gim-home-public .home-walkthrough .section-head{text-align:start}
  .gim-home-public .home-diff .card-grid{grid-template-columns:1fr}
  .gim-home-public .home-cta{
    grid-template-columns:1fr;
    gap:14px;
  }
  .gim-home-public .home-cta .cta-copy{
    position:static;
  }
  .gim-home-public .home-assurance{
    grid-template-columns:1fr;
    gap:22px;
    padding:24px 20px;
  }
  .gim-home-public .home-final-cta{
    grid-template-columns:1fr 150px;
  }
  .gim-home-public .home-final-cta__jimmy{block-size:160px}
}

/* Small mobile. */
@media (max-width:520px){
  .gim-home-public .home-v3-body{padding-block-start:6px}
  .gim-home-public .home-capabilities{
    margin-block-start:12px;
    padding:16px;
    border-radius:var(--gim-radius-xl);
  }
  .gim-home-public .home-capabilities__grid{grid-template-columns:1fr}
  .gim-home-public .home-capability{
    grid-template-columns:36px minmax(0,1fr);
    padding:13px;
  }
  .gim-home-public .home-v3-body .section-head{
    text-align:start;
  }
  .gim-home-public .home-v3-body :is(.section-head,.home-v3-heading) h2,
  .gim-home-public .home-v3-body :is(.home-brand-stage,.home-assurance,.home-final-cta,.home-cta) h2{
    font-size:clamp(1.48rem,7.6vw,1.9rem);
  }
  .gim-home-public .home-brand-stage__visual{min-block-size:318px}
  .gim-home-public .home-product-frame{inline-size:100%}
  .gim-home-public .home-product-frame figcaption{display:none}
  .gim-home-public .home-jimmy-guide{
    inline-size:118px;
    border-width:3px;
    border-radius:19px;
  }
  .gim-home-public .home-jimmy-guide figcaption{display:none}
  .gim-home-public .home-personas .card-grid{grid-template-columns:1fr}
  .gim-home-public .home-walkthrough .step{
    grid-template-columns:40px minmax(0,1fr);
    padding:14px;
  }
  .gim-home-public .home-cta .hero-ctas{
    display:grid;
    grid-template-columns:1fr;
  }
  .gim-home-public .home-final-cta{
    grid-template-columns:1fr;
    padding:24px 18px 20px;
  }
  .gim-home-public .home-final-cta__jimmy{
    order:2;
    inline-size:136px;
    block-size:148px;
    justify-self:center;
  }
  .gim-home-public .home-final-cta .hero-ctas{
    order:3;
    grid-column:auto;
    grid-template-columns:1fr;
    min-inline-size:0;
  }
}



/* Public Pricing — canonical visual composition.
 * The pricing renderer/data contract stays unchanged. This layer reproduces
 * the approved light, soft, sport-neutral visual DNA without new UI systems.
 */
.gim-pricing-page{
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--gim-color-primary-subtle) 30%,var(--gim-bg)) 0,
      var(--gim-bg) 540px,
      color-mix(in srgb,var(--gim-surface-2) 76%,var(--gim-bg)) 100%);
}
.gim-pricing-v2{
  display:grid;
  gap:clamp(28px,3vw,44px);
  min-inline-size:0;
  max-inline-size:1220px;
  margin-inline:auto;
  padding:clamp(22px,3vw,42px) clamp(14px,2.5vw,28px) 52px;
}
.gim-pricing-v2 .gim-icon{
  inline-size:var(--gim-icon-md);
  block-size:var(--gim-icon-md);
  flex:0 0 auto;
}
.gim-pricing-stage{
  position:relative;
  isolation:isolate;
  display:grid;
  gap:22px;
  padding:34px 28px 24px;
  border:0;
  border-radius:calc(var(--gim-radius-lg) + 8px);
  background:
    radial-gradient(circle at 6% 12%,color-mix(in srgb,var(--gim-color-primary) 10%,transparent) 0 7%,transparent 24%),
    radial-gradient(circle at 94% 10%,color-mix(in srgb,var(--gim-green-500) 9%,transparent) 0 8%,transparent 25%),
    linear-gradient(180deg,
      color-mix(in srgb,var(--gim-color-primary-subtle) 44%,var(--gim-surface)) 0%,
      color-mix(in srgb,var(--gim-surface) 94%,transparent) 42%,
      var(--gim-surface) 100%);
  box-shadow:0 18px 44px color-mix(in srgb,var(--gim-color-primary) 8%,transparent);
  overflow:hidden;
}
.gim-pricing-sports{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
}
.gim-pricing-sport{
  position:absolute;
  display:grid;
  place-items:center;
  color:var(--gim-color-primary);
  opacity:.10;
}
.gim-pricing-sport .gim-icon{inline-size:100%;block-size:100%;stroke-width:1.35;}
.gim-pricing-sport--ball{
  inline-size:118px;
  block-size:118px;
  inset-inline-end:-24px;
  inset-block-start:76px;
  transform:rotate(-11deg);
}
.gim-pricing-sport--racket{
  inline-size:142px;
  block-size:142px;
  inset-inline-start:-26px;
  inset-block-start:58px;
  color:var(--gim-purple-500);
  transform:rotate(7deg);
}
.gim-pricing-sport--court{
  inline-size:78px;
  block-size:78px;
  inset-inline-start:72px;
  inset-block-end:34px;
  color:var(--gim-green-500);
  opacity:.08;
}
.gim-pricing-v2 .pricing-hero{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  gap:7px;
  max-inline-size:720px;
  margin-inline:auto;
  text-align:center;
}
.gim-pricing-v2 .pricing-hero h1{
  margin:0;
  color:var(--gim-text-primary);
  font-size:clamp(2rem,3vw,2.65rem);
  font-weight:var(--gim-font-weight-bold);
  line-height:1.25;
  letter-spacing:-.02em;
}
.gim-pricing-v2 .pricing-hero .pricing-sub{
  margin:0;
  color:var(--gim-text-secondary);
  font-size:1rem;
  line-height:1.8;
}

/* Duration selector */
.gim-pricing-duration{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  align-items:center;
  min-inline-size:0;
  margin-block:2px 4px;
}
.gim-pricing-segments{
  display:grid;
  grid-template-columns:repeat(4,minmax(110px,1fr));
  gap:0;
  inline-size:min(100%,560px);
  padding:4px;
  border:1px solid color-mix(in srgb,var(--gim-color-primary) 13%,var(--gim-border));
  border-radius:13px;
  background:color-mix(in srgb,var(--gim-surface) 96%,transparent);
  box-shadow:0 8px 20px color-mix(in srgb,var(--gim-color-primary) 7%,transparent);
}
.gim-pricing-segments button,
.gim-pricing-tabs button{
  position:relative;
  min-block-size:44px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--gim-text-secondary);
  font:inherit;
  font-weight:var(--gim-font-weight-semibold);
  cursor:pointer;
  padding:8px 12px;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease;
}
.gim-pricing-segments button+button{
  border-inline-start-color:color-mix(in srgb,var(--gim-border) 72%,transparent);
}
.gim-pricing-segments button small{
  position:absolute;
  inset-inline-start:50%;
  inset-block-start:calc(100% + 7px);
  transform:translateX(50%);
  z-index:3;
  display:block;
  inline-size:max-content;
  max-inline-size:155px;
  padding:4px 10px;
  border:1px solid color-mix(in srgb,var(--gim-green-500) 30%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--gim-green-100) 88%,var(--gim-surface));
  color:var(--gim-green-600);
  font-size:var(--gim-font-xs);
  font-weight:var(--gim-font-weight-semibold);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.gim-pricing-segments button.is-active{
  z-index:1;
  border-color:var(--gim-color-primary);
  background:linear-gradient(180deg,color-mix(in srgb,var(--gim-color-primary) 90%,var(--gim-surface)),var(--gim-color-primary));
  color:var(--gim-color-on-primary);
  box-shadow:0 5px 14px color-mix(in srgb,var(--gim-color-primary) 27%,transparent);
}
.gim-pricing-segments button.is-active small{opacity:1;visibility:visible;}
.gim-pricing-segments button:focus-visible,
.gim-pricing-tabs button:focus-visible{
  outline:3px solid var(--gim-color-focus-ring);
  outline-offset:2px;
}

/* Plans */
.gim-pricing-v2 .pricing-plans{position:relative;z-index:1;margin-block-start:10px;}
.gim-pricing-v2 .pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.gim-pricing-v2 .pricing-card{
  --pricing-tier-accent:var(--gim-color-primary);
  --pricing-tier-soft:var(--gim-color-primary-subtle);
  position:relative;
  display:flex;
  flex-direction:column;
  gap:13px;
  min-inline-size:0;
  min-block-size:100%;
  padding:24px 22px 18px;
  border:1px solid color-mix(in srgb,var(--pricing-tier-accent) 18%,var(--gim-border));
  border-radius:15px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--pricing-tier-soft) 56%,var(--gim-surface)) 0%,
      color-mix(in srgb,var(--gim-surface) 98%,transparent) 36%,
      var(--gim-surface) 100%);
  box-shadow:0 12px 28px color-mix(in srgb,var(--gim-color-primary) 7%,transparent);
}
.gim-pricing-v2 .pricing-card--basic,
.gim-pricing-v2 .pricing-card--base{
  --pricing-tier-accent:var(--gim-green-500);
  --pricing-tier-soft:var(--gim-green-100);
}
.gim-pricing-v2 .pricing-card--plus{
  --pricing-tier-accent:var(--gim-color-primary);
  --pricing-tier-soft:var(--gim-color-primary-subtle);
}
.gim-pricing-v2 .pricing-card--pro{
  --pricing-tier-accent:var(--gim-purple-500);
  --pricing-tier-soft:var(--gim-purple-100);
}
.gim-pricing-v2 .pricing-card.is-recommended{
  border:1.5px solid var(--gim-color-primary);
  box-shadow:0 16px 34px color-mix(in srgb,var(--gim-color-primary) 17%,transparent);
  transform:translateY(-3px);
}
.gim-pricing-badge--recommended{
  position:absolute;
  inset-block-start:0;
  inset-inline-start:50%;
  transform:translate(50%,-50%);
  z-index:2;
  min-block-size:28px;
  padding:5px 15px;
  border:1px solid color-mix(in srgb,var(--gim-color-primary) 84%,var(--gim-surface));
  border-radius:999px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--gim-color-primary) 88%,var(--gim-surface)),var(--gim-color-primary));
  color:var(--gim-color-on-primary);
  font-size:var(--gim-font-xs);
  font-weight:var(--gim-font-weight-semibold);
  box-shadow:0 6px 16px color-mix(in srgb,var(--gim-color-primary) 24%,transparent);
  white-space:nowrap;
}
.gim-pricing-v2 .plan-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  min-block-size:72px;
  text-align:center;
}
.gim-pricing-v2 .plan-heading>div{min-inline-size:0;}
.gim-pricing-v2 .plan-icon{
  display:inline-grid;
  place-items:center;
  inline-size:30px;
  block-size:30px;
  color:var(--pricing-tier-accent);
}
.gim-pricing-v2 .plan-icon .gim-icon{inline-size:25px;block-size:25px;stroke-width:2;}
.gim-pricing-v2 .plan-name{
  margin:0;
  color:var(--gim-text-primary);
  font-size:1.34rem;
  line-height:1.25;
}
.gim-pricing-v2 .plan-audience{
  margin:5px 0 0;
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-sm);
  line-height:1.6;
}
.gim-pricing-v2 .plan-price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:7px;
  flex-wrap:wrap;
  color:var(--gim-text-primary);
  text-align:center;
  unicode-bidi:isolate;
}
.gim-pricing-v2 .plan-price strong{
  color:var(--pricing-tier-accent);
  font-size:clamp(1.65rem,2.45vw,2.15rem);
  font-weight:800;
  letter-spacing:-.025em;
  white-space:nowrap;
}
.gim-pricing-v2 .plan-price span{
  color:var(--gim-text-primary);
  font-size:var(--gim-font-sm);
  font-weight:var(--gim-font-weight-semibold);
}
.gim-pricing-capacity{
  margin:0;
  color:var(--gim-text-primary);
  font-size:1rem;
  text-align:center;
}
.gim-pricing-plan-core{
  display:grid;
  gap:7px;
  margin:2px 0 0;
  padding:14px 4px 0;
  border-block-start:1px solid color-mix(in srgb,var(--pricing-tier-accent) 12%,var(--gim-border));
  list-style:none;
}
.gim-pricing-plan-core li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-sm);
  line-height:1.55;
}
.gim-pricing-plan-core li .gim-icon{
  margin-block-start:2px;
  inline-size:16px;
  block-size:16px;
  color:color-mix(in srgb,var(--gim-green-500) 85%,var(--gim-text-primary));
}
.gim-pricing-period-summary{
  display:grid;
  gap:4px;
  margin-block-start:auto;
  padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--pricing-tier-accent) 10%,var(--gim-border));
  border-radius:10px;
  background:color-mix(in srgb,var(--pricing-tier-soft) 25%,var(--gim-surface));
}
.gim-pricing-period-summary>span{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:var(--gim-space-2);
}
.gim-pricing-period-summary>span small,
.gim-pricing-period-summary>small{color:var(--gim-text-secondary);font-size:var(--gim-font-xs);}
.gim-pricing-period-summary strong{color:var(--gim-text-primary);white-space:nowrap;font-size:var(--gim-font-sm);}
.gim-pricing-period-summary .gim-pricing-discount{color:var(--gim-green-600);font-weight:var(--gim-font-weight-semibold);}
.gim-pricing-v2 .pricing-card>.btn{
  inline-size:100%;
  min-block-size:42px;
  justify-content:center;
  margin-block-start:1px;
  border-radius:10px;
}
.gim-pricing-v2 .pricing-card:not(.is-recommended)>.btn{
  background:color-mix(in srgb,var(--pricing-tier-soft) 72%,var(--gim-surface));
  border-color:color-mix(in srgb,var(--pricing-tier-accent) 20%,var(--gim-border));
  color:var(--pricing-tier-accent);
}
.gim-pricing-v2 .pricing-card--basic>.btn,
.gim-pricing-v2 .pricing-card--base>.btn{
  background:color-mix(in srgb,var(--gim-green-100) 78%,var(--gim-surface));
}
.gim-pricing-v2 .pricing-card--pro>.btn{
  background:color-mix(in srgb,var(--gim-purple-100) 78%,var(--gim-surface));
}
.gim-pricing-demo{
  display:grid;
  place-items:center;
  gap:5px;
  margin-block-start:-2px;
  text-align:center;
}
.gim-pricing-demo .btn{
  min-inline-size:220px;
  justify-content:center;
  border-color:color-mix(in srgb,var(--gim-color-primary) 42%,var(--gim-border));
  color:var(--gim-color-primary);
  background:color-mix(in srgb,var(--gim-surface) 92%,transparent);
}
.gim-pricing-demo p{
  margin:0;
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-xs);
}

/* Modules — exactly one tabpanel is visible at a time. */
.gim-pricing-modules{
  display:grid;
  gap:14px;
  min-inline-size:0;
}
.gim-pricing-section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:var(--gim-space-4);
}
.gim-pricing-section-head h2{
  margin:0 0 5px;
  color:var(--gim-text-primary);
  font-size:clamp(1.55rem,2.2vw,1.95rem);
}
.gim-pricing-section-head p{
  margin:0;
  color:var(--gim-text-secondary);
  line-height:1.75;
}
.gim-pricing-section-head--center{justify-content:center;text-align:center;}
.gim-pricing-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:3px;
  inline-size:min(100%,620px);
  margin-inline:auto;
  padding:4px;
  border:1px solid color-mix(in srgb,var(--gim-color-primary) 12%,var(--gim-border));
  border-radius:11px;
  background:var(--gim-surface);
  box-shadow:0 7px 18px color-mix(in srgb,var(--gim-color-primary) 6%,transparent);
}
.gim-pricing-tabs button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-inline-size:0;
}
.gim-pricing-tabs button.is-active{
  border-color:var(--gim-color-primary);
  background:linear-gradient(180deg,color-mix(in srgb,var(--gim-color-primary) 90%,var(--gim-surface)),var(--gim-color-primary));
  color:var(--gim-color-on-primary);
  box-shadow:0 5px 13px color-mix(in srgb,var(--gim-color-primary) 22%,transparent);
}
.gim-pricing-module-panel{
  display:grid;
  gap:12px;
  min-inline-size:0;
}
.gim-pricing-module-panel[hidden]{display:none!important;}
.gim-pricing-module-workspace{
  display:grid;
  grid-template-columns:minmax(250px,.82fr) minmax(0,2fr);
  grid-template-areas:"common table";
  gap:12px;
  align-items:stretch;
  min-inline-size:0;
}
.gim-pricing-common{
  grid-area:common;
  display:grid;
  align-content:start;
  gap:14px;
  min-inline-size:0;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--gim-color-primary) 10%,var(--gim-border));
  border-radius:13px;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--gim-color-primary-subtle) 30%,var(--gim-surface)) 0%,var(--gim-surface) 48%);
  box-shadow:0 9px 22px color-mix(in srgb,var(--gim-color-primary) 6%,transparent);
}
.gim-pricing-common-title{display:flex;align-items:center;gap:9px;}
.gim-pricing-common-title h3{margin:0;color:var(--gim-text-primary);font-size:1.04rem;}
.gim-pricing-status-icon{
  display:inline-grid;
  place-items:center;
  inline-size:28px;
  block-size:28px;
  flex:0 0 28px;
  border-radius:8px;
  background:color-mix(in srgb,var(--gim-green-100) 86%,var(--gim-surface));
  color:var(--gim-green-600);
}
.gim-pricing-status-icon .gim-icon{inline-size:16px;block-size:16px;}
.gim-pricing-common ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.gim-pricing-common li{
  position:relative;
  padding-inline-start:15px;
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-sm);
  line-height:1.55;
}
.gim-pricing-common li::before{
  content:"";
  position:absolute;
  inset-inline-start:1px;
  inset-block-start:.72em;
  inline-size:5px;
  block-size:5px;
  border-radius:50%;
  background:var(--gim-color-primary);
}
.gim-pricing-module-table-wrap{
  grid-area:table;
  min-inline-size:0;
}
.gim-pricing-module-table{
  inline-size:100%;
  block-size:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid color-mix(in srgb,var(--gim-color-primary) 11%,var(--gim-border));
  border-radius:13px;
  overflow:hidden;
  background:var(--gim-surface);
  box-shadow:0 9px 22px color-mix(in srgb,var(--gim-color-primary) 6%,transparent);
}
.gim-pricing-module-table :is(th,td){
  padding:11px 13px;
  border-block-end:1px solid color-mix(in srgb,var(--gim-border) 82%,transparent);
  text-align:center;
  vertical-align:middle;
}
.gim-pricing-module-table th:first-child{text-align:start;}
.gim-pricing-module-table thead th{
  background:color-mix(in srgb,var(--gim-color-primary-subtle) 31%,var(--gim-surface-2));
  color:var(--gim-text-primary);
  font-weight:var(--gim-font-weight-semibold);
}
.gim-pricing-module-table thead th:nth-child(3){
  background:color-mix(in srgb,var(--gim-color-primary-subtle) 62%,var(--gim-surface));
}
.gim-pricing-module-table thead th:nth-child(4){
  background:color-mix(in srgb,var(--gim-purple-100) 56%,var(--gim-surface));
}
.gim-pricing-module-table thead small{
  display:block;
  margin-block-start:4px;
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-xs);
  font-weight:400;
  white-space:normal;
}
.gim-pricing-module-table tbody tr:last-child :is(th,td){border-block-end:0;}
.gim-pricing-module-table tbody tr:hover{
  background:color-mix(in srgb,var(--gim-color-primary-subtle) 28%,transparent);
}
.gim-pricing-module-table .is-available{
  color:var(--gim-green-600);
  font-size:1.05rem;
  font-weight:var(--gim-font-weight-bold);
}
.gim-pricing-module-table .is-unavailable{color:var(--gim-text-tertiary,var(--gim-text-secondary));}
.gim-pricing-module-mobile{display:none;}
.gim-pricing-policy{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0;
  padding:11px 14px;
  border:1px solid color-mix(in srgb,var(--gim-color-primary) 14%,var(--gim-border));
  border-radius:10px;
  background:color-mix(in srgb,var(--gim-color-primary-subtle) 25%,var(--gim-surface));
  color:var(--gim-text-secondary);
  font-size:var(--gim-font-sm);
  line-height:1.65;
}
.gim-pricing-policy strong{color:var(--gim-text-primary);}
.gim-pricing-policy span{display:block;}

/* restrained motion */
@media (prefers-reduced-motion:reduce){
  .gim-pricing-segments button,
  .gim-pricing-tabs button{transition:none;}
  .gim-pricing-v2 .pricing-card.is-recommended{transform:none;}
}

@media (max-width:1024px){
  .gim-pricing-v2{padding-inline:20px;}
  .gim-pricing-stage{padding:30px 20px 22px;}
  .gim-pricing-v2 .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gim-pricing-v2 .pricing-card.is-recommended{transform:none;}
}
@media (min-width:900px) and (max-width:1024px){
  .gim-pricing-v2 .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .gim-pricing-v2 .pricing-card{padding-inline:16px;}
  .gim-pricing-v2 .plan-price strong{font-size:1.5rem;}
}
@media (max-width:899px){
  .gim-pricing-module-workspace{
    grid-template-columns:1fr;
    grid-template-areas:"common" "table";
  }
  .gim-pricing-common ul{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  .gim-pricing-v2{
    gap:28px;
    padding-inline:12px;
    padding-block-start:14px;
  }
  .gim-pricing-stage{
    gap:17px;
    padding:25px 12px 18px;
    border-radius:16px;
  }
  .gim-pricing-sport--racket{inline-size:92px;block-size:92px;inset-inline-start:-34px;inset-block-start:62px;}
  .gim-pricing-sport--ball{inline-size:78px;block-size:78px;inset-inline-end:-26px;inset-block-start:92px;}
  .gim-pricing-sport--court{display:none;}
  .gim-pricing-v2 .pricing-hero h1{font-size:1.9rem;}
  .gim-pricing-v2 .pricing-hero .pricing-sub{font-size:var(--gim-font-sm);}
  .gim-pricing-segments{
    grid-template-columns:repeat(4,minmax(0,1fr));
    inline-size:100%;
  }
  .gim-pricing-segments button{padding-inline:5px;font-size:var(--gim-font-sm);}
  .gim-pricing-v2 .pricing-grid{display:flex;flex-direction:column;}
  .gim-pricing-v2 .pricing-card{padding:21px 16px 16px;}
  .gim-pricing-v2 .plan-price strong{font-size:1.65rem;}
  .gim-pricing-demo .btn{min-inline-size:0;inline-size:100%;max-inline-size:320px;}
  .gim-pricing-section-head{align-items:start;}
  .gim-pricing-tabs{inline-size:100%;}
  .gim-pricing-tabs button{padding-inline:5px;font-size:var(--gim-font-sm);}
  .gim-pricing-tabs button .gim-icon{inline-size:17px;block-size:17px;}
  .gim-pricing-module-workspace{display:block;}
  .gim-pricing-common{
    margin-block-end:10px;
    padding:14px;
  }
  .gim-pricing-common ul{grid-template-columns:1fr;}
  .gim-pricing-module-table-wrap{display:none;}
  .gim-pricing-module-mobile{display:grid;gap:8px;}
  .gim-pricing-module-mobile details{
    border:1px solid color-mix(in srgb,var(--gim-color-primary) 11%,var(--gim-border));
    border-radius:11px;
    background:var(--gim-surface);
    overflow:hidden;
    box-shadow:0 6px 15px color-mix(in srgb,var(--gim-color-primary) 5%,transparent);
  }
  .gim-pricing-module-mobile summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:9px;
    min-block-size:48px;
    padding:11px 13px;
    cursor:pointer;
    list-style:none;
  }
  .gim-pricing-module-mobile summary::-webkit-details-marker{display:none;}
  .gim-pricing-module-mobile summary>span:first-child{display:grid;gap:2px;}
  .gim-pricing-module-mobile summary small{color:var(--gim-text-secondary);font-weight:400;}
  .gim-pricing-mobile-price{color:var(--gim-color-primary);font-size:var(--gim-font-sm);white-space:nowrap;}
  .gim-pricing-module-mobile details ul{
    display:grid;
    gap:7px;
    margin:0;
    padding:0 30px 13px 13px;
    color:var(--gim-text-secondary);
  }
  .gim-pricing-policy{display:grid;}
}
@media (max-width:430px){
  .gim-pricing-v2{padding-inline:8px;}
  .gim-pricing-stage{padding-inline:9px;}
  .gim-pricing-segments{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .gim-pricing-segments button{
    min-block-size:42px;
    padding-inline:3px;
    font-size:11.5px;
  }
  .gim-pricing-segments button small{
    max-inline-size:110px;
    font-size:10.5px;
  }
  .gim-pricing-tabs button{font-size:12px;}
  .gim-pricing-tabs button .gim-icon{display:none;}
}


/* Canonical public pricing route shell.
   Elementor owns the pricing page composition; legacy pricing selectors are
   intentionally not applied because /pricing/ no longer uses .gim-pricing-page. */
.gim-elementor-pricing-page{
  inline-size:100%;
  max-inline-size:none;
  min-block-size:100vh;
  margin:0;
  padding:0;
  overflow-x:clip;
  background:transparent;
}
.gim-elementor-pricing-page > .elementor{
  inline-size:100%;
  max-inline-size:none;
  margin:0;
  padding:0;
}
