 .pk-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(170px, 18vw, 230px) 0 clamp(64px, 8vw, 104px); background: radial-gradient(120% 90% at 80% 20%, var(--em-700) 0%, var(--em-900) 50%, var(--ink) 100%); color: var(--lt); font-family: var(--f-body); }
    .pk-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--lattice); opacity: .18; -webkit-mask-image: linear-gradient(90deg, transparent 25%, #000 100%); mask-image: linear-gradient(90deg, transparent 25%, #000 100%); }
    .pk-crumb { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; font-size: 13px; letter-spacing: .08em; color: var(--lt-muted); }
    .pk-crumb a { color: var(--gold); text-decoration: none; }
    .pk-hero .eyebrow { color: var(--gold); }
    .pk-hero h1 { margin: 22px 0 0; max-width: 18ch; font: 600 clamp(38px, 5.4vw, 74px)/1.06 var(--f-display); letter-spacing: -.03em; color: var(--lt); text-wrap: balance; }
    .pk-hero h1 em { font-style: normal; color: var(--gold); }
    .pk-hero-sub { margin: 24px 0 0; max-width: 60ch; font-size: clamp(17px, 1.5vw, 19px); line-height: 1.65; color: var(--lt-muted); }
    .pk-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
    .pk-facts { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(40px, 5vw, 64px); border-top: 1px solid var(--gold-line); }
    .pk-facts > div { padding: 26px 24px 0 0; }
    .pk-facts > div + div { padding-left: 24px; border-left: 1px solid var(--gold-line); }
    .pk-facts b { display: block; font: 600 clamp(26px, 3vw, 40px)/1.05 var(--f-display); letter-spacing: -.02em; color: var(--gold); font-variant-numeric: tabular-nums; }
    .pk-facts span { display: block; margin-top: 10px; font-size: 14px; color: var(--lt-muted); }

    .pk-head { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; }
    .pk-head .lead { margin-top: 0; }

    /* prices */
    .pk-prices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 52px; }
    .pk-price { padding: clamp(24px, 3vw, 34px); background: var(--paper); border: 1px solid var(--rule); display: flex; flex-direction: column; }
    .pk-price.is-mid { border-color: var(--gold-deep); }
    .pk-price small { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600; }
    .pk-price h3 { margin-top: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--txt); font: 600 24px/1.2 var(--f-display); color: var(--txt); }
    .pk-price b { display: block; margin-top: 20px; font: 600 clamp(30px, 3.2vw, 40px)/1 var(--f-display); color: var(--txt); font-variant-numeric: tabular-nums; }
    .pk-price p { margin-top: 10px; font-size: 14.5px; color: var(--txt-muted); }
    .pk-price .btn { margin-top: auto; align-self: flex-start; }
    .pk-price p + .btn { margin-top: 24px; color: black}
    .pk-remark { margin-top: 22px; font-size: 14.5px; line-height: 1.6; color: var(--txt-muted); }

    .pk-table-wrap { margin-top: 40px; overflow-x: auto; border: 1px solid var(--rule); background: var(--paper); }
    .pk-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; }
    .pk-table th, .pk-table td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--rule); }
    .pk-table th { font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--txt-muted); font-weight: 600; border-bottom-color: var(--txt); }
    .pk-table td { color: var(--txt); font-variant-numeric: tabular-nums; }
    .pk-table td:first-child { color: var(--gold-deep); font-weight: 600; }
    .pk-table tr:last-child td { border-bottom: 0; }
    .pk-table tfoot td { font-weight: 600; background: var(--pearl); border-top: 1px solid var(--txt); }

    /* program */
    .pk-steps { margin-top: 52px; border-top: 1px solid var(--txt); counter-reset: step; }
    .pk-steps li { display: grid; grid-template-columns: 70px 200px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid var(--rule); }
    .pk-steps .n { font: 600 13px/1.6 var(--f-body); letter-spacing: .2em; color: var(--gold-deep); }
    .pk-steps .d b { display: block; font: 600 17px/1.3 var(--f-display); color: var(--txt); }
    .pk-steps .d span { display: block; margin-top: 4px; font-size: 13.5px; color: var(--txt-muted); }
    .pk-steps h3 { font: 600 20px/1.3 var(--f-display); color: var(--txt); }
    .pk-steps p { margin-top: 8px; font-size: 16px; line-height: 1.65; color: var(--txt-muted); }
    .pk-note { margin-top: 24px; padding: 16px 20px; border-left: 2px solid var(--gold); background: var(--pearl); font-size: 14.5px; line-height: 1.6; color: var(--txt-muted); }

    /* stay */
    .pk-stay { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 52px; }
    .pk-stay article { background: var(--paper); border: 1px solid var(--rule); display: flex; flex-direction: column; }
    .pk-stay figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--em-900); }
    .pk-stay img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pk-stay .in { padding: clamp(22px, 3vw, 30px); }
    .pk-stay small { font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600; }
    .pk-stay h3 { margin-top: 10px; font: 600 22px/1.25 var(--f-display); color: var(--txt); }
    .pk-stay p { margin-top: 10px; font-size: 15.5px; line-height: 1.65; color: var(--txt-muted); }
    .pk-stay .meta { margin-top: 14px; font-size: 13.5px; color: var(--txt); font-weight: 500; }

    /* services */
    .pk-feat { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 52px; border-top: 1px solid var(--txt); border-left: 1px solid var(--rule); }
    .pk-feat article { padding: 30px 26px 34px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); background: var(--paper); transition: background-color .25s; }
    .pk-feat article:hover { background: var(--pearl); }
    .pk-n { display: block; font: 600 13px/1 var(--f-body); letter-spacing: .2em; color: var(--gold-deep); }
    .pk-feat h3 { margin-top: 22px; font: 600 19px/1.3 var(--f-display); color: var(--txt); }
    .pk-feat p { margin-top: 10px; font-size: 15.5px; line-height: 1.6; color: var(--txt-muted); }

    /* highlights (dark) */
    .pk-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
    .pk-copy p { margin-top: 18px; font-size: 17px; line-height: 1.75; color: var(--lt-muted); }
    .pk-copy p:first-child { margin-top: 0; }
    .pk-ticks { margin-top: 22px !important; display: grid; gap: 12px; }
    .pk-ticks li { position: relative; padding-left: 30px; color: var(--lt); font-size: 16px; line-height: 1.55; }
    .pk-ticks li::before { content: ""; position: absolute; left: 2px; top: 7px; width: 14px; height: 8px; border-left: 2px solid var(--gold); border-bottom: 2px solid var(--gold); transform: rotate(-45deg); }
    .pk-gifts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px !important; }
    .pk-gifts li { padding: 7px 12px; border: 1px solid var(--gold-line); font-size: 13.5px; color: var(--lt); }
    .pk-sub { margin-top: 34px; font: 600 20px/1.3 var(--f-display); color: var(--gold); }

    /* policies accordion */
    .pk-acc { margin-top: 52px; border-top: 1px solid var(--txt); }
    .pk-acc details { border-bottom: 1px solid var(--rule); }
    .pk-acc summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; cursor: pointer; list-style: none; font: 600 clamp(19px, 2vw, 23px)/1.25 var(--f-display); color: var(--txt); }
    .pk-acc summary::-webkit-details-marker { display: none; }
    .pk-acc summary::after { content: "+"; font: 400 26px/1 var(--f-body); color: var(--gold-deep); transition: transform .2s; }
    .pk-acc details[open] summary::after { transform: rotate(45deg); }
    .pk-acc .body { padding: 0 0 26px;  }
    .pk-acc .body li { position: relative; padding: 0 0 12px 22px; font-size: 16px; line-height: 1.65; color: var(--txt-muted); }
    .pk-acc .body li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 6px; height: 6px; background: var(--gold-deep); }
    .pk-acc .body p { margin-bottom: 12px; font-size: 16px; line-height: 1.65; color: var(--txt-muted); }
    .pk-acc .pk-table-wrap { margin: 6px 0 18px; }

    /* cta */
    .pk-cta { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
    .pk-cta-box { border-top: 1px solid var(--gold-line); }
    .pk-cta-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--gold-line); text-decoration: none; color: var(--lt); }
    .pk-cta-row span { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--lt-muted); }
    .pk-cta-row b { font: 600 clamp(20px, 2.2vw, 26px)/1.1 var(--f-display); color: var(--gold); font-variant-numeric: tabular-nums; }
    .pk-cta-row:hover b { color: var(--gold-hi); }
    .pk-cta-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

    @media (max-width: 1080px) {
      .pk-head, .pk-split, .pk-cta { grid-template-columns: 1fr; }
      .pk-prices { grid-template-columns: 1fr; }
      .pk-feat { grid-template-columns: repeat(2, 1fr); }
      .pk-steps li { grid-template-columns: 60px 1fr; }
      .pk-steps li > div:last-child { grid-column: 2; }
    }
    @media (max-width: 720px) {
      .pk-facts { grid-template-columns: 1fr 1fr; }
      .pk-facts > div, .pk-facts > div + div { padding: 22px 0 0; border-left: 0; }
      .pk-facts > div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--gold-line); }
      .pk-stay, .pk-feat { grid-template-columns: 1fr; }
      .pk-steps li { grid-template-columns: 1fr; gap: 8px; }
      .pk-steps li > div:last-child { grid-column: auto; }
      .pk-hero-btns .btn, .pk-cta-btns .btn { flex: 1 1 100%; }
      .pk-cta-row { flex-direction: column; gap: 6px; }
    }