:root {
  --pkv-ink: #172923;
  --pkv-muted: #5f6f68;
  --pkv-sea: #176c66;
  --pkv-sea-dark: #0f504b;
  --pkv-mist: #eef6f3;
  --pkv-sand: #f7f1e7;
  --pkv-white: #fff;
  --pkv-line: #d8e3df;
  --pkv-shadow: 0 18px 50px rgba(16, 48, 42, .12);
}

.pkv-planner,
.pkv-planner * { box-sizing: border-box; }

.pkv-planner {
  width: min(100% - 28px, 1120px);
  margin: clamp(28px, 7vw, 80px) auto;
  color: var(--pkv-ink);
  font-family: inherit;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.pkv-planner button,
.pkv-planner a { -webkit-tap-highlight-color: transparent; }

.pkv-planner button:focus-visible,
.pkv-planner a:focus-visible {
  outline: 3px solid #e2a94a;
  outline-offset: 3px;
}

.pkv-planner__intro,
.pkv-planner__flow,
.pkv-planner__loading,
.pkv-planner-results {
  min-width: 0;
  border: 1px solid var(--pkv-line);
  border-radius: 26px;
  background: var(--pkv-white);
  box-shadow: var(--pkv-shadow);
}

.pkv-planner__intro {
  position: relative;
  isolation: isolate;
  min-height: 520px;
  padding: clamp(34px, 8vw, 86px) clamp(24px, 7vw, 82px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(238,246,243,.98), rgba(247,241,231,.95));
}

.pkv-planner__intro::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -90px;
  bottom: -110px;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  border: 72px solid rgba(23,108,102,.09);
}

.pkv-planner__eyebrow,
.pkv-results__eyebrow,
.pkv-planner__step {
  color: var(--pkv-sea);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pkv-planner__intro h1,
.pkv-planner-results > h1 {
  max-width: 760px;
  margin: 12px 0 14px;
  font-size: clamp(2.35rem, 8.5vw, 5rem);
  line-height: .99;
  letter-spacing: -.045em;
}

.pkv-planner__intro p,
.pkv-results__lead {
  max-width: 620px;
  margin: 0 0 28px;
  color: var(--pkv-muted);
  font-size: clamp(1.05rem, 3vw, 1.25rem);
  line-height: 1.55;
}

.pkv-planner__intro small {
  display: block;
  max-width: 520px;
  margin-top: 18px;
  color: var(--pkv-muted);
  line-height: 1.45;
}

.pkv-planner__start,
.pkv-planner__continue {
  min-height: 52px;
  width: fit-content;
  border: 0;
  border-radius: 999px;
  padding: 13px 22px;
  color: var(--pkv-white);
  background: var(--pkv-sea);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease;
}

.pkv-planner__start:hover,
.pkv-planner__continue:hover { background: var(--pkv-sea-dark); transform: translateY(-1px); }
.pkv-planner__continue:disabled { opacity: .45; cursor: not-allowed; transform: none; }

.pkv-planner__flow { padding: clamp(22px, 5vw, 56px); }

.pkv-planner__progress { margin-bottom: clamp(34px, 7vw, 66px); }
.pkv-planner__progress-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.pkv-planner__progress-row > span { color: var(--pkv-muted); font-size: .82rem; font-weight: 700; }
.pkv-planner__progress-track { display: block; height: 6px; border-radius: 999px; background: var(--pkv-mist); overflow: hidden; }
.pkv-planner__progress-track > span { display: block; width: 16.667%; height: 100%; border-radius: inherit; background: var(--pkv-sea); transition: width .25s ease; }

.pkv-planner__question { min-width: 0; animation: pkv-enter .25s ease both; }
.pkv-planner__question > h2 { max-width: 740px; margin: 8px 0 10px; font-size: clamp(1.9rem, 6vw, 3.4rem); line-height: 1.08; letter-spacing: -.03em; }
.pkv-planner__question > p { max-width: 650px; margin: 0 0 26px; color: var(--pkv-muted); line-height: 1.55; }
.pkv-planner__question > h2 { scroll-margin-top: 110px; }
.pkv-planner__choices { display: grid; min-width: 0; gap: 12px; }

.pkv-planner-choice {
  width: 100%;
  min-width: 0;
  min-height: 68px;
  padding: 15px 17px;
  border: 1px solid var(--pkv-line);
  border-radius: 16px;
  background: var(--pkv-white);
  color: var(--pkv-ink);
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
  overflow-wrap: break-word;
  word-break: normal;
  white-space: normal;
}
.pkv-planner-choice strong { display: block; font-size: 1rem; white-space: normal; overflow-wrap: break-word; word-break: normal; }
.pkv-planner-choice span { display: block; margin-top: 3px; color: var(--pkv-muted); font-size: .88rem; white-space: normal; overflow-wrap: break-word; word-break: normal; }
.pkv-planner-choice:hover { border-color: var(--pkv-sea); transform: translateY(-1px); }
.pkv-planner-choice.is-selected { border-color: var(--pkv-sea); background: var(--pkv-mist); box-shadow: inset 0 0 0 1px var(--pkv-sea); }

.pkv-planner__choices--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pkv-planner-choice--chip { min-height: 56px; text-align: center; }
.pkv-planner__question-actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 24px; }
.pkv-planner__back,
.pkv-planner__reset,
.pkv-results__edit,
.pkv-results__reset {
  min-height: 48px;
  padding: 10px 4px;
  border: 0;
  background: transparent;
  color: var(--pkv-sea-dark);
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.pkv-planner__question > .pkv-planner__back { margin-top: 22px; }
.pkv-planner__reset { flex: 0 0 auto; }
.pkv-planner__error { margin: 22px 0 0; padding: 14px; border-radius: 12px; background: #fff0ec; color: #8d2b17; }

.pkv-planner__loading { min-height: 420px; padding: 42px 24px; display: grid; place-content: center; text-align: center; }
.pkv-planner__loading-mark { width: 52px; height: 52px; margin: 0 auto 18px; border: 5px solid var(--pkv-mist); border-top-color: var(--pkv-sea); border-radius: 50%; animation: pkv-spin .9s linear infinite; }
.pkv-planner__loading h2 { margin: 0 0 8px; }
.pkv-planner__loading p { max-width: 500px; margin: 0; color: var(--pkv-muted); }

.pkv-planner-results { padding: clamp(24px, 6vw, 70px); }
.pkv-results__summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.pkv-results__summary span { padding: 7px 11px; border-radius: 999px; background: var(--pkv-mist); color: var(--pkv-sea-dark); font-size: .82rem; font-weight: 700; }
.pkv-results__must-see-status { max-width: 760px; margin: 12px 0 2px; color: var(--pkv-muted); line-height: 1.5; }
.pkv-results__method { max-width: 820px; margin: 16px 0 8px; padding: 14px 16px; border-left: 4px solid var(--pkv-sea); border-radius: 10px; background: var(--pkv-mist); }
.pkv-results__method p { margin: 0; color: var(--pkv-muted); font-size: .88rem; line-height: 1.5; }
.pkv-results__method p + p { margin-top: 5px; }
.pkv-results__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-bottom: 34px; }
.pkv-results__edit,
.pkv-results__reset { margin: 0; }

.pkv-itinerary-day { margin: 0 0 32px; padding: clamp(18px, 4vw, 34px); border-radius: 22px; background: var(--pkv-sand); }
.pkv-itinerary-day__header { margin-bottom: 16px; }
.pkv-itinerary-day__number { color: var(--pkv-sea); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pkv-itinerary-day__header h2 { margin: 4px 0 0; font-size: clamp(1.5rem, 5vw, 2.3rem); }
.pkv-result-card { min-width: 0; padding: 19px; border: 1px solid rgba(23,108,102,.17); border-radius: 17px; background: var(--pkv-white); }
.pkv-result-card--anchor { border-top: 5px solid var(--pkv-sea); }
.pkv-result-card__meta { display: flex; flex-wrap: wrap; gap: 8px 12px; color: var(--pkv-muted); font-size: .78rem; }
.pkv-result-card__type { color: var(--pkv-sea); font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.pkv-result-card h3 { margin: 8px 0; font-size: 1.28rem; line-height: 1.2; overflow-wrap: break-word; word-break: normal; }
.pkv-result-card__excerpt { color: var(--pkv-muted); line-height: 1.55; }
.pkv-result-card__why { margin-top: 15px; padding: 13px; border-radius: 12px; background: var(--pkv-mist); }
.pkv-result-card__why strong { font-size: .8rem; color: var(--pkv-sea-dark); }
.pkv-result-card__why p { margin: 3px 0 0; line-height: 1.45; }
.pkv-result-card__note { color: var(--pkv-muted); font-size: .82rem; }
.pkv-result-card__link { display: inline-flex; align-items: center; min-height: 48px; margin-top: 8px; color: var(--pkv-sea-dark); font-weight: 800; }
.pkv-itinerary-day__supporting { margin-top: 18px; min-width: 0; }
.pkv-itinerary-day__supporting-title { margin: 0 0 11px; color: var(--pkv-sea-dark); font-size: .8rem; text-transform: uppercase; letter-spacing: .11em; }
.pkv-itinerary-day__supporting-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.pkv-result-card--supporting { padding: 18px 19px; border-color: rgba(23,108,102,.13); background: rgba(255,255,255,.84); box-shadow: 0 9px 25px rgba(16,48,42,.055); }
.pkv-result-card--supporting h3 { font-size: 1.16rem; line-height: 1.28; }
.pkv-result-card--supporting .pkv-result-card__excerpt { font-size: .94rem; }
.pkv-result-card--supporting .pkv-result-card__why { padding: 11px 12px; background: rgba(238,246,243,.78); }
.pkv-context-notice { margin-top: 14px; padding: 15px; border-left: 4px solid #d48c28; border-radius: 10px; background: #fff7e9; }
.pkv-context-notice p { margin: 5px 0 0; color: var(--pkv-muted); }

.pkv-trip-map {
  --map-number-bg: #37464b;
  --pkv-map-ink: #183c3a;
  --pkv-map-muted: #65746f;
  --pkv-map-paper: #fbfaf5;
  --pkv-map-paper-soft: #f3efe3;
  --pkv-map-sea-a: #dbeceb;
  --pkv-map-sea-b: #c7dfdd;
  --pkv-map-land-a: #efe7d2;
  --pkv-map-land-b: #d9cfb5;
  --pkv-map-coast: #657d73;
  --pkv-map-line: rgba(45,83,75,.18);
  --pkv-map-orientation: #6c756e;
  margin-top: 42px;
  padding: clamp(22px, 5vw, 42px);
  overflow: hidden;
  border: 1px solid var(--pkv-map-line);
  border-radius: 28px;
  color: var(--pkv-map-ink);
  background: linear-gradient(150deg, var(--pkv-map-paper), var(--pkv-map-paper-soft));
  box-shadow: 0 24px 70px rgba(24,55,49,.12);
}
.pkv-trip-map h2 { margin: 7px 0 9px; font-size: clamp(1.7rem, 5vw, 2.7rem); letter-spacing: -.025em; }
.pkv-trip-map > p { max-width: 660px; margin: 0; color: var(--pkv-map-muted); line-height: 1.55; }
.pkv-trip-map__key { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 20px 0 16px; padding: 0; list-style: none; }
.pkv-trip-map__key-item { --map-color: #637479; display: inline-flex; align-items: center; gap: 7px; color: var(--pkv-map-muted); font-size: .78rem; font-weight: 500; }
.pkv-trip-map__key-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--map-color); }
.pkv-trip-map__key-item--beach, .pkv-trip-map__marker--beach, .pkv-trip-map__place--beach { --map-color: #287aa1; --map-number-bg: #154b65; }
.pkv-trip-map__key-item--restaurant, .pkv-trip-map__marker--restaurant, .pkv-trip-map__place--restaurant { --map-color: #aa624c; --map-number-bg: #6e3328; }
.pkv-trip-map__key-item--village, .pkv-trip-map__marker--village, .pkv-trip-map__place--village { --map-color: #8a6f45; --map-number-bg: #544123; }
.pkv-trip-map__key-item--activity, .pkv-trip-map__marker--activity, .pkv-trip-map__place--activity { --map-color: #2f8178; --map-number-bg: #174d48; }
.pkv-trip-map__key-item--boat-trip, .pkv-trip-map__marker--boat-trip, .pkv-trip-map__place--boat-trip { --map-color: #315d82; --map-number-bg: #173a55; }
.pkv-trip-map__key-item--viewpoint, .pkv-trip-map__marker--viewpoint, .pkv-trip-map__place--viewpoint { --map-color: #b58a3f; --map-number-bg: #5a4219; }
.pkv-trip-map__key-item--hiking-trail, .pkv-trip-map__marker--hiking-trail, .pkv-trip-map__place--hiking-trail { --map-color: #54724d; --map-number-bg: #2e472c; }
.pkv-trip-map__key-item--parking-area, .pkv-trip-map__marker--parking-area, .pkv-trip-map__place--parking-area { --map-color: #667479; --map-number-bg: #37464b; }

.pkv-trip-map__plot {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: clamp(680px, 55vw, 760px);
  margin: 18px auto 0;
  border: 1px solid var(--pkv-map-line);
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(155deg, var(--pkv-map-sea-a), var(--pkv-map-sea-b));
  box-shadow: inset 0 0 60px rgba(255,255,255,.3);
}
.pkv-trip-map__plot::after { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; background: radial-gradient(circle at 76% 18%, rgba(255,255,255,.46), transparent 28%); }
.pkv-trip-map__svg { position: relative; z-index: 1; display: block; width: 100%; height: 100%; }
.pkv-trip-map__island-shadow { fill: rgba(33,62,56,.15); filter: blur(8px); transform: translate(5px,8px); }
.pkv-trip-map__shoreline { fill: none; stroke: rgba(255,255,255,.72); stroke-width: 5; opacity: .56; vector-effect: non-scaling-stroke; }
.pkv-trip-map__island-shape { fill: url(#pkv-trip-map-land-gradient); stroke: var(--pkv-map-coast); stroke-width: 1.8; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.pkv-trip-map__contour { fill: none; stroke: rgba(91,105,80,.22); stroke-width: 1.15; vector-effect: non-scaling-stroke; }
.pkv-trip-map__orientation-dot { fill: var(--pkv-map-orientation); stroke: var(--pkv-map-paper); stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.pkv-trip-map__orientation-label { fill: var(--pkv-map-orientation); font-size: 16px; font-weight: 400; letter-spacing: .02em; paint-order: stroke; stroke: var(--pkv-map-land-a); stroke-width: 4px; stroke-linejoin: round; pointer-events: none; }
.pkv-trip-map__north-label { fill: var(--pkv-map-muted); font-size: 13px; font-weight: 500; text-anchor: middle; }
.pkv-trip-map__north-arrow { fill: none; stroke: var(--pkv-map-muted); stroke-width: 1.5; vector-effect: non-scaling-stroke; }

.pkv-trip-map__marker {
  --map-color: #667479;
  color: var(--map-color);
  outline: none;
}
.pkv-trip-map__marker-hit { fill: transparent; stroke: transparent; stroke-width: 46; pointer-events: stroke; vector-effect: non-scaling-stroke; }
.pkv-trip-map__marker-ring { fill: #fffdf8; stroke: none; filter: none; vector-effect: non-scaling-stroke; transition: r .16s ease; }
.pkv-trip-map__marker-core { fill: var(--map-number-bg); stroke: #fffdf8; stroke-width: 2; vector-effect: non-scaling-stroke; transition: filter .16s ease, stroke-width .16s ease; }
.pkv-trip-map__marker-number { fill: #fff; font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.pkv-trip-map__marker[data-map-role="supporting"] .pkv-trip-map__marker-ring { r: 17px; }
.pkv-trip-map__marker[data-map-role="anchor"] .pkv-trip-map__marker-ring { r: 18.2px; }
.pkv-trip-map__marker[data-map-role="supporting"] .pkv-trip-map__marker-core { r: 14.6px; }
.pkv-trip-map__marker[data-map-role="anchor"] .pkv-trip-map__marker-core { r: 15.8px; }
.pkv-trip-map__marker-label { opacity: 0; fill: var(--pkv-map-ink); font-size: 15px; font-weight: 500; paint-order: stroke; stroke: var(--pkv-map-paper); stroke-width: 6px; stroke-linejoin: round; pointer-events: none; transition: opacity .16s ease; }
.pkv-trip-map__marker:hover .pkv-trip-map__marker-ring,
.pkv-trip-map__marker:focus-visible .pkv-trip-map__marker-ring,
.pkv-trip-map__marker.is-active .pkv-trip-map__marker-ring { r: 19.5px; }
.pkv-trip-map__marker:hover .pkv-trip-map__marker-core,
.pkv-trip-map__marker:focus-visible .pkv-trip-map__marker-core,
.pkv-trip-map__marker.is-active .pkv-trip-map__marker-core { filter: brightness(.78); stroke-width: 2.5; }
.pkv-trip-map__marker:hover .pkv-trip-map__marker-label,
.pkv-trip-map__marker:focus-visible .pkv-trip-map__marker-label,
.pkv-trip-map__marker.is-active .pkv-trip-map__marker-label { opacity: 1; }

.pkv-trip-map__places { min-width: 0; margin-top: 30px; }
.pkv-trip-map__places h3 { margin: 0 0 15px; color: var(--pkv-map-muted); font-size: .74rem; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.pkv-trip-map__place-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 5px 22px; margin: 0; padding: 0; list-style: none; }
.pkv-trip-map__place { --map-color: #667479; min-width: 0; list-style: none !important; border-top: 1px solid var(--pkv-map-line); border-radius: 12px; transition: background .16s ease, transform .16s ease; }
.pkv-trip-map__place::marker { content: ""; }
.pkv-trip-map__place.is-active { background: color-mix(in srgb, var(--map-color) 10%, transparent); transform: translateX(3px); }
.pkv-trip-map__place-link { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 9px; align-items: center; min-height: 48px; padding: 7px; color: var(--pkv-map-ink); text-decoration: none; }
.pkv-trip-map__place-link:hover { color: var(--map-color); }
.pkv-trip-map__place-number { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: var(--map-number-bg); box-shadow: 0 0 0 2px var(--pkv-map-paper); font-size: .86rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease; }
.pkv-trip-map__place.is-active .pkv-trip-map__place-number { transform: scale(1.06); box-shadow: 0 0 0 3px var(--pkv-map-paper), 0 3px 8px rgba(24,60,58,.28); }
.pkv-trip-map__place-copy { min-width: 0; }
.pkv-trip-map__place-name { display: block; min-width: 0; overflow-wrap: normal; word-break: normal; hyphens: none; font-size: .84rem; font-weight: 500; line-height: 1.25; }
.pkv-trip-map__place-type { display: block; margin-top: 2px; color: var(--pkv-map-muted); font-size: .7rem; font-weight: 400; }
.pkv-trip-map__attribution { margin-top: 14px !important; color: var(--pkv-map-muted) !important; font-size: .68rem; line-height: 1.4; }
.pkv-trip-map__attribution a { color: inherit; }
.pkv-results__notice { margin: 30px 0 0; color: var(--pkv-muted); font-size: .86rem; }
.pkv-villa-cta { margin-top: 34px; padding: clamp(20px, 5vw, 36px); border: 1px solid rgba(23,108,102,.22); border-radius: 20px; background: linear-gradient(140deg, var(--pkv-mist), var(--pkv-sand)); }
.pkv-villa-cta h2 { margin: 7px 0 9px; font-size: clamp(1.45rem, 4.5vw, 2rem); }
.pkv-villa-cta p { max-width: 700px; margin: 0; color: var(--pkv-muted); line-height: 1.55; }
.pkv-villa-cta__link { display: inline-flex; align-items: center; min-height: 48px; margin-top: 14px; color: var(--pkv-sea-dark); font-weight: 800; }

@keyframes pkv-enter { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }
@keyframes pkv-spin { to { transform: rotate(360deg); } }

@media (min-width: 720px) {
  .pkv-planner__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pkv-planner__choices--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pkv-itinerary-day__supporting-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pkv-trip-map__place-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .pkv-planner__flow { min-height: 620px; }
  .pkv-planner__question { max-width: 900px; margin: 0 auto; }
  .pkv-itinerary-day { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(340px, .85fr); gap: 24px; }
  .pkv-itinerary-day__header { grid-column: 1 / -1; }
  .pkv-itinerary-day__supporting { margin-top: 0; }
  .pkv-itinerary-day__supporting-grid { grid-template-columns: minmax(0, 1fr); }
  .pkv-itinerary-day > .pkv-context-notice { grid-column: 1 / -1; }
  .pkv-trip-map__place-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .pkv-trip-map__plot { height: auto; aspect-ratio: 720 / 920; }
  .pkv-trip-map__orientation-label { font-size: 18px; }
  .pkv-trip-map__marker-hit { stroke-width: 60; }
  .pkv-trip-map__marker[data-map-role="supporting"] .pkv-trip-map__marker-ring { r: 20px; }
  .pkv-trip-map__marker[data-map-role="anchor"] .pkv-trip-map__marker-ring { r: 21.4px; }
  .pkv-trip-map__marker[data-map-role="supporting"] .pkv-trip-map__marker-core { r: 17.2px; }
  .pkv-trip-map__marker[data-map-role="anchor"] .pkv-trip-map__marker-core { r: 18.6px; }
  .pkv-trip-map__marker-number { font-size: 21px; }
  .pkv-trip-map__marker:hover .pkv-trip-map__marker-ring,
  .pkv-trip-map__marker:focus-visible .pkv-trip-map__marker-ring,
  .pkv-trip-map__marker.is-active .pkv-trip-map__marker-ring { r: 23px; }
}

@media (max-width: 559px) {
  .pkv-trip-map { margin-inline: -12px; padding-inline: 12px; border-radius: 22px; }
  .pkv-trip-map__key { gap: 7px 11px; }
  .pkv-trip-map__plot { width: 100%; border-radius: 18px; }
  .pkv-trip-map__orientation-label { font-size: 27px; stroke-width: 6px; }
  .pkv-trip-map__marker-label { font-size: 25px; stroke-width: 8px; }
  .pkv-trip-map__marker-hit { stroke-width: 132; }
  .pkv-trip-map__marker[data-map-role="supporting"] .pkv-trip-map__marker-ring { r: 40.7px; }
  .pkv-trip-map__marker[data-map-role="anchor"] .pkv-trip-map__marker-ring { r: 43.6px; }
  .pkv-trip-map__marker[data-map-role="supporting"] .pkv-trip-map__marker-core { r: 34.9px; }
  .pkv-trip-map__marker[data-map-role="anchor"] .pkv-trip-map__marker-core { r: 37.8px; }
  .pkv-trip-map__marker-number { font-size: 42px; }
  .pkv-trip-map__marker:hover .pkv-trip-map__marker-ring,
  .pkv-trip-map__marker:focus-visible .pkv-trip-map__marker-ring,
  .pkv-trip-map__marker.is-active .pkv-trip-map__marker-ring { r: 47px; }
}

@media (prefers-reduced-motion: reduce) {
  .pkv-planner *, .pkv-planner *::before, .pkv-planner *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}
