:root{
    /* Colors */
    --clr-text: #333333;
    --clr-text-muted: #555555;
    --clr-brand-yellow: #F7D651; /* hero 黃 */
    --clr-brand-yellow-2: #f2d24a; /* 其他黃系（可視需要保留） */
    --clr-brand-green: #0C6850;     /* 主綠 */
    --clr-deep-green: #155e3b;      /* 深綠（footer/標題） */
  
    /* Radius & Shadows */
    --radius-xl: 50px;
    --radius-lg: 20px;
    --radius-pill: 999px;
    --shadow: 0 10px 30px rgba(0,0,0,.08);
    --shadow-lg: 0 16px 40px rgba(0,0,0,.14);
  
    /* Motion */
    --dur-fast: .3s;
    --dur-mid: .45s;
    --ease: cubic-bezier(.22,.61,.36,1);
  
    /* Layout */
    --container-max: 1200px;
  }
  .flex--row {
    flex-flow: row wrap!important;
  }
  /* 共用容器（與你的 .container 語意一致） */
  .container, .u-container{
    width: min(92%, var(--container-max));
    margin-inline: auto;
  }
  
  /* 基礎排版（用 rem） */
  html{
    color: var(--clr-text);
    font-size: 16px; /* 1rem */
    font-family: "Noto Sans TC", Arial, sans-serif;
  }
  
  /* 滾動進場初始狀態（搭配你 GSAP/IO 使用） */
  [data-reveal]{
    opacity: 0;
    will-change: opacity, transform;
  }
  
  /* 減少動態無障礙 */
  @media (prefers-reduced-motion: reduce){
    [data-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }
  }
  
  /* ================================================
     Hero
     ================================================ */
  .hero{
    position: relative;
    /* 用 dvh 改善行動瀏覽器地址列跳動；保留 vh 當 fallback */
    height: 100%;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-top: 40px;
  }
  .hero .container{
    display: grid;
    gap: 1.25rem; 
  }
  
  /* 背景（黃底 + 可放城市剪影） */
  .hero__bg{
    position: absolute; inset: 0;
    background-color: var(--clr-brand-yellow);
    z-index: -1;
    display: flex; align-items: flex-end;
  }
  
  .hero__header,
  .woofooter__header{
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 2rem; 
    margin-bottom: 1.25rem; /* 20px */
    position: relative;
    background-color: inherit;
    box-shadow: none;
    z-index: 1;
  }
  
  /* 標題/內文（用 rem 並保持置中） */
  .woo__title{
    display: flex;
    flex-flow: column;
    align-items: center;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
  }
  .woo__desc{
    font-size: 1.25rem;
    text-align: center;
    color: var(--clr-text-muted);
  }
  
  /* 膠囊徽章 */
  .hero__badge{
    background-color: var(--clr-brand-green);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    padding: .625rem 1.875rem; /* 10px 30px */
    border-radius: 35px;
  }
  
  /* CTA 區（合併重覆樣式） */
  .hero__actions{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    gap: 1.25rem; /* 20px */
    margin-bottom: 1rem;
  }
  .hero__visual{
    order: 1;
  }
  .hero__cta{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    height: 4.375rem;  /* 70px */
    width: 28.125rem;  /* 450px */
    padding: .625rem 1.875rem;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    border-radius: 10px;
    transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-mid) var(--ease), background-color var(--dur-fast) var(--ease), filter var(--dur-fast) var(--ease);
    text-decoration: none;
  }
  .hero__cta:hover{
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,.12);
    text-decoration: none;
    background-color: #0C6850;
    color: #fff;
  }
  .woofooter__inner .hero__actions{
    position: relative;
    bottom: inherit;
    left: inherit;
    transform: inherit!important;
  }
  /* 按鈕色系 */
  .btn--primary{ background-color: #333; }
  .btn--yellow{ background-color: var(--clr-brand-yellow); }
  .btn--yellow span{ color: #333; }
  .btn--yellow:hover{ background-color: #333 !important; }
  .btn--yellow:hover span{ color: #fff; }
  
  /* 圖示尺寸統一 */
  .btn__icon,
  .btn__icon_2{
    width: 30px;
    height: 30px;
    transition: filter var(--dur-fast) var(--ease);
  }
  .btn__icon{ filter: brightness(0) invert(1); }
  .btn--yellow:hover .btn__icon_2{ filter: brightness(0) invert(1); }
  
  /* ================================================
     Payments Grid
     ================================================ */
  .payments{ margin-bottom: 4.0625rem; /* 65px */ }
  
  .payments__header{
    margin-block: 100px;
    display: flex; justify-content: center;
    position: relative;
    background-color: inherit;
    box-shadow: none;
    z-index: 1;
  }
  .payments__header b{ color: var(--clr-brand-green); }
  
  /* 3 → 2 → 1 欄響應式 */
  .payments__grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    position: relative;
  }
  
  /* 中央人物（3×2 中置） */
  .payments__mascot{
    display: grid; place-items: center;
    grid-column: 2; grid-row: 2;
    pointer-events: none;
  }
  .payments__mascot img{ max-width: 340px; height: auto; }
  
  @media (max-width: 1024px){
    .payments__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .payments__mascot{ grid-column: 1 / -1; grid-row: auto; order: 4; margin-block: 6px; }
    .payments__mascot img{ max-width: 200px; }
  }
  @media (max-width: 640px){
    .payments__grid{ grid-template-columns: 1fr; }
    .payments__mascot{ display: none; } /* 手機可省略裝飾 */
  }
  
  /* 卡片 */
  .payments-card{
    background: #fff;
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: grid;
    grid-template-rows: auto auto auto;
    align-content: start;
    gap: 10px;
  }
  .payments-card:hover{
    transform: translateY(-4px)!important;
  }
  
  /* 主圖 */
  .payments-card__media{
    aspect-ratio: 1.52 / 1; /* 15.2/10 ≒ 1.52 */
    overflow: hidden; position: relative;
  }
  .payments-card__media img{
    width: 100%; height: 100%; object-fit: cover; display: block;
  }
  .payments-card__media:hover{
    transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-mid) var(--ease);
    box-shadow: 0 4px 10px rgba(0,0,0,.12);
    border-radius: 20px;
  }

  /* 說明 */
  .payments-card__desc{
    font-size: 1.25rem;
    font-weight: 700;
    display: flex; justify-content: center;
    color: var(--clr-text-muted);
  }
  
  /* ================================================
     Delivery Suite
     ================================================ */
  .delivery-suite{
    position: relative;
    background: var(--clr-brand-yellow-2); /* 與上方黃區隔用另一黃 */
    padding-block: 6rem;
    isolation: isolate;
    max-width: 95rem; /* 1520px */
    margin-inline: auto;
  }
  .delivery-suite__container{ position: relative; }
  
  /* 標題外框字（用 ::after 描邊） */
  .realtime__title{
    /* 修正 clamp：clamp(最小, 理想, 最大)；原本 2.5/2.5 無彈性 */
    font-size: clamp(1.25rem, 4vw, 2.5rem);
    color: #fff;
    letter-spacing: .02em;
    font-weight: 700;
    position: relative;
    z-index: 1;
    width: calc(100% - 28rem);
  }
  .realtime__title::after{
    content: "即時交易，訊息不漏接";
    position: absolute; inset: 0 auto auto 0;
    z-index: -1;
    color: transparent;
    -webkit-text-stroke: 6px var(--clr-deep-green);
    text-stroke: 6px var(--clr-deep-green);
  }
  
  /* 白底內容卡 */
  .realtime__body{
    position: relative;
    display: grid; gap: 30px; align-items: start;
    background-color: #fff;
    border-radius: var(--radius-xl);
    padding: 70px;
    margin-top: 60px;
  }
  .realtime__desc{
    color: var(--clr-text);
    line-height: 1.6;
    font-size: 1.25rem;
    width: calc(100% - 28rem);
  }
  
  /* 右下手機示意（絕對定位） */
  .realtime__phone{
    position: absolute; inset: auto 0 0 auto;
    width: 100%;
    display: flex; justify-content: flex-end;
    margin-bottom: -6rem;
  }
  /* 修正 clamp：給最小/理想/最大（原本 8/28/28 不具彈性） */
  .realtime__phone img{
    width: clamp(12rem, 28vw, 28rem);
    height: auto;
  }
  
  .realtime__steps{
    display: grid; gap: .5rem;
    padding-left: 1.25rem;
    color: var(--clr-text);
    font-size: .9375rem;
    line-height: 1.5;
  }
  
  /* ================================================
     Woo Footer + Sub Footer
     ================================================ */
  .woofooter{
    display: flex; flex-flow: column;
    align-items: center; justify-content: center;
    position: relative; overflow: hidden;
    margin-top: 100px;
  }
  .woofooter__bg{
    position: absolute; inset: 0;
    background-color: #eee;
    z-index: -1; display: flex;
  }
  .woofooter__inner{
    display: flex; flex-flow: column; align-items: center;
    gap: 30px; padding: 70px 0;
  }
  
  /* 次要 footer 條 */
  .sub_footer{
    background: var(--clr-deep-green);
    color: #fff;
    padding-block: 1rem;
    font-size: .9375rem;
    letter-spacing: .02em;
    min-height: 70px;
    display: flex; align-items: center;
    width: 100%;
  }
  .footer__inner{
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    width: min(92%, var(--container-max));
    margin-inline: auto; gap: .5rem;
  }
  .footer__info, .footer__desc{ margin: 0; line-height: 1.5; }
  .footer__info a{ color: #fff; text-decoration: none; font-weight: 600; }
  .footer__info a:hover{ text-decoration: underline; }
  
    .mb-delivery-img{display: none;}

  /* ================================================
     Responsive
     ================================================ */
  
  /* 📱 Phone ≤640 */
  @media (max-width: 640px){
    .hero{
      height: inherit;
      min-height: inherit;
    }
    .delivery-img{ display: none; }
    .mb-delivery-img{ display: block; }
  
    .realtime__title,
    .realtime__desc{ width: 100%; }
  
    .realtime__desc{ margin-bottom: 16rem; }
  
    .hero__cta{ width: 100%; font-size: 1rem;letter-spacing: 0;}
    .hero__badge{ font-size: 1.25rem; }
  
    .woo__title{ font-size: 2rem; text-align: center; }
    .payments__header{ margin-block: 70px; }
  
    .woofooter{ margin-top: 30px; }
  
    .delivery-suite{ padding-block: 3rem; }
    .realtime__phone{ margin-bottom: -3rem; justify-content: center; }
    .realtime__phone img{ width: 20rem; }
  
    .realtime__body{ margin-top: 30px; gap: 15px; padding: 50px; }
    .realtime__title{ font-size: 2rem; }
  
    .footer__inner i{ display: none; }
    .footer__desc{ text-align: center; }
     .hero__actions{
        position: relative;
        bottom: inherit;
        left: inherit;
        transform: inherit!important;
      }

    
  }
  
  /* 📗 Tablet 641–1024 */
  @media (min-width: 641px) and (max-width: 1024px){
    .payments__mascot{ display: none; }
  
    .delivery-suite{ padding-block: 3rem; }
    .realtime__title, .realtime__desc{ width: calc(100% - 16rem); }
    .realtime__desc{ margin-bottom: 1rem; }
    .realtime__phone{ margin-bottom: -3rem; }
    .realtime__phone img{ width: 18rem; }
  
    .realtime__body{ margin-top: 30px; gap: 15px; padding: 50px; }
    .realtime__title{ font-size: 2rem; }
  
    .woofooter{ margin-top: 30px; }
  }
  