/* =========================================================
   RESPONSIVE - MOBILE (up to 480px, incl. 375px & 360px)
   Breakpoints used here: 480px, 375px, 360px
   Load AFTER root.css, home.css and home-tablet.css (last)
   ========================================================= */

@media (max-width:480px){
  .hamburger-btn{
    width:34px;
    height:34px;
  }
  nav.glass-menu{
    width:82vw !important;
    padding:74px 18px 26px !important;
  }
}

@media (max-width:480px){
header{
    
    width: 100%;   

  }
}


@media (max-width:480px){
  .counsellor-modal{
    max-height:94vh;
  }
  .counsellor-visual{
    padding:22px 18px 18px;
  }
  .counsellor-visual .cv-badge{
    margin-bottom:16px;
    font-size:10px;
    padding:5px 12px;
  }
  .counsellor-visual h3{font-size:18px; margin-bottom:10px;}
  .counsellor-visual .cv-points li{font-size:12px;}
  .counsellor-visual .cv-people .avatar{width:44px;height:44px;border-radius:12px;}
  .counsellor-visual .cv-brands{font-size:10.5px; gap:10px;}
 
  .counsellor-form-side{
    padding:20px 16px 24px;
  }
  .counsellor-form-side h3{font-size:17px;}
 
  .cf-row{
    flex-direction:column;
    gap:0;
  }
 
  .cf-radio-group{
    flex-wrap:wrap;
    gap:12px;
  }
 
  /* Ensure the close (cross) button always stays visible above content,
     clear of notches, and easy to tap */
  .counsellor-close{
    top:max(10px, env(safe-area-inset-top));
    right:10px;
    width:34px;
    height:34px;
    background:#fff;
    border-color: #fff;
    z-index:20; /* stays above visual panel's gradient/content */
  }
}
 

@media (max-width:480px){
  /* ---------- Sticky Offer Bar ---------- */
  .sticky-offer-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:8px 12px;
    flex-wrap:nowrap;
  }
  .offer-price{
    display:flex;
    align-items:center;
    gap:5px;
    flex-shrink:0;
  }
  .offer-price .new-price{
    font-size:14px;
    white-space:nowrap;
  }
  .offer-price .old-price{
    font-size:11px;
    white-space:nowrap;
  }
  .offer-timer{
    display:none; /* timer ko chhupa diya taaki price+button ko jagah mile */
  }
  .offer-cta,
  .reserve-btn{
    flex-shrink:0;
    font-size:12px;
    padding:8px 14px;
    white-space:nowrap;
  }

  /* ---------- Live Ticker ---------- */
  .ticker-item{
    font-size:11px;
    padding:0 14px;
  }
}

@media (max-width:480px){
  /* ---------- Hero ---------- */
  .hero{
    padding:20px 14px 20px;
    gap:10px;                  /* base style.css me 40px tha, isi se upar extra space aa raha tha */
  }
  .hero-right{
    margin-top:0;               /* orbit ke upar ka gap ab sirf hero gap (10px) se control hoga */
    padding:0;
    margin-bottom: -95px;
  }
  
  
  .hero-left {
    flex: 1 1 320px;
    min-width: 320px;
    padding-top: 0;
}
  .hero-left h1{
    font-size:clamp(22px,8vw,22px);
  }
  .hero-left p.sub{
    font-size:13.5px;
  }
  .hero-btns{
    flex-direction:row;
    flex-wrap:nowrap;
    width:100%;
    gap:10px;
  }
  .btn-primary,
  .btn-secondary{
    width:50%;
    flex:1 1 50%;
    padding:10px 8px;
    font-size:13px;
    text-align:center;
  }
.logo-track{
    display:flex;              /* grid ko flex me override kiya */
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
  }
  .logo-item{
    width:64px;
    height:58px;
  }
  .logo-item img{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }


@media (max-width:360px){
  .logo-item{
    width:48px;
    height:48px;
  }
  .logo-item img{
    width:100%;
    height:100%;
  }
}
  /* ---------- Orbit ---------- */
  .orbit-wrap{
    width:92vw;
    height:92vw;
    max-width:320px;
    max-height:320px;
    overflow:visible;           /* rings/cards viewport ke bahar cut na hon */
    margin:0 auto;               /* orbit ke aage-peeche extra space na aaye */
  }

  /* FIX: style.css me .card ko min-width:250px diya hua hai jo mobile ke max-width:120px
     ko override kar deta tha — isi wajah se cards orbit ke bahar overflow ho rahe the
     aur icon/text "cut" dikh rahe the. Yahan min-width hata kar wrapping allow kar di. */
  .card{
    min-width:0;
    max-width:135px;
    padding:6px 10px 6px 6px;
    gap:6px;
    white-space:normal;         /* CHANGED: text ab wrap ho sakta hai, cut/overflow nahi hoga */
    line-height:1.25;
  }
  .card .icon{
    width:32px;                 /* CHANGED: 30px se thoda bada */
    height:32px;
  }
  .card .icon svg{
    width:15px;
    height:15px;
  }
  .card .label{
    font-size:10.5px;           /* CHANGED: 8px se bada kiya */
    line-height:1.3;
  }
  .center h2{
    font-size:16px;             /* CHANGED: bada kiya */
  }
  .center .center-tag{
    font-size:12px;             /* CHANGED: bada kiya */
  }

  /* Teesri ring thodi choti taaki uske cards viewport ke bahar na jaayein.
     BUG FIX: width aur height alag-alag (34% / 92%) the, isse spin
     container gol (circle) na hokar lamba ho gaya tha, jiske wajah se
     is ring ka card/node apni sahi jagah se hatke center text ke upar
     overlap ho raha tha. Ab dono equal hain taaki rotation circular rahe. */
  .spin.s3{
    width:92%;
    height:92%;
  }
}

@media (max-width:360px){
  .hero-left h1{
    font-size:22px;
  }
  .orbit-wrap{
    width:94vw;
    height:94vw;
    max-width:280px;
    max-height:280px;
    overflow:visible;
    margin:0 auto;
  }
  .card{
    min-width:0;
    max-width:112px;
    padding:5px 8px 5px 5px;
  }
  .card .icon{
    width:28px;
    height:28px;
  }
  .card .icon svg{
    width:13px;
    height:13px;
  }
  .card .label{
    font-size:9.5px;
  }
  .offer-price .new-price{
    font-size:14px;
  }
  .offer-cta{
    font-size:12px;
    padding:9px 16px;
  }

  /* BUG FIX: same mismatched width/height issue as the 480px breakpoint above */
  .spin.s3{
    width:90%;
    height:90%;
  }
  .center h2{
    font-size:14.5px;
  }
}
/* ============ MOBILE / 480px ============ */

@media (max-width:480px){

  /* ---------- Video Showcase (ai-shift) ---------- */
  .ai-shift{
    padding:20px 16px;
  }
  .video-showcase .ai-shift-wrap{
    flex-direction:column;
    gap:20px;
  }
  .video-showcase .ai-shift-text{
    flex:1 1 100%;
    width:100%;
    min-width:0;
  }
  .video-showcase .ai-shift-text h2{
    font-size:22px;
    line-height:1.3;
  }
  .video-showcase .ai-shift-text p{
    font-size:13.5px;
    max-width:100%;
  }
  .video-showcase .ai-shift-visual{
    flex:1 1 100%;
    width:100%;
    max-width:100%;
    justify-content:center;
  }
  .video-frame{
    max-width:100%;
    border-radius:10px;
  }
  .video-frame video{
    width:100%;
    height:100%;
    left:0;
    top:0;
    object-fit:cover;   /* 140% zoom hata diya, warna mobile pe bahut zoom-in dikhega */
  }
  #muteBtn{
    width:32px;
    height:32px;
    bottom:10px;
    right:10px;
  }
  #muteIcon{
    width:14px;
    height:14px;
  }

  /* ---------- CTA Banner ---------- */
  .cta-banner{
    margin:20px auto;
    padding:0 16px;
  }
  .cta-banner-inner{
    padding:20px 22px;
    gap:16px;
  }
  .cta-banner-heading{
    font-size:18px;
  }

  /* ---------- Problem Section ---------- */
  .problem{
    padding:0 16px 0px;
  }
  .problem-top{
    flex-direction:column;
    gap:24px;
    margin-bottom:32px;
    padding-bottom:28px;
  }
  .stat-hero{
    margin-top:0;
    min-width:0;
  }
  .stat-hero .num{
    font-size:clamp(48px,16vw,64px);
  }
  .stat-hero .cap{
    font-size:11.5px;
  }
  .problem-headtext{
    flex:1 1 100%;
    min-width:0;
  }
  .problem-headtext h2{
    font-size:20px;
    line-height:1.32;
  }
  .problem-headtext p{
    font-size:13.5px;
    max-width:100%;
  }
  .source-box{
    align-self:flex-start;
    margin-top:0;
    width:100%;
    align-items:center;
  }
  .source-text p{
    max-width:100%;
  }
}

/* ============ MOBILE / 480px ============ */

@media (max-width:480px){

  /* ---------- Context Hero ---------- */
  .context-hero{
    padding:20px 16px;
  }
  .context-hero-inner{
    flex-direction:column;
    gap:24px;
  }
  .context-hero-left,
  .context-hero-right{
    flex:1 1 100%;
    max-width:100%;
    width:100%;
    min-width:0;
  }
  .context-hero-right{
    order:-1;
  }
  .context-hero-eyebrow{
    font-size:11px;
    padding:5px 12px;
    margin-bottom:16px;
  }
  .context-hero-heading{
    font-size:24px;
    line-height:1.32;
    margin-bottom:14px;
  }
  .context-hero-left p{
    font-size:13.5px;
    line-height:1.65;
    max-width:100%;
    margin-bottom:12px;
  }
  .context-graphic{
    max-width:260px;
    margin:0 auto;
  }

  /* ---------- Shift CTA ---------- */
  .shift-cta{
    margin:20px auto;
    padding:0 16px;
  }
  .shift-cta-card{
    flex-direction:column;
    padding-top:0;
    gap:24px;
  }
  .shift-cta-left{
    flex:1 1 100%;
    width:100%;
    min-width:0;
    gap:14px;
  }
  .shift-cta-icon{
    width:52px;
    height:52px;
  }
  .shift-cta-icon svg{
    width:24px;
    height:24px;
  }
  .shift-cta-text{
    min-width:0;
  }
  .shift-cta-text .eyebrow{
    font-size:10.5px;
    margin-bottom:10px;
  }
  .shift-cta-text h2{
    font-size:19px;
    line-height:1.36;
    margin-bottom:10px;
  }
  .shift-cta-text p{
    font-size:13px;
    line-height:1.6;
    max-width:100%;
    margin-bottom:10px;
  }
  .shift-cta-right{
    flex:1 1 100%;
    width:100%;
    min-width:0;
    padding:20px 18px;
    gap:18px;
  }
  .shift-cta-list{
    gap:11px;
  }
  .shift-cta-list li{
    font-size:13px;
  }
  .check-ico,
  .check-ico svg{
    width:18px;
    height:18px;
  }
  .shift-cta-btn{
    padding:12px 16px;
    font-size:13px;
  }
}

/* ============ SMALL MOBILE / 375px ============ */

@media (max-width:375px){

  /* ---------- Context Hero ---------- */
  .context-hero{
    padding:20px 14px;
  }
  .context-hero-inner{
    gap:18px;
  }
  .context-hero-eyebrow{
    font-size:10px;
    padding:4px 10px;
    margin-bottom:12px;
  }
  .context-hero-heading{
    font-size:21px;
    line-height:1.34;
    margin-bottom:12px;
  }
  .context-hero-left p{
    font-size:12.5px;
    line-height:1.6;
    margin-bottom:10px;
  }
  .context-graphic{
    max-width:220px;
  }

  /* ---------- Shift CTA ---------- */
  .shift-cta{
    padding:0 14px;
  }
  .shift-cta-card{
    gap:20px;
  }
  .shift-cta-left{
    gap:12px;
  }
  .shift-cta-icon{
    width:44px;
    height:44px;
  }
  .shift-cta-icon svg{
    width:20px;
    height:20px;
  }
  .shift-cta-text h2{
    font-size:17px;
    line-height:1.38;
  }
  .shift-cta-text p{
    font-size:12.5px;
  }
  .shift-cta-right{
    padding:16px 14px;
  }
  .shift-cta-list li{
    font-size:12.5px;
  }
  .shift-cta-btn{
    padding:11px 14px;
    font-size:12.5px;
  }
}

/* ============ MOBILE / 480px ============ */

@media (max-width:480px){

  .evolution{
    padding:20px 16px;
  }
  .evolution-card{
    flex-direction:column;
    align-items:stretch;
    gap:20px;
    padding:20px 18px;
    border-radius:16px;
  }

  /* Yesterday block */
  .evo-yesterday{
    flex:1 1 100%;
    width:100%;
  }
  .evo-label{
    font-size:10px;
    margin-bottom:8px;
  }
  .evo-flow{
    font-size:12px;
    gap:6px;
    margin-bottom:10px;
  }
  .evo-icon{
    width:30px;
    height:30px;
  }
  .evo-icon svg{
    width:14px;
    height:14px;
  }
  .evo-icon-arrow{
    font-size:12px;
  }

  .evo-divider{
    width:100%;
    height:1px;
  }

  /* Today block - wrap into 2 rows of 3 */
  .evo-today{
    flex:1 1 100%;
    width:100%;
    min-width:0;
  }
  .evo-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    row-gap:20px;
    column-gap:0;
  }
  .evo-step{
    padding-right:0;
    align-items:center;
  }
  .evo-step-label{
    font-size:11px;
    height:auto;
    white-space:normal;
    text-align:center;
  }
  .evo-icon-red,
  .evo-icon-purple,
  .evo-icon-green,
  .evo-icon-pink,
  .evo-icon-gold,
  .evo-icon-orange{
    width:34px;
    height:34px;
  }
  .evo-step .evo-icon svg{
    width:16px;
    height:16px;
  }

  /* arrow: on a grid, only show it between columns 1→2 and 2→3, hide before wraps */
  .evo-step::after{
    content:"→";
    position:absolute;
    right:-10px;
    top:38px; /* label height + gap + half of icon */
    font-size:13px;
  }
  /* hide arrow on every 3rd item (end of row) */
  .evo-step:nth-child(3n)::after{
    content:none;
  }
  .evo-step-last::after{
    content:none;
  }
}

/* ============ SMALL MOBILE / 375px ============ */

@media (max-width:375px){

  .evolution{
    padding:18px 14px;
  }
  .evolution-card{
    padding:18px 14px;
    gap:18px;
  }

  .evo-flow{
    font-size:11px;
  }
  .evo-icon{
    width:28px;
    height:28px;
  }
  .evo-icon svg{
    width:13px;
    height:13px;
  }

  .evo-steps{
    row-gap:16px;
  }
  .evo-step-label{
    font-size:10px;
  }
  .evo-icon-red,
  .evo-icon-purple,
  .evo-icon-green,
  .evo-icon-pink,
  .evo-icon-gold,
  .evo-icon-orange{
    width:30px;
    height:30px;
  }
  .evo-step .evo-icon svg{
    width:14px;
    height:14px;
  }
  .evo-step::after{
    right:-8px;
    top:34px;
    font-size:11px;
  }
}

/* ============ MOBILE / 480px ============ */

@media (max-width:480px){

  /* ---------- AI Shift (image + text) ---------- */
  .ai-shift{
    padding:20px 16px;
  }
  .ai-shift-wrap{
    flex-direction:column;
    gap:20px;
  }
  .ai-shift-visual,
  .ai-shift-text{
    flex:1 1 100%;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .ai-shift-text h2{
    font-size:21px;
    line-height:1.32;
  }
  .ai-shift-text p{
    font-size:13.5px;
    max-width:100%;
  }
  .ai-shift-highlight{
    font-size:13.5px;
  }

  /* ---------- AI News Section ---------- */
  .ai-news-section{
    padding:20px 0;
  }
  .ai-news-section .container{
    width:92%;
  }

  .section-heading{
    margin-bottom:18px;
  }
  .section-heading .tag{
    font-size:10.5px;
    padding:6px 12px;
    margin-bottom:12px;
  }
  .section-heading h2{
    font-size:22px;
    line-height:1.28;
    margin-bottom:10px;
  }
  .section-heading p{
    font-size:13px;
    max-width:100%;
  }

  /* Ticker */
  .ai-news-section .ticker{
    padding:9px 0;
    margin-bottom:18px;
  }
  .ai-news-section .ticker-track{
    gap:22px;
  }
  .ai-news-section .ticker-track span{
    font-size:12px;
  }

  /* Layout: single column, news grid before sidebar */
  .news-layout{
    grid-template-columns:1fr;
    gap:18px;
  }
  .news-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .news-card{
    border-radius:12px;
  }
  .overlay{
    padding:10px 12px 12px;
  }
  .source{
    font-size:8.5px;
    padding:3px 8px;
    margin-bottom:6px;
  }
  .overlay h3{
    font-size:12.5px;
    margin-bottom:5px;
  }
  .overlay .stat-line{
    font-size:10.5px;
  }
  .overlay a{
    font-size:11px;
  }

  /* Right sidebar - stack normally */
  .news-right{
    flex-direction:column;
    gap:14px;
  }
  .counter-box,
  .timeline,
  .cta-box{
    padding:16px;
  }
  #counterNeg,
  #counterPos{
    font-size:24px;
  }
  .counter-box h4{
    font-size:11px;
  }
  .counter-box p.small{
    font-size:10px;
  }

  .timeline{
    gap:11px;
  }
  .step{
    font-size:12px;
    gap:9px;
  }

  .cta-box h3{
    font-size:15px;
  }
  .cta-box p{
    font-size:11.5px;
    margin-bottom:14px;
  }
  .learn-btn{
    padding:10px 18px;
    font-size:12.5px;
  }
}

/* ============ SMALL MOBILE / 375px ============ */

@media (max-width:375px){

  /* ---------- AI Shift ---------- */
  .ai-shift{
    padding:20px 14px;
  }
  .ai-shift-text h2{
    font-size:19px;
    line-height:1.34;
  }
  .ai-shift-text p{
    font-size:12.5px;
  }

  /* ---------- AI News Section ---------- */
  .ai-news-section .container{
    width:94%;
  }
  .section-heading h2{
    font-size:19px;
  }
  .section-heading p{
    font-size:12px;
  }

  /* News grid: 1 column on very small screens for readability */
  .news-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .news-card .news-img-wrap{
    aspect-ratio:16/10;
  }
  .overlay h3{
    font-size:13px;
  }

  .ai-news-section .ticker-track span{
    font-size:11px;
  }
  .ai-news-section .ticker-track{
    gap:18px;
  }

  #counterNeg,
  #counterPos{
    font-size:22px;
  }
  .cta-box h3{
    font-size:14px;
  }
  .learn-btn{
    padding:10px 16px;
    font-size:12px;
  }
}

/* ============ MOBILE / 480px ============ */
@media (max-width:480px){
  .why{
    padding:20px 16px;
  }
  .why .eyebrow{
    font-size:11px;
    padding:5px 12px;
    margin-bottom:16px;
  }
  .why h2{
    font-size:24px;
    line-height:1.3;
    margin-bottom:8px;
  }
  .why .subtext{
    font-size:14px;
    line-height:1.55;
  }
  .why-content{
    grid-template-columns:1fr;
    gap:24px;
    margin-top:28px;
  }
  .why-certificate{
    order:-1;
    max-width:280px;
    margin:0 auto;
  }
  /* ---------- Compare table -> clean unified cards (compact) ---------- */
  .compare{
    border-radius:16px;
    border:1px solid var(--glass-border);
    background:var(--card-bg);
    overflow:hidden;
  }
  .compare-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 3px;
    background:rgba(225,181,76,0.06);
    border-bottom:1px solid var(--glass-border);
    gap:8px;
  }
  .compare-head .col-label{
    display:none;
  }
  .compare-head .col-trad,
  .compare-head .col-biloxx{
    font-size:10.5px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    white-space:nowrap;
  }
  .compare-head .col-trad{
    order:1;
    color:var(--muted);
  }
  .compare-head .col-biloxx{
    order:3;
    color:var(--cyan);
    text-align:right;
  }
  .compare-head::after{
    content:"→";
    order:2;
    color:var(--muted);
    font-size:12px;
    flex-shrink:0;
    padding:0 4px;
    margin-bottom: 7px;
  }
  .compare-row{
    display:flex;
    align-items:center;
    gap:6px;
    padding:9px 14px;
    border-top:1px solid var(--glass-border);
  }
  .compare-row:first-of-type{
    border-top:none;
  }
  .compare-row .col-label{
    display:flex;
    align-items:center;
    justify-content:center;
    width:14px;
    flex-shrink:0;
    padding:0;
    order:0;
  }
  .compare-row .col-label svg{
    width:14px;
    height:14px;
    color:var(--cyan);
  }
  .compare-row .col-trad,
  .compare-row .col-biloxx{
    padding:0;
    flex:1;
    min-width:0;
  }
  .compare-row .col-trad{
    order:1;
  }
  .compare-row .col-biloxx{
    order:3;
  }
  .compare-row .cell{
    padding:0;
    font-size:11px;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .compare-row .col-trad .cell{
    justify-content:flex-start;
    text-align:left;
    color:var(--muted);
  }
  .compare-row .col-biloxx .cell{
    justify-content:flex-end;
    text-align:right;
    color:var(--cyan);
    font-weight:600;
  }
  .compare-row::after{
    content:"→";
    order:2;
    color:var(--glass-border);
    font-size:11px;
    flex-shrink:0;
    padding:0 2px;
  }
  .why-footer{
    font-size:14px;
    line-height:1.55;
    margin-top:20px;
  }
}
/* ============ SMALL MOBILE / 375px ============ */

@media (max-width:375px){

  .why{
    padding:20px 14px;
  }
  .why h2{
    font-size:21px;
  }
  .why .subtext{
    font-size:13px;
  }

  .why-certificate{
    max-width:240px;
  }

  .compare-head{
    padding:9px 12px;
  }
  .compare-head .col-trad,
  .compare-head .col-biloxx{
    font-size:10px;
  }
  .compare-head::after{
    font-size:11px;
  }

  .compare-row{
    grid-template-columns:22px 1fr auto 1fr;
    padding:8px 12px;
    gap:5px;
  }
  .compare-row .col-label svg{
    width:13px;
    height:13px;
  }
  .compare-row .cell{
    font-size:11px;
  }
  .compare-row::after{
    font-size:10px;
  }

  .why-footer{
    font-size:13px;
  }
}

/* ============ MOBILE / 480px ============ */

@media (max-width:480px){

  .placements{
    padding:6px 16px 20px;
  }

  .placement-rule{
    gap:12px;
  }
  .placement-rule .line{
    display:none; /* chhoti screen pe lines ki jagah nahi bachti, pill hi kaafi hai */
  }
  .placement-pill{
    font-size:9.5px;
    padding:8px 16px;
    gap:8px;
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .placement-pill svg{
    width:13px;
    height:13px;
  }

  .placement-marquee{
    margin-top:22px;
  }
  .placement-track{
    animation-duration:22s; /* chhoti screen pe zyada tez, warna boring lagta hai */
  }
  .placement-logo{
    padding:0 20px;
    height:34px;
  }
  .placement-logo img{
    max-height:34px;
    max-width:90px;
  }
}

/* ============ SMALL MOBILE / 375px ============ */

@media (max-width:375px){

  .placements{
    padding:6px 14px 20px;
  }
  .placement-pill{
    font-size:10px;
    padding:7px 14px;
  }
  .placement-pill svg{
    width:12px;
    height:12px;
  }

  .placement-marquee{
    margin-top:18px;
  }
  .placement-track{
    animation-duration:18s;
  }
  .placement-logo{
    padding:0 16px;
    height:30px;
  }
  .placement-logo img{
    max-height:30px;
    max-width:76px;
  }
}




  /* ============ MOBILE / 480px ============ */
  @media (max-width:480px){
    .reg-banner{
      padding:20px 16px;
    }
    .reg-banner h2{
      font-size:16px;
      line-height:1.4;
      margin:0 0 18px;
    }
    .reg-pill{
      padding:10px 18px;
      max-width:100%;
      white-space:normal;
    }
    .reg-pill span{
      font-size:13.5px;
      line-height:1.4;
    }
  }
/* ============ MOBILE / 480px ============ */

@media (max-width:480px){

  .jt-section{
    padding:0 16px 20px;
  }

  /* ---------- Hero panel (agar page me use ho) ---------- */
  .jt-hero{
    position:static;
    min-height:0;
    padding:26px 20px;
  }
  .jt-headline{
    font-size:24px;
  }
  .jt-sub{
    font-size:13px;
    max-width:100%;
  }

  /* ---------- Tabs ---------- */
  .jt-tabbar{
    gap:2px;
    margin-bottom:18px;
    overflow-x:auto;
    -ms-overflow-style:none;
    scrollbar-width:none;
    flex-wrap:nowrap;
  }
  .jt-tabbar::-webkit-scrollbar{
    display:none;
  }
  .jt-tab{
    font-size:11px;
    padding:9px 13px;
    white-space:nowrap;
    flex:none;
  }

  /* ---------- Cards grid: single column ---------- */
  .jt-cards{
    grid-template-columns:1fr;
    gap:16px;
  }

  .jt-card{
    flex-direction:row;
    /* BUG FIX: align-items:stretch tha, jisse photo apni height nahi
       balki poore row (bio text) ki height tak khinch (stretch) jaata
       tha — expanded bio ke saath photo bahut zyada bada dikhta tha.
       flex-start se photo ab apni fixed height (neeche di gayi) tak
       hi rahega, text jitna bhi lamba ho. */
    align-items:flex-start;
  }
  .jt-photo-wrap{
    flex:0 0 120px;
    aspect-ratio:auto;
    width:120px;
    height:120px;   /* BUG FIX: fixed height taaki image stretch na ho */
  }
  .jt-role-tag{
    top:8px;
    left:8px;
    font-size:9px;
    padding:4px 7px;
  }

  .jt-card-body{
    padding:14px 14px 16px;
    flex:1;
    min-width:0;
  }
  .jt-name{
    font-size:14.5px;
  }
  .jt-title{
    font-size:11px;
    margin-bottom:8px;
  }
  .jt-bio{
    font-size:12px;
    line-height:1.5;
    -webkit-line-clamp:3;
    margin-bottom:8px;
  }
  .jt-readmore{
    font-size:9.5px;
    padding-bottom:10px;
  }
  .jt-tags{
    gap:5px;
    padding-top:10px;
  }
  .jt-pill{
    font-size:9px;
    padding:3px 7px;
  }
}

/* ============ SMALL MOBILE / 375px ============ */

@media (max-width:375px){

  .jt-section{
    padding:0 14px 18px;
  }

  .jt-hero{
    padding:22px 16px;
  }
  .jt-headline{
    font-size:21px;
  }

  .jt-tab{
    font-size:10.5px;
    padding:8px 11px;
  }

  .jt-card{
    flex-direction:column;
  }
  .jt-photo-wrap{
    width:100%;
    flex:none;
    aspect-ratio:4/3;
  }
  .jt-card-body{
    padding:12px 12px 14px;
  }
  .jt-name{
    font-size:14px;
  }
  .jt-title{
    font-size:10.5px;
  }
  .jt-bio{
    font-size:11.5px;
    -webkit-line-clamp:4;
  }
  .jt-pill{
    font-size:8.5px;
    padding:3px 6px;
  }
}

/* ============ MOBILE / 480px ============ */

@media (max-width:480px){

  /* ---------- Blog ---------- */
  .blog{
    padding:20px 16px;
  }
  .grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .intro{
    grid-column:auto;
  }
  .intro h2{
    font-size:22px;
    line-height:1.25;
  }
  .intro p{
    font-size:13px;
    max-width:100%;
    margin-bottom:20px;
  }
  .intro .btn{
    padding:11px 20px;
    font-size:13px;
  }
  .post-card{
    padding:20px 18px;
    border-radius:16px;
  }
  .post-card.featured{
    transform:none;
  }
  .post-card .icon{
    width:32px;
    height:32px;
  }
  .post-card .icon svg{
    width:15px;
    height:15px;
  }
  .post-card h3{
    font-size:14.5px;
  }
  .post-card p.excerpt{
    font-size:12.5px;
    margin-bottom:16px;
  }
  .post-card .read-more{
    font-size:12.5px;
  }

  /* ---------- Testimonials ---------- */
  .testi{
    padding:20px 16px;
  }
  .t-head h2{
    font-size:24px;
    line-height:1.3;
  }
  .t-head p{
    padding:0;
    font-size:13.5px;
  }

  .rating-bar{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:14px 18px;
    margin:22px 0 32px;
    max-width:100%;
  }
  .rating-bar .sep{
    display:none;
  }
  .rating-bar .stars{
    font-size:13px;
  }
  .rating-bar .platforms{
    font-size:12px;
  }

  .t-body{
    flex-direction:column;
    align-items:stretch;
    gap:22px;
  }
  .sidebar{
    flex:1 1 100%;
    width:100%;
    padding-top:0;
  }
  .cards-viewport{
    width:100%;
    min-width:0;
  }
  .quote-mark{
    font-size:40px;
  }
  .sidebar h3{
    font-size:18px;
    margin-bottom:18px;
  }

  .review-platforms{
    gap:10px;
    margin-top:14px;
  }
  .review-platform-badge{
    padding:7px 11px;
    font-size:13px;
    gap:6px;
  }
  .review-platform-badge svg{
    width:15px;
    height:15px;
  }
  .review-platform-badge .rp-text{
    display:flex;
    flex-direction:column;
    line-height:1.25;
  }
  .review-platform-badge .rp-rating{
    font-size:11.5px;
  }
  .review-platform-badge .rp-name{
    font-size:9.5px;
  }

  .sidebar .nav-arrows{
    margin-top:16px;
  }
  .sidebar .nav-arrows button{
    width:28px;
    height:28px;
  }

  .cards-track{
    gap:14px;
  }
  .t-card{
    flex:0 0 82%;
    min-width:0;
    padding:20px 18px;
    border-radius:14px;
  }
  .t-card .tag{
    font-size:10px;
    margin-bottom:12px;
  }
  .t-card .quote{
    font-size:12.5px;
    margin-bottom:12px;
  }
  .t-card .outcome{
    font-size:11.5px;
    padding-top:12px;
    margin-bottom:14px;
  }
  .t-card .avatar{
    width:30px;
    height:30px;
    font-size:11px;
  }
  .t-card .person .name{
    font-size:12px;
  }
  .t-card .person .cohort{
    font-size:10px;
  }

  .closing{
    margin-top:44px;
  }
  .closing p{
    font-size:15px;
  }
  .closing-cta{
    padding:14px 26px;
    font-size:14px;
    gap:8px;
  }

  /* ---------- Midnight registration banner ---------- */
  div[style*="padding:60px 40px"]{
    padding:36px 20px !important;
  }
  div[style*="padding:60px 40px"] h2{
    font-size:19px !important;
    line-height:1.4 !important;
    margin-bottom:20px !important;
  }
  div[style*="padding:60px 40px"] div[style*="border-radius:999px"]{
    padding:11px 18px !important;
    flex-wrap:wrap;
    text-align:center;
  }
  div[style*="padding:60px 40px"] span[style*="font-size:17px"]{
    font-size:13px !important;
  }

  /* ---------- FAQ ---------- */
  .faq{
    padding:20px 16px;
    gap:20px;
  }
  .faq-left h2{
    font-size:24px;
    margin-bottom:32px;
  }
  .contact-card{
    padding:24px 20px;
    border-radius:16px;
  }
  .contact-card h3{
    font-size:17px;
  }
  .contact-card p{
    font-size:12.5px;
    max-width:100%;
    margin-bottom:18px;
  }
  .contact-card .btn{
    display:block;
    text-align:center;
    padding:12px 20px;
    font-size:12.5px;
    margin-bottom:10px;
  }
  .contact-card .btn:last-child{
    margin-bottom:0;
  }

  .faq-right{
    flex:1 1 100%;
  }
  .acc-item summary{
    padding:16px 2px;
    gap:12px;
  }
  .acc-item summary .q{
    font-size:13.5px;
    line-height:1.4;
  }
  .acc-item .chev{
    width:24px;
    height:24px;
  }
  .acc-item .a{
    padding:0 20px 18px 2px;
    font-size:12.5px;
  }
}

/* ============ SMALL MOBILE / 375px ============ */

@media (max-width:375px){

  /* ---------- Blog ---------- */
  .blog{
    padding:20px 14px;
  }
  .intro h2{
    font-size:20px;
  }
  .post-card{
    padding:18px 16px;
  }
  .post-card h3{
    font-size:13.5px;
  }
  .post-card p.excerpt{
    font-size:12px;
  }

  /* ---------- Testimonials ---------- */
  .testi{
    padding:20px 14px;
  }
  .t-head h2{
    font-size:21px;
  }
  .t-card{
    flex:0 0 88%;
    padding:18px 16px;
  }
  .t-card .quote{
    font-size:12px;
  }
  .review-platforms{
    flex-direction:column;
    align-items:flex-start;
  }

  /* ---------- Midnight banner ---------- */
  div[style*="padding:60px 40px"] h2{
    font-size:17px !important;
  }

  /* ---------- FAQ ---------- */
  .faq{
    padding:20px 14px;
  }
  .faq-left h2{
    font-size:21px;
  }
  .acc-item summary .q{
    font-size:12.5px;
  }
  .acc-item .a{
    font-size:12px;
  }
}

@media (max-width:480px){

  /* Keep 2 columns even on small phones: Company+Resources in row 1, Legal+Connect in row 2 */
  .footer-links-row{
    grid-template-columns:1fr 1fr;
    gap:22px 14px;
  }
  
  .footer-impact h2{
      
      font-size:28px;
  }
  .footer-col h4{
    font-size:11px;
  }
  .footer-col a{
    font-size:12.5px;
    margin-bottom:9px;
  }
  .footer-brand-col{
    align-items:flex-start;
  }
  .footer-tag{
    font-size:13px;
  }

  .footer-trust-row{
    gap:10px;
  }
  .trust-card{
    padding:9px 14px;
    gap:8px;
  }
  .trust-text h4{
    font-size:12.5px;
  }
  .trust-text p{
    font-size:10.5px;
  }
  .ssl-badge{
    width:44px;
  }

  .footer-address{
    padding:12px 14px;
  }
  .footer-address-icon{
    width:30px;
    height:30px;
  }

  .counsellor-visual .cv-points li{
    font-size:12px;
  }
  .counsellor-form-side h3{
    font-size:17px;
  }
  .cf-submit{
    font-size:13.5px;
    padding:12px 16px;
  }
}

@media (max-width:480px){
.fab{
    
    margin-bottom: 80px;
}
}