/* ============================================================
   jb99.homes — mobile-first base stylesheet
   Prefix: uifcd53-  |  Canvas: 320–430px  |  Literal BP: 430
   Palette: #2D2D2D bg / #006400 deep / #00FF7F spring / #8FBC8F mist
   ============================================================ */

/* ---------- Design tokens ---------- */
:root{
  --uifcd53-bg:#2D2D2D;
  --uifcd53-bg-soft:#34352f;
  --uifcd53-surface:#1f201b;
  --uifcd53-surface-2:#2a2b25;
  --uifcd53-line:#3c3d35;
  --uifcd53-deep:#006400;
  --uifcd53-deep-2:#0b8a0b;
  --uifcd53-spring:#00FF7F;
  --uifcd53-mist:#8FBC8F;
  --uifcd53-text:#f4f6f1;
  --uifcd53-text-soft:#c7cdc0;
  --uifcd53-text-dim:#8d9484;
  --uifcd53-warning:#ffd24a;
  --uifcd53-danger:#ff6b6b;
  --uifcd53-radius-xl:18px;
  --uifcd53-radius-lg:14px;
  --uifcd53-radius-md:10px;
  --uifcd53-radius-sm:7px;
  --uifcd53-radius-pill:999px;
  --uifcd53-shadow-1:0 6px 18px rgba(0,0,0,.28);
  --uifcd53-shadow-2:0 12px 32px rgba(0,0,0,.42);
  --uifcd53-gap:14px;
  --uifcd53-inline:max(16px,calc((100% - 430px)/2 + 16px));
  --uifcd53-tap:44px;
  --uifcd53-font-display:"Hind Siliguri","Noto Sans Bengali","Segoe UI",system-ui,sans-serif;
  --uifcd53-font-body:"Hind Siliguri","Noto Sans Bengali","Segoe UI",system-ui,sans-serif;
}

/* ---------- Reset ---------- */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:74px;
}
body{
  background:var(--uifcd53-bg);
  color:var(--uifcd53-text);
  font-family:var(--uifcd53-font-body);
  font-size:15px;
  line-height:1.65;
  font-weight:400;
  word-break:break-word;
  overflow-wrap:break-word;
  min-height:100vh;
  position:relative;
}
img{max-width:100%;display:block;border:0;}
a{color:var(--uifcd53-spring);text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}
ul,ol{list-style:none;}
input,select,textarea{font-family:inherit;font-size:15px;}
:focus-visible{outline:2px solid var(--uifcd53-spring);outline-offset:2px;border-radius:6px;}

/* ---------- Phone-canvas frame ---------- */
.uifcd53-page{
  width:100%;
  max-width:430px;
  margin:0 auto;
  background:
    radial-gradient(120% 60% at 50% 0%,rgba(0,255,127,.07) 0%,transparent 60%),
    linear-gradient(180deg,#2D2D2D 0%,#262722 100%);
  min-height:100vh;
  position:relative;
  box-shadow:var(--uifcd53-shadow-2);
  overflow:hidden;
}

/* ---------- Top bar ---------- */
.uifcd53-top{
  position:sticky;
  top:0;
  z-index:60;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px var(--uifcd53-inline);
  height:60px;
  background:linear-gradient(180deg,rgba(0,100,0,.92),rgba(0,80,0,.92));
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid rgba(0,255,127,.18);
}
.uifcd53-brand{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  flex:1;
}
.uifcd53-logo{
  width:38px;
  height:38px;
  border-radius:10px;
  object-fit:cover;
  border:1.5px solid rgba(0,255,127,.45);
  box-shadow:0 0 0 3px rgba(0,0,0,.18);
  background:#000;
  flex:none;
}
.uifcd53-brand-name{
  font-family:var(--uifcd53-font-display);
  font-weight:700;
  font-size:21px;
  letter-spacing:.4px;
  color:#fff;
  line-height:1;
}
.uifcd53-brand-name b{color:var(--uifcd53-spring);}

.uifcd53-top-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex:none;
}
.uifcd53-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:var(--uifcd53-tap);
  padding:9px 14px;
  border-radius:var(--uifcd53-radius-md);
  font-weight:600;
  font-size:13.5px;
  line-height:1;
  transition:transform .14s ease,background .2s ease,box-shadow .2s ease;
}
.uifcd53-btn:active{transform:translateY(1px);}
.uifcd53-btn--login{
  background:transparent;
  color:var(--uifcd53-text);
  border:1px solid rgba(143,188,143,.55);
}
.uifcd53-btn--register{
  background:linear-gradient(135deg,var(--uifcd53-spring),#3aff95);
  color:#06360f;
  box-shadow:0 4px 14px rgba(0,255,127,.28);
  font-weight:700;
}
.uifcd53-btn--ghost{
  background:rgba(255,255,255,.06);
  color:var(--uifcd53-text);
  border:1px solid var(--uifcd53-line);
}
.uifcd53-btn--spring{
  background:linear-gradient(135deg,var(--uifcd53-spring),#3aff95);
  color:#06360f;
  font-weight:700;
}
.uifcd53-btn--deep{
  background:linear-gradient(135deg,var(--uifcd53-deep),var(--uifcd53-deep-2));
  color:#fff;
}
.uifcd53-btn--block{width:100%;}

.uifcd53-menu-btn{
  width:var(--uifcd53-tap);
  height:var(--uifcd53-tap);
  border-radius:var(--uifcd53-radius-md);
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(143,188,143,.32);
  color:var(--uifcd53-text);
}
.uifcd53-menu-btn span{
  display:block;
  width:18px;
  height:2px;
  background:currentColor;
  border-radius:2px;
  position:relative;
}
.uifcd53-menu-btn span::before,
.uifcd53-menu-btn span::after{
  content:"";
  position:absolute;
  left:0;
  width:18px;
  height:2px;
  background:currentColor;
  border-radius:2px;
}
.uifcd53-menu-btn span::before{top:-6px;}
.uifcd53-menu-btn span::after{top:6px;}

/* ---------- Side drawer ---------- */
.uifcd53-scrim{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
  z-index:70;
}
.uifcd53-scrim.is-open{opacity:1;visibility:visible;}
.uifcd53-drawer{
  position:fixed;
  top:0;
  right:0;
  height:100%;
  width:84%;
  max-width:320px;
  background:linear-gradient(180deg,#20211c,#171814);
  border-left:1px solid var(--uifcd53-line);
  transform:translateX(105%);
  transition:transform .28s cubic-bezier(.2,.7,.25,1);
  z-index:80;
  display:flex;
  flex-direction:column;
  box-shadow:var(--uifcd53-shadow-2);
}
.uifcd53-drawer.is-open{transform:translateX(0);}
.uifcd53-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid var(--uifcd53-line);
  background:rgba(0,100,0,.18);
}
.uifcd53-drawer-head .uifcd53-brand-name{font-size:19px;}
.uifcd53-drawer-close{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.06);
  color:var(--uifcd53-text);
  font-size:20px;
  line-height:1;
}
.uifcd53-drawer-body{
  padding:8px 12px 24px;
  overflow-y:auto;
  flex:1;
}
.uifcd53-drawer-section{
  padding:12px 6px 6px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--uifcd53-text-dim);
}
.uifcd53-drawer-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 10px;
  border-radius:10px;
  color:var(--uifcd53-text);
  font-size:14.5px;
  font-weight:500;
  border:1px solid transparent;
  transition:background .18s ease,border-color .18s ease;
}
.uifcd53-drawer-link:hover,
.uifcd53-drawer-link:focus-visible{
  background:rgba(0,255,127,.08);
  border-color:rgba(0,255,127,.22);
}
.uifcd53-drawer-link .uifcd53-ico{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:8px;
  background:rgba(0,100,0,.32);
  color:var(--uifcd53-spring);
  flex:none;
  font-size:15px;
}
.uifcd53-drawer-cta{
  display:flex;
  gap:8px;
  padding:14px 6px 6px;
}
.uifcd53-drawer-cta .uifcd53-btn{flex:1;}

/* ---------- Main / sections ---------- */
.uifcd53-main{
  padding:14px var(--uifcd53-inline) 110px;
  position:relative;
  z-index:1;
}
.uifcd53-section{margin-top:26px;}
.uifcd53-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 2px 12px;
}
.uifcd53-eyebrow{
  display:inline-block;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--uifcd53-spring);
  margin-bottom:6px;
  font-weight:600;
}
.uifcd53-h2{
  font-family:var(--uifcd53-font-display);
  font-size:21px;
  font-weight:700;
  line-height:1.3;
  color:var(--uifcd53-text);
  letter-spacing:.2px;
}
.uifcd53-h2 .uifcd53-accent{color:var(--uifcd53-spring);}
.uifcd53-h3{
  font-size:16px;
  font-weight:700;
  color:var(--uifcd53-text);
  margin-bottom:6px;
  line-height:1.4;
}
.uifcd53-more{
  font-size:12.5px;
  color:var(--uifcd53-mist);
  white-space:nowrap;
  border:1px solid var(--uifcd53-line);
  padding:6px 10px;
  border-radius:var(--uifcd53-radius-pill);
}

/* ---------- Carousel ---------- */
.uifcd53-carousel{
  position:relative;
  border-radius:var(--uifcd53-radius-xl);
  overflow:hidden;
  box-shadow:var(--uifcd53-shadow-1);
  margin:2px 0 4px;
}
.uifcd53-carousel-track{
  display:flex;
  transition:transform .42s cubic-bezier(.2,.7,.2,1);
  will-change:transform;
}
.uifcd53-slide{
  flex:0 0 100%;
  position:relative;
}
.uifcd53-slide img{
  width:100%;
  height:190px;
  object-fit:cover;
}
.uifcd53-slide-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.72) 100%);
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
}
.uifcd53-slide-tag{
  align-self:flex-start;
  background:rgba(0,255,127,.92);
  color:#06360f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  padding:4px 9px;
  border-radius:var(--uifcd53-radius-pill);
  margin-bottom:8px;
}
.uifcd53-slide-title{
  font-family:var(--uifcd53-font-display);
  font-size:19px;
  font-weight:700;
  line-height:1.25;
  margin-bottom:4px;
}
.uifcd53-slide-sub{
  font-size:12.5px;
  color:#e7efe2;
  margin-bottom:10px;
}
.uifcd53-slide-cta{
  align-self:flex-start;
  background:var(--uifcd53-spring);
  color:#06360f;
  font-weight:700;
  font-size:13px;
  padding:8px 16px;
  border-radius:var(--uifcd53-radius-pill);
  min-height:var(--uifcd53-tap);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.uifcd53-dots{
  position:absolute;
  bottom:10px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:6px;
  z-index:3;
}
.uifcd53-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:rgba(255,255,255,.45);
  border:0;
  padding:0;
  transition:all .2s ease;
}
.uifcd53-dot.is-active{
  width:18px;
  border-radius:4px;
  background:var(--uifcd53-spring);
}

/* ---------- Lead / intro ---------- */
.uifcd53-lead{
  background:linear-gradient(135deg,rgba(0,100,0,.32),rgba(0,255,127,.06));
  border:1px solid rgba(0,255,127,.18);
  border-radius:var(--uifcd53-radius-lg);
  padding:16px;
  margin-top:18px;
}
.uifcd53-lead p{
  font-size:14.5px;
  color:var(--uifcd53-text-soft);
}
.uifcd53-lead p + p{margin-top:8px;}
.uifcd53-lead strong{color:var(--uifcd53-spring);font-weight:700;}

/* ---------- Game grids ---------- */
.uifcd53-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.uifcd53-card{
  position:relative;
  border-radius:var(--uifcd53-radius-md);
  background:var(--uifcd53-surface);
  border:1px solid var(--uifcd53-line);
  overflow:hidden;
  transition:transform .16s ease,border-color .2s ease,box-shadow .2s ease;
  cursor:pointer;
  display:block;
  color:var(--uifcd53-text);
  -webkit-user-select:none;
  user-select:none;
}
.uifcd53-card:hover,
.uifcd53-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(0,255,127,.4);
  box-shadow:0 8px 18px rgba(0,255,127,.1);
}
.uifcd53-card-media{
  position:relative;
  aspect-ratio:1/1;
  background:#000;
  overflow:hidden;
}
.uifcd53-card-media img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.uifcd53-card:hover .uifcd53-card-media img{transform:scale(1.06);}
.uifcd53-card-badge{
  position:absolute;
  top:4px;left:4px;
  background:rgba(0,100,0,.9);
  color:var(--uifcd53-spring);
  font-size:9.5px;
  font-weight:700;
  padding:2px 6px;
  border-radius:var(--uifcd53-radius-pill);
  letter-spacing:.04em;
}
.uifcd53-card-badge--hot{background:rgba(255,107,107,.92);color:#fff;}
.uifcd53-card-name{
  padding:6px 6px 7px;
  font-size:11.5px;
  font-weight:600;
  line-height:1.25;
  text-align:center;
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--uifcd53-text);
  background:var(--uifcd53-surface);
}
.uifcd53-card-name small{
  display:block;
  font-size:9.5px;
  color:var(--uifcd53-text-dim);
  font-weight:500;
  margin-top:1px;
}

/* ---------- Category header variants ---------- */
.uifcd53-cat-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:var(--uifcd53-radius-lg);
  background:linear-gradient(90deg,rgba(0,100,0,.45),rgba(0,100,0,.06));
  border:1px solid rgba(0,255,127,.16);
  margin-bottom:12px;
}
.uifcd53-cat-ico{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:9px;
  background:rgba(0,255,127,.18);
  color:var(--uifcd53-spring);
  font-size:17px;
  flex:none;
}
.uifcd53-cat-title{
  font-family:var(--uifcd53-font-display);
  font-size:17px;
  font-weight:700;
  color:#fff;
  flex:1;
  line-height:1.2;
}
.uifcd53-cat-title small{
  display:block;
  font-size:10.5px;
  font-weight:500;
  color:var(--uifcd53-mist);
  margin-top:1px;
}

/* ---------- Stripes / rows ---------- */
.uifcd53-row{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.uifcd53-row-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 12px;
  border-radius:var(--uifcd53-radius-md);
  background:var(--uifcd53-surface);
  border:1px solid var(--uifcd53-line);
  color:var(--uifcd53-text);
  transition:background .18s ease,border-color .18s ease;
}
.uifcd53-row-item:hover{border-color:rgba(0,255,127,.32);background:var(--uifcd53-surface-2);}
.uifcd53-row-num{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(0,255,127,.14);
  color:var(--uifcd53-spring);
  font-weight:700;
  font-size:13px;
  flex:none;
}

/* ---------- Feature tiles ---------- */
.uifcd53-tiles{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.uifcd53-tile{
  padding:14px 12px;
  border-radius:var(--uifcd53-radius-lg);
  background:var(--uifcd53-surface);
  border:1px solid var(--uifcd53-line);
}
.uifcd53-tile-ico{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:9px;
  background:rgba(0,255,127,.14);
  color:var(--uifcd53-spring);
  font-size:17px;
  margin-bottom:8px;
}
.uifcd53-tile h4{
  font-size:14px;
  font-weight:700;
  margin-bottom:4px;
  color:var(--uifcd53-text);
}
.uifcd53-tile p{
  font-size:12.5px;
  color:var(--uifcd53-text-soft);
  line-height:1.55;
}

/* ---------- Payment chips ---------- */
.uifcd53-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.uifcd53-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:var(--uifcd53-radius-pill);
  background:var(--uifcd53-surface);
  border:1px solid var(--uifcd53-line);
  color:var(--uifcd53-text);
  font-size:12.5px;
  font-weight:600;
}
.uifcd53-chip .uifcd53-ico{
  width:18px;height:18px;
  display:grid;place-items:center;
  color:var(--uifcd53-spring);
  font-size:13px;
}

/* ---------- Testimonials ---------- */
.uifcd53-quotes{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.uifcd53-quote{
  padding:13px;
  border-radius:var(--uifcd53-radius-lg);
  background:var(--uifcd53-surface);
  border:1px solid var(--uifcd53-line);
  border-left:3px solid var(--uifcd53-spring);
}
.uifcd53-quote-stars{
  color:var(--uifcd53-warning);
  font-size:13px;
  letter-spacing:2px;
  margin-bottom:5px;
}
.uifcd53-quote p{
  font-size:13.5px;
  color:var(--uifcd53-text-soft);
  line-height:1.6;
}
.uifcd53-quote-meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:9px;
  font-size:12px;
  color:var(--uifcd53-text-dim);
}
.uifcd53-quote-meta b{color:var(--uifcd53-mist);font-weight:600;}

/* ---------- FAQ ---------- */
.uifcd53-faq{
  border:1px solid var(--uifcd53-line);
  border-radius:var(--uifcd53-radius-lg);
  overflow:hidden;
  background:var(--uifcd53-surface);
}
.uifcd53-faq-item + .uifcd53-faq-item{border-top:1px solid var(--uifcd53-line);}
.uifcd53-faq-q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px;
  text-align:left;
  font-size:14px;
  font-weight:600;
  color:var(--uifcd53-text);
  min-height:var(--uifcd53-tap);
}
.uifcd53-faq-q .uifcd53-faq-sign{
  width:22px;height:22px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(0,255,127,.14);
  color:var(--uifcd53-spring);
  font-size:16px;
  font-weight:700;
  transition:transform .2s ease;
  flex:none;
}
.uifcd53-faq-item.is-open .uifcd53-faq-sign{transform:rotate(45deg);}
.uifcd53-faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
}
.uifcd53-faq-a-inner{
  padding:0 14px 14px;
  font-size:13.5px;
  color:var(--uifcd53-text-soft);
  line-height:1.65;
}

/* ---------- Steps ---------- */
.uifcd53-steps{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.uifcd53-step{
  display:flex;
  gap:12px;
  padding:12px;
  border-radius:var(--uifcd53-radius-lg);
  background:var(--uifcd53-surface);
  border:1px solid var(--uifcd53-line);
}
.uifcd53-step-n{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:9px;
  background:linear-gradient(135deg,var(--uifcd53-deep),var(--uifcd53-deep-2));
  color:#fff;
  font-weight:700;
  font-size:14px;
  flex:none;
}
.uifcd53-step-body h4{
  font-size:14px;
  font-weight:700;
  margin-bottom:3px;
}
.uifcd53-step-body p{
  font-size:12.8px;
  color:var(--uifcd53-text-soft);
  line-height:1.6;
}

/* ---------- Notice / disclaimer ---------- */
.uifcd53-notice{
  padding:12px 13px;
  border-radius:var(--uifcd53-radius-md);
  background:rgba(255,210,74,.08);
  border:1px solid rgba(255,210,74,.28);
  color:#ffe6a3;
  font-size:12.5px;
  line-height:1.6;
  display:flex;
  gap:9px;
}
.uifcd53-notice .uifcd53-ico{
  color:var(--uifcd53-warning);
  font-size:16px;
  flex:none;
  margin-top:1px;
}

/* ---------- Prose ---------- */
.uifcd53-prose p{
  font-size:14px;
  color:var(--uifcd53-text-soft);
  line-height:1.72;
  margin-bottom:10px;
}
.uifcd53-prose p:last-child{margin-bottom:0;}
.uifcd53-prose strong{color:var(--uifcd53-text);font-weight:600;}
.uifcd53-prose a{
  color:var(--uifcd53-spring);
  border-bottom:1px dashed rgba(0,255,127,.4);
}

/* ---------- CTA band ---------- */
.uifcd53-cta-band{
  margin-top:18px;
  border-radius:var(--uifcd53-radius-xl);
  padding:18px;
  background:
    radial-gradient(120% 80% at 100% 0%,rgba(0,255,127,.18),transparent 60%),
    linear-gradient(135deg,#0a3a0f,#0b8a0b);
  border:1px solid rgba(0,255,127,.28);
  text-align:center;
}
.uifcd53-cta-band h3{
  font-family:var(--uifcd53-font-display);
  color:#fff;
  font-size:19px;
  margin-bottom:6px;
}
.uifcd53-cta-band p{
  color:#dff2e2;
  font-size:13px;
  margin-bottom:14px;
}
.uifcd53-cta-band .uifcd53-btn{
  min-height:48px;
  padding:13px 22px;
  font-size:14.5px;
}

/* ---------- Extended footer ---------- */
.uifcd53-ext-foot{
  margin-top:30px;
  padding:18px 14px 6px;
  border-top:1px solid var(--uifcd53-line);
  background:linear-gradient(180deg,#22231e,#191a16);
}
.uifcd53-ext-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 12px;
}
.uifcd53-ext-col h5{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--uifcd53-spring);
  margin-bottom:9px;
  font-weight:700;
}
.uifcd53-ext-col--brand{grid-column:1/-1;}
.uifcd53-ext-brand-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.uifcd53-ext-brand-row .uifcd53-logo{width:32px;height:32px;border-radius:8px;}
.uifcd53-ext-col p{
  font-size:12.5px;
  color:var(--uifcd53-text-dim);
  line-height:1.65;
}
.uifcd53-ext-links{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.uifcd53-ext-links a{
  font-size:12.8px;
  color:var(--uifcd53-text-soft);
  padding:4px 0;
}
.uifcd53-ext-links a:hover{color:var(--uifcd53-spring);}
.uifcd53-ext-promos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.uifcd53-ext-promo-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:11px 8px;
  border-radius:var(--uifcd53-radius-md);
  font-size:12px;
  font-weight:700;
  min-height:var(--uifcd53-tap);
  background:rgba(0,255,127,.14);
  color:var(--uifcd53-spring);
  border:1px solid rgba(0,255,127,.32);
}
.uifcd53-ext-promo-btn--solid{
  background:linear-gradient(135deg,var(--uifcd53-spring),#3aff95);
  color:#06360f;
  border-color:transparent;
}
.uifcd53-ext-disclaim{
  grid-column:1/-1;
  margin-top:8px;
  padding:11px;
  border-radius:var(--uifcd53-radius-md);
  background:rgba(255,255,255,.03);
  border:1px solid var(--uifcd53-line);
  font-size:11.5px;
  color:var(--uifcd53-text-dim);
  line-height:1.6;
}

/* ---------- Bottom mobile nav ---------- */
.uifcd53-bottom{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:100%;
  max-width:430px;
  z-index:55;
  background:linear-gradient(180deg,rgba(22,23,18,.96),rgba(15,16,12,.98));
  border-top:1px solid rgba(0,255,127,.2);
  backdrop-filter:saturate(140%) blur(8px);
  display:grid;
  grid-template-columns:repeat(5,1fr);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 24px rgba(0,0,0,.4);
}
.uifcd53-nav-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:6px 2px 4px;
  color:var(--uifcd53-text-dim);
  font-size:10px;
  font-weight:600;
  min-height:50px;
  border-radius:10px;
  position:relative;
  transition:color .18s ease,transform .18s ease;
}
.uifcd53-nav-item.is-active{
  color:var(--uifcd53-spring);
  background:rgba(0,255,127,.1);
}
.uifcd53-nav-item.is-active::before{
  content:"";
  position:absolute;
  top:2px;
  width:18px;
  height:2px;
  border-radius:2px;
  background:var(--uifcd53-spring);
}
.uifcd53-nav-item:active{transform:translateY(-1px);}
.uifcd53-nav-ico{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  font-size:17px;
  line-height:1;
}
.uifcd53-nav-item--promo .uifcd53-nav-ico{
  width:30px;height:30px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--uifcd53-spring),#3aff95);
  color:#06360f;
  font-weight:800;
  font-size:14px;
  box-shadow:0 4px 10px rgba(0,255,127,.34);
  transform:translateY(-6px);
}
.uifcd53-nav-item--promo{
  font-size:9.5px;
  color:var(--uifcd53-spring);
}

/* ---------- Skip link ---------- */
.uifcd53-skip{
  position:absolute;
  left:-9999px;
  top:0;
  background:var(--uifcd53-spring);
  color:#06360f;
  padding:8px 12px;
  z-index:200;
  font-weight:700;
}
.uifcd53-skip:focus{left:8px;top:8px;border-radius:8px;}

/* ---------- Utility ---------- */
.uifcd53-hidden{display:none !important;}
.uifcd53-visually-hidden{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

/* ---------- Wide-canvas refinements (≥430px) ---------- */
@media (min-width:430px){
  .uifcd53-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
  .uifcd53-tiles{grid-template-columns:repeat(3,1fr);}
  .uifcd53-quotes{grid-template-columns:1fr 1fr;}
  .uifcd53-slide img{height:210px;}
}

/* ---------- Small-phone safeguards (≤360px) ---------- */
@media (max-width:360px){
  body{font-size:14px;}
  .uifcd53-h2{font-size:19px;}
  .uifcd53-grid{gap:8px;}
  .uifcd53-card-name{font-size:11px;}
  .uifcd53-brand-name{font-size:19px;}
  .uifcd53-logo{width:34px;height:34px;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  .uifcd53-carousel-track{transition:none;}
  html{scroll-behavior:auto;}
}
