/* ========================================================================== 
   SORYXPAY mobile benefits stack v25
   Compact sticky cards. Card 1 keeps the wide map; cards 2+ use text-left /
   artwork-right composition. Desktop layout stays untouched.
   ========================================================================== */

@media (max-width:900px){
  .why-section{
    --sx-stack-top:max(76px,calc(env(safe-area-inset-top) + 68px));
    --sx-stack-radius:20px;
    overflow:visible !important;
  }

  .why-section > .container{
    overflow:visible !important;
  }

  .why-section .bento-grid--text-only{
    display:block !important;
    position:relative;
    isolation:isolate;
    overflow:visible !important;
    padding-bottom:clamp(150px,22svh,196px);
  }

  .why-section .bento-grid--text-only > .bento{
    --sx-stack-index:0;
    --sx-stack-scale:1;
    --sx-stack-shift:0px;
    --sx-stack-dim:0;

    position:-webkit-sticky !important;
    position:sticky !important;
    top:var(--sx-stack-top) !important;
    z-index:calc(30 + var(--sx-stack-index)) !important;

    width:100% !important;
    height:222px !important;
    min-height:222px !important;
    max-height:222px !important;
    margin:0 0 12px !important;
    padding:14px !important;
    border-radius:var(--sx-stack-radius) !important;

    background:
      radial-gradient(circle at 82% 14%,rgba(224,62,34,.085),transparent 34%),
      linear-gradient(150deg,rgba(24,24,27,.992),rgba(7,7,9,.998) 72%) !important;
    border-color:rgba(255,255,255,.12) !important;
    box-shadow:
      0 18px 40px rgba(0,0,0,.46),
      inset 0 1px 0 rgba(255,255,255,.035) !important;

    transform:
      translate3d(0,var(--sx-stack-shift),0)
      scale(var(--sx-stack-scale)) !important;
    transform-origin:50% 8%;
    filter:brightness(calc(1 - (var(--sx-stack-dim) * .11)));
    will-change:transform,filter;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;

    overflow:hidden !important;
    contain:paint;
  }

  /* Final pair state. Near the end of the stack we keep the penultimate and
     final cards alive together, so the final card can visibly slide over the
     penultimate one. Only cards below that pair are hidden, which removes the
     messy pile of older rounded edges without making the penultimate card
     disappear before the overlap is seen. */
  .why-section .bento-grid--text-only.sx-stack-final-pair > .bento:not(:nth-last-child(-n + 2)){
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .why-section .bento-grid--text-only.sx-stack-final-pair > .bento:nth-last-child(2){
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .why-section .bento-grid--text-only.sx-stack-final-pair > .bento:last-child{
    z-index:80 !important;
  }

  .why-section .bento-grid--text-only > .bento::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:9;
    pointer-events:none;
    border-radius:inherit;
    opacity:calc(var(--sx-stack-dim) * .32);
    background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.3));
  }

  .why-section .bento-grid--text-only > .bento > *{
    position:relative;
    z-index:2;
  }

  /* Cards 2+ are a two-column composition: text on the left, illustration
     on the right. Both zones are independent so neither can overlap the other. */
  .why-section .bento-grid--text-only > .bento:not(.bento-coverage){
    display:grid !important;
    grid-template-columns:minmax(0,1.15fr) minmax(112px,.85fr) !important;
    grid-template-rows:1fr !important;
    align-items:stretch !important;
    column-gap:10px !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-copy,.global-control-copy,.payment-methods-copy,
    .safe-deal-copy,.detail-attention-copy,.support-247-copy
  ){
    position:relative !important;
    inset:auto !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:0 !important;
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:8px 0 3px !important;
    margin:0 !important;
    transform:translateY(-8px) !important;
    overflow:hidden !important;
    pointer-events:auto !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-copy,.global-control-copy,.payment-methods-copy,
    .safe-deal-copy,.detail-attention-copy,.support-247-copy
  ) h3{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 7px !important;
    font-size:17px !important;
    line-height:1.2 !important;
    letter-spacing:-.025em !important;
    overflow-wrap:anywhere;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-copy,.global-control-copy,.payment-methods-copy,
    .safe-deal-copy,.detail-attention-copy,.support-247-copy
  ) p{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    font-size:12.5px !important;
    line-height:1.42 !important;
    overflow-wrap:anywhere;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-media,.global-control-media,.payment-methods-media,
    .safe-deal-media,.detail-attention-media,.support-247-media
  ){
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:none !important;
    max-height:none !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    margin:0 !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    pointer-events:none !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-media,.global-control-media,.payment-methods-media,
    .safe-deal-media,.detail-attention-media,.support-247-media
  )::before{
    inset:12% !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-media,.global-control-media,.payment-methods-media,
    .safe-deal-media,.detail-attention-media,.support-247-media
  ) img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }

  /* Card 1 mirrors the desktop composition: copy stays in its own top area,
     then the world map starts BELOW the text. The map never sits behind copy. */
  .why-section .bento-grid--text-only > .bento-coverage{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding:14px 14px 8px !important;
  }

  .why-section .bento-grid--text-only .bento-coverage::before{
    content:none !important;
    display:none !important;
  }

  .why-section .bento-grid--text-only .bento-coverage > h3{
    position:relative !important;
    inset:auto !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 7px !important;
    font-size:19px !important;
    line-height:1.2 !important;
    letter-spacing:-.025em !important;
    z-index:4 !important;
  }

  .why-section .bento-grid--text-only .bento-coverage > p{
    position:relative !important;
    inset:auto !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:12.5px !important;
    line-height:1.43 !important;
    z-index:4 !important;
  }

  .why-section .bento-grid--text-only .coverage-map{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    flex:1 1 auto !important;
    width:calc(100% + 8px) !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:7px -4px -2px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:0 0 calc(var(--sx-stack-radius) - 4px) calc(var(--sx-stack-radius) - 4px) !important;
    z-index:1 !important;
  }

  .why-section .bento-grid--text-only .coverage-map::before{
    inset:4% 3% 0 !important;
    opacity:.72 !important;
  }

  .why-section .bento-grid--text-only .coverage-map img{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    opacity:.93 !important;
    transform:translateY(3px) scale(1.015) !important;
    transform-origin:center bottom !important;
  }

  .why-section .bento-grid--text-only > .bento:hover,
  .why-section .bento-grid--text-only > .bento.tilt:hover,
  .why-section .bento-grid--text-only > .bento.tilt.is-pointer-tilting{
    transform:
      translate3d(0,var(--sx-stack-shift),0)
      scale(var(--sx-stack-scale)) !important;
  }
}

@media (max-width:390px){
  .why-section{
    --sx-stack-top:max(72px,calc(env(safe-area-inset-top) + 64px));
    --sx-stack-radius:19px;
  }

  .why-section .bento-grid--text-only > .bento{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    padding:14px !important;
    margin-bottom:11px !important;
  }

  .why-section .bento-grid--text-only > .bento:not(.bento-coverage){
    grid-template-columns:minmax(0,1.2fr) minmax(102px,.8fr) !important;
    column-gap:8px !important;
  }

  .why-section .bento-grid--text-only > .bento-coverage{
    height:284px !important;
    min-height:284px !important;
    max-height:284px !important;
    padding:13px 13px 7px !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-copy,.global-control-copy,.payment-methods-copy,
    .safe-deal-copy,.detail-attention-copy,.support-247-copy
  ){
    padding:7px 0 2px !important;
    transform:translateY(-6px) !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-copy,.global-control-copy,.payment-methods-copy,
    .safe-deal-copy,.detail-attention-copy,.support-247-copy
  ) h3{
    font-size:16.5px !important;
    margin-bottom:6px !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-copy,.global-control-copy,.payment-methods-copy,
    .safe-deal-copy,.detail-attention-copy,.support-247-copy
  ) p,
  .why-section .bento-grid--text-only .bento-coverage > p{
    font-size:12px !important;
    line-height:1.38 !important;
  }

  .why-section .bento-grid--text-only .bento-coverage > h3{
    font-size:18px !important;
  }

  .why-section .bento-grid--text-only .coverage-map{
    position:relative !important;
    inset:auto !important;
    width:calc(100% + 6px) !important;
    margin:6px -3px -1px !important;
  }

  .why-section .bento-grid--text-only .coverage-map img{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    transform:translateY(2px) scale(1.01) !important;
  }
}

@media (max-width:345px){
  .why-section .bento-grid--text-only > .bento:not(.bento-coverage){
    grid-template-columns:minmax(0,1.28fr) minmax(92px,.72fr) !important;
    column-gap:6px !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-copy,.global-control-copy,.payment-methods-copy,
    .safe-deal-copy,.detail-attention-copy,.support-247-copy
  ) h3{
    font-size:15.5px !important;
  }

  .why-section .bento-grid--text-only :is(
    .api-support-copy,.global-control-copy,.payment-methods-copy,
    .safe-deal-copy,.detail-attention-copy,.support-247-copy
  ) p{
    font-size:11.5px !important;
    line-height:1.36 !important;
  }
}


@media (max-width:345px){
  .why-section .bento-grid--text-only > .bento-coverage{
    height:270px !important;
    min-height:270px !important;
    max-height:270px !important;
  }
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .why-section .bento-grid--text-only > .bento{
    --sx-stack-scale:1 !important;
    --sx-stack-shift:0px !important;
    --sx-stack-dim:0 !important;
    filter:none !important;
    will-change:auto !important;
  }
}

/* Mobile transition spacing fix: keep the final stack interaction, but remove
   the oversized empty gap before the process section. */
@media (max-width:680px){
  .why-section .bento-grid--text-only{
    padding-bottom:56px;
  }

  .why-section{
    padding-bottom:24px !important;
  }

  .process-section{
    padding-top:24px !important;
  }
}

