body.wtpromo-page {
      --ink: #111111;
      --sub: #626262;
      --line: #dedede;
      --soft-line: #ececec;
      --paper: #ffffff;
      --wash: #f6f6f4;
      --radius-lg: 28px;
      --radius-md: 20px;
      --radius-sm: 14px;
      --max: 1180px;
    }

    body.wtpromo-page, body.wtpromo-page * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body.wtpromo-page {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    body.wtpromo-page button, body.wtpromo-page select, body.wtpromo-page input { font: inherit; }
    body.wtpromo-page button, body.wtpromo-page a { -webkit-tap-highlight-color: transparent; }
    body.wtpromo-page a { color: inherit; text-decoration: none; }
    body.wtpromo-page svg { display: block; }
    body.wtpromo-page [hidden] { display: none !important; }

    .wtpromo-skip-link {
      position: fixed;
      top: 10px;
      left: 10px;
      z-index: 999;
      padding: 10px 14px;
      border-radius: 999px;
      color: #fff;
      background: #111;
      transform: translateY(-150%);
      transition: transform .2s ease;
    }
    .wtpromo-skip-link:focus { transform: translateY(0); }

    .wtpromo-container {
      width: min(var(--max), calc(100% - 40px));
      margin-inline: auto;
    }

    .wtpromo-hero { padding: 82px 0 42px; }
    .wtpromo-hero__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);
      gap: 64px;
      align-items: end;
    }
    .wtpromo-eyebrow {
      margin: 0 0 8px;
      color: #545454;
      font-size: 12px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .wtpromo-hero h1 {
      max-width: 760px;
      margin: 0;
      font-size: clamp(43px, 6.5vw, 78px);
      line-height: 1.02;
      letter-spacing: -.065em;
      font-weight: 720;
    }
    .wtpromo-hero__desc {
      max-width: 670px;
      margin: 28px 0 0;
      color: var(--sub);
      font-size: clamp(16px, 1.7vw, 19px);
      line-height: 1.75;
      word-break: keep-all;
    }
    .wtpromo-hero__summary {
      border-top: 1px solid #111;
      padding-top: 18px;
      display: grid;
      gap: 18px;
    }
    .wtpromo-summary-row {
      display: flex;
      align-items: baseline;
      justify-content: flex-start;
      gap: 20px;
      padding-bottom: 17px;
      border-bottom: 1px solid var(--soft-line);
    }
    .wtpromo-summary-row:last-child { padding-bottom: 0; border-bottom: 0; }
    .wtpromo-summary-row span { color: var(--sub); font-size: 13px; }
    .wtpromo-summary-row strong { font-size: 17px; font-weight: 680; }

    .wtpromo-platform-tabs {
      display: flex;
      align-items: center;
      gap: 8px;
      overflow-x: auto;
      scrollbar-width: none;
    }
    .wtpromo-platform-tabs::-webkit-scrollbar { display: none; }
    .wtpromo-pill {
      min-height: 40px;
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 15px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: #444;
      background: #fff;
      font-size: 12px;
      font-weight: 650;
      cursor: pointer;
      transition: border-color .2s ease, color .2s ease, background .2s ease;
    }
    .wtpromo-pill:hover { border-color: #111; color: #111; }
    .wtpromo-pill.wtpromo-is-active { color: #fff; border-color: #111; background: #111; }

    .wtpromo-section { padding: 88px 0 0; }
    .wtpromo-section--soft {
      margin-top: 100px;
      padding: 86px 0;
      background: var(--wash);
    }
    .wtpromo-section-heading {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 30px;
    }
    .wtpromo-section-heading h2 {
      margin: 0;
      font-size: clamp(30px, 4vw, 48px);
      line-height: 1.1;
      letter-spacing: -.045em;
    }
    .wtpromo-section-heading p:not(.wtpromo-eyebrow) {
      max-width: 470px;
      margin: 0;
      color: var(--sub);
      font-size: 14px;
      line-height: 1.7;
      word-break: keep-all;
    }

    .wtpromo-featured-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border-top: 1px solid #111;
      border-bottom: 1px solid #111;
    }
    .wtpromo-featured-card {
      position: relative;
      min-height: 360px;
      display: flex;
      flex-direction: column;
      padding: 30px;
      border-right: 1px solid var(--line);
      background: #fff;
      transition: background .2s ease;
    }
    .wtpromo-featured-card:last-child { border-right: 0; }
    .wtpromo-featured-card:hover { background: #f8f8f6; }
    .wtpromo-featured-card__top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
    .wtpromo-platform-wordmark {
      color: #111;
      font-size: 13px;
      font-weight: 750;
      letter-spacing: .04em;
      text-transform: uppercase;
    }
    .wtpromo-status-label {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: #555;
      font-size: 11px;
      font-weight: 650;
    }
    .wtpromo-status-label::before {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #111;
      content: "";
    }
    .wtpromo-featured-card__index {
      margin-top: 40px;
      color: #8a8a8a;
      font-family: Georgia, "Times New Roman", serif;
      font-size: 18px;
      font-style: italic;
    }
    .wtpromo-featured-card h3 {
      margin: 18px 0 0;
      font-size: 28px;
      line-height: 1.28;
      letter-spacing: -.04em;
      word-break: keep-all;
    }
    .wtpromo-featured-card__meta {
      margin: auto 0 0;
      padding-top: 38px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      color: var(--sub);
      font-size: 13px;
    }
    .wtpromo-circle-arrow {
      width: 38px;
      height: 38px;
      flex: 0 0 auto;
      display: grid;
      place-items: center;
      border: 1px solid #111;
      border-radius: 50%;
      color: #111;
      transition: .2s ease;
    }
    .wtpromo-featured-card:hover .wtpromo-circle-arrow { color: #fff; background: #111; }
    .wtpromo-circle-arrow svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }

    .wtpromo-promotion-toolbar {
      display: block;
      margin-bottom: 28px;
    }
    .wtpromo-promotion-grid {
      border-top: 1px solid #111;
    }
    .wtpromo-card {
      min-width: 0;
      display: grid;
      grid-template-columns: 128px minmax(0, 1fr) 64px;
      gap: 34px;
      align-items: center;
      padding: 30px 0;
      border-bottom: 1px solid var(--line);
      color: #111;
      background: #fff;
    }
    .wtpromo-card:focus-visible {
      outline: 2px solid #111;
      outline-offset: 5px;
    }
    .wtpromo-card__identity {
      min-width: 0;
      align-self: start;
      padding-top: 5px;
    }
    .wtpromo-card__platform {
      display: block;
      overflow: hidden;
      color: #777;
      font-size: 11px;
      line-height: 1.4;
      font-weight: 700;
      letter-spacing: .025em;
      text-overflow: ellipsis;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .wtpromo-card__content { min-width: 0; }
    .wtpromo-card h3 {
      max-width: 760px;
      margin: 0;
      color: #111;
      font-size: clamp(24px, 2.8vw, 34px);
      line-height: 1.25;
      letter-spacing: -.043em;
      font-weight: 710;
      word-break: keep-all;
    }
    .wtpromo-card__description {
      max-width: 720px;
      margin: 10px 0 0;
      color: #777;
      font-size: 14px;
      line-height: 1.6;
      word-break: keep-all;
    }
    .wtpromo-card__arrow {
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      justify-self: end;
      border: 1px solid #111;
      border-radius: 50%;
      color: #111;
      transition: color .2s ease, background .2s ease, transform .2s ease;
    }
    .wtpromo-card__arrow svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.7;
    }
    .wtpromo-card:hover .wtpromo-card__arrow {
      color: #fff;
      background: #111;
      transform: translateX(2px);
    }
    .wtpromo-card:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
    .wtpromo-card--disabled {
      cursor: default;
    }
    .wtpromo-card--disabled .wtpromo-card__platform::after {
      margin-left: 6px;
      color: #a0a0a0;
      font-weight: 600;
      content: "· 링크 준비 중";
      text-transform: none;
    }
    .wtpromo-card--disabled .wtpromo-card__arrow {
      border-color: #d1d1d1;
      color: #aaa;
    }
    .wtpromo-card--disabled:hover .wtpromo-card__arrow {
      color: #aaa;
      background: transparent;
      transform: none;
    }
    .wtpromo-card--disabled:hover h3 { text-decoration: none; }
    .wtpromo-featured-card--disabled {
      cursor: default;
    }
    .wtpromo-featured-card--disabled:hover { background: #fff; }
    .wtpromo-featured-card--disabled:hover .wtpromo-circle-arrow {
      color: #aaa;
      border-color: #d1d1d1;
      background: transparent;
    }
    .wtpromo-featured-card--disabled .wtpromo-circle-arrow {
      color: #aaa;
      border-color: #d1d1d1;
    }
    .wtpromo-empty-state {
      padding: 86px 20px;
      border-bottom: 1px solid #111;
      text-align: center;
    }
    .wtpromo-empty-state h3 { margin: 0; font-size: 28px; letter-spacing: -.04em; }
    .wtpromo-empty-state p { margin: 12px 0 0; color: var(--sub); font-size: 14px; }

    .wtpromo-tool-card {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 50px;
      align-items: center;
      padding: 52px;
      border: 1px solid #111;
      border-radius: var(--radius-lg);
      background: #fff;
    }
    .wtpromo-tool-card__icon {
      width: 56px;
      height: 56px;
      display: grid;
      place-items: center;
      margin-bottom: 30px;
      border-radius: 50%;
      color: #fff;
      background: #111;
    }
    .wtpromo-tool-card__icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; }
    .wtpromo-tool-card h2 {
      max-width: 670px;
      margin: 0;
      font-size: clamp(32px, 4.5vw, 54px);
      line-height: 1.1;
      letter-spacing: -.055em;
      word-break: keep-all;
    }
    .wtpromo-tool-card p {
      max-width: 620px;
      margin: 18px 0 0;
      color: var(--sub);
      font-size: 15px;
      line-height: 1.75;
      word-break: keep-all;
    }
    .wtpromo-tool-card .wtpromo-primary-button {
      width: 60px;
      height: 60px;
      min-width: 60px;
      display: inline-grid;
      place-items: center;
      justify-self: end;
      border: 1px solid #111;
      border-radius: 50%;
      color: #fff;
      background: #111;
      transition: color .2s ease, background .2s ease, transform .2s ease;
    }
    .wtpromo-tool-card .wtpromo-primary-button:hover {
      color: #111;
      background: #fff;
      transform: translateX(3px);
    }
    .wtpromo-tool-card .wtpromo-primary-button:focus-visible {
      outline: 2px solid #111;
      outline-offset: 4px;
    }
    .wtpromo-tool-card .wtpromo-primary-button svg {
      width: 22px;
      height: 22px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.6;
    }

    .wtpromo-guide-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      border-top: 1px solid #111;
      border-bottom: 1px solid #111;
    }
    .wtpromo-guide-item { padding: 28px 20px 30px; border-right: 1px solid var(--line); }
    .wtpromo-guide-item:last-child { border-right: 0; }
    .wtpromo-guide-item__number {
      display: block;
      margin-bottom: 38px;
      color: #8a8a8a;
      font-family: Georgia, serif;
      font-size: 15px;
      font-style: italic;
    }
    .wtpromo-guide-item h3 { margin: 0; font-size: 17px; line-height: 1.45; letter-spacing: -.025em; }
    .wtpromo-guide-item p { margin: 12px 0 0; color: var(--sub); font-size: 13px; line-height: 1.65; word-break: keep-all; }

    .wtpromo-faq-list { border-top: 1px solid #111; }
    .wtpromo-faq-item { border-bottom: 1px solid var(--line); }
    .wtpromo-faq-question {
      width: 100%;
      min-height: 78px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 24px;
      align-items: center;
      padding: 0;
      border: 0;
      color: #111;
      background: transparent;
      text-align: left;
      font-size: 17px;
      font-weight: 640;
      cursor: pointer;
    }
    .wtpromo-faq-icon {
      position: relative;
      width: 28px;
      height: 28px;
      border: 1px solid #aaa;
      border-radius: 50%;
    }
    .wtpromo-faq-icon::before,
    .wtpromo-faq-icon::after {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 10px;
      height: 1px;
      background: #111;
      content: "";
      transform: translate(-50%, -50%);
      transition: transform .2s ease;
    }
    .wtpromo-faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
    .wtpromo-faq-question[aria-expanded="true"] .wtpromo-faq-icon::after { transform: translate(-50%, -50%) rotate(0); }
    .wtpromo-faq-answer { padding: 0 56px 28px 0; color: var(--sub); font-size: 14px; line-height: 1.8; word-break: keep-all; }

    .wtpromo-footer { margin-top: 110px; border-top: 1px solid #111; }
    .wtpromo-footer__inner {
      min-height: 150px;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 28px;
      padding: 30px 0;
    }
    .wtpromo-footer-brand { font-size: 15px; font-weight: 680; }
    .wtpromo-footer-copy { margin: 8px 0 0; color: #777; font-size: 12px; line-height: 1.65; }
    .wtpromo-footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px; color: #555; font-size: 12px; }
    .wtpromo-footer-links a:hover { color: #111; text-decoration: underline; }


    @media (max-width: 980px) {
      .wtpromo-hero { padding-top: 68px; }
      .wtpromo-hero__grid { grid-template-columns: 1fr; gap: 48px; }
      .wtpromo-hero__summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .wtpromo-summary-row { display: block; border-right: 1px solid var(--soft-line); border-bottom: 0; padding: 0 20px 0 0; }
      .wtpromo-summary-row:last-child { border-right: 0; }
      .wtpromo-summary-row strong { display: block; margin-top: 8px; }
      .wtpromo-featured-grid { overflow-x: auto; grid-template-columns: repeat(3, minmax(290px, 1fr)); }
      .wtpromo-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 0; }
      .wtpromo-guide-item { border-bottom: 1px solid var(--line); }
      .wtpromo-guide-item:nth-child(2n) { border-right: 0; }
      .wtpromo-guide-item:last-child { border-right: 1px solid var(--line); }
    }

    @media (max-width: 760px) {
      .wtpromo-container { width: min(100% - 28px, var(--max)); }
      .wtpromo-hero { padding: 52px 0 30px; }
      .wtpromo-hero h1 { font-size: clamp(42px, 13vw, 62px); }
      .wtpromo-hero__desc { margin-top: 22px; font-size: 16px; }
      .wtpromo-hero__summary { grid-template-columns: 1fr; gap: 0; }
      .wtpromo-summary-row { display: flex; padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--soft-line); }
      .wtpromo-summary-row:first-child { padding-top: 0; }
      .wtpromo-summary-row strong { margin-top: 0; font-size: 15px; }
      .wtpromo-section { padding-top: 68px; }
      .wtpromo-section--soft { margin-top: 74px; padding: 66px 0; }
      .wtpromo-section-heading { display: block; margin-bottom: 24px; }
      .wtpromo-section-heading p:not(.wtpromo-eyebrow) { margin-top: 13px; }
      .wtpromo-featured-grid { margin-right: calc((100vw - 100%) / -2); padding-right: 14px; border-bottom: 0; }
      .wtpromo-featured-card { min-height: 320px; padding: 24px; border-bottom: 1px solid #111; }
      .wtpromo-featured-card h3 { font-size: 25px; }
      .wtpromo-promotion-toolbar { margin-bottom: 22px; }
      .wtpromo-promotion-grid { border-top-color: #111; }
      .wtpromo-card {
        grid-template-columns: minmax(0, 1fr) 42px;
        grid-template-rows: auto auto;
        gap: 8px 16px;
        padding: 24px 0;
      }
      .wtpromo-card__identity {
        grid-column: 1;
        grid-row: 1;
        padding-top: 0;
      }
      .wtpromo-card__platform { font-size: 10px; }
      .wtpromo-card__content {
        grid-column: 1;
        grid-row: 2;
      }
      .wtpromo-card h3 { font-size: 21px; }
      .wtpromo-card__description {
        margin-top: 7px;
        font-size: 13px;
        line-height: 1.55;
      }
      .wtpromo-card__arrow {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
        width: 38px;
        height: 38px;
      }
      .wtpromo-card__arrow svg { width: 15px; height: 15px; }
      .wtpromo-tool-card { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px; border-radius: 22px; }
      .wtpromo-tool-card__icon { margin-bottom: 24px; }
      .wtpromo-tool-card .wtpromo-primary-button {
        width: 56px;
        height: 56px;
        min-width: 56px;
        justify-self: end;
      }
      .wtpromo-guide-grid { grid-template-columns: 1fr; }
      .wtpromo-guide-item { border-right: 0 !important; }
      .wtpromo-guide-item__number { margin-bottom: 25px; }
      .wtpromo-faq-question { min-height: 72px; font-size: 15px; }
      .wtpromo-faq-answer { padding-right: 42px; }
      .wtpromo-footer { margin-top: 82px; }
      .wtpromo-footer__inner { display: block; }
      .wtpromo-footer-links { justify-content: flex-start; margin-top: 25px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      body.wtpromo-page *, body.wtpromo-page *::before, body.wtpromo-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
    }


/* Use the same editorial header as the rest of Wacky Travel. */
body.wtpromo-page .topbar.topbar--editorial.topbar--travel {
  position: sticky;
  top: 0;
  z-index: 80;
}
body.wtpromo-page .topbar--travel .topbar__inner.container {
  width: min(var(--max), calc(100% - 40px));
}
@media (max-width: 720px) {
  body.wtpromo-page .topbar--travel .topbar__inner.container {
    width: min(var(--max), calc(100% - 32px));
  }
}
