    :root {
      --bg: #F4F7FB;
      --card: #ffffff;
      --text: #001E42;
      --muted: #4b5f7b;

      --brand: #002B5C;
      --brand-2: #001E42;
      --brand-soft: #eef4fb;
      --teal: #1d5c94;
      --green: #2f9e44;
      --amber: #9b7b32;
      --coral: #E6002D;
      --rose: #E6002D;
      --indigo: #1f3f73;

      /* section tones */
      --section-hero: linear-gradient(135deg, #001E42 0%, #002B5C 52%, #143f75 100%);
      --section-a: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
      --section-b: linear-gradient(135deg, #eef8f6 0%, #f7fbff 48%, #fff8eb 100%);
      --section-c: linear-gradient(135deg, #edf5ff 0%, #f6f3ff 48%, #effbf5 100%);
      --section-d: linear-gradient(135deg, #fff7ed 0%, #fffafb 48%, #eef9f8 100%);

      /* status colors - EXA real logic */
      --status-green-bg: #e9f8ef;
      --status-green-text: #157a3b;
      --status-yellow-bg: #fff4d9;
      --status-yellow-text: #9a6400;
      --status-red-bg: #fff0ed;
      --status-red-text: #aa3c2b;
      --status-blue-bg: #e6f5fb;
      --status-blue-text: #0b5f7b;
      --status-gray-bg: #f3f4f6;
      --status-gray-text: #4b5563;

      --shadow: 0 14px 32px rgba(23, 32, 51, 0.08);
      --shadow-color: 0 18px 36px rgba(11, 95, 123, 0.13);
      --radius-lg: 16px;
      --radius-md: 10px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: "Inter", Arial, sans-serif;
      font-size: 16px;
      color: var(--text);
      background:
        linear-gradient(90deg, rgba(0, 30, 66, 0.03) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff 0%, var(--bg) 52%, #eef3f8 100%);
      background-size: 36px 36px, auto;
    }

    .container {
      max-width: 1320px;
      margin: 0 auto;
      padding: 24px;
    }

    /* HERO */
    .hero {
      position: relative;
      overflow: hidden;
      background: var(--section-hero);
      color: #fff;
      border-radius: 18px;
      padding: 18px 34px 34px;
      min-height: 100vh;
      box-shadow: 0 20px 48px rgba(6, 51, 79, 0.22);
      border: 1px solid rgba(255,255,255,0.18);
    }

    .hero::before,
    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .hero::before {
      background:
        linear-gradient(110deg, rgba(255,255,255,0.08) 0 12%, transparent 12% 20%, rgba(255,255,255,0.04) 20% 30%, transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,0.04), transparent 62%);
      opacity: 0.62;
    }

    .hero::after {
      background: linear-gradient(180deg, rgba(0, 30, 66, 0.15) 0%, rgba(0, 30, 66, 0.18) 50%, rgba(0, 30, 66, 0.78) 100%);
      opacity: 1;
    }

    .brand-header {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 24px;
      padding: 10px 14px;
      border-bottom: 1px solid rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.06);
      backdrop-filter: blur(10px);
      border-radius: 12px;
    }

    .brand-left {
      display: flex;
      align-items: center;
      gap: 14px;
      min-width: 0;
    }

    .brand-logo {
      width: 170px;
      max-width: 100%;
      background: rgba(255,255,255,0.95);
      border-radius: 8px;
      padding: 10px 12px;
      box-shadow: 0 10px 22px rgba(7, 32, 56, 0.14);
    }

    .brand-context {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .brand-context .caption {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.05em;
      color: rgba(255,255,255,0.8);
      text-transform: uppercase;
    }

    .brand-context .project-name {
      font-size: 15px;
      font-weight: 700;
      color: #eaf3ff;
    }

    .hero-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 22px;
      align-items: stretch;
      margin-top: 84px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(255,255,255,0.12);
      font-size: 13px;
      letter-spacing: 0.02em;
      margin-bottom: 14px;
    }

    h1 {
      margin: 0;
      font-size: clamp(52px, 6.1vw, 98px);
      line-height: 1.03;
      letter-spacing: 0;
      font-weight: 300;
      transition: transform .2s ease, text-shadow .2s ease;
      transform-origin: left center;
    }

    .tagline {
      margin-top: 12px;
      font-size: clamp(44px, 5.2vw, 82px);
      font-weight: 400;
      line-height: 1.05;
      color: rgba(255,255,255,0.93);
      transition: transform .2s ease, color .2s ease;
      transform-origin: left center;
    }

    .subtitle {
      margin-top: 16px;
      max-width: 760px;
      font-size: 16px;
      line-height: 1.85;
      color: rgba(255,255,255,0.94);
    }

    .hero-why-line {
      margin-top: 0;
      max-width: 980px;
      font-size: 16px;
      line-height: 1.85;
      color: rgba(255,255,255,0.84);
      padding-left: 14px;
      border-left: 3px solid transparent;
      opacity: 0;
      max-height: 0;
      overflow: hidden;
      clip-path: inset(0 100% 0 0);
      transition:
        opacity .28s ease,
        max-height .38s ease,
        margin-top .32s ease,
        border-left-color .28s ease,
        clip-path .45s ease;
      transform-origin: left center;
    }

    .hero-grid > div:first-child:hover .hero-why-line {
      margin-top: 28px;
      opacity: 1;
      max-height: 180px;
      border-left-color: rgba(255,255,255,0.28);
      clip-path: inset(0 0 0 0);
    }

    .hero-grid > div:first-child:hover h1 {
      transform: translateY(-1px) scale(1.01);
      text-shadow: 0 8px 18px rgba(8, 33, 56, 0.22);
    }

    .hero-grid > div:first-child:hover .tagline {
      transform: translateY(-1px) scale(1.01);
      color: #eaf3ff;
    }

    .hero-grid > div:first-child:hover .hero-why-line {
      transform: translateY(-1px) scale(1.01);
      font-size: 16.2px;
      color: rgba(255,255,255,0.96);
    }

    .hero-actions {
      display: flex;
      gap: 26px;
      flex-wrap: nowrap;
      margin-top: 0;
    }

    .chip-btn {
      border: 0;
      background: transparent;
      color: white;
      padding: 6px 0;
      border-radius: 0;
      cursor: pointer;
      font-weight: 500;
      font-size: 17px;
      line-height: 1.2;
      box-shadow: none;
      opacity: 0.92;
      transition: transform .18s ease, opacity .18s ease, color .18s ease;
    }

    .chip-btn:hover {
      opacity: 1;
      color: #ffffff;
      transform: translateY(-1px);
    }

    .hero-summary-panel {
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.2);
      border-radius: 12px;
      padding: 20px;
      backdrop-filter: blur(8px);
      display: grid;
      gap: 12px;
      align-content: start;
      align-self: end;
      margin-bottom: 42px;
    }

    .hero-summary-panel h3 {
      margin: 0;
      font-size: 18px;
      color: #ffffff;
      letter-spacing: -0.01em;
    }

    .hero-summary-card {
      position: relative;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 10px;
      padding: 18px;
      overflow: hidden;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
    }

    .hero-summary-card::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 4px;
      background: #ffd166;
    }

    .hero-summary-card:nth-child(2)::before { background: #63d2c6; }
    .hero-summary-card:nth-child(3)::before { background: #f28c6b; }
    .hero-summary-card > * {
      position: relative;
    }

    .hero-summary-card:hover {
      transform: translateY(-3px) scale(1.01);
      border-color: rgba(255,255,255,0.26);
      background: rgba(255,255,255,0.16);
      box-shadow: 0 14px 24px rgba(8, 33, 56, 0.2);
    }

    .hero-scroll-indicator {
      position: absolute;
      left: 50%;
      bottom: 12px;
      transform: translateX(-50%);
      width: 34px;
      height: 34px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.42);
      background: rgba(0, 30, 66, 0.2);
      color: #fff;
      display: grid;
      place-items: center;
      cursor: pointer;
      z-index: 2;
      backdrop-filter: blur(6px);
      animation: heroArrowFloat 1.8s ease-in-out infinite;
    }

    .hero-scroll-indicator svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    @keyframes heroArrowFloat {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(4px); }
    }

    .hero-summary-card .sum-label {
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: rgba(255,255,255,0.72);
      margin-bottom: 6px;
      font-weight: 800;
    }

    .hero-summary-card .sum-title {
      font-size: 18px;
      font-weight: 800;
      margin-bottom: 6px;
      line-height: 1.1;
    }

    .hero-summary-card .sum-desc {
      font-size: 16px;
      line-height: 1.7;
      color: rgba(255,255,255,0.88);
    }

    /* GENERIC */
    .section-block {
      position: relative;
      margin-top: 8px;
      padding: 0;
      border-radius: 0;
      border: 0;
      box-shadow: none;
      overflow: visible;
      opacity: 1;
      filter: none;
      transition: opacity .22s linear, filter .22s linear;
      will-change: opacity, filter;
    }

    .section-block.is-dimmed {
      filter: saturate(0.88);
    }

    .section-block::before { content: none; }

    .section-light,
    .section-soft,
    .section-strong,
    .section-warm { background: transparent; }

    .section-divider {
      height: 0;
      margin: 8px 10px 0;
      border: 0;
      border-top: 2px solid rgba(121, 141, 166, 0.28);
      border-radius: 999px;
    }

    .card {
      position: relative;
      background: var(--card);
      border: 1px solid rgba(23, 32, 51, 0.08);
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .card::before,
    .detail-panel::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 5px;
      background: linear-gradient(90deg, var(--teal), var(--amber), var(--coral), var(--indigo));
    }

    .card-header {
      padding: 24px 26px 10px;
    }

    .card-header h2,
    .card-header h3 {
      margin: 0;
      font-size: 26px;
      line-height: 1.3;
      letter-spacing: -0.01em;
    }

    .card-header p {
      margin: 10px 0 0;
      color: var(--muted);
      line-height: 1.8;
      font-size: 16px;
    }

    .card-body {
      padding: 20px 26px 26px;
    }

    .mini-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 11px;
      border-radius: 999px;
      background: linear-gradient(135deg, #e6f5fb 0%, #fff3d8 100%);
      color: var(--brand);
      font-size: 12px;
      font-weight: 800;
      margin-bottom: 12px;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .section-title-with-icon {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: center;
      column-gap: 10px;
      width: 100%;
    }

    .section-title-with-icon h2,
    .section-title-with-icon h3 {
      margin: 0;
      min-width: 0;
    }

    .section-icon {
      width: 34px;
      height: 34px;
      border-radius: 8px;
      display: inline-grid;
      place-items: center;
      background: linear-gradient(135deg, #e6f5fb 0%, #eaf8ef 100%);
      color: var(--brand);
      flex: 0 0 auto;
    }

    .section-icon svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* VALUE */
    .value-section-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 22px;
    }

    .icon-card-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      margin-top: 14px;
    }

    .icon-info-card {
      position: relative;
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr);
      grid-template-areas:
        "icon title"
        "desc desc";
      column-gap: 14px;
      row-gap: 10px;
      align-items: start;
      border: 1px solid rgba(23, 32, 51, 0.08);
      background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
      border-radius: 10px;
      padding: 18px;
      box-shadow: var(--shadow);
      overflow: hidden;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }

    .icon-info-card:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-color);
      border-color: rgba(11, 95, 123, 0.18);
    }

    .icon-info-card::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 4px;
      background: var(--teal);
    }

    .icon-info-card:nth-child(2)::before { background: var(--green); }
    .icon-info-card:nth-child(3)::before { background: var(--amber); }
    .icon-info-card:nth-child(4)::before { background: var(--rose); }

    .icon-info-card > * {
      position: relative;
    }

    .icon-info-card .icon-wrap {
      grid-area: icon;
      width: 40px;
      height: 40px;
      border-radius: 8px;
      display: inline-grid;
      place-items: center;
      background: color-mix(in srgb, var(--teal) 13%, white);
      color: var(--teal);
      margin-bottom: 0;
    }

    .icon-info-card:nth-child(2) .icon-wrap {
      background: color-mix(in srgb, var(--green) 13%, white);
      color: var(--green);
    }

    .icon-info-card:nth-child(3) .icon-wrap {
      background: color-mix(in srgb, var(--amber) 16%, white);
      color: var(--amber);
    }

    .icon-info-card:nth-child(4) .icon-wrap {
      background: color-mix(in srgb, var(--rose) 13%, white);
      color: var(--rose);
    }

    .icon-info-card .icon-wrap svg {
      width: 20px;
      height: 20px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .icon-info-card h3 {
      grid-area: title;
      margin: 0;
      font-size: 18px;
      line-height: 1.45;
    }

    .icon-info-card p {
      grid-area: desc;
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.75;
    }

    .workflow-summary {
      margin-top: 8px;
    }

    /* WORKFLOW */
    .workflow-overview {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin-bottom: 18px;
    }

    .workflow-card {
      position: relative;
      border: 1px solid rgba(23, 32, 51, 0.08);
      background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
      border-radius: 10px;
      padding: 18px;
      cursor: pointer;
      transition: all .2s ease;
      min-height: 170px;
      overflow: hidden;
    }

    .workflow-card:nth-child(1) { --step-color: var(--teal); }
    .workflow-card:nth-child(2) { --step-color: var(--indigo); }
    .workflow-card:nth-child(3) { --step-color: var(--green); }
    .workflow-card:nth-child(4) { --step-color: var(--amber); }

    .workflow-card::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 4px;
      background: var(--step-color, var(--brand-2));
    }

    .workflow-card:hover,
    .workflow-card.active {
      border-color: color-mix(in srgb, var(--step-color, var(--brand-2)) 34%, white);
      transform: translateY(-2px);
      box-shadow: var(--shadow-color);
    }

    .workflow-card.active {
      background: linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--step-color, var(--brand-2)) 8%, white) 100%);
    }

    .workflow-card::after {
      content: "→";
      position: absolute;
      right: -11px;
      top: 50%;
      transform: translateY(-50%);
      width: 22px;
      height: 22px;
      display: grid;
      place-items: center;
      border-radius: 999px;
      background: #fff;
      border: 1px solid #d8e4f2;
      color: var(--step-color, var(--brand));
      font-size: 12px;
      font-weight: 800;
      z-index: 2;
    }

    .workflow-card:last-child::after { display: none; }

    .workflow-no {
      /*width: 34px;*/
      height: 34px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      background: color-mix(in srgb, var(--step-color, var(--brand-2)) 13%, white);
      color: var(--step-color, var(--brand));
      font-weight: 800;
      margin-bottom: 12px;
      font-size: 14px;
    }
    .workflow-header {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: center;
      column-gap: 8px;
    }
    .workflow-icon {
      width: 38px;
      height: 38px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      background: color-mix(in srgb, var(--step-color, var(--brand-2)) 10%, white);
      color: var(--step-color, var(--brand));
      margin-bottom: 0;
    }

    .workflow-icon svg {
      width: 20px;
      height: 20px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .workflow-title {
      font-size: 17px;
      font-weight: 800;
      line-height: 1.4;
      margin: 0;
    }

    .workflow-summary {
      color: var(--muted);
      font-size: 15px;
      line-height: 1.7;
    }

    .workflow-detail,
    .detail-panel {
      position: relative;
      border-radius: 10px;
      background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
      border: 1px solid rgba(23, 32, 51, 0.08);
      padding: 24px;
      min-height: 100%;
      overflow: hidden;
    }

    .workflow-detail h3,
    .detail-panel h3 {
      margin: 0 0 10px;
      font-size: 24px;
      line-height: 1.35;
      letter-spacing: -0.01em;
    }

    .workflow-detail p,
    .detail-panel p {
      margin: 0;
      color: var(--muted);
      line-height: 1.85;
      font-size: 15px;
    }

    .workflow-detail-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
      gap: 18px;
      align-items: start;
    }

    .workflow-detail-text {
      min-width: 0;
    }

    .workflow-preview-switch {
      margin-top: 14px;
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .workflow-preview-btn {
      border: 1px solid #d8e4f2;
      background: #fff;
      color: var(--brand);
      border-radius: 8px;
      padding: 9px 13px;
      cursor: pointer;
      font-weight: 700;
      font-size: 14px;
      transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
    }

    .workflow-preview-btn:hover {
      transform: translateY(-1px);
      border-color: rgba(11, 95, 123, 0.24);
    }

    .workflow-preview-btn.active {
      background: linear-gradient(135deg, var(--brand) 0%, var(--teal) 100%);
      color: #fff;
      border-color: transparent;
      box-shadow: 0 10px 20px rgba(7, 153, 143, 0.18);
    }

    .workflow-example-card {
      border: 1px solid rgba(23, 32, 51, 0.10);
      border-radius: 10px;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 10px 22px rgba(23, 32, 51, 0.08);
      cursor: zoom-in;
    }

    .workflow-example-thumb {
      width: 100%;
      max-height: 520px;
      object-fit: contain;
      display: block;
      background: linear-gradient(180deg, #eef5f9 0%, #fbfdff 100%);
    }

    .workflow-example-carousel {
      display: grid;
      grid-template-rows: auto 1fr auto;
      cursor: default;
    }

    .workflow-carousel-toolbar {
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr) 40px;
      align-items: center;
      gap: 8px;
      padding: 10px 10px 8px;
      border-bottom: 1px solid #e7eef7;
      background: linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
    }

    .workflow-carousel-title {
      text-align: center;
      font-size: 14px;
      font-weight: 700;
      color: #294765;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .workflow-carousel-nav {
      border: 1px solid #d8e4f2;
      background: #fff;
      color: var(--brand);
      border-radius: 8px;
      width: 32px;
      height: 32px;
      font-size: 20px;
      line-height: 1;
      cursor: pointer;
      display: grid;
      place-items: center;
      margin: 0 auto;
    }

    .workflow-carousel-nav:hover {
      border-color: rgba(11, 95, 123, 0.28);
      background: #f2f8fc;
    }

    .workflow-carousel-dots {
      display: flex;
      justify-content: center;
      gap: 8px;
      padding: 10px 10px 12px;
      border-top: 1px solid #e7eef7;
      background: #fff;
    }

    .workflow-carousel-dot {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      border: 1px solid #c4d5e9;
      background: #ffffff;
      cursor: pointer;
    }

    .workflow-carousel-dot.active {
      background: var(--brand);
      border-color: var(--brand);
    }

    .workflow-detail-list,
    .detail-panel ul,
    .checklist {
      list-style: none;
      margin: 12px 0 0;
      padding-left: 0;
    }

    .workflow-detail-list li,
    .detail-panel ul li,
    .checklist li {
      position: relative;
      padding-left: 34px;
      margin-bottom: 12px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.8;
    }

    .workflow-detail-list li::before,
    .detail-panel ul li::before,
    .checklist li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 1px;
      width: 22px;
      height: 22px;
      border-radius: 999px;
      display: inline-grid;
      place-items: center;
      background: #e9f8ef;
      color: var(--status-green-text);
      font-size: 13px;
      font-weight: 800;
      box-shadow: inset 0 0 0 1px #c7ebd2;
    }

    .channel-note-box {
      margin-top: 16px;
      padding: 12px 14px;
      border: 1px solid #d9e5f3;
      border-radius: 10px;
      background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
    }

    .channel-note-title {
      font-size: 13px;
      font-weight: 800;
      color: var(--brand);
      margin-bottom: 8px;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }

    .channel-note-box ol {
      margin: 0;
      padding-left: 22px;
      color: #4f5d76;
    }

    .channel-note-box ol li {
      margin-bottom: 6px;
      line-height: 1.7;
      font-size: 14px;
    }

    .channel-note-box ol li:last-child {
      margin-bottom: 0;
    }

    /* GRID */
    .double-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 22px;
      margin-top: 24px;
    }

    /* CHANNEL */
    .option-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
    }

    .option-card {
      position: relative;
      border: 1px solid rgba(23, 32, 51, 0.08);
      background: #fff;
      border-radius: 10px;
      padding: 18px;
      cursor: pointer;
      transition: all .2s ease;
      box-shadow: 0 8px 20px rgba(23, 32, 51, 0.04);
      overflow: hidden;
    }

    .option-card::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 4px;
      background: var(--channel-color, var(--brand-2));
    }

    .option-card:nth-child(1) { --channel-color: var(--amber); }
    .option-card:nth-child(2) { --channel-color: var(--coral); }
    .option-card:nth-child(3) { --channel-color: var(--indigo); }
    .option-card:nth-child(4) { --channel-color: var(--teal); }

    .option-card > * {
      position: relative;
    }

    .option-card-head {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      align-items: center;
      column-gap: 10px;
      margin-bottom: 8px;
    }

    .option-icon {
      width: 34px;
      height: 34px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      background: color-mix(in srgb, var(--channel-color, var(--brand-2)) 14%, white);
      color: var(--channel-color, var(--brand-2));
    }

    .option-icon svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .option-card:hover,
    .option-card.active {
      border-color: color-mix(in srgb, var(--channel-color, var(--brand-2)) 35%, white);
      background: linear-gradient(180deg, #ffffff 0%, color-mix(in srgb, var(--channel-color, var(--brand-2)) 8%, white) 100%);
      transform: translateY(-1px);
    }

    .option-card h3 {
      margin: 0;
      font-size: 18px;
      letter-spacing: -0.01em;
    }

    .option-card p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.7;
    }

    .action-panel-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      margin-top: 18px;
    }

    .action-mini-card {
      border: 1px solid rgba(23, 32, 51, 0.08);
      border-radius: 10px;
      background: #fff;
      padding: 16px;
    }

    .action-mini-card .mini-label {
      display: inline-flex;
      margin-bottom: 10px;
      padding: 6px 10px;
      border-radius: 999px;
      background: #e6f5fb;
      color: var(--brand);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.03em;
      text-transform: uppercase;
    }

    .action-mini-card h4 {
      margin: 0 0 6px;
      font-size: 16px;
      line-height: 1.5;
    }

    .action-mini-card p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.75;
    }

    /* BOARD */
    .readiness-board {
      display: grid;
      gap: 14px;
    }

    .readiness-row {
      display: grid;
      grid-template-columns: 160px 1fr;
      gap: 14px;
      align-items: start;
      padding: 14px;
      border: 1px solid rgba(23, 32, 51, 0.08);
      border-radius: 10px;
      background: #fff;
      box-shadow: 0 8px 18px rgba(23, 32, 51, 0.04);
    }

    .limitation-card {
      position: relative;
      cursor: pointer;
      transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
      padding-bottom: 42px;
    }

    .limitation-card.no-chip {
      grid-template-columns: 1fr;
      gap: 8px;
    }

    .limitation-card:hover {
      transform: translateY(-2px);
      border-color: rgba(11, 95, 123, 0.28);
      box-shadow: 0 14px 28px rgba(23, 32, 51, 0.1);
    }

    .limitation-card.active {
      border-color: #bfd2e8;
      background: linear-gradient(180deg, #ffffff 0%, #f5faff 100%);
      box-shadow: 0 14px 28px rgba(11, 95, 123, 0.11);
    }

    .limitation-card.active .status-chip {
      border: 1px solid #e9d8d8;
      background: #f7ecec;
    }

    .limitation-card::after {
      content: "คลิกดูแนวทาง  →";
      position: absolute;
      right: 14px;
      bottom: 10px;
      font-size: 12px;
      font-weight: 800;
      color: #356995;
      background: #e9f3fb;
      border: 1px solid #c7dbef;
      border-radius: 999px;
      padding: 4px 10px;
      line-height: 1.2;
      letter-spacing: 0;
    }

    .limitation-card:hover::after {
      color: #0f4c81;
      background: #dff0ff;
      border-color: #b8d4f0;
    }

    .limitation-card.has-explicit-action::after {
      content: none;
    }

    .limitation-inline-btn {
      position: absolute;
      right: 14px;
      bottom: 10px;
      border: 1px solid #c7dbef;
      background: #e9f3fb;
      color: #356995;
      border-radius: 999px;
      padding: 4px 10px;
      font-size: 12px;
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: 0;
      cursor: pointer;
    }

    .limitation-inline-btn:hover {
      color: #0f4c81;
      background: #dff0ff;
      border-color: #b8d4f0;
    }

    .status-chip {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      min-height: 38px;
      padding: 8px 12px;
      border-radius: 8px;
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }

    .chip-required {
      background: #fff7ed;
      color: var(--status-yellow-text);
    }

    .chip-update {
      background: #eef5ff;
      color: var(--status-blue-text);
    }

    .chip-process {
      background: #fef2f2;
      color: var(--status-red-text);
    }

    .chip-supported {
      background: #ecfdf3;
      color: var(--status-green-text);
    }

    .chip-temporary {
      background: #f5f3ff;
      color: #6d28d9;
    }

    .chip-info {
      background: #eaf3ff;
      color: #2f5f9c;
    }

    .readiness-text strong {
      display: block;
      margin-bottom: 6px;
      font-size: 16px;
    }

    .readiness-text div {
      color: var(--muted);
      font-size: 15px;
      line-height: 1.75;
    }

    /* Readiness Fast-Scan Design */
    .readiness-fast-card .readiness-row {
      grid-template-columns: 1fr;
      gap: 8px;
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      padding: 0;
      margin-bottom: 14px;
    }

    .readiness-fast-card .readiness-row:last-child {
      margin-bottom: 0;
    }

    .readiness-fast-card .readiness-row.readiness-row-inline {
      grid-template-columns: auto minmax(0, 1fr);
      align-items: center;
      column-gap: 12px;
    }

    .readiness-fast-card .status-chip {
      width: 100%;
      min-height: 56px;
      justify-content: space-between;
      border-radius: 999px;
      border: 2px solid transparent;
      background: #fff;
      font-size: 17px;
      font-weight: 800;
      text-transform: none;
      letter-spacing: 0;
      padding: 10px 18px 10px 22px;
    }

    .readiness-fast-card .readiness-row.readiness-row-inline .status-chip {
      width: auto;
      min-width: 120px;
      min-height: 46px;
      padding: 8px 14px;
      justify-content: center;
      border-radius: 10px;
    }

    .readiness-fast-card .readiness-row.readiness-row-inline .status-chip::after {
      display: none;
      content: none;
    }

    .readiness-fast-card .readiness-inline-box {
      position: relative;
      border: 2px solid #1b8f54;
      border-radius: 999px;
      background: linear-gradient(180deg, #ffffff 0%, #f7fdf9 100%);
      padding: 10px 56px 10px 16px;
    }

    .readiness-fast-card .readiness-inline-box.ok {
      border-color: #1b8f54;
      background: linear-gradient(180deg, #ffffff 0%, #f7fdf9 100%);
    }

    .readiness-fast-card .readiness-inline-box.warn {
      border-color: #dc3545;
      background: linear-gradient(180deg, #ffffff 0%, #fff7f8 100%);
    }

    .readiness-fast-card .readiness-inline-box::after {
      position: absolute;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      font-weight: 900;
      line-height: 1;
    }

    .readiness-fast-card .readiness-inline-box.ok::after {
      content: "✓";
      color: #1b8f54;
      font-size: 30px;
    }

    .readiness-fast-card .readiness-inline-box.warn::after {
      content: "!";
      color: #dc3545;
      width: 30px;
      height: 30px;
      border-radius: 999px;
      border: 2px solid currentColor;
      display: inline-grid;
      place-items: center;
      font-size: 20px;
    }

    .readiness-fast-card .readiness-row.readiness-row-inline .readiness-text {
      padding: 0;
    }

    .readiness-fast-card .readiness-row.readiness-row-inline .readiness-text strong {
      margin-bottom: 2px;
      font-size: 16px;
      line-height: 1.35;
    }

    .readiness-fast-card .readiness-row.readiness-row-inline .readiness-text div {
      font-size: 14px;
      line-height: 1.55;
    }

    .readiness-fast-card .chip-required {
      color: #147f48;
      border-color: #1b8f54;
      background: linear-gradient(180deg, #ffffff 0%, #f7fdf9 100%);
    }

    .readiness-fast-card .chip-update {
      color: #d12e40;
      border-color: #dc3545;
      background: linear-gradient(180deg, #ffffff 0%, #fff7f8 100%);
    }

    .readiness-fast-card .readiness-text {
      padding: 0 4px;
    }

    .readiness-fast-card .readiness-text strong {
      margin-bottom: 4px;
      font-size: 17px;
      font-weight: 800;
    }

    .readiness-fast-card .readiness-text.ok strong,
    .readiness-fast-card .readiness-text.ok div {
      color: #147f48;
    }

    .readiness-fast-card .readiness-text.warn strong,
    .readiness-fast-card .readiness-text.warn div {
      color: #d12e40;
    }

    .highlight-box {
      margin-top: 18px;
      padding: 15px 17px;
      border-radius: 10px;
      background: #fff;
      border: 1px dashed #bfd5ee;
      color: var(--text);
      font-size: 14px;
      line-height: 1.8;
    }

    .timeline {
      display: grid;
      gap: 14px;
      margin-top: 8px;
    }

    .time-row {
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 14px;
      align-items: start;
      padding: 15px;
      border-radius: 10px;
      background: #fff;
      border: 1px solid rgba(23, 32, 51, 0.08);
      box-shadow: 0 8px 18px rgba(23, 32, 51, 0.04);
    }

    .time-badge {
      padding: 8px 10px;
      border-radius: 8px;
      background: linear-gradient(135deg, #e6f5fb 0%, #fff4d9 100%);
      color: var(--brand);
      font-size: 12px;
      font-weight: 800;
      text-align: center;
    }

    .time-content strong {
      display: block;
      margin-bottom: 6px;
      font-size: 16px;
    }

    .time-content div {
      color: var(--muted);
      font-size: 15px;
      line-height: 1.8;
    }

    /* ORDER RULES: larger icon and typography */
    .order-rules-card .section-icon {
      width: 42px;
      height: 42px;
    }

    .order-rules-card .section-icon svg {
      width: 22px;
      height: 22px;
    }

    .order-rules-card .time-row {
      grid-template-columns: 180px 1fr;
      padding: 18px;
    }

    .order-rules-card .time-badge {
      min-height: 52px;
      padding: 12px 14px;
      font-size: 18px;
      font-weight: 900;
    }

    .order-rules-card .time-content strong {
      font-size: 19px;
      margin-bottom: 8px;
    }

    .order-rules-card .time-content div {
      font-size: 16px;
      line-height: 1.75;
    }

    /* EXPERIENCE */
    .experience-shell {
      display: grid;
      gap: 18px;
    }

    .experience-top-tabs,
    .experience-sub-tabs,
    .email-step-tabs {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .experience-btn,
    .experience-sub-btn,
    .email-step-btn {
      border: 1px solid #d8e4f2;
      background: #fff;
      color: var(--brand);
      border-radius: 8px;
      padding: 10px 14px;
      cursor: pointer;
      font-weight: 700;
      font-size: 14px;
      transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
    }

    .experience-btn.active,
    .experience-sub-btn.active,
    .email-step-btn.active {
      background: linear-gradient(135deg, var(--brand) 0%, var(--teal) 100%);
      color: #fff;
      border-color: transparent;
      box-shadow: 0 10px 20px rgba(7, 153, 143, 0.18);
    }

    .experience-btn:hover,
    .experience-sub-btn:hover,
    .email-step-btn:hover {
      transform: translateY(-1px);
      border-color: rgba(11, 95, 123, 0.24);
    }

    .experience-gallery-header {
      margin-bottom: 16px;
      padding: 16px 18px;
      border-radius: 10px;
      background: linear-gradient(135deg, #eef9f8 0%, #fff8eb 100%);
      border: 1px solid rgba(23, 32, 51, 0.08);
    }

    .experience-gallery-header.is-hidden {
      display: none;
    }

    .experience-gallery-header h3 {
      margin: 0 0 6px;
      font-size: 20px;
      line-height: 1.35;
    }

    .experience-gallery-header p {
      margin: 0;
      color: var(--muted);
      line-height: 1.75;
      font-size: 14px;
    }

    .experience-gallery {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .experience-gallery.mobile-notification,
    .experience-gallery.mobile-payment {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .experience-gallery.mobile-confirmation {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .shot-card {
      border: 1px solid rgba(23, 32, 51, 0.08);
      background: #fff;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: var(--shadow);
      cursor: zoom-in;
      transition: transform .18s ease, box-shadow .18s ease;
    }

    .shot-card:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-color);
    }

    .shot-thumb {
      width: 100%;
      object-fit: contain;
      display: block;
      background: linear-gradient(180deg, #eaf5f5 0%, #fbfdff 100%);
    }

    .shot-card.mobile-shot .shot-thumb {
      aspect-ratio: 9 / 16;
      max-height: 420px;
    }

    .shot-card.mobile-shot {
      position: relative;
      border-color: rgba(39, 128, 167, 0.26);
      background: linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
    }

    .shot-card.mobile-shot::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, var(--teal), var(--amber), var(--coral), var(--indigo));
      z-index: 1;
    }

    .shot-title {
      padding: 14px 12px 12px;
      font-size: 18px;
      font-weight: 800;
      color: #1f2a44;
      line-height: 1.4;
      text-align: center;
      border-bottom: 1px solid #e4edf8;
      background: linear-gradient(180deg, #f3f9fe 0%, #ffffff 100%);
    }

    .email-stage-view {
      display: grid;
      gap: 16px;
    }

    .email-stage-card {
      border: 1px solid rgba(23, 32, 51, 0.08);
      background: #fff;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: var(--shadow);
    }

    .email-stage-card img {
      width: 100%;
      display: block;
      object-fit: contain;
      background: linear-gradient(180deg, #eaf5f5 0%, #fbfdff 100%);
      max-height: 760px;
    }

    /* STATUS GUIDE */
    .status-lane-stack {
      display: grid;
      gap: 18px;
    }

    .status-lane {
      border: 1px solid rgba(23, 32, 51, 0.08);
      border-radius: 10px;
      background: #fff;
      padding: 18px;
      box-shadow: 0 8px 18px rgba(23, 32, 51, 0.04);
    }

    .status-lane h3 {
      margin: 0 0 6px;
      font-size: 18px;
    }

    .status-lane p {
      margin: 0 0 14px;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
    }

    .status-flow {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }

    .status-subflow {
      margin-top: 12px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
    }

    .status-flow-title {
      margin: 14px 0 8px;
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0;
      color: #3b4b63;
    }

    .status-flow-linear {
      gap: 8px;
    }

    .status-node {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 10px 14px;
      border-radius: 8px;
      font-size: 13px;
      font-weight: 800;
      text-align: center;
      border: 1px solid #dbe7f4;
    }

    .status-flow-linear .status-node {
      justify-content: flex-start;
      text-align: left;
      gap: 10px;
      min-width: 210px;
      padding: 10px 12px;
    }

    .status-step {
      width: 24px;
      height: 24px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: 900;
      color: #0f172a;
      background: rgba(255, 255, 255, 0.8);
      border: 1px solid rgba(15, 23, 42, 0.08);
      flex: 0 0 auto;
    }

    .status-node-text {
      display: inline-grid;
      gap: 2px;
    }

    .status-node-text strong {
      font-size: 13px;
      line-height: 1.3;
      letter-spacing: 0;
    }

    .status-node-text small {
      font-size: 11px;
      font-weight: 700;
      line-height: 1.4;
      color: #52607a;
    }

    .status-branch-grid {
      display: grid;
      gap: 10px;
      margin-top: 8px;
    }

    .status-branch-item {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      padding: 10px;
      border: 1px dashed #d6e2ef;
      border-radius: 8px;
      background: #fbfdff;
    }

    .status-endcap {
      margin-top: 12px;
      border: 1px solid #dbe7f4;
      border-radius: 10px;
      background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
      padding: 12px;
    }

    .status-endcap-label {
      display: inline-block;
      margin-bottom: 8px;
      padding: 4px 8px;
      font-size: 12px;
      font-weight: 800;
      color: #0f4c81;
      background: #e8f4fe;
      border-radius: 999px;
    }

    .status-endcap-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .status-note-box {
      margin-top: 16px;
      padding: 12px 14px;
      border-radius: 10px;
      border: 1px solid #d9e5f3;
      background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
      color: #4f5d76;
      font-size: 14px;
      line-height: 1.7;
    }

    .status-note-box strong {
      color: var(--brand);
    }

    .status-green {
      background: var(--status-green-bg);
      color: var(--status-green-text);
      border-color: #c7ebd2;
    }

    .status-yellow {
      background: var(--status-yellow-bg);
      color: var(--status-yellow-text);
      border-color: #f3d7b4;
    }

    .status-red {
      background: var(--status-red-bg);
      color: var(--status-red-text);
      border-color: #f0c7c7;
    }

    .status-blue {
      background: var(--status-blue-bg);
      color: var(--status-blue-text);
      border-color: #cfe0f3;
    }

    .status-gray {
      background: var(--status-gray-bg);
      color: var(--status-gray-text);
      border-color: #d9dce1;
    }

    .status-arrow {
      color: #94a3b8;
      font-weight: 800;
      font-size: 18px;
      line-height: 1;
    }

    @media (max-width: 720px) {
      .status-flow-linear .status-node {
        min-width: 100%;
      }

      .status-flow-linear .status-arrow {
        width: 100%;
        text-align: center;
      }
    }

    /* MODAL */
    .image-modal {
      position: fixed;
      inset: 0;
      background: rgba(9, 20, 36, 0.72);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 9999;
      padding: 28px;
    }

    .image-modal.open { display: flex; }

    .image-modal-box {
      position: relative;
      max-width: min(92vw, 1280px);
      max-height: 92vh;
      width: 100%;
      display: grid;
      place-items: center;
      background: #fff;
      border-radius: 12px;
      padding: 18px;
      box-shadow: 0 20px 50px rgba(0,0,0,0.28);
    }

    .image-modal-box img {
      max-width: 100%;
      max-height: calc(92vh - 36px);
      object-fit: contain;
      display: block;
      border-radius: 8px;
      background: #fff;
    }

    .image-modal-close {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 40px;
      height: 40px;
      border: 0;
      border-radius: 999px;
      background: rgba(15, 76, 129, 0.12);
      color: var(--brand);
      font-size: 20px;
      font-weight: 800;
      cursor: pointer;
    }

    .footer-note {
      margin-top: 22px;
      padding: 18px 20px;
      border-radius: 10px;
      background: #eef9f8;
      border: 1px dashed #bfd5ee;
      color: var(--brand);
      font-size: 14px;
      line-height: 1.8;
      text-align: center;
      font-weight: 600;
    }

    @media (max-width: 1100px) {
      .hero-grid,
      .hero-key-grid,
      .value-section-grid,
      .workflow-overview,
      .double-grid,
      .option-grid,
      .action-panel-grid {
        grid-template-columns: 1fr;
      }

      .workflow-card::after {
        display: none;
      }

      .workflow-detail-layout {
        grid-template-columns: 1fr;
      }

      .readiness-row {
        grid-template-columns: 1fr;
      }

      .experience-gallery,
      .experience-gallery.mobile-notification,
      .experience-gallery.mobile-payment,
      .experience-gallery.mobile-confirmation {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .hero-grid {
        margin-top: 18px;
      }

      .tagline {
        font-size: 34px;
      }

      .chip-btn {
        font-size: 20px;
      }

      .brand-header {
        flex-direction: column;
        align-items: flex-start;
      }

      .hero-actions {
        position: static;
        flex-wrap: wrap;
        margin-top: 0;
      }
    }

    @media (max-width: 720px) {
      .container { padding: 14px; }
      .hero { padding: 16px 18px 24px; }
      h1 { font-size: 34px; }
      .tagline { font-size: 28px; }
      .hero-why-line { font-size: 16px; }
      .chip-btn { font-size: 16px; }
      .section-divider { margin: 20px 6px 2px; }
      .card-header,
      .card-body { padding-left: 18px; padding-right: 18px; }
      .brand-logo { width: 150px; }

      .order-rules-card .time-row {
        grid-template-columns: 1fr;
      }

      .order-rules-card .time-badge {
        font-size: 24px;
      }

      .experience-gallery,
      .experience-gallery.mobile-notification,
      .experience-gallery.mobile-confirmation,
      .experience-gallery.mobile-payment {
        grid-template-columns: 1fr;
      }

      .image-modal { padding: 14px; }
    }
