/* =========================================================================
   3일 무료체험 프로그램 — support/experience (재정리판)
   wrapper: .experience-2026
   S3: s3://fuji-prod/assets/css/promotion/experience-2026.css
   ========================================================================= */

/* ---------- full-width breakout ---------- */
.experience-2026{
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}
@media (min-width: 60em){
  .experience-2026{
    width: 100vw !important;
    max-width: 1360px !important;
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
  }
  @supports (max-width: min(100vw, 1360px)){
    .experience-2026{
      max-width: min(100vw, 1360px) !important;
      margin-left: calc(min(100vw, 1360px) / -2) !important;
      margin-right: calc(min(100vw, 1360px) / -2) !important;
    }
  }
}

  .experience-2026{
    --bg: #ffffff;
    --bg-2: #f3f3f3;
    --beige: #f3f3f3;
    --ink: #171717;
    --ink-2: #4a4a4a;
    --muted: #909090;
    --line: #d8d8d8;
    --line-soft: #ececec;
    --rust: #9a9a9a;
    --paper: #f7f7f7;
    --accent: #029570;
    --accent-deep: #017559;
    --em: #ED1A3B;
    --max: 1240px;
  }

  .experience-2026 *{box-sizing:border-box;}

  /* scoped reset for content area */
  .experience-2026{
    background: var(--bg);
    color: var(--ink);
    font-family: "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  .experience-2026 [id]{ scroll-margin-top: 130px; }
  @media (max-width: 640px){
    .experience-2026 [id]{ scroll-margin-top: 100px; }
  }
  .experience-2026 img{display:block; max-width:100%;}
  .experience-2026 a{color:inherit;}
  .experience-2026 button{font-family: inherit;}
  .experience-2026 a.exp-btn--primary,
  .experience-2026 a.exp-btn--dark{ color:#fff; }
  .experience-2026 a.exp-btn--ghost{ color: var(--ink); }
  .experience-2026 a.exp-btn--primary:hover,
  .experience-2026 a.exp-btn--dark:hover{ color:#fff; }

  /* ---------- hero ---------- */
  .exp-hero{
    position: relative;
    width: 100%;
    overflow: hidden;
    background:#000;
    min-height: 420px;
  }
  .exp-hero-img{
    width:100%;
    height: 62vh;
    max-height: 640px;
    min-height: 420px;
    object-fit: cover;
    display:block;
    opacity: 0.82;
  }
  .exp-hero-logo{
    position:absolute;
    top: 40px; right: 48px;
    z-index:3;
    width: 104px;
    opacity: 0.95;
  }
  .exp-hero-center{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction: column;
    align-items:center;
    justify-content:center;
    text-align:center;
    z-index:2;
    padding: 0 24px;
    background: linear-gradient(180deg, rgba(0,0,0,0.28) 0%, rgba(0,0,0,0.12) 40%, rgba(0,0,0,0.42) 100%);
  }
  .exp-hero-eyebrow{
    font-family:"Jost",sans-serif;
    font-weight:400;
    letter-spacing:0.34em;
    text-transform:uppercase;
    font-size:12px;
    color: rgba(255,255,255,0.85);
    margin-bottom: 20px;
    display:inline-flex; align-items:center; gap:12px;
  }
  .exp-hero-eyebrow::before,
  .exp-hero-eyebrow::after{
    content:""; width:30px; height:1px; background:rgba(255,255,255,0.6); display:inline-block;
  }
  .exp-hero-title{
    margin:0;
    color:#fff;
    font-weight:500;
    font-size: 46px;
    line-height:1.2;
    letter-spacing:-0.01em;
    text-shadow: 0 4px 30px rgba(0,0,0,0.4);
  }
  .exp-hero-sub{
    margin: 18px 0 0;
    color: rgba(255,255,255,0.92);
    font-size: 17px;
    line-height:1.6;
    font-weight: 400;
    max-width: 620px;
  }

  /* ---------- floating tab nav ----------
     Site wrapper `.post` has overflow:hidden which traps position:sticky, so we
     use position:fixed + an in-flow `.exp-tabs-sentinel` (after the hero). JS
     toggles `.is-shown` when the sentinel passes under the site GNB. */
  .exp-tabs-sentinel{ height:1px; width:100%; pointer-events:none; }
  .exp-tabs{
    position: fixed;
    top: 69px; left:0; right:0;
    z-index: 50;
    background: rgba(255,255,255,0.94);
    backdrop-filter: saturate(180%) blur(8px);
    -webkit-backdrop-filter: saturate(180%) blur(8px);
    border-bottom: 1px solid var(--line);
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    transition: transform .25s ease, opacity .2s ease;
  }
  .exp-tabs.is-shown{ transform: translateY(0); opacity:1; pointer-events:auto; }
  .exp-tabs-inner{
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 32px;
    display:flex;
    gap: 4px;
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .exp-tabs-inner::-webkit-scrollbar{ display:none; }
  .exp-tab{
    flex: 0 0 auto;
    padding: 18px 22px;
    font-size:14px;
    font-weight:500;
    letter-spacing:-0.005em;
    color: var(--ink-2);
    text-decoration:none;
    white-space:nowrap;
    border-bottom: 2px solid transparent;
    transition: color .2s ease, border-color .2s ease;
  }
  .exp-tab .en{
    display:inline-block;
    margin-left:8px;
    font-family:"Jost",sans-serif;
    font-weight:300;
    font-size:11px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--muted);
  }
  .exp-tab:hover{ color: var(--accent); }
  .exp-tab:hover .en{ color: var(--accent); opacity:.7; }
  .exp-tab.is-active{ color: var(--accent); border-bottom-color: var(--accent); font-weight:600; }
  .exp-tab.is-active .en{ color: var(--accent); opacity:.7; }
  .experience-2026 a.exp-tab{ color: var(--ink-2); }
  .experience-2026 a.exp-tab:hover,
  .experience-2026 a.exp-tab.is-active{ color: var(--accent); }
  @media (max-width: 640px){
    .exp-tabs{ top: 49px; }
    .exp-tabs-inner{ padding: 0 16px; gap: 0; }
    .exp-tab{ padding: 14px 14px; font-size: 13px; }
    .exp-tab .en{ display:none; }
  }

  /* ---------- shared frames ---------- */
  .exp-wrap{ max-width: var(--max); margin: 0 auto; padding: 0 32px; }
  .exp-eyebrow{
    font-family:"Jost",sans-serif;
    font-weight:400;
    letter-spacing:0.32em;
    text-transform:uppercase;
    font-size:11px;
    color: var(--rust);
    display:inline-flex; align-items:center; gap:12px;
  }
  .exp-eyebrow::before{ content:""; width:28px; height:1px; background: var(--rust); display:inline-block; }
  .exp-section-head{ margin-bottom: 44px; }
  .exp-section-head h2{
    margin: 14px 0 0;
    font-weight:500;
    font-size:32px;
    letter-spacing:-0.01em;
    color: var(--ink);
  }
  .exp-section-head h2 .en{
    display:block;
    margin-top:8px;
    font-family:"Jost",sans-serif;
    font-weight:300;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-size:12px;
    color: var(--ink-2);
  }
  .exp-section-lead{
    margin: 0 0 40px;
    max-width: none;
    font-size: 16px;
    line-height: 1.85;
    color: var(--ink-2);
  }

  /* ---------- intro ---------- */
  .exp-intro{ padding: 88px 0 76px; }
  .exp-intro-grid{
    display:grid;
    grid-template-columns: 360px 1fr;
    gap: 80px;
    align-items:start;
  }
  .exp-intro h1{
    margin: 18px 0 0;
    font-weight:500;
    font-size:38px;
    line-height:1.25;
    letter-spacing:-0.01em;
    color: var(--ink);
  }
  .exp-intro h1 .en{
    display:block;
    margin-top:14px;
    font-family:"Jost",sans-serif;
    font-weight:300;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-size:13px;
    color: var(--ink-2);
  }
  .exp-intro .lead{
    margin: 0 0 24px;
    font-weight:500;
    font-size:22px;
    line-height:1.55;
    color: var(--ink);
    letter-spacing:-0.005em;
  }
  .exp-intro p{ margin: 0 0 16px; color: var(--ink-2); font-size:15.5px; line-height:1.85; text-wrap: pretty; }
  .exp-intro p:last-child{ margin-bottom:0; }

  /* member benefits — full-width row (like process) */
  .exp-benefits-wrap{ margin-top: 56px; }
  .exp-benefits-h{
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    display:flex; align-items:baseline; gap:10px;
  }
  .exp-benefits-h .en{
    font-family:"Jost",sans-serif; font-weight:300; font-size:11px; letter-spacing:0.16em;
    text-transform:uppercase; color: var(--muted);
  }
  .exp-benefits{
    display:grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
  }
  .exp-benefit{
    background: var(--beige);
    padding: 22px 22px 24px;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .exp-benefit .b-no{
    font-family:"Jost",sans-serif; font-weight:500; font-size:12px;
    letter-spacing:0.12em; color: var(--accent);
  }
  .exp-benefit .b-txt{ font-size:14.5px; font-weight:500; color: var(--ink); line-height:1.5; }

  /* ---------- process steps ---------- */
  .exp-process{ padding: 84px 0; background: var(--beige); }
  .exp-steps{
    position: relative;
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    background:#fff;
    padding: 44px 24px 40px;
  }
  .exp-steps::before{
    content:"";
    position:absolute;
    top: 82px;
    left: calc(24px + (100% - 96px) / 8);
    right: calc(24px + (100% - 96px) / 8);
    height:1px;
    background: var(--line);
    z-index:0;
  }
  .exp-step{
    position:relative; z-index:1;
    display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px;
  }
  .exp-step-icon{
    width:76px; height:76px;
    border-radius:50%;
    background:#fff;
    border:1px solid var(--line);
    color: var(--accent);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:12px;
  }
  .exp-step-icon svg{ width:34px; height:34px; }
  /* let the 3 spans become direct flex items -> each on its own row */
  .exp-step-body{ display: contents; }
  .exp-step-no{
    font-family:"Jost",sans-serif; font-weight:500; letter-spacing:0.16em; text-transform:uppercase;
    font-size:11px; color: var(--accent);
  }
  .exp-step-title{ font-weight:600; font-size:16px; color: var(--ink); margin-top: 2px; }
  .exp-step-desc{ font-size:13px; color: var(--ink-2); line-height:1.55; margin-top: 8px; }
  .exp-process-notes{
    margin: 26px 0 0;
    padding: 22px 30px 22px 46px;
    list-style: disc;
    background:#fff;
    border-left: 2px solid var(--accent);
  }
  .exp-process-notes li{ margin: 0 0 10px; font-size:13.5px; line-height:1.7; color: var(--ink-2); }
  .exp-process-notes li:last-child{ margin-bottom:0; }
  .exp-process-notes li::marker{ color: var(--accent); }

  .exp-cta-row{
    margin-top: 28px;
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }

  /* ---------- verify (identity) — the core section ---------- */
  .exp-verify{ padding: 92px 0; }
  .exp-vlist{
    border-top: 1px solid var(--ink);
  }
  .exp-vitem{
    display:grid;
    grid-template-columns: 88px 1fr;
    gap: 8px 28px;
    padding: 34px 0;
    border-bottom: 1px solid var(--line);
  }
  .exp-vnum{
    grid-row: span 2;
    font-family:"Jost",sans-serif;
    font-weight:300;
    font-size: 44px;
    line-height:1;
    color: var(--accent);
    letter-spacing:0.01em;
  }
  .exp-vhead{ align-self:center; }
  .exp-vhead h3{
    margin:0;
    font-size: 20px;
    font-weight:600;
    letter-spacing:-0.01em;
    color: var(--ink);
  }
  .exp-vbody{ grid-column: 2; }
  .exp-vbody > p{
    margin: 0 0 14px;
    font-size: 15px;
    color: var(--ink-2);
    line-height: 1.8;
  }
  .exp-vbody ul{
    margin: 0 0 14px;
    padding-left: 20px;
    list-style: disc;
  }
  .exp-vbody ul li{ margin: 0 0 8px; font-size:14.5px; line-height:1.75; color: var(--ink); }
  .exp-vbody ul li::marker{ color: var(--accent); }
  .exp-vbody ul li:last-child{ margin-bottom:0; }
  /* ※ notes: show only the ※ mark, no disc bullet (beats .exp-vbody ul) */
  .exp-vbody ul.exp-vnotes{ list-style: none; }
  .exp-vbody ul.exp-vnotes li::marker{ content: ""; }

  /* two-column sub cards inside a verify item */
  .exp-vcards{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--line);
    border:1px solid var(--line);
    margin: 4px 0 14px;
  }
  .exp-vcard{ background: var(--paper); padding: 20px 22px; }
  .exp-vcard h4{
    margin:0 0 12px;
    font-size:14px; font-weight:600; color: var(--ink);
    display:flex; align-items:center; gap:8px;
  }
  .exp-vcard h4 .tag{
    font-family:"Jost",sans-serif; font-weight:400; font-size:10px; letter-spacing:0.12em;
    text-transform:uppercase; color:#fff; background: var(--accent);
    padding: 3px 8px; border-radius: 2px;
  }
  .exp-vcard ul{ margin:0; padding-left: 18px; }
  .exp-vcard ul li{ font-size:13.5px; margin:0 0 6px; color: var(--ink-2); }

  /* notes (※) block */
  .exp-vnotes{
    margin: 2px 0 0;
    padding: 16px 20px;
    background: var(--beige);
    border-left: 2px solid var(--muted);
    list-style:none;
  }
  .exp-vnotes li{
    position:relative;
    padding-left: 18px;
    font-size: 13px;
    line-height:1.7;
    color: var(--ink-2);
    margin: 0 0 8px;
  }
  .exp-vnotes li:last-child{ margin-bottom:0; }
  .exp-vnotes li::before{ content:"※"; position:absolute; left:0; top:0; color: var(--muted); }

  /* restriction list (case 5) — emphasis */
  .exp-vbody.is-restrict{ }
  .exp-restrict{
    margin: 0;
    padding: 0;
    list-style:none;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 28px;
  }
  .exp-restrict li{
    padding-left: 0;
    font-size: 14.5px;
    line-height:1.6;
    color: var(--ink);
  }
  .exp-verify-intro{
    margin: 0 0 8px;
    padding: 20px 24px;
    background: var(--beige);
    font-size: 15px;
    line-height:1.8;
    color: var(--ink);
  }

  /* process flow inside a verify item (추가 확인 절차) */
  .exp-flow{
    position: relative;
    margin: 8px 0 4px;
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    counter-reset: flow;
  }
  .exp-flow::before{
    content:"";
    position:absolute;
    top: 21px;                 /* badge (44px) vertical center */
    left: calc(100% / 8);      /* center of first cell */
    right: calc(100% / 8);     /* center of last cell */
    height:1px;
    background: var(--line);
    z-index:0;
  }
  .exp-flow-item{
    position: relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap: 12px;
    padding: 0 6px;
  }
  .exp-flow-item::before{
    counter-increment: flow;
    content: counter(flow);
    width: 44px; height: 44px;
    border-radius:50%;
    border:1px solid var(--accent);
    background:#fff;
    color: var(--accent);
    display:flex; align-items:center; justify-content:center;
    font-family:"Jost",sans-serif; font-weight:400; font-size:17px;
    line-height:1;
  }
  .exp-flow-label{
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: var(--ink);
  }
  @media (max-width: 640px){
    .exp-flow{ grid-template-columns: 1fr; gap: 0; }
    .exp-flow::before{ display:none; }
    .exp-flow-item{
      flex-direction: row;
      align-items:center;
      text-align:left;
      gap: 16px;
      padding: 10px 0;
    }
    .exp-flow-item::before{ flex: 0 0 44px; }
    .exp-flow-item:not(:last-child)::after{
      content:"";
      position:absolute;
      top: 54px;
      left: 21px;
      right: auto;
      bottom: -10px;
      width: 1px; height: auto;
      background: var(--line);
      z-index:0;
    }
  }

  /* ---------- products ---------- */
  .exp-products{ padding: 92px 0; background: var(--beige); }
  .exp-prod-block{ margin-bottom: 40px; }
  .exp-prod-block:last-child{ margin-bottom: 0; }
  .exp-prod-h{
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--ink);
    font-size: 18px; font-weight:600; color: var(--ink);
    display:flex; align-items:baseline; gap:10px;
  }
  .exp-prod-h .en{
    font-family:"Jost",sans-serif; font-weight:300; font-size:12px; letter-spacing:0.16em;
    text-transform:uppercase; color: var(--muted);
  }
  .exp-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-bottom: 1px solid var(--line);
  }
  .exp-table th[scope="row"]{
    width: 130px;
    vertical-align: top;
    text-align:left;
    padding: 16px 18px;
    background: #fafafa;
    border-top: 1px solid var(--line);
    border-right: 1px solid var(--line);
    font-weight:600;
    font-size:14px;
    color: var(--ink);
    line-height:1.5;
  }
  .exp-table td{
    padding: 16px 18px;
    border-top: 1px solid var(--line);
    font-size:14px;
    line-height:1.9;
    color: var(--ink-2);
    vertical-align: top;
  }
  .exp-table td .cols{
    column-count: 3;
    column-gap: 28px;
  }
  @media (max-width: 720px){ .exp-table td .cols{ column-count: 2; } }
  @media (max-width: 460px){ .exp-table td .cols{ column-count: 1; } }
  .exp-prod-note{
    margin: 12px 0 0;
    font-size: 13px;
    line-height:1.7;
    color: var(--muted);
  }
  .exp-prod-note sup{ color: var(--accent); }

  /* ---------- notice / return ---------- */
  .exp-notice{ padding: 92px 0 100px; }
  .exp-notice-grid{
    display:grid;
    grid-template-columns: 1fr 380px;
    gap: 56px;
    align-items:start;
  }
  .exp-check-list{
    margin: 0;
    padding: 0;
    list-style:none;
    border-top: 1px solid var(--ink);
  }
  .exp-check-list li{
    position:relative;
    padding: 16px 16px 16px 34px;
    border-bottom: 1px solid var(--line);
    font-size: 15px;
    line-height:1.65;
    color: var(--ink);
  }
  .exp-check-list li::before{
    content:"";
    position:absolute; left: 4px; top: 21px;
    width: 14px; height: 8px;
    border-left: 2px solid var(--accent);
    border-bottom: 2px solid var(--accent);
    transform: rotate(-45deg);
  }
  .exp-notice-figure figure{ margin:0; }
  .exp-notice-figure img{ width:100%; border:1px solid var(--line); }
  .exp-check-sub{
    display:block;
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--muted);
  }

  /* ---------- store hours ---------- */
  .exp-hours{ padding: 92px 0 0; }
  .exp-hours-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
  }
  .exp-hours-card{
    background: var(--beige);
    padding: 30px 28px 32px;
    display:flex;
    flex-direction:column;
    gap: 12px;
  }
  .exp-hours-name{
    margin:0;
    font-size: 18px;
    font-weight:600;
    color: var(--ink);
  }
  .exp-hours-name .en{
    display:block;
    margin-top: 5px;
    font-family:"Jost",sans-serif; font-weight:300; font-size:11px; letter-spacing:0.16em;
    text-transform:uppercase; color: var(--muted);
  }
  .exp-hours-time{
    margin:0;
    font-family:"Jost","Pretendard",sans-serif;
    font-size: 19px;
    font-weight:500;
    color: var(--accent);
    letter-spacing:0.01em;
  }
  .exp-hours-note{
    margin:0;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.65;
    color: var(--ink-2);
  }

  /* ---------- foot cta ---------- */
  .exp-foot{ padding: 76px 0 110px; background: var(--beige); }
  .exp-foot-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .exp-btn{
    display:inline-flex; align-items:center; justify-content:center;
    flex-wrap:wrap; column-gap:10px; row-gap:4px;
    padding: 22px 28px;
    font-size:15.5px; font-weight:600; line-height:1.4; text-align:center;
    text-decoration:none; border:1px solid transparent; cursor:pointer;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    width:100%;
  }
  .exp-btn .en{
    display:inline-block;
    font-family:"Jost",sans-serif; font-weight:400; font-size:12.5px;
    letter-spacing:0.08em; text-transform:uppercase; color:inherit; opacity:.9;
  }
  .exp-btn--primary{ background: var(--accent); color:#fff; }
  .exp-btn--primary:hover{ background: #34b591; color:#fff; }
  .exp-btn--dark{ background: var(--ink); color:#fff; }
  .exp-btn--dark:hover{ background: #3a3a3a; color:#fff; }
  .exp-btn--ghost{ background:transparent; color: var(--ink); border-color: var(--ink); }
  .exp-btn--ghost:hover{ background:#fafafa; border-color:#4a4a4a; }

  /* ---------- responsive ---------- */
  @media (max-width: 900px){
    .exp-intro-grid{ grid-template-columns: 1fr; gap: 32px; }
    .exp-notice-grid{ grid-template-columns: 1fr; gap: 32px; }
    .exp-steps{ grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
    .exp-steps::before{ display:none; }
    .exp-cta-row{ grid-template-columns: 1fr; }
    .exp-vcards{ grid-template-columns: 1fr; }
    .exp-restrict{ grid-template-columns: 1fr; }
    .exp-benefits{ grid-template-columns: repeat(3, 1fr); }
    .exp-hours-grid{ grid-template-columns: 1fr; }
  }
  @media (max-width: 640px){
    .experience-2026{ font-size:15px; }
    .exp-wrap{ padding: 0 20px; }
    .exp-hero-logo{ width: 78px; top: 20px; right: 20px; }
    .exp-hero-title{ font-size: 30px; }
    .exp-hero-sub{ font-size: 15px; }
    .exp-intro{ padding: 56px 0 52px; }
    .exp-intro h1{ font-size: 27px; }
    .exp-intro .lead{ font-size: 18px; }
    .exp-process, .exp-verify, .exp-products, .exp-notice{ padding: 58px 0; }
    .exp-section-head h2{ font-size: 24px; }
    .exp-steps{ grid-template-columns: 1fr; row-gap: 24px; padding: 34px 20px; }
    .exp-step{ flex-direction: row; align-items:flex-start; text-align:left; gap: 16px; }
    .exp-step-icon{ margin: 0; flex: 0 0 60px; width:60px; height:60px; }
    .exp-step-icon svg{ width:28px; height:28px; }
    .exp-step-body{ display:flex; flex-direction:column; gap:3px; }
    .exp-vitem{ grid-template-columns: 52px 1fr; gap: 6px 16px; padding: 26px 0; }
    .exp-vnum{ font-size: 30px; }
    .exp-vhead h3{ font-size: 18px; }
    .exp-vbody{ grid-column: 2; }
    .exp-foot-row{ grid-template-columns: 1fr; }
    .exp-foot{ padding: 56px 0 78px; }
    .exp-notice{ padding: 56px 0 72px; }
    .exp-benefits{ grid-template-columns: 1fr; }
    .exp-hours{ padding: 58px 0 0; }
  }
