:root {
  --kk-bg: #050506;
  --kk-panel: rgba(255,255,255,.04);
  --kk-panel-strong: rgba(0,0,0,.42);
  --kk-border: rgba(255,255,255,.10);
  --kk-border-strong: rgba(196,181,253,.45);
  --kk-text: #f8f3ea;
  --kk-muted: #b9a8c9;
  --kk-muted-2: rgba(255,255,255,.58);
  --kk-violet: #8b5cf6;
  --kk-fuchsia: #d946ef;
  --kk-cyan: #67e8f9;
  --kk-gold: #f2d28a;
  --kk-radius-xl: 2rem;
  --kk-radius-2xl: 2.5rem;
  --kk-shadow-neon: 0 0 46px rgba(217,70,239,.34);
  --kk-shadow-soft: 0 24px 80px rgba(0,0,0,.42);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--kk-bg); color-scheme: dark; scroll-behavior: smooth; }
body.kk-body {
  min-height: 100vh;
  margin: 0;
  background: var(--kk-bg);
  color: var(--kk-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}
body.kk-body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(circle at 85% 10%, rgba(168,85,247,.20), transparent 29%),
    radial-gradient(circle at 10% 25%, rgba(103,232,249,.09), transparent 24%),
    radial-gradient(circle at 70% 80%, rgba(242,210,138,.09), transparent 26%),
    #050506;
}
body.kk-body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .26;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 50% 20%, black, transparent 70%);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .55; }

.kk-shell { position: relative; z-index: 1; min-height: 100vh; }
.kk-container { width: min(100% - 32px, 1220px); margin: 0 auto; }
.kk-narrow { width: min(100% - 32px, 860px); margin: 0 auto; }
.kk-serif { font-family: Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.kk-eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  border: 1px solid rgba(196,181,253,.22);
  border-radius: 999px;
  background: rgba(139,92,246,.10);
  padding: 9px 14px;
  color: rgba(237,233,254,.82);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  box-shadow: 0 0 30px rgba(168,85,247,.16);
}
.kk-section { padding: 88px 0; }
.kk-section-tight { padding: 54px 0; }
.kk-section-head {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: flex-end;
  margin-bottom: 40px;
}
.kk-section-head h1,
.kk-section-head h2,
.kk-page-hero h1,
.kk-step-head h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 6vw, 82px);
  line-height: .96;
  color: #fff;
  letter-spacing: -.05em;
}
.kk-section-head p,
.kk-page-hero p,
.kk-step-head p {
  max-width: 560px;
  margin: 18px 0 0;
  color: var(--kk-muted);
  font-size: 18px;
  line-height: 1.75;
}
.kk-gradient-text {
  background: linear-gradient(90deg, #fff, #f5f3ff, #fde68a);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.kk-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--kk-border);
  background: rgba(5,5,6,.74);
  backdrop-filter: blur(24px);
}
.kk-header-inner {
  display: flex;
  height: 80px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.kk-brand { display: flex; align-items: center; gap: 12px; }
.kk-brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(249,168,212,.45);
  border-radius: 999px;
  background: rgba(217,70,239,.12);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 0 28px rgba(168,85,247,.38);
}
.kk-brand-name { font-family: Georgia, "Times New Roman", serif; font-size: 21px; letter-spacing: .02em; }
.kk-brand-tagline { margin-top: 1px; color: rgba(221,214,254,.62); font-size: 10px; letter-spacing: .27em; text-transform: uppercase; }
.kk-nav { display: flex; align-items: center; gap: 28px; color: rgba(255,255,255,.68); font-size: 14px; }
.kk-nav a { transition: color .2s ease; }
.kk-nav a:hover, .kk-nav a.is-active { color: #fff; }
.kk-header-actions { display: flex; align-items: center; gap: 12px; }
.kk-lang { display: inline-flex; gap: 4px; border: 1px solid var(--kk-border); border-radius: 999px; background: rgba(255,255,255,.04); padding: 4px; color: rgba(255,255,255,.58); font-size: 12px; }
.kk-lang a { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; padding: 6px 10px; border-radius: 999px; color: rgba(255,255,255,.68); font-weight: 700; line-height: 1; }
.kk-lang a.is-active { background: rgba(255,255,255,.10); color: #fff; }

.kk-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 999px;
  padding: 15px 24px;
  font-weight: 750;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
  isolation: isolate;
  white-space: nowrap;
}
.kk-btn:hover { transform: translateY(-1px) scale(1.015); }
.kk-btn-primary {
  color: #050506;
  background: linear-gradient(90deg, var(--kk-violet), var(--kk-fuchsia), var(--kk-gold));
  box-shadow: 0 0 34px rgba(168,85,247,.42), 0 12px 36px rgba(0,0,0,.34);
}
.kk-btn-primary:hover { box-shadow: 0 0 48px rgba(217,70,239,.55), 0 16px 42px rgba(0,0,0,.38); }
.kk-btn-secondary {
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.86);
}
.kk-btn-secondary:hover { border-color: rgba(196,181,253,.45); background: rgba(255,255,255,.055); color: #fff; }
.kk-btn-small { padding: 10px 18px; font-size: 14px; }
.kk-btn svg, .kk-icon { width: 18px; height: 18px; }
.kk-icon { display: inline-block; }

.kk-hero {
  display: grid;
  min-height: 780px;
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: 56px;
  padding: 76px 0 52px;
}
.kk-hero-copy h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  color: #fff;
  font-size: clamp(70px, 10vw, 128px);
  line-height: .91;
  letter-spacing: -.07em;
}
.kk-hero-lead { margin: 28px 0 0; max-width: 620px; color: #fff; font-size: clamp(26px, 3vw, 36px); font-weight: 300; }
.kk-hero-text { max-width: 620px; margin: 20px 0 0; color: var(--kk-muted); font-size: 19px; line-height: 1.85; }
.kk-hero-sub { margin-top: 10px; color: rgba(255,255,255,.82); font-size: 18px; }
.kk-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.kk-hero-visual { position: relative; }
.kk-hero-visual::before {
  content: "";
  position: absolute;
  inset: -34px;
  border-radius: 54px;
  background: linear-gradient(135deg, rgba(139,92,246,.28), rgba(217,70,239,.10), rgba(103,232,249,.11));
  filter: blur(34px);
}
.kk-visual-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--kk-border);
  border-radius: 42px;
  background: var(--kk-panel);
  padding: 16px;
  box-shadow: var(--kk-shadow-soft);
  backdrop-filter: blur(20px);
}
.kk-room-visual {
  position: relative;
  height: 264px;
  overflow: hidden;
  border: 1px solid var(--kk-border);
  border-radius: 32px;
  background: linear-gradient(135deg, rgba(139,92,246,.40), rgba(217,70,239,.18), rgba(103,232,249,.18));
  box-shadow: 0 22px 66px rgba(0,0,0,.38), inset 0 0 90px rgba(255,255,255,.04);
}
.kk-room-visual.tone-velvet { background: linear-gradient(135deg, rgba(217,70,239,.40), rgba(76,29,149,.40), rgba(242,210,138,.18)); }
.kk-room-visual.tone-cinema { background: linear-gradient(135deg, rgba(103,232,249,.27), rgba(29,78,216,.30), rgba(139,92,246,.30)); }
.kk-room-visual.tone-halo { background: linear-gradient(135deg, rgba(255,255,255,.26), rgba(20,20,24,.72), rgba(196,181,253,.18)); }
.kk-room-visual.tone-neon-cinema { background: linear-gradient(135deg, rgba(103,232,249,.28), rgba(29,78,216,.34), rgba(139,92,246,.28)); }
.kk-room-visual.tone-prism { background: linear-gradient(135deg, rgba(217,70,239,.38), rgba(59,130,246,.26), rgba(103,232,249,.16)); }
.kk-room-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 70% 22%, rgba(255,255,255,.25), transparent 17%),
    radial-gradient(circle at 20% 82%, rgba(103,232,249,.22), transparent 24%),
    linear-gradient(180deg, rgba(5,5,6,.05), rgba(5,5,6,.72));
}
.kk-screen-shape { position: absolute; left: 50%; top: 38px; width: 180px; height: 98px; transform: translateX(-50%); border: 1px solid rgba(165,243,252,.24); border-radius: 14px; background: rgba(0,0,0,.72); box-shadow: 0 0 45px rgba(103,232,249,.26); }
.kk-screen-shape::after { content: ""; position: absolute; inset: 12px; border-radius: 10px; background: linear-gradient(135deg, rgba(165,243,252,.20), rgba(139,92,246,.22), rgba(0,0,0,.92)); }
.kk-sofa-shape { position: absolute; left: 50%; bottom: 42px; width: 78%; height: 98px; transform: translateX(-50%); border-radius: 54px 54px 18px 18px; background: rgba(0,0,0,.62); box-shadow: 0 -8px 40px rgba(168,85,247,.28); backdrop-filter: blur(8px); }
.kk-table-shape { position: absolute; left: 50%; bottom: 20px; width: 220px; height: 42px; transform: translateX(-50%); border-radius: 999px; background: rgba(0,0,0,.84); box-shadow: 0 0 34px rgba(242,210,138,.18); }
.kk-glass-shape { position: absolute; bottom: 34px; width: 16px; height: 30px; border: 1px solid rgba(254,243,199,.25); border-radius: 0 0 8px 8px; background: rgba(254,243,199,.18); }
.kk-glass-shape.one { left: 47%; }
.kk-glass-shape.two { left: 53%; }
.kk-room-mark { position: absolute; left: 26px; top: 24px; border: 1px solid rgba(255,255,255,.11); border-radius: 999px; background: rgba(0,0,0,.32); padding: 6px 12px; color: rgba(255,255,255,.72); font-size: 12px; backdrop-filter: blur(10px); }
.kk-mini-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 14px; }
.kk-mini-stat { border: 1px solid var(--kk-border); border-radius: 24px; background: rgba(0,0,0,.35); padding: 16px; }
.kk-mini-stat span { display: block; color: rgba(221,214,254,.62); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.kk-mini-stat strong { display: block; margin-top: 3px; font-size: 17px; font-weight: 500; }

.kk-feature-strip { display: grid; grid-template-columns: repeat(6,1fr); gap: 12px; border: 1px solid var(--kk-border); border-radius: 32px; background: rgba(255,255,255,.035); padding: 14px; backdrop-filter: blur(16px); }
.kk-feature-card { border: 1px solid rgba(255,255,255,.06); border-radius: 24px; background: rgba(0,0,0,.20); padding: 20px 12px; text-align: center; color: rgba(255,255,255,.75); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.kk-feature-card:hover { transform: translateY(-2px); border-color: rgba(196,181,253,.32); background: rgba(139,92,246,.10); color: #fff; }
.kk-feature-card .kk-icon { margin: 0 auto 10px; color: rgb(221,214,254); filter: drop-shadow(0 0 12px rgba(168,85,247,.62)); }

.kk-card-grid { display: grid; gap: 22px; }
.kk-card-grid-3 { grid-template-columns: repeat(3,1fr); }
.kk-card-grid-4 { grid-template-columns: repeat(4,1fr); }
.kk-room-card, .kk-package-card, .kk-addon-static-card, .kk-faq-item, .kk-contact-card, .kk-payment-card {
  position: relative;
  border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius-xl);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 55px rgba(0,0,0,.24);
  backdrop-filter: blur(18px);
}
.kk-room-card { padding: 14px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.kk-room-card:hover { transform: translateY(-4px); border-color: rgba(196,181,253,.44); box-shadow: 0 0 44px rgba(168,85,247,.18); }
.kk-room-card-body { padding: 22px 10px 10px; }
.kk-card-title-row { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.kk-card-title-row h3, .kk-package-card h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 34px; line-height: 1; letter-spacing: -.04em; }
.kk-pill { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--kk-border); border-radius: 999px; background: rgba(255,255,255,.04); padding: 5px 10px; color: rgba(255,255,255,.62); font-size: 12px; white-space: nowrap; }
.kk-card-text { min-height: 5px; margin: 16px 0 0; color: var(--kk-muted); line-height: 1.72; }
.kk-text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: rgb(237,233,254); font-size: 14px; font-weight: 750; }
.kk-text-link:hover { color: rgb(254,243,199); }

.kk-package-card { padding: 30px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.kk-package-card:hover { transform: translateY(-4px); border-color: rgba(196,181,253,.38); }
.kk-package-card.is-popular { border-color: rgba(196,181,253,.62); background: linear-gradient(180deg, rgba(139,92,246,.16), rgba(255,255,255,.04)); box-shadow: 0 0 54px rgba(168,85,247,.22); transform: scale(1.025); }
.kk-popular-badge { position: absolute; top: -15px; left: 28px; border-radius: 999px; background: linear-gradient(90deg, #c4b5fd, #fde68a); padding: 7px 13px; color: #050506; font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.kk-package-price { display: flex; align-items: flex-end; gap: 10px; margin: 16px 0 0; }
.kk-package-price strong { font-size: 34px; line-height: 1; }
.kk-package-price span { color: rgba(255,255,255,.52); }
.kk-package-list { display: grid; gap: 12px; margin: 24px 0 28px; color: rgba(255,255,255,.78); }
.kk-package-list span { display: flex; gap: 10px; align-items: center; }
.kk-package-list span::before { content: "✦"; color: var(--kk-gold); }

.kk-experience-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; border: 1px solid var(--kk-border); border-radius: var(--kk-radius-2xl); background: radial-gradient(circle at 80% 20%, rgba(168,85,247,.22), transparent 31%), rgba(255,255,255,.035); padding: 46px; backdrop-filter: blur(18px); }
.kk-experience-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.kk-experience-item { border: 1px solid var(--kk-border); border-radius: 24px; background: rgba(0,0,0,.30); padding: 24px; box-shadow: inset 0 0 24px rgba(168,85,247,.06); }
.kk-experience-item .kk-icon { margin-bottom: 16px; color: rgb(221,214,254); }
.kk-experience-item strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 26px; font-weight: 500; }

.kk-addon-static-card {
  display: flex;
  flex-direction: column;
  min-height: 412px;
  padding: 22px;
  transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.kk-addon-static-card:hover {
  transform: translateY(-3px);
  border-color: rgba(196,181,253,.42);
  box-shadow: 0 0 38px rgba(168,85,247,.12);
}
.kk-addon-static-media {
  position: relative;
  overflow: hidden;
  min-height: 148px;
  margin-bottom: 20px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 24px;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.10), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.22));
  padding: 18px;
}
.kk-addon-static-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 48%),
    radial-gradient(circle at 82% 72%, rgba(255,255,255,.10), transparent 24%);
  pointer-events: none;
}
.kk-addon-static-media::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 18px;
  width: 112px;
  height: 112px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.06);
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.16), rgba(255,255,255,.03) 44%, transparent 72%);
  opacity: .78;
  pointer-events: none;
}
.kk-addon-static-topline {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.kk-addon-static-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(139,92,246,.28), rgba(242,210,138,.08));
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
.kk-addon-static-price {
  display: inline-flex !important;
  width: fit-content;
  margin-top: 0 !important;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(0,0,0,.42);
  padding: 8px 12px;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800;
}
.kk-addon-static-stage {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  min-height: 72px;
  margin-top: 20px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  padding: 16px 18px;
}
.kk-addon-static-stage-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: calc(100% - 88px);
}
.kk-addon-static-visual-kicker {
  color: rgba(221,214,254,.74);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kk-addon-static-visual-title {
  display: block;
  margin: 0;
  font-size: 22px;
  line-height: 1.02;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.04em;
}
.kk-addon-static-visual-sub {
  color: rgba(255,255,255,.60);
  font-size: 12px;
  line-height: 1.45;
}
.kk-addon-static-stage-glow {
  position: absolute;
  right: 14px;
  bottom: 12px;
  width: 92px;
  height: 92px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.22), rgba(255,255,255,.04) 42%, transparent 72%);
  opacity: .88;
}
.kk-addon-static-kicker {
  margin-top: 2px !important;
  color: rgba(221,214,254,.74) !important;
  font-size: 11px !important;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kk-addon-static-title {
  display: block;
  margin-top: 6px;
  font-size: 18px;
}
.kk-addon-static-text {
  min-height: 96px;
  margin: 12px 0 0;
  color: var(--kk-muted);
  line-height: 1.72;
}
.kk-addon-static-note {
  margin-top: auto !important;
  padding-top: 14px;
  color: rgba(242,210,138,.82) !important;
  font-size: 14px !important;
  line-height: 1.55;
}

/* add-on visual accents */
.kk-addon-static-card.tone-champagne .kk-addon-static-media,
.kk-addon-static-card.tone-champagne .kk-addon-static-stage {
  background-image:
    radial-gradient(circle at 78% 18%, rgba(242,210,138,.14), transparent 20%),
    linear-gradient(180deg, rgba(242,210,138,.08), rgba(255,255,255,.03));
}
.kk-addon-static-card.tone-snacks .kk-addon-static-media,
.kk-addon-static-card.tone-snacks .kk-addon-static-stage {
  background-image:
    radial-gradient(circle at 78% 18%, rgba(168,85,247,.16), transparent 20%),
    linear-gradient(180deg, rgba(168,85,247,.08), rgba(255,255,255,.03));
}
.kk-addon-static-card.tone-dessert .kk-addon-static-media,
.kk-addon-static-card.tone-dessert .kk-addon-static-stage {
  background-image:
    radial-gradient(circle at 78% 18%, rgba(244,114,182,.16), transparent 20%),
    linear-gradient(180deg, rgba(244,114,182,.09), rgba(255,255,255,.03));
}
.kk-addon-static-card.tone-flowers .kk-addon-static-media,
.kk-addon-static-card.tone-flowers .kk-addon-static-stage {
  background-image:
    radial-gradient(circle at 78% 18%, rgba(236,72,153,.16), transparent 20%),
    linear-gradient(180deg, rgba(236,72,153,.09), rgba(255,255,255,.03));
}
.kk-addon-static-card.tone-candles .kk-addon-static-media,
.kk-addon-static-card.tone-candles .kk-addon-static-stage {
  background-image:
    radial-gradient(circle at 78% 18%, rgba(250,204,21,.15), transparent 20%),
    linear-gradient(180deg, rgba(250,204,21,.08), rgba(255,255,255,.03));
}
.kk-addon-static-card.tone-birthday .kk-addon-static-media,
.kk-addon-static-card.tone-birthday .kk-addon-static-stage {
  background-image:
    radial-gradient(circle at 78% 18%, rgba(59,130,246,.16), transparent 20%),
    linear-gradient(180deg, rgba(59,130,246,.09), rgba(255,255,255,.03));
}
.kk-addon-static-card.tone-games .kk-addon-static-media,
.kk-addon-static-card.tone-games .kk-addon-static-stage {
  background-image:
    radial-gradient(circle at 78% 18%, rgba(34,197,94,.16), transparent 20%),
    linear-gradient(180deg, rgba(34,197,94,.09), rgba(255,255,255,.03));
}
.kk-addon-static-card.tone-note .kk-addon-static-media,
.kk-addon-static-card.tone-note .kk-addon-static-stage {
  background-image:
    radial-gradient(circle at 78% 18%, rgba(196,181,253,.18), transparent 20%),
    linear-gradient(180deg, rgba(196,181,253,.10), rgba(255,255,255,.03));
}


.kk-booking-preview { display: grid; grid-template-columns: .75fr 1.25fr; gap: 34px; align-items: start; }
.kk-preview-card { border: 1px solid var(--kk-border); border-radius: var(--kk-radius-xl); background: rgba(255,255,255,.04); padding: 20px; backdrop-filter: blur(18px); }
.kk-preview-progress { display: flex; gap: 8px; margin-bottom: 18px; }
.kk-preview-progress span { height: 8px; flex: 1; border-radius: 999px; background: rgba(255,255,255,.10); }
.kk-preview-progress span:nth-child(-n+3) { background: linear-gradient(90deg, #8b5cf6, #d946ef); }
.kk-preview-inner { display: grid; grid-template-columns: 1fr 280px; gap: 18px; }
.kk-preview-choice, .kk-preview-summary { border: 1px solid var(--kk-border); border-radius: 24px; background: rgba(0,0,0,.30); padding: 20px; }
.kk-preview-slots { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 16px; }
.kk-preview-slots span { border: 1px solid var(--kk-border); border-radius: 16px; padding: 12px; text-align: center; }
.kk-preview-slots span.is-active { border-color: rgba(196,181,253,.62); background: rgba(139,92,246,.20); box-shadow: 0 0 22px rgba(168,85,247,.25); }
.kk-summary-line { display: flex; justify-content: space-between; gap: 18px; padding: 8px 0; color: rgba(255,255,255,.72); font-size: 14px; }
.kk-summary-line span { color: rgba(255,255,255,.56); }
.kk-summary-line strong { color: rgba(255,255,255,.90); text-align: right; font-weight: 650; }
.kk-summary-line.is-strong { align-items: center; padding-top: 16px; font-size: 19px; color: #fff; }
.kk-summary-line.is-strong strong { color: #fff; }
.kk-total-lines { margin-top: 14px; border-top: 1px solid var(--kk-border); padding-top: 12px; }

.kk-page-hero { padding: 74px 0 34px; }
.kk-page-hero-card { border: 1px solid var(--kk-border); border-radius: 44px; background: radial-gradient(circle at 80% 0%, rgba(217,70,239,.18), transparent 38%), rgba(255,255,255,.035); padding: clamp(30px, 6vw, 58px); box-shadow: var(--kk-shadow-soft); }
.kk-faq-list { display: grid; gap: 12px; }
.kk-faq-item { padding: 24px; }
.kk-faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; list-style: none; cursor: pointer; font-size: 18px; font-weight: 650; }
.kk-faq-item summary::-webkit-details-marker { display: none; }
.kk-faq-item summary::after { content: "+"; color: rgb(221,214,254); font-size: 24px; }
.kk-faq-item[open] summary::after { content: "–"; }
.kk-faq-item p { margin: 16px 0 0; color: var(--kk-muted); line-height: 1.75; }
.kk-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 24px; }
.kk-contact-card { padding: 30px; }
.kk-contact-card h2, .kk-contact-card h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 38px; letter-spacing: -.04em; }
.kk-contact-card p { color: var(--kk-muted); line-height: 1.8; }
.kk-contact-list { display: grid; gap: 14px; margin-top: 22px; }
.kk-contact-list a, .kk-contact-list span { display: block; border: 1px solid var(--kk-border); border-radius: 18px; background: rgba(255,255,255,.035); padding: 14px 16px; color: rgba(255,255,255,.82); }
.kk-contact-form { display: grid; gap: 14px; }

.kk-booking-page { padding: 52px 0 96px; }
.kk-booking-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 26px; align-items: start; }
.kk-booking-main, .kk-sticky-summary { border: 1px solid var(--kk-border); border-radius: 34px; background: rgba(255,255,255,.04); padding: 24px; backdrop-filter: blur(18px); box-shadow: 0 20px 70px rgba(0,0,0,.28); }
.kk-sticky-summary { position: sticky; top: 104px; }
.kk-booking-progress { display: grid; grid-template-columns: repeat(7,1fr); gap: 8px; margin-bottom: 28px; }
.kk-progress-step { border: 0; border-radius: 999px; background: rgba(255,255,255,.08); padding: 6px; overflow: hidden; color: rgba(255,255,255,.5); text-align: left; }
.kk-progress-step span { display: grid; float: left; width: 26px; height: 26px; place-items: center; border-radius: 999px; background: rgba(0,0,0,.25); color: rgba(255,255,255,.7); font-size: 12px; font-weight: 800; }
.kk-progress-step strong { display: none; }
.kk-progress-step.is-active, .kk-progress-step.is-done { background: linear-gradient(90deg, rgba(139,92,246,.72), rgba(217,70,239,.60)); color: #fff; box-shadow: 0 0 18px rgba(168,85,247,.24); }
.kk-step-head { margin-bottom: 24px; }
.kk-step-head h1 { font-size: clamp(40px, 5vw, 64px); }
.kk-choice-grid { display: grid; gap: 14px; }
.kk-choice-grid-3 { grid-template-columns: repeat(3,1fr); }
.kk-choice-grid-4 { grid-template-columns: repeat(4,1fr); }
.kk-choice-grid-5 { grid-template-columns: repeat(5,minmax(0,1fr)); }
.kk-choice-grid-addons { grid-template-columns: repeat(3,1fr); }
.kk-option-card, .kk-addon-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 190px;
  border: 1px solid var(--kk-border);
  border-radius: 26px;
  background: rgba(0,0,0,.28);
  padding: 20px;
  color: var(--kk-text);
  text-align: left;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.kk-option-card:hover, .kk-addon-card:hover { transform: translateY(-2px); border-color: rgba(196,181,253,.36); background: rgba(139,92,246,.10); }
.kk-option-card.is-selected, .kk-addon-card.is-selected { border-color: rgba(196,181,253,.72); background: linear-gradient(180deg, rgba(139,92,246,.22), rgba(255,255,255,.045)); box-shadow: 0 0 28px rgba(168,85,247,.25); }
.kk-option-glow { position: absolute; inset: -40% -30% auto auto; width: 160px; height: 160px; border-radius: 999px; background: rgba(217,70,239,.18); filter: blur(28px); }
.kk-option-title { position: relative; display: block; margin-bottom: 10px; font-family: Georgia, "Times New Roman", serif; font-size: 26px; line-height: 1; letter-spacing: -.035em; }
.kk-option-text { position: relative; display: block; margin-top: 14px; color: var(--kk-muted); line-height: 1.65; }
.kk-option-price { position: relative; display: block; margin-top: 10px; font-size: 24px; font-weight: 800; color: #fff; }
.kk-option-list { display: grid; gap: 7px; margin-top: 14px; color: rgba(255,255,255,.72); font-size: 14px; }
.kk-popular { position: absolute; top: 12px; right: 12px; border-radius: 999px; background: linear-gradient(90deg, #c4b5fd, #fde68a); padding: 6px 10px; color: #050506; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.kk-room-mini { display: block; height: 78px; margin-top: 18px; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: linear-gradient(135deg, rgba(139,92,246,.36), rgba(217,70,239,.14), rgba(103,232,249,.16)); }
.kk-option-card.kk-room-choice { min-height: 0; }
.kk-option-card.kk-room-choice .kk-room-mini { height: 150px; margin-top: 0; margin-bottom: 16px; border-radius: 20px; }
.kk-option-card.kk-room-choice .kk-option-title { margin-bottom: 8px; }
.kk-option-card.kk-room-choice .kk-option-text { margin-top: 16px; }
.kk-room-mini.tone-velvet { background: linear-gradient(135deg, rgba(217,70,239,.35), rgba(76,29,149,.38), rgba(242,210,138,.18)); }
.kk-room-mini.tone-cinema { background: linear-gradient(135deg, rgba(103,232,249,.22), rgba(29,78,216,.30), rgba(139,92,246,.26)); }
.kk-room-mini.tone-halo { background: linear-gradient(135deg, rgba(255,255,255,.26), rgba(20,20,24,.72), rgba(196,181,253,.18)); }
.kk-room-mini.tone-neon-cinema { background: linear-gradient(135deg, rgba(103,232,249,.28), rgba(29,78,216,.34), rgba(139,92,246,.28)); }
.kk-room-mini.tone-prism { background: linear-gradient(135deg, rgba(217,70,239,.38), rgba(59,130,246,.26), rgba(103,232,249,.16)); }
.kk-slot-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 20px; }
.kk-time-slot { display: grid; gap: 4px; border: 1px solid var(--kk-border); border-radius: 22px; background: rgba(255,255,255,.035); padding: 18px 12px; color: #fff; font-size: 18px; font-weight: 750; }
.kk-time-slot small { color: rgba(255,255,255,.50); font-size: 11px; font-weight: 800; letter-spacing: .10em; text-transform: uppercase; }
.kk-time-slot.is-selected { border-color: rgba(196,181,253,.72); background: rgba(139,92,246,.20); box-shadow: 0 0 24px rgba(168,85,247,.26); }
.kk-time-slot.is-unavailable, .kk-time-slot:disabled { opacity: .48; cursor: not-allowed; background: rgba(255,255,255,.018); border-color: rgba(255,255,255,.07); }
.kk-slot-notice { margin: 14px 0 0; border: 1px solid rgba(196,181,253,.22); border-radius: 18px; background: rgba(139,92,246,.08); padding: 12px 14px; color: rgba(255,255,255,.72); font-size: 14px; }
.kk-slot-notice.is-error { border-color: rgba(248,113,113,.42); background: rgba(127,29,29,.20); color: #fecaca; }
.kk-form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.kk-field { display: grid; gap: 8px; color: rgba(255,255,255,.72); font-size: 13px; font-weight: 750; letter-spacing: .04em; }
.kk-field-wide { grid-column: 1 / -1; }
.kk-field input, .kk-field textarea, .kk-field select {
  width: 100%;
  border: 1px solid var(--kk-border);
  border-radius: 18px;
  background: rgba(0,0,0,.30);
  padding: 14px 15px;
  color: #fff;
  outline: 0;
}
.kk-field textarea { resize: vertical; }
.kk-field input:focus, .kk-field textarea:focus, .kk-field select:focus { border-color: rgba(196,181,253,.66); box-shadow: 0 0 0 4px rgba(139,92,246,.12); }
.kk-custom-note { margin-top: 16px; }
.kk-addon-icon { display: grid; width: 46px; height: 46px; place-items: center; margin-bottom: 18px; border-radius: 16px; background: linear-gradient(135deg, rgba(139,92,246,.26), rgba(242,210,138,.10)); color: #fde68a; }
.kk-booking-actions { display: flex; justify-content: space-between; gap: 14px; border-top: 1px solid var(--kk-border); margin-top: 28px; padding-top: 22px; }
.kk-summary-panel-large { border: 1px solid var(--kk-border); border-radius: 26px; background: rgba(0,0,0,.30); padding: 20px; }
.kk-booking-error { border: 1px solid rgba(248,113,113,.42); border-radius: 18px; background: rgba(127,29,29,.24); margin-bottom: 18px; padding: 14px 16px; color: #fecaca; }

.kk-payment-wrap { padding: 72px 0 96px; }
.kk-payment-card { max-width: 860px; margin: 0 auto; padding: clamp(26px, 5vw, 48px); overflow: hidden; }
.kk-payment-card::before { content: ""; position: absolute; inset: -120px -80px auto auto; width: 280px; height: 280px; border-radius: 999px; background: rgba(217,70,239,.20); filter: blur(35px); }
.kk-payment-status { position: relative; display: inline-flex; border: 1px solid rgba(242,210,138,.24); border-radius: 999px; background: rgba(242,210,138,.08); padding: 8px 13px; color: #fde68a; font-size: 12px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.kk-payment-card h1 { position: relative; margin: 20px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 6vw, 72px); line-height: .96; letter-spacing: -.05em; }
.kk-reference { position: relative; display: inline-flex; margin: 20px 0 0; border: 1px solid rgba(196,181,253,.34); border-radius: 18px; background: rgba(0,0,0,.28); padding: 12px 16px; color: #fff; font-size: 18px; font-weight: 800; letter-spacing: .06em; }
.kk-payment-summary { position: relative; margin-top: 26px; border: 1px solid var(--kk-border); border-radius: 24px; background: rgba(0,0,0,.26); padding: 20px; }
.kk-payment-actions { position: relative; display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }

.kk-cta { padding: 84px 0 112px; }
.kk-cta-card { position: relative; overflow: hidden; border: 1px solid var(--kk-border); border-radius: 44px; background: radial-gradient(circle at 50% 0%, rgba(217,70,239,.25), transparent 36%), linear-gradient(135deg, rgba(168,85,247,.12), rgba(242,210,138,.08)); padding: clamp(38px, 7vw, 72px); text-align: center; box-shadow: 0 0 80px rgba(168,85,247,.16); }
.kk-cta-card .kk-brand-mark { margin: 0 auto 22px; }
.kk-cta-card h2 { max-width: 760px; margin: 0 auto; font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 6vw, 78px); line-height: .98; letter-spacing: -.055em; }
.kk-cta-card p { max-width: 620px; margin: 22px auto 0; color: var(--kk-muted); font-size: 18px; line-height: 1.75; }
.kk-cta-card .kk-btn { margin-top: 32px; }

.kk-footer { border-top: 1px solid var(--kk-border); background: rgba(0,0,0,.30); padding: 34px 0; }
.kk-footer-inner { display: flex; justify-content: space-between; gap: 26px; align-items: center; }
.kk-footer-links { display: flex; flex-wrap: wrap; gap: 20px; color: rgba(255,255,255,.52); font-size: 14px; }
.kk-footer-links a:hover { color: #fff; }
.kk-footer-meta { display: grid; gap: 6px; margin-top: 10px; color: rgba(255,255,255,.60); font-size: 14px; }
.kk-footer-meta a { color: rgba(255,255,255,.78); }
.kk-footer-meta a:hover { color: #fff; }
.kk-footer-social { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.kk-social-link { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.10); border-radius: 999px; background: rgba(255,255,255,.04); color: rgba(255,255,255,.82); transition: border-color .2s ease, color .2s ease, transform .2s ease, background .2s ease; }
.kk-social-link:hover { border-color: rgba(196,181,253,.48); background: rgba(139,92,246,.12); color: #fff; transform: translateY(-1px); }
.kk-social-link .kk-icon { width: 18px; height: 18px; }

@media (max-width: 1050px) {
  .kk-nav { display: none; }
  .kk-hero, .kk-experience-panel, .kk-booking-preview, .kk-contact-grid, .kk-booking-layout { grid-template-columns: 1fr; }
  .kk-sticky-summary { position: static; }
  .kk-card-grid-3, .kk-choice-grid-3 { grid-template-columns: 1fr; }
  .kk-card-grid-4, .kk-choice-grid-4, .kk-choice-grid-addons { grid-template-columns: repeat(2,1fr); }
  .kk-choice-grid-5 { grid-template-columns: repeat(2,1fr); }
  .kk-feature-strip { grid-template-columns: repeat(3,1fr); }
  .kk-package-card.is-popular { transform: none; }
}
@media (max-width: 720px) {
  .kk-container, .kk-narrow { width: min(100% - 24px, 1220px); }
  .kk-header-inner { height: 72px; }
  .kk-brand-name { font-size: 18px; }
  .kk-brand-tagline, .kk-lang { display: none; }
  .kk-btn { width: 100%; padding: 14px 20px; }
  .kk-header-actions .kk-btn { width: auto; }
  .kk-hero { min-height: auto; padding: 52px 0 34px; gap: 34px; }
  .kk-hero-copy h1 { font-size: clamp(58px, 17vw, 82px); }
  .kk-hero-actions, .kk-payment-actions { flex-direction: column; }
  .kk-mini-stats, .kk-feature-strip, .kk-card-grid-4, .kk-choice-grid-4, .kk-choice-grid-5, .kk-choice-grid-addons, .kk-experience-grid, .kk-preview-inner, .kk-form-grid, .kk-slot-grid { grid-template-columns: 1fr; }
  .kk-section { padding: 62px 0; }
  .kk-section-head { display: block; }
  .kk-room-visual { height: 230px; }
  .kk-booking-main, .kk-sticky-summary { padding: 18px; border-radius: 26px; }
  .kk-booking-progress { grid-template-columns: repeat(7, minmax(22px,1fr)); gap: 5px; }
  .kk-progress-step { padding: 3px; }
  .kk-progress-step span { width: 22px; height: 22px; font-size: 11px; }
  .kk-option-card, .kk-addon-card { min-height: 150px; }
  .kk-footer-inner { display: block; }
  .kk-footer-meta { margin-top: 12px; }
  .kk-footer-links { margin-top: 18px; }
}


/* Real Kahden Kesken image assets */
.kk-hero-image-frame {
  position: relative;
  height: 380px;
  overflow: hidden;
  border: 1px solid var(--kk-border);
  border-radius: 32px;
  background: #050506;
  box-shadow: 0 22px 66px rgba(0,0,0,.38), inset 0 0 90px rgba(255,255,255,.04);
}
.kk-hero-image,
.kk-room-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kk-hero-image-frame::after,
.kk-room-visual.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 80% 15%, rgba(103,232,249,.10), transparent 34%),
    radial-gradient(circle at 18% 80%, rgba(217,70,239,.12), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.18));
}
.kk-room-visual.has-image {
  background: #050506;
}
.kk-room-visual.has-image::before {
  display: none;
}
.kk-room-mini {
  overflow: hidden;
}
.kk-room-mini img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 1;
}
@media (max-width: 720px) {
  .kk-hero-image-frame { height: 280px; }
}

/* Product review v2 refinements */
.kk-visual-card-arrival {
  display: grid;
  gap: 16px;
}
.kk-hero-visual-copy h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  letter-spacing: -.04em;
}
.kk-preview-notes {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.kk-preview-notes span {
  border: 1px solid var(--kk-border);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  padding: 12px 14px;
  color: rgba(255,255,255,.76);
}
.kk-package-ideal,
.kk-option-meta {
  display: block;
  margin-top: 10px;
  color: rgba(242,210,138,.86);
  font-size: 13px;
  letter-spacing: .03em;
}
.kk-step-note {
  margin: 0 0 18px;
  border: 1px solid rgba(196,181,253,.22);
  border-radius: 18px;
  background: rgba(139,92,246,.08);
  padding: 13px 15px;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.6;
}
.kk-step-note.is-success {
  border-color: rgba(74,222,128,.30);
  background: rgba(20,83,45,.22);
  color: #dcfce7;
}
.kk-badge-muted,
.kk-addon-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  padding: 6px 10px;
  color: rgba(255,255,255,.62);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.kk-addon-badge.is-included {
  border-color: rgba(74,222,128,.35);
  background: rgba(20,83,45,.35);
  color: #dcfce7;
}
.kk-option-card.is-disabled,
.kk-addon-card.is-disabled {
  opacity: .48;
  cursor: not-allowed;
  border-color: rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
}
.kk-addon-card.is-included {
  border-color: rgba(74,222,128,.42);
  background: linear-gradient(180deg, rgba(20,83,45,.26), rgba(255,255,255,.035));
  box-shadow: 0 0 22px rgba(74,222,128,.10);
}
.kk-addon-card.is-included .kk-option-price {
  color: #dcfce7;
}
 .kk-addon-card.tone-champagne { background-image: linear-gradient(180deg, rgba(242,210,138,.09), rgba(255,255,255,.03)); }
.kk-addon-card.tone-snacks { background-image: linear-gradient(180deg, rgba(168,85,247,.09), rgba(255,255,255,.03)); }
.kk-addon-card.tone-dessert { background-image: linear-gradient(180deg, rgba(244,114,182,.10), rgba(255,255,255,.03)); }
.kk-addon-card.tone-flowers { background-image: linear-gradient(180deg, rgba(236,72,153,.11), rgba(255,255,255,.03)); }
.kk-addon-card.tone-candles { background-image: linear-gradient(180deg, rgba(250,204,21,.09), rgba(255,255,255,.03)); }
.kk-addon-card.tone-birthday { background-image: linear-gradient(180deg, rgba(59,130,246,.11), rgba(255,255,255,.03)); }
.kk-addon-card.tone-games { background-image: linear-gradient(180deg, rgba(34,197,94,.10), rgba(255,255,255,.03)); }
.kk-addon-card.tone-note { background-image: linear-gradient(180deg, rgba(196,181,253,.12), rgba(255,255,255,.03)); }
.kk-mood-card .kk-option-title {
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.08;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
.kk-mood-card .kk-option-meta,
.kk-mood-card .kk-option-text,
.kk-mood-card .kk-option-list {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
.kk-mood-card .kk-option-list {
  margin-top: 12px;
}
.kk-mood-card.tone-calm { background-image: linear-gradient(180deg, rgba(103,232,249,.06), rgba(255,255,255,.03)); }
.kk-mood-card.tone-screen { background-image: linear-gradient(180deg, rgba(59,130,246,.09), rgba(255,255,255,.03)); }
.kk-mood-card.tone-karaoke { background-image: linear-gradient(180deg, rgba(168,85,247,.11), rgba(255,255,255,.03)); }
.kk-mood-card.tone-romantic { background-image: linear-gradient(180deg, rgba(236,72,153,.12), rgba(255,255,255,.03)); }
.kk-mood-card.tone-celebration { background-image: linear-gradient(180deg, rgba(250,204,21,.08), rgba(255,255,255,.03)); }
.kk-mood-card.tone-custom { background-image: linear-gradient(180deg, rgba(196,181,253,.12), rgba(255,255,255,.03)); }
.kk-payment-extra-block {
  margin-top: 16px;
  border-top: 1px solid var(--kk-border);
  padding-top: 14px;
}
.kk-payment-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.kk-payment-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  padding: 7px 11px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
}
.kk-payment-chip.is-included {
  border-color: rgba(74,222,128,.35);
  background: rgba(20,83,45,.35);
  color: #dcfce7;
}
.kk-payment-note {
  position: relative;
  margin-top: 22px;
  border: 1px solid rgba(74,222,128,.28);
  border-radius: 22px;
  background: rgba(20,83,45,.18);
  padding: 18px 20px;
  color: #dcfce7;
  line-height: 1.7;
}
@media (max-width: 720px) {
  .kk-hero-visual-copy h3 { font-size: 26px; }
  .kk-preview-notes { grid-template-columns: 1fr; }
}

.kk-summary-line {
  align-items: flex-start;
}
.kk-summary-line strong {
  max-width: 58%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.kk-summary-panel-large .kk-summary-line strong {
  max-width: 62%;
}
.kk-summary-line--stacked {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.kk-summary-line--stacked > span {
  color: rgba(255,255,255,.56);
}
.kk-summary-tag-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.kk-summary-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  padding: 7px 11px;
  color: rgba(255,255,255,.88);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
}
.kk-summary-tag-list.is-included .kk-summary-chip {
  border-color: rgba(74,222,128,.28);
  background: rgba(20,83,45,.30);
  color: #dcfce7;
}
.kk-summary-panel-large {
  padding: 26px;
}
.kk-choice-grid.kk-choice-grid-5 {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.kk-addon-card {
  justify-content: flex-start;
}
.kk-addon-card .kk-option-text {
  min-height: 118px;
}
.kk-addon-card .kk-option-price {
  margin-top: auto;
  padding-top: 16px;
}
@media (max-width: 1200px) {
  .kk-choice-grid.kk-choice-grid-5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .kk-summary-line strong,
  .kk-summary-panel-large .kk-summary-line strong {
    max-width: 54%;
  }
  .kk-summary-tag-list {
    justify-content: flex-start;
  }
  .kk-choice-grid.kk-choice-grid-5 {
    grid-template-columns: 1fr;
  }
  .kk-addon-static-media {
    min-height: 112px;
  }
}

.kk-addon-card .kk-option-title { font-size: clamp(18px, 1.8vw, 22px); line-height: 1.08; overflow-wrap: anywhere; hyphens: auto; }
.kk-addon-card .kk-option-text { overflow-wrap: anywhere; }


.kk-seo-block {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(24px, 5vw, 56px);
  align-items: start;
  border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius-xl);
  background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(139,92,246,.055));
  padding: clamp(26px, 5vw, 46px);
  box-shadow: 0 24px 80px rgba(0,0,0,.24);
}

.kk-seo-block-single {
  grid-template-columns: 1fr;
}

.kk-seo-block h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1;
  letter-spacing: -.045em;
  color: #fff;
}

.kk-seo-copy p {
  margin: 0;
  color: var(--kk-muted);
  font-size: 17px;
  line-height: 1.78;
}

.kk-seo-copy p + p {
  margin-top: 16px;
}

@media (max-width: 1050px) {
  .kk-seo-block {
    grid-template-columns: 1fr;
  }
}
