/*
 * Pokana Marketing – единствен стилов файл на публичния сайт.
 * Дизайн ДНК от продукта: розово #e83e8c, виолетово #7c3aed, мастило #172033,
 * радиуси 14/22/28, меки сенки, розови и лавандулови тонове.
 * Шрифтове: Sofia Sans (целият сайт, български форми на кирилицата) и Playfair Display само в
 * илюстрациите на покани. OFL, self-hosted (@font-face в inc/assets.php).
 */

/* ---------------------------------------------------------------- tokens */
:root {
	--pk-primary: #e83e8c;        /* decorative: gradients, icons, large display accents */
	--pk-primary-dark: #c9297a;   /* text on white/tints: 5.1:1 */
	--pk-btn: #d63384;            /* white text on it: 4.5:1 */
	--pk-btn-hover: #c9297a;
	--pk-primary-soft: #fff1f7;
	--pk-primary-tint: #fff8fb;
	--pk-purple: #7c3aed;
	--pk-purple-soft: #f5f3ff;
	--pk-ink: #172033;
	--pk-text: #253047;
	--pk-muted: #667085;
	--pk-muted-2: #98a2b3;
	--pk-bg: #ffffff;
	--pk-bg-alt: #f9fafb;
	--pk-card: #ffffff;
	--pk-border: #eaecf0;
	--pk-ok: #027a48;
	--pk-ok-soft: #ecfdf3;
	--pk-gradient: linear-gradient(135deg, #e83e8c, #7c3aed);
	--pk-wash: radial-gradient(circle at 18% 22%, rgba(232, 62, 140, .16), transparent 34%), radial-gradient(circle at 82% 8%, rgba(124, 58, 237, .14), transparent 32%), linear-gradient(135deg, #fff1f7, #f5f3ff);

	--pk-font-text: "Sofia Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--pk-font-display: "Sofia Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--pk-font-invite: "Playfair Display", Georgia, "Times New Roman", serif; /* invitation artwork only */

	--pk-r-sm: 12px;
	--pk-r-btn: 14px;
	--pk-r-card: 22px;
	--pk-r-hero: 28px;
	--pk-shadow-sm: 0 6px 18px rgba(16, 24, 40, .05);
	--pk-shadow: 0 10px 28px rgba(16, 24, 40, .06);
	--pk-shadow-lg: 0 20px 50px rgba(16, 24, 40, .14);
	--pk-shadow-device: 0 28px 70px rgba(16, 24, 40, .22);

	--pk-container: 1180px;
	--pk-gutter: clamp(16px, 4vw, 32px);
	--pk-section: clamp(3.5rem, 8vw, 6.5rem);
	--pk-header-h: 68px;

	--pk-ease: cubic-bezier(.2, .7, .2, 1);
	color-scheme: light;
}

/* ---------------------------------------------------------------- base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--pk-header-h) + 12px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0;
	font-family: var(--pk-font-text);
	font-size: 1.125rem;
	line-height: 1.6;
	font-feature-settings: "kern", "liga", "calt";
	font-variation-settings: "wght" 420;
	color: var(--pk-text);
	background: var(--pk-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--pk-primary-dark); text-decoration-thickness: 1px; text-underline-offset: .15em; }
a:hover { color: var(--pk-primary); }
:focus-visible { outline: 3px solid rgba(124, 58, 237, .55); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3, h4 { color: var(--pk-ink); margin: 0 0 .5em; font-weight: 700; font-variation-settings: "wght" 700; letter-spacing: -.02em; line-height: 1.12; text-wrap: balance; }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.25em; margin: 0 0 1em; }
/* Only prose lists get vertical rhythm; navigation and footer lists stay flush (a global li+li rule offset the first nav item). */
.pk-prose li + li, .pk-feature-list li + li, .pk-content li + li { margin-top: .35em; }
strong { font-weight: 680; font-variation-settings: "wght" 680; color: var(--pk-ink); }
hr { border: 0; border-top: 1px solid var(--pk-border); margin: 2rem 0; }
button { font: inherit; }
.screen-reader-text, .pk-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 12px; top: -100px; z-index: 1000; padding: .6rem 1rem; background: var(--pk-ink); color: #fff; border-radius: var(--pk-r-btn); }
.skip-link:focus { top: 12px; }

/* type scale */
.pk-display, .pk-h1 { font-family: var(--pk-font-display); font-weight: 760; font-variation-settings: "wght" 760; font-size: clamp(2.5rem, 1.3rem + 4.2vw, 4.6rem); line-height: 1.02; letter-spacing: -.035em; }
.pk-h2 { font-family: var(--pk-font-display); font-weight: 720; font-variation-settings: "wght" 720; font-size: clamp(1.85rem, 1.1rem + 2.3vw, 2.9rem); line-height: 1.08; letter-spacing: -.028em; }
.pk-h3 { font-size: clamp(1.15rem, 1rem + .5vw, 1.35rem); font-weight: 680; font-variation-settings: "wght" 680; letter-spacing: -.012em; }
.pk-lead { font-size: clamp(1.15rem, 1rem + .55vw, 1.35rem); line-height: 1.5; color: var(--pk-muted); max-width: 38em; font-variation-settings: "wght" 400; }
.pk-eyebrow { display: inline-flex; align-items: center; gap: .55rem; font-size: .78rem; font-weight: 700; font-variation-settings: "wght" 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pk-primary-dark); margin-bottom: 1.1rem; }
.pk-eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--pk-gradient); border-radius: 2px; }
.pk-muted { color: var(--pk-muted); }
.pk-accent { background: var(--pk-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* layout */
.pk-container { width: 100%; max-width: var(--pk-container); margin-inline: auto; padding-inline: var(--pk-gutter); }
.pk-section { padding-block: var(--pk-section); }
.pk-section-alt { background: var(--pk-bg-alt); }
.pk-section-tight { padding-block: calc(var(--pk-section) * .6); }
.pk-section-head { max-width: 46em; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.pk-section-head.pk-center { margin-inline: auto; text-align: center; }
.pk-center .pk-lead { margin-inline: auto; }
.pk-grid { display: grid; gap: clamp(1rem, 2.5vw, 1.75rem); }
.pk-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.pk-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.pk-grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }

/* buttons */
.pk-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: .8rem 1.4rem; border-radius: var(--pk-r-btn); font-weight: 680; font-variation-settings: "wght" 680; font-size: 1.05rem; letter-spacing: .005em; text-decoration: none; border: 1px solid transparent; transition: transform .18s var(--pk-ease), background .18s, color .18s, border-color .18s, box-shadow .18s; }
.pk-btn:hover { transform: translateY(-1px); }
.pk-btn:active { transform: translateY(0); }
.pk-btn-primary { background: var(--pk-btn); color: #fff; box-shadow: 0 8px 22px rgba(232, 62, 140, .28); }
.pk-btn-primary:hover { background: var(--pk-btn-hover); color: #fff; box-shadow: 0 10px 26px rgba(232, 62, 140, .34); }
.pk-btn-ghost { background: #fff; color: var(--pk-ink); border-color: var(--pk-border); }
.pk-btn-ghost:hover { color: var(--pk-ink); border-color: rgba(232, 62, 140, .35); background: var(--pk-primary-tint); }
.pk-btn-dark { background: var(--pk-ink); color: #fff; }
.pk-btn-dark:hover { background: #0f1626; color: #fff; }
.pk-btn-sm { min-height: 40px; padding: .55rem 1rem; font-size: .95rem; }
.pk-btn-icon { width: 18px; height: 18px; transition: transform .18s var(--pk-ease); }
.pk-btn:hover .pk-btn-icon { transform: translateX(3px); }
.pk-cta-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.pk-center .pk-cta-row { justify-content: center; }
.pk-icon { width: 24px; height: 24px; flex: none; }

/* ---------------------------------------------------------------- header */
.pk-header { position: sticky; top: 0; z-index: 100; height: var(--pk-header-h); background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-bottom: 1px solid transparent; transition: border-color .2s, background .2s; }
.pk-header.is-scrolled { border-bottom-color: var(--pk-border); background: rgba(255, 255, 255, .94); }
.pk-header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pk-logo { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--pk-ink); font-weight: 800; font-variation-settings: "wght" 800; font-size: 1.4rem; letter-spacing: -.035em; }
.pk-logo svg { width: 34px; height: 34px; }
.pk-logo:hover { color: var(--pk-ink); }
.pk-nav { display: flex; align-items: center; gap: .25rem; }
.pk-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .15rem; }
.pk-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: .4rem .8rem; border-radius: var(--pk-r-sm); color: var(--pk-text); font-weight: 600; font-variation-settings: "wght" 600; font-size: 1.02rem; letter-spacing: .002em; text-decoration: none; white-space: nowrap; }
.pk-nav a:hover, .pk-nav .current-menu-item > a { color: var(--pk-primary-dark); background: var(--pk-primary-soft); }
.pk-header-actions { display: flex; align-items: center; gap: .5rem; }
.pk-header-actions .pk-btn { min-height: 42px; padding: .55rem 1.05rem; font-size: .95rem; white-space: nowrap; }
.pk-login { color: var(--pk-text); font-weight: 600; text-decoration: none; padding: .5rem .75rem; border-radius: var(--pk-r-sm); }
.pk-login:hover { color: var(--pk-primary-dark); background: var(--pk-primary-soft); }
.pk-menu-btn { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--pk-border); border-radius: var(--pk-r-sm); background: #fff; color: var(--pk-ink); cursor: pointer; }
.pk-menu-btn .pk-icon-x { display: none; }
.pk-menu-btn[aria-expanded="true"] .pk-icon-menu { display: none; }
.pk-menu-btn[aria-expanded="true"] .pk-icon-x { display: block; }
@media (max-width: 900px) {
	.pk-menu-btn { display: inline-flex; }
	.pk-login { display: none; }
	.pk-nav { position: fixed; inset: var(--pk-header-h) 0 auto 0; display: none; flex-direction: column; align-items: stretch; padding: .75rem var(--pk-gutter) 1.25rem; background: #fff; border-bottom: 1px solid var(--pk-border); box-shadow: var(--pk-shadow-lg); max-height: calc(100dvh - var(--pk-header-h)); overflow: auto; }
	.pk-nav.is-open { display: flex; }
	.pk-nav ul { flex-direction: column; gap: .1rem; }
	.pk-nav a { min-height: 48px; font-size: 1.05rem; }
	.pk-nav .pk-nav-login { margin-top: .5rem; border-top: 1px solid var(--pk-border); padding-top: .75rem; }
}
@media (min-width: 901px) { .pk-nav .pk-nav-login { display: none; } }

/* ---------------------------------------------------------------- hero */
.pk-hero { position: relative; padding-block: clamp(2.5rem, 6vw, 5.5rem) clamp(2rem, 5vw, 4rem); overflow: hidden; }
.pk-hero::before { content: ""; position: absolute; inset: 0; background: var(--pk-wash); opacity: .9; z-index: -1; }
.pk-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(to bottom, transparent, #fff); z-index: -1; }
.pk-hero-grid { display: grid; gap: clamp(2rem, 4vw, 4rem); align-items: center; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
@media (max-width: 900px) { .pk-hero-grid { grid-template-columns: 1fr; } }
.pk-hero .pk-lead { margin-bottom: 1.75rem; }
.pk-hero-note { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: 1.25rem; font-size: .92rem; color: var(--pk-muted); }
.pk-hero-note span { display: inline-flex; align-items: center; gap: .4rem; }
.pk-hero-note .pk-icon { width: 18px; height: 18px; color: var(--pk-ok); }

/* hero visual: the journey card stack */
.pk-hero-visual { position: relative; min-height: 420px; }
.pk-journey { position: relative; display: grid; gap: .9rem; max-width: 460px; margin-inline: auto; }
.pk-journey-card { display: grid; grid-template-columns: 48px 1fr auto; gap: .9rem; align-items: center; padding: 1rem 1.1rem; background: rgba(255, 255, 255, .9); border: 1px solid var(--pk-border); border-radius: var(--pk-r-card); box-shadow: var(--pk-shadow); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.pk-journey-card:nth-child(2) { transform: translateX(28px); }
.pk-journey-card:nth-child(3) { transform: translateX(-16px); }
@media (max-width: 480px) { .pk-journey-card:nth-child(2), .pk-journey-card:nth-child(3) { transform: none; } }
.pk-journey-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; background: var(--pk-primary-soft); color: var(--pk-primary-dark); }
.pk-journey-card:nth-child(2) .pk-journey-icon { background: var(--pk-purple-soft); color: var(--pk-purple); }
.pk-journey-card:nth-child(3) .pk-journey-icon { background: var(--pk-ok-soft); color: var(--pk-ok); }
.pk-journey-title { font-weight: 700; color: var(--pk-ink); line-height: 1.25; }
.pk-journey-sub { font-size: .9rem; color: var(--pk-muted); }
.pk-journey-tag { font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--pk-muted); padding: .3rem .55rem; border-radius: 999px; background: var(--pk-bg-alt); }
.pk-journey-line { position: absolute; left: 24px; top: 48px; bottom: 48px; width: 2px; background: linear-gradient(to bottom, var(--pk-primary), var(--pk-purple), var(--pk-ok)); opacity: .35; z-index: -1; }
.pk-hero-invite { position: absolute; right: -6%; top: -8%; width: 190px; padding: 1.1rem 1rem 1.25rem; background: #fff; border-radius: 18px; box-shadow: var(--pk-shadow-lg); transform: rotate(6deg); border: 1px solid var(--pk-border); }
.pk-hero-invite small { display: block; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--pk-muted); }
.pk-hero-invite b { display: block; font-family: var(--pk-font-invite); font-weight: 500; font-size: 1.35rem; color: var(--pk-ink); margin: .35rem 0 .2rem; line-height: 1.1; }
.pk-hero-invite i { display: block; font-style: normal; font-size: .72rem; color: var(--pk-muted); }
.pk-hero-invite::after { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: .7rem; height: 3px; background: var(--pk-gradient); border-radius: 3px; opacity: .8; }
@media (max-width: 900px) { .pk-hero-visual { min-height: 0; margin-top: .5rem; } .pk-hero-invite { display: none; } }

/* ---------------------------------------------------------------- steps */
.pk-steps { list-style: none; padding: 0; margin: 0; counter-reset: step; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.pk-step { position: relative; counter-increment: step; padding: 1.4rem 1.25rem 1.3rem; background: var(--pk-card); border: 1px solid var(--pk-border); border-radius: var(--pk-r-card); box-shadow: var(--pk-shadow-sm); }
.pk-step::before { content: counter(step, decimal-leading-zero); display: inline-block; font-family: var(--pk-font-display); font-variation-settings: "wght" 800; font-size: 1.1rem; letter-spacing: .04em; color: var(--pk-primary-dark); margin-bottom: .6rem; }
.pk-step h3 { font-size: 1.15rem; margin-bottom: .35rem; }
.pk-step p { margin: 0; color: var(--pk-muted); font-size: .97rem; }
.pk-step .pk-icon { position: absolute; right: 1.1rem; top: 1.3rem; color: var(--pk-muted-2); }

/* ---------------------------------------------------------------- feature rows */
.pk-feature { display: grid; gap: clamp(1.75rem, 4vw, 4rem); align-items: center; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pk-feature + .pk-feature { margin-top: clamp(3rem, 7vw, 6rem); }
.pk-feature.is-flipped .pk-feature-text { order: 2; }
@media (max-width: 900px) { .pk-feature { grid-template-columns: 1fr; } .pk-feature.is-flipped .pk-feature-text { order: 0; } }
.pk-feature-text .pk-lead { font-size: 1.08rem; }
.pk-feature-list { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; gap: .65rem; }
.pk-feature-list li { display: grid; grid-template-columns: 22px 1fr; gap: .65rem; align-items: start; }
.pk-feature-list .pk-icon { width: 22px; height: 22px; color: var(--pk-primary-dark); margin-top: .15em; }
.pk-feature-visual { position: relative; }
.pk-panel { position: relative; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--pk-r-hero); background: var(--pk-wash); border: 1px solid rgba(232, 62, 140, .12); overflow: hidden; min-height: 300px; display: grid; place-items: center; }
.pk-panel-alt { background: linear-gradient(135deg, #f5f3ff, #fff1f7); }
.pk-panel-warm { background: linear-gradient(135deg, #fff7ed, #fff1f7); }
.pk-panel-dark { background: linear-gradient(145deg, #0b0b12, #1b1630); color: #fff; }

/* mini product cards drawn with CSS (not screenshots) */
.pk-mock { width: 100%; max-width: 420px; display: grid; gap: .75rem; }
.pk-mock-card { background: #fff; border: 1px solid var(--pk-border); border-radius: 18px; padding: 1rem 1.1rem; box-shadow: var(--pk-shadow); display: grid; gap: .5rem; }
.pk-mock-card b { color: var(--pk-ink); font-size: .98rem; }
.pk-mock-card small { color: var(--pk-muted); font-size: .85rem; }
.pk-mock-row { display: flex; align-items: center; gap: .65rem; }
.pk-mock-row .pk-icon { width: 20px; height: 20px; color: var(--pk-primary-dark); }
.pk-mock-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .28rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 700; background: var(--pk-primary-soft); color: var(--pk-primary-dark); }
.pk-mock-pill.is-ok { background: var(--pk-ok-soft); color: var(--pk-ok); }
.pk-mock-pill.is-purple { background: var(--pk-purple-soft); color: var(--pk-purple); }
.pk-mock-bar { height: 8px; border-radius: 4px; background: var(--pk-bg-alt); overflow: hidden; }
.pk-mock-bar i { display: block; height: 100%; width: 68%; background: var(--pk-gradient); border-radius: 4px; }
.pk-mock-qr { width: 88px; height: 88px; border-radius: 14px; background: conic-gradient(from 90deg at 50% 50%, var(--pk-ink) 25%, transparent 0 50%, var(--pk-ink) 0 75%, transparent 0); background-size: 22px 22px; opacity: .85; mask: radial-gradient(circle at center, #000 62%, transparent 63%) exclude, linear-gradient(#000 0 0); mask-composite: exclude; }
.pk-mock-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
.pk-mock-photos i { display: block; aspect-ratio: 1; border-radius: 10px; background: linear-gradient(135deg, #f9a8d4, #c4b5fd); }
.pk-mock-photos i:nth-child(2) { background: linear-gradient(135deg, #fbcfe8, #fde68a); }
.pk-mock-photos i:nth-child(3) { background: linear-gradient(135deg, #c4b5fd, #93c5fd); }
.pk-mock-photos i:nth-child(4) { background: linear-gradient(135deg, #fde68a, #fca5a5); }
.pk-mock-photos i:nth-child(5) { background: linear-gradient(135deg, #a7f3d0, #93c5fd); }
.pk-mock-photos i:nth-child(6) { background: linear-gradient(135deg, #f9a8d4, #fde68a); }
.pk-panel-dark .pk-mock-card { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); box-shadow: none; }
.pk-panel-dark .pk-mock-card b { color: #fff; }
.pk-panel-dark .pk-mock-card small { color: rgba(255, 255, 255, .7); }
.pk-panel-dark .pk-mock-row .pk-icon { color: #ff4d8d; }

/* device frames for real screenshots */
.pk-device { margin: 0; position: relative; }
.pk-device-phone { width: min(300px, 80%); margin-inline: auto; padding: 12px; background: #111827; border-radius: 38px; box-shadow: var(--pk-shadow-device); }
.pk-device-phone .pk-device-img { border-radius: 28px; aspect-ratio: 390 / 844; object-fit: cover; }
.pk-device-browser { background: #fff; border: 1px solid var(--pk-border); border-radius: 18px; box-shadow: var(--pk-shadow-lg); overflow: hidden; }
.pk-device-bar { display: flex; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--pk-border); background: var(--pk-bg-alt); }
.pk-device-bar i { width: 10px; height: 10px; border-radius: 50%; background: #e5e7eb; }
.pk-device-browser .pk-device-img { aspect-ratio: 16 / 10; object-fit: cover; }

/* ---------------------------------------------------------------- cards */
.pk-card { padding: 1.5rem; background: var(--pk-card); border: 1px solid var(--pk-border); border-radius: var(--pk-r-card); box-shadow: var(--pk-shadow-sm); transition: transform .2s var(--pk-ease), box-shadow .2s, border-color .2s; }
.pk-card:hover { box-shadow: var(--pk-shadow); }
.pk-card h3 { font-size: 1.12rem; margin: .9rem 0 .35rem; }
.pk-card p { margin: 0; color: var(--pk-muted); font-size: .97rem; }
.pk-icon-box { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 16px; background: var(--pk-primary-soft); color: var(--pk-primary-dark); }
.pk-icon-box.is-purple { background: var(--pk-purple-soft); color: var(--pk-purple); }
.pk-icon-box.is-ok { background: var(--pk-ok-soft); color: var(--pk-ok); }

/* occasions */
.pk-occasion-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.pk-occasion { display: grid; gap: .4rem; padding: 1.35rem 1.35rem 1.4rem; text-decoration: none; color: var(--pk-text); background: var(--pk-card); border: 1px solid var(--pk-border); border-radius: var(--pk-r-card); box-shadow: var(--pk-shadow-sm); transition: transform .2s var(--pk-ease), box-shadow .2s, border-color .2s; }
.pk-occasion:hover { transform: translateY(-3px); border-color: rgba(232, 62, 140, .35); box-shadow: var(--pk-shadow); color: var(--pk-text); }
.pk-occasion-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 16px; background: var(--pk-primary-soft); color: var(--pk-primary-dark); margin-bottom: .5rem; }
.pk-occasion-title { font-weight: 700; color: var(--pk-ink); font-size: 1.08rem; }
.pk-occasion-kicker { font-size: .92rem; color: var(--pk-muted); }

/* trust */
.pk-trust { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.pk-trust-item { display: grid; grid-template-columns: 40px 1fr; gap: .85rem; align-items: start; }
.pk-trust-item .pk-icon-box { width: 40px; height: 40px; border-radius: 12px; }
.pk-trust-item b { display: block; color: var(--pk-ink); margin-bottom: .15rem; }
.pk-trust-item span { font-size: .95rem; color: var(--pk-muted); }

/* FAQ */
.pk-faq { max-width: 780px; margin-inline: auto; display: grid; gap: .6rem; }
.pk-faq details, .pk-prose details { background: var(--pk-card); border: 1px solid var(--pk-border); border-radius: 16px; padding: 0 1.25rem; }
.pk-faq summary, .pk-prose summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; font-weight: 700; color: var(--pk-ink); }
.pk-faq summary::-webkit-details-marker, .pk-prose summary::-webkit-details-marker { display: none; }
.pk-faq summary::after, .pk-prose summary::after { content: "+"; flex: none; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--pk-primary-soft); color: var(--pk-primary-dark); font-weight: 700; transition: transform .2s; }
details[open] > summary::after { content: "–"; }
.pk-faq details > :not(summary), .pk-prose details > :not(summary) { padding-bottom: 1rem; color: var(--pk-text); }
.pk-faq details > p:last-child, .pk-prose details > p:last-child { margin-bottom: 0; padding-bottom: 1rem; }

/* final CTA */
.pk-final { position: relative; overflow: hidden; }
.pk-final::before { content: ""; position: absolute; inset: 0; background: var(--pk-wash); z-index: -1; }
.pk-final-inner { text-align: center; }
.pk-final .pk-lead { margin-inline: auto; margin-bottom: 1.75rem; }
.pk-final .pk-cta-row { justify-content: center; }

/* ---------------------------------------------------------------- footer */
.pk-footer { background: var(--pk-ink); color: rgba(255, 255, 255, .78); padding-block: clamp(2.5rem, 5vw, 4rem) 1.5rem; margin-top: 0; }
.pk-footer a { color: rgba(255, 255, 255, .82); text-decoration: none; }
.pk-footer a:hover { color: #fff; text-decoration: underline; }
.pk-footer-grid { display: grid; gap: 2rem; grid-template-columns: 1.4fr 1fr 1fr 1fr; }
@media (max-width: 900px) { .pk-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .pk-footer-grid { grid-template-columns: 1fr; } }
.pk-footer .pk-logo { color: #fff; margin-bottom: .75rem; }
.pk-footer .pk-btn-primary { color: #fff; text-decoration: none; }
.pk-footer-tagline { max-width: 30em; font-size: .95rem; margin: 0 0 1rem; }
.pk-footer-h { color: #fff; font-family: var(--pk-font-text); font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .9rem; line-height: 1.3; }
.pk-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.pk-footer li { margin: 0; font-size: .95rem; }
.pk-footer-bottom a { text-decoration: underline; text-underline-offset: .15em; }
.pk-footer-social { display: inline-flex; align-items: center; gap: .25rem; margin: -.55rem 0; }
.pk-footer-social a { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; color: rgba(255, 255, 255, .72); text-decoration: none; }
.pk-footer-social a:hover { color: #fff; background: rgba(255, 255, 255, .08); text-decoration: none; }
.pk-footer-social .pk-icon { width: 20px; height: 20px; }
.pk-footer-bottom { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .12); display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between; font-size: .85rem; color: rgba(255, 255, 255, .55); }

/* ---------------------------------------------------------------- landing pages */
.pk-page-hero { position: relative; padding-block: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 4vw, 3rem); }
.pk-page-hero::before { content: ""; position: absolute; inset: 0; background: var(--pk-wash); opacity: .85; z-index: -1; }
.pk-page-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 50%; background: linear-gradient(to bottom, transparent, #fff); z-index: -1; }
.pk-page-hero .pk-h1 { max-width: 16em; }
.pk-page-hero .pk-lead { margin-bottom: 1.5rem; }
.pk-breadcrumbs { font-size: .88rem; color: var(--pk-muted); margin-bottom: 1.25rem; }
.pk-breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.pk-breadcrumbs li + li::before { content: "/"; margin-right: .35rem; color: var(--pk-muted-2); }
.pk-breadcrumbs a { color: var(--pk-muted); text-decoration: none; }
.pk-breadcrumbs a:hover { color: var(--pk-primary-dark); }

/* editorial prose (page content built from core blocks) */
.pk-prose { max-width: 760px; margin-inline: auto; }
.pk-prose > * + * { margin-top: 1.1em; }
.pk-prose h2 { font-family: var(--pk-font-display); font-size: clamp(1.6rem, 1.1rem + 1.5vw, 2.25rem); font-weight: 720; font-variation-settings: "wght" 720; letter-spacing: -.025em; margin-top: 2.4em; margin-bottom: .6em; }
.pk-prose h3 { font-size: 1.25rem; font-weight: 700; margin-top: 1.9em; margin-bottom: .45em; }
.pk-prose h2:first-child, .pk-prose h3:first-child { margin-top: 0; }
.pk-prose p, .pk-prose li { font-size: 1.125rem; line-height: 1.65; }
.pk-prose ul, .pk-prose ol { padding-left: 1.3em; }
.pk-prose li::marker { color: var(--pk-primary); }
.pk-prose blockquote { margin: 1.5em 0; padding: 1rem 1.25rem; border-left: 3px solid var(--pk-primary); background: var(--pk-primary-tint); border-radius: 0 16px 16px 0; color: var(--pk-ink); }
.pk-prose blockquote p:last-child { margin-bottom: 0; }
.pk-prose figure { margin: 1.5em 0; }
.pk-prose figcaption { font-size: .88rem; color: var(--pk-muted); margin-top: .5rem; text-align: center; }
.pk-prose img { border-radius: 16px; }
.pk-prose .pk-shot img { display: block; width: 100%; height: auto; border: 1px solid var(--pk-border); box-shadow: var(--pk-shadow-lg); background: #fff; }
.pk-prose table { width: 100%; border-collapse: collapse; font-size: .97rem; }
.pk-prose th, .pk-prose td { text-align: left; padding: .7rem .75rem; border-bottom: 1px solid var(--pk-border); vertical-align: top; }
.pk-prose th { color: var(--pk-ink); font-weight: 700; background: var(--pk-bg-alt); }
.pk-prose .wp-block-table { overflow-x: auto; }
.pk-prose code { font-size: .92em; background: var(--pk-bg-alt); padding: .1em .35em; border-radius: 6px; }

/* wide landing sections built from core blocks inside content */
.pk-content .wp-block-group.pk-band { max-width: none; padding-block: clamp(2rem, 5vw, 4rem); }
.pk-content .wp-block-columns { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr)); margin: 1.5em 0; }
.pk-content .wp-block-column { min-width: 0; }
.pk-content .wp-block-column.pk-card p:first-child { margin-top: 0; }
.pk-content .is-style-pk-card, .pk-content .wp-block-column.pk-card { padding: 1.4rem; background: var(--pk-card); border: 1px solid var(--pk-border); border-radius: var(--pk-r-card); box-shadow: var(--pk-shadow-sm); }
.pk-content .wp-block-column.pk-card h3 { margin-top: 0; font-size: 1.1rem; }
.pk-content .wp-block-column.pk-card p { color: var(--pk-muted); font-size: .97rem; margin-bottom: 0; }
.pk-content .pk-checks { list-style: none; padding: 0; display: grid; gap: .55rem; }
.pk-content .pk-checks li { position: relative; padding-left: 1.8rem; }
.pk-content .pk-checks li::before { content: ""; position: absolute; left: 0; top: .35em; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--pk-primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d63384' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10 -10'/%3E%3C/svg%3E") center / 60% no-repeat; }
.pk-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5em 0; }
.pk-content .wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: .8rem 1.35rem; border-radius: var(--pk-r-btn); background: var(--pk-btn); color: #fff; font-weight: 700; text-decoration: none; box-shadow: 0 8px 22px rgba(232, 62, 140, .28); }
.pk-content .wp-block-button__link:hover { background: var(--pk-btn-hover); }
.pk-content .is-style-outline .wp-block-button__link { background: #fff; color: var(--pk-ink); border: 1px solid var(--pk-border); box-shadow: none; }
.pk-content .pk-example { padding: 1.25rem 1.4rem; background: var(--pk-primary-tint); border: 1px dashed rgba(232, 62, 140, .35); border-radius: 18px; font-family: var(--pk-font-invite); font-size: 1.12rem; line-height: 1.5; color: var(--pk-ink); }
.pk-content .pk-example p:last-child { margin-bottom: 0; }
.pk-content .pk-note { padding: 1rem 1.25rem; background: var(--pk-purple-soft); border-radius: 16px; font-size: .97rem; }
.pk-content .pk-note p:last-child { margin-bottom: 0; }
.pk-content .pk-steps-list { counter-reset: s; list-style: none; padding: 0; display: grid; gap: .8rem; }
.pk-content .pk-steps-list li { counter-increment: s; position: relative; padding: 1rem 1.1rem 1rem 3.4rem; background: var(--pk-card); border: 1px solid var(--pk-border); border-radius: 16px; }
.pk-content .pk-steps-list li::before { content: counter(s); position: absolute; left: 1rem; top: .95rem; width: 1.7rem; height: 1.7rem; display: grid; place-items: center; border-radius: 50%; background: var(--pk-btn); color: #fff; font-weight: 700; font-size: .9rem; }

/* legal */
.pk-legal .pk-prose { max-width: 720px; }
.pk-legal-meta { color: var(--pk-muted); font-size: .95rem; margin-bottom: 2rem; }
.pk-legal-toc { padding: 1rem 1.25rem; background: var(--pk-bg-alt); border-radius: 16px; margin-bottom: 2rem; font-size: .95rem; }
.pk-legal-toc ol { margin: .5rem 0 0; padding-left: 1.2em; columns: 2; column-gap: 2rem; }
@media (max-width: 600px) { .pk-legal-toc ol { columns: 1; } }
.pk-legal-toc a { text-decoration: none; color: var(--pk-text); }
.pk-legal-toc a:hover { color: var(--pk-primary-dark); }

/* 404 */
.pk-404 { min-height: 60vh; display: grid; place-items: center; text-align: center; }
.pk-404 .pk-display { font-size: clamp(4rem, 12vw, 8rem); line-height: 1; }

/* ---------------------------------------------------------------- motion */
.pk-reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--pk-ease), transform .6s var(--pk-ease); }
.pk-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.pk-reveal { opacity: 1; transform: none; }
}
.no-js .pk-reveal { opacity: 1; transform: none; }

/* ---------------------------------------------------------------- utilities */
.pk-mt-1 { margin-top: .5rem; } .pk-mt-2 { margin-top: 1rem; } .pk-mt-3 { margin-top: 1.5rem; } .pk-mt-4 { margin-top: 2.5rem; }
.pk-mb-0 { margin-bottom: 0; }
.pk-text-center { text-align: center; }
.pk-badge { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .65rem; border-radius: 999px; font-size: .78rem; font-weight: 700; background: var(--pk-primary-soft); color: var(--pk-primary-dark); }


/* ================================================================ v1.1 product story */
.pk-h2-xl { font-size: clamp(2.1rem, 1.2rem + 3vw, 3.5rem); letter-spacing: -.032em; }
.pk-eyebrow.is-light { color: #f9a8d4; }
.pk-eyebrow.is-light::before { background: linear-gradient(135deg, #f9a8d4, #c4b5fd); }
.pk-hero-note strong { color: var(--pk-ink); }

/* --- hero story stack (invitation -> QR -> guests' shared album) */
.pk-story { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1.1fr); align-items: center; gap: .5rem; max-width: 560px; margin-inline: auto; }
.pk-story-invite { position: relative; padding: 1.4rem 1.2rem 1.6rem; background: #fff; border: 1px solid var(--pk-border); border-radius: 20px; box-shadow: var(--pk-shadow-lg); transform: rotate(-4deg) translateY(16px); opacity: 0; transition: opacity .8s var(--pk-ease), transform .8s var(--pk-ease); }
.pk-story.is-live .pk-story-invite { opacity: 1; transform: rotate(-4deg); }
.pk-story-invite::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(196, 160, 90, .55); border-radius: 14px; pointer-events: none; }
.pk-story-invite small { display: block; font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: var(--pk-muted); text-align: center; }
.pk-story-invite b { display: block; font-family: var(--pk-font-invite); font-weight: 500; font-size: clamp(1.4rem, 1rem + 1.2vw, 1.9rem); line-height: 1.05; color: var(--pk-ink); text-align: center; margin: .7rem 0 .5rem; }
.pk-story-invite b span { display: block; font-style: italic; font-size: .7em; color: var(--pk-primary-dark); margin: .1em 0; }
.pk-story-invite i { display: block; font-style: normal; font-size: .72rem; color: var(--pk-muted); text-align: center; }
.pk-story-invite em { display: block; margin: 1rem auto 0; width: fit-content; font-style: normal; font-size: .72rem; font-weight: 700; color: #fff; background: var(--pk-btn); padding: .4rem .8rem; border-radius: 999px; }
.pk-story-link { display: grid; justify-items: center; gap: .4rem; }
.pk-story-qr { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 16px; background: var(--pk-ink); color: #fff; box-shadow: var(--pk-shadow); opacity: 0; transform: scale(.7); transition: opacity .6s var(--pk-ease) .5s, transform .6s var(--pk-ease) .5s; }
.pk-story-qr .pk-icon { width: 30px; height: 30px; }
.pk-story.is-live .pk-story-qr { opacity: 1; transform: none; }
.pk-story-arrow { width: 2px; height: 46px; background: linear-gradient(to bottom, var(--pk-primary), var(--pk-purple)); border-radius: 2px; transform-origin: top; transform: scaleY(0); transition: transform .6s var(--pk-ease) .9s; }
.pk-story.is-live .pk-story-arrow { transform: none; }
.pk-story-phone { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--pk-ease) 1.1s, transform .8s var(--pk-ease) 1.1s; }
.pk-story.is-live .pk-story-phone { opacity: 1; transform: none; }
@media (max-width: 900px) {
	.pk-story { grid-template-columns: 1fr; justify-items: center; gap: .25rem; max-width: 340px; margin-top: 1rem; }
	.pk-story-invite { width: 78%; z-index: 2; transform: rotate(-3deg) translateX(-8%) translateY(16px); }
	.pk-story.is-live .pk-story-invite { transform: rotate(-3deg) translateX(-8%); }
	.pk-story-link { grid-template-columns: auto auto; align-items: center; margin: -.5rem 0 -.5rem 40%; }
	.pk-story-arrow { width: 46px; height: 2px; transform-origin: left; transform: scaleX(0); }
	.pk-story.is-live .pk-story-arrow { transform: none; }
	.pk-story-phone { width: 82%; margin-left: 12%; }
}

/* stylised phone: a diagram in the brand system, not an imitation of the app UI */
.pk-phone { position: relative; padding: 12px; background: #111827; border-radius: 34px; box-shadow: var(--pk-shadow-device); }
.pk-phone::before { content: ""; position: absolute; top: 12px; left: 50%; width: 34%; height: 18px; background: #111827; border-radius: 0 0 14px 14px; transform: translateX(-50%); z-index: 2; }
.pk-phone > * { position: relative; }
.pk-phone-top { background: #fff; border-radius: 24px 24px 0 0; padding: 1.9rem 1rem .8rem; }
.pk-phone-top b { display: block; font-size: 1rem; color: var(--pk-ink); }
.pk-phone-top span { font-size: .72rem; color: var(--pk-muted); }
.pk-phone-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; background: #fff; padding: 0 .7rem; }
.pk-phone-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; opacity: 0; transform: scale(.85); transition: opacity .5s var(--pk-ease), transform .5s var(--pk-ease); transition-delay: calc(1.3s + var(--i, 0) * .14s); }
[data-pk-stage].is-live .pk-phone-grid img { opacity: 1; transform: none; }
.pk-phone-actions { display: flex; flex-wrap: wrap; gap: .35rem; background: #fff; border-radius: 0 0 24px 24px; padding: .8rem .7rem 1rem; }
.pk-phone-actions span { font-size: .66rem; font-weight: 700; padding: .3rem .55rem; border-radius: 999px; background: var(--pk-primary-soft); color: var(--pk-primary-dark); }
.pk-phone-actions span:nth-child(2) { background: var(--pk-purple-soft); color: var(--pk-purple); }
.pk-phone-actions span:nth-child(3) { background: var(--pk-ok-soft); color: var(--pk-ok); }
.pk-phone-dark .pk-phone-top, .pk-phone-dark .pk-phone-grid, .pk-phone-dark .pk-phone-actions { background: #171a2b; }
.pk-phone-dark .pk-phone-top b { color: #fff; }
.pk-phone-dark .pk-phone-top span { color: rgba(255, 255, 255, .6); }
.pk-phone-upload { display: grid; grid-template-columns: 22px 1fr auto; gap: .5rem; align-items: center; margin: 0 .7rem .5rem; padding: .55rem .7rem; border-radius: 12px; background: rgba(255, 255, 255, .08); color: #fff; font-size: .74rem; font-weight: 700; }
.pk-phone-dark .pk-phone-upload { box-shadow: 0 0 0 100vmax #171a2b inset; background: transparent; }
.pk-phone-dark .pk-phone-upload { background: #171a2b; box-shadow: none; }
.pk-phone-upload .pk-icon { width: 20px; height: 20px; color: #ff4d8d; }
.pk-phone-upload em { font-style: normal; font-weight: 500; color: rgba(255, 255, 255, .6); }
.pk-phone-upload em::after { content: ""; display: inline-block; width: 26px; height: 4px; margin-left: .35rem; vertical-align: middle; border-radius: 2px; background: linear-gradient(90deg, var(--pk-primary), var(--pk-purple)); transform-origin: left; transform: scaleX(0); }
[data-pk-stage].is-live .pk-phone-upload em::after { animation: pk-fill 1.2s var(--pk-ease) .6s both; }
@keyframes pk-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* --- vision */
.pk-vision-head { max-width: 52em; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.pk-vision-grid { display: grid; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: center; }
@media (max-width: 900px) { .pk-vision-grid { grid-template-columns: 1fr; } }
.pk-vision-flow { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1rem; align-items: center; padding: clamp(1.25rem, 3vw, 2.25rem); border-radius: var(--pk-r-hero); background: var(--pk-wash); border: 1px solid rgba(232, 62, 140, .12); }
.pk-flow-card { margin: 0; text-align: center; }
.pk-flow-label { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pk-muted); margin-bottom: .6rem; }
.pk-flow-label.is-ok { color: var(--pk-ok); }
.pk-flow-card figcaption { font-size: .84rem; color: var(--pk-muted); margin-top: .6rem; }
.pk-flow-art { aspect-ratio: 3 / 4; max-width: 220px; margin-inline: auto; border-radius: 16px; position: relative; overflow: hidden; box-shadow: var(--pk-shadow); }
.pk-flow-art-input { background: #f6f0e8; border: 1px solid #e8dfd2; transform: rotate(-3deg); }
.pk-flow-art-input i { position: absolute; border-radius: 50%; background: rgba(140, 165, 130, .35); }
.pk-flow-art-input i:nth-child(1) { width: 62%; aspect-ratio: 1; left: -20%; top: -18%; }
.pk-flow-art-input i:nth-child(2) { width: 50%; aspect-ratio: 1; right: -18%; bottom: -14%; background: rgba(196, 160, 90, .3); }
.pk-flow-art-input i:nth-child(3) { width: 28%; aspect-ratio: 1; right: 12%; top: 14%; background: rgba(232, 62, 140, .18); }
.pk-flow-art-output { background: radial-gradient(circle at 30% 20%, rgba(232, 62, 140, .35), transparent 45%), radial-gradient(circle at 80% 80%, rgba(124, 58, 237, .4), transparent 50%), linear-gradient(160deg, #fff7fb, #eee7ff); display: grid; place-content: center; gap: .3rem; transform: rotate(2deg); }
.pk-flow-art-output::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(124, 58, 237, .3); border-radius: 10px; }
.pk-flow-art-output b { font-family: var(--pk-font-invite); font-weight: 500; font-size: 1.15rem; color: var(--pk-ink); }
.pk-flow-art-output i { font-style: normal; font-size: .7rem; color: var(--pk-muted); }
.pk-flow-mid { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.pk-flow-chip { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; font-size: .74rem; font-weight: 700; padding: .4rem .7rem; border-radius: 999px; background: #fff; color: var(--pk-primary-dark); border: 1px solid rgba(232, 62, 140, .25); box-shadow: var(--pk-shadow-sm); }
.pk-flow-chip.is-alt { color: var(--pk-purple); border-color: rgba(124, 58, 237, .25); }
.pk-flow-chip .pk-icon { width: 16px; height: 16px; }
.pk-flow-line { width: 2px; height: 34px; background: var(--pk-gradient); border-radius: 2px; }
@media (max-width: 640px) { .pk-vision-flow { grid-template-columns: 1fr 1fr; gap: .75rem; } .pk-flow-mid { grid-column: 1 / -1; order: 3; flex-direction: row; justify-content: center; flex-wrap: wrap; gap: .4rem; } .pk-flow-line { width: 28px; height: 2px; } .pk-flow-art { max-width: 150px; } .pk-flow-card figcaption { font-size: .78rem; } }
.pk-vision-flow .pk-flow-input, .pk-vision-flow .pk-flow-mid, .pk-vision-flow .pk-flow-output { opacity: 0; transform: translateY(12px); transition: opacity .7s var(--pk-ease), transform .7s var(--pk-ease); }
.pk-vision-flow .pk-flow-mid { transition-delay: .35s; }
.pk-vision-flow .pk-flow-output { transition-delay: .7s; }
.pk-vision-flow.is-live .pk-flow-input, .pk-vision-flow.is-live .pk-flow-mid, .pk-vision-flow.is-live .pk-flow-output { opacity: 1; transform: none; }
.pk-vision-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.1rem; }
.pk-vision-list li { display: grid; grid-template-columns: 40px 1fr; gap: .8rem; align-items: start; }
.pk-vision-list .pk-icon { width: 40px; height: 40px; padding: 8px; border-radius: 12px; background: var(--pk-primary-soft); color: var(--pk-primary-dark); }
.pk-vision-list li:nth-child(2) .pk-icon { background: var(--pk-purple-soft); color: var(--pk-purple); }
.pk-vision-list li:nth-child(4) .pk-icon { background: var(--pk-ok-soft); color: var(--pk-ok); }
.pk-vision-list span { font-size: .98rem; }

/* --- organise (supporting) */
.pk-org-grid { display: grid; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; }
@media (max-width: 900px) { .pk-org-grid { grid-template-columns: 1fr; } }
.pk-org-head { position: sticky; top: calc(var(--pk-header-h) + 1.5rem); }
@media (max-width: 900px) { .pk-org-head { position: static; } }
.pk-org-items { display: grid; gap: 1rem; }
.pk-org-item { display: grid; grid-template-columns: 46px 1fr; gap: 1rem; align-items: start; padding: 1.25rem 1.35rem; background: var(--pk-card); border: 1px solid var(--pk-border); border-radius: var(--pk-r-card); box-shadow: var(--pk-shadow-sm); }
.pk-org-item h3 { font-size: 1.08rem; margin: .1rem 0 .3rem; }
.pk-org-item p { margin: 0; color: var(--pk-muted); font-size: .96rem; }
.pk-organize .pk-device-browser { margin-top: 2rem; }

/* --- memories: dark full-width stage */
.pk-memories { background: radial-gradient(circle at 15% 10%, rgba(232, 62, 140, .28), transparent 40%), radial-gradient(circle at 85% 90%, rgba(124, 58, 237, .35), transparent 45%), linear-gradient(160deg, #0b0b12, #171330 60%, #0b0b12); color: rgba(255, 255, 255, .82); }
.pk-memories .pk-h2, .pk-memories b { color: #fff; }
.pk-memories .pk-lead { color: rgba(255, 255, 255, .72); }
.pk-mem-head { max-width: 50em; margin-bottom: clamp(2rem, 5vw, 4rem); }
.pk-mem-stage { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(1rem, 3vw, 2.5rem); max-width: 1000px; margin-inline: auto; }
@media (max-width: 900px) { .pk-mem-stage { grid-template-columns: 1fr; justify-items: center; gap: 1.25rem; } }
.pk-mem-qr { display: grid; justify-items: center; gap: .5rem; }
.pk-mem-qr-card { display: grid; justify-items: center; gap: .2rem; padding: 1.1rem 1.4rem; border-radius: 18px; background: #fff; color: var(--pk-ink); box-shadow: var(--pk-shadow-lg); opacity: 0; transform: translateY(12px); transition: opacity .7s var(--pk-ease), transform .7s var(--pk-ease); }
.pk-mem-stage.is-live .pk-mem-qr-card { opacity: 1; transform: none; }
.pk-mem-qr-card .pk-icon { width: 64px; height: 64px; }
.pk-mem-qr-card b { font-size: .9rem; color: var(--pk-ink); }
.pk-mem-qr-card i { font-style: normal; font-size: .7rem; color: var(--pk-muted); }
.pk-mem-beam { width: 2px; height: 40px; background: linear-gradient(to bottom, #ff4d8d, transparent); transform-origin: top; transform: scaleY(0); transition: transform .6s var(--pk-ease) .5s; }
.pk-mem-stage.is-live .pk-mem-beam { transform: none; }
@media (min-width: 901px) { .pk-mem-qr { grid-template-columns: auto 1fr; align-items: center; } .pk-mem-beam { width: 100%; height: 2px; background: linear-gradient(to right, #ff4d8d, transparent); transform-origin: left; transform: scaleX(0); } .pk-mem-stage.is-live .pk-mem-beam { transform: none; } }
.pk-mem-phone { width: min(300px, 100%); opacity: 0; transform: translateY(24px); transition: opacity .8s var(--pk-ease) .7s, transform .8s var(--pk-ease) .7s; }
.pk-mem-stage.is-live .pk-mem-phone { opacity: 1; transform: none; }
.pk-mem-phone .pk-phone-grid img { transition-delay: calc(1.4s + var(--i, 0) * .16s); }
.pk-mem-feed { display: grid; gap: .6rem; align-content: center; }
.pk-mem-toast { display: inline-flex; align-items: center; gap: .55rem; width: fit-content; padding: .6rem .9rem; border-radius: 14px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); color: #fff; font-size: .86rem; font-weight: 600; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transform: translateX(14px); transition: opacity .6s var(--pk-ease), transform .6s var(--pk-ease); transition-delay: calc(1.9s + var(--d, 0) * .35s); }
.pk-mem-stage.is-live .pk-mem-toast { opacity: 1; transform: none; }
.pk-mem-toast .pk-icon { width: 18px; height: 18px; color: #ff4d8d; }
@media (max-width: 900px) { .pk-mem-feed { width: 100%; max-width: 340px; } .pk-mem-toast { transform: translateY(10px); } }
.pk-mem-points { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.pk-mem-points b { display: block; margin-bottom: .25rem; }
.pk-mem-points span { font-size: .93rem; color: rgba(255, 255, 255, .68); }
.pk-memories .pk-device-phone { background: #2a2540; }

/* --- archive */
.pk-arch-grid { display: grid; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; }
@media (max-width: 900px) { .pk-arch-grid { grid-template-columns: 1fr; } }
.pk-arch-tree { display: grid; gap: .55rem; padding: 1.4rem; border-radius: var(--pk-r-hero); background: var(--pk-bg-alt); border: 1px solid var(--pk-border); }
.pk-arch-tree span { display: grid; grid-template-columns: 22px 1fr; gap: .6rem; align-items: center; padding: .7rem .9rem; background: #fff; border: 1px solid var(--pk-border); border-radius: 12px; font-size: .92rem; color: var(--pk-text); margin-left: 1.5rem; }
.pk-arch-tree .pk-arch-root { margin-left: 0; font-weight: 700; color: var(--pk-ink); background: var(--pk-primary-soft); border-color: rgba(232, 62, 140, .2); }
.pk-arch-tree .pk-icon { width: 20px; height: 20px; color: var(--pk-primary-dark); }

/* --- free band */
.pk-free { background: var(--pk-ink); color: rgba(255, 255, 255, .8); }
.pk-free .pk-h2 { color: #fff; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem); }
.pk-free .pk-lead { color: rgba(255, 255, 255, .72); }
.pk-free .pk-eyebrow { color: #f9a8d4; }
.pk-free .pk-eyebrow::before { background: linear-gradient(135deg, #f9a8d4, #c4b5fd); }
.pk-free-inner { display: grid; gap: 1.5rem 3rem; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
@media (max-width: 900px) { .pk-free-inner { grid-template-columns: 1fr; } }
.pk-free .pk-btn-primary { min-height: 56px; padding: .95rem 1.6rem; font-size: 1.05rem; }

/* --- header rebalance with seven items */
.pk-nav ul { gap: .1rem; }
.pk-nav a { padding: .4rem .7rem; }
@media (max-width: 1080px) and (min-width: 901px) { .pk-nav a { padding: .4rem .55rem; font-size: .92rem; } .pk-logo span { display: none; } }

/* --- reduced motion: every staged element is simply visible */
@media (prefers-reduced-motion: reduce) {
	.pk-story-invite, .pk-story-qr, .pk-story-arrow, .pk-story-phone, .pk-phone-grid img, .pk-flow-input, .pk-flow-mid, .pk-flow-output, .pk-mem-qr-card, .pk-mem-beam, .pk-mem-phone, .pk-mem-toast { opacity: 1 !important; transform: none !important; }
	.pk-story-invite { transform: rotate(-4deg) !important; }
	.pk-phone-upload em::after { animation: none !important; transform: none !important; }
}
.no-js .pk-story-invite, .no-js .pk-story-qr, .no-js .pk-story-arrow, .no-js .pk-story-phone, .no-js .pk-phone-grid img, .no-js .pk-flow-input, .no-js .pk-flow-mid, .no-js .pk-flow-output, .no-js .pk-mem-qr-card, .no-js .pk-mem-beam, .no-js .pk-mem-phone, .no-js .pk-mem-toast { opacity: 1; transform: none; }


/* ================================================================ v1.2 luxury pass: real product, editorial rhythm */

/* --- micro-interactions: quiet, fast, precise */
.pk-btn { transition: transform .16s var(--pk-ease), background .16s, color .16s, border-color .16s, box-shadow .16s; }
.pk-btn:active { transform: translateY(1px) scale(.99); }
.pk-nav a { position: relative; background: none; }
.pk-nav a::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .35rem; height: 2px; border-radius: 2px; background: var(--pk-primary); transform: scaleX(0); transform-origin: left; transition: transform .2s var(--pk-ease); }
.pk-nav a:hover::after, .pk-nav .current-menu-item > a::after { transform: scaleX(1); }
.pk-nav a:hover, .pk-nav .current-menu-item > a { background: none; color: var(--pk-ink); }
@media (max-width: 900px) { .pk-nav a::after { display: none; } .pk-nav a:hover, .pk-nav .current-menu-item > a { background: var(--pk-primary-soft); color: var(--pk-primary-dark); } }
.pk-device-browser { transition: transform .35s var(--pk-ease), box-shadow .35s var(--pk-ease); }
.pk-editor-shot:hover .pk-device-browser { transform: translateY(-3px); box-shadow: 0 30px 70px rgba(16, 24, 40, .18); }
.pk-faq details, .pk-prose details { transition: border-color .2s, box-shadow .2s; }
.pk-faq details:hover, .pk-prose details:hover { border-color: rgba(232, 62, 140, .3); }
.pk-faq details[open], .pk-prose details[open] { box-shadow: var(--pk-shadow-sm); }
details > summary::after { transition: transform .25s var(--pk-ease), background .2s; }
details[open] > summary::after { transform: rotate(180deg); }

/* --- hero duo: two real phones and the QR between them */
.pk-hero { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(2.5rem, 5vw, 4.5rem); }
.pk-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pk-duo { position: relative; display: grid; grid-template-columns: 1fr 64px 1fr; align-items: end; gap: 0; max-width: 560px; margin-inline: auto; padding-top: 1rem; }
.pk-duo-phone { margin: 0; position: relative; padding: 10px; background: #111827; border-radius: 40px; box-shadow: var(--pk-shadow-device); opacity: 0; transform: translateY(26px); transition: opacity .9s var(--pk-ease), transform .9s var(--pk-ease); }
.pk-duo-phone::before { content: ""; position: absolute; top: 10px; left: 50%; width: 32%; height: 16px; background: #111827; border-radius: 0 0 12px 12px; transform: translateX(-50%); z-index: 2; }
.pk-duo-phone img { display: block; width: 100%; height: auto; border-radius: 30px; }
.pk-duo-phone figcaption { position: absolute; left: 50%; bottom: -2.1rem; transform: translateX(-50%); white-space: nowrap; font-size: .8rem; font-weight: 600; letter-spacing: .02em; color: var(--pk-muted); }
.pk-duo-invite { transform: translateY(26px) rotate(-4deg); z-index: 1; }
.pk-duo-hub { transform: translateY(26px) rotate(4deg); margin-top: 2.5rem; }
.pk-duo.is-live .pk-duo-invite { opacity: 1; transform: rotate(-4deg); }
.pk-duo.is-live .pk-duo-hub { opacity: 1; transform: rotate(4deg); transition-delay: .25s; }
.pk-duo-qr { align-self: center; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 16px; background: var(--pk-ink); color: #fff; box-shadow: var(--pk-shadow-lg); position: relative; z-index: 3; margin-inline: 4px; opacity: 0; transform: scale(.6); transition: opacity .6s var(--pk-ease) .55s, transform .6s var(--pk-ease) .55s; }
.pk-duo-qr .pk-icon { width: 30px; height: 30px; }
.pk-duo.is-live .pk-duo-qr { opacity: 1; transform: none; }
.pk-duo-qr::before, .pk-duo-qr::after { content: ""; position: absolute; top: 50%; width: 22px; height: 2px; background: linear-gradient(90deg, var(--pk-primary), var(--pk-purple)); }
.pk-duo-qr::before { right: 100%; } .pk-duo-qr::after { left: 100%; }
@media (max-width: 900px) {
	.pk-hero-visual { margin-top: 1.5rem; }
	.pk-duo { grid-template-columns: 1fr 48px 1fr; max-width: 420px; }
	.pk-duo-phone { padding: 7px; border-radius: 28px; }
	.pk-duo-phone img { border-radius: 21px; }
	.pk-duo-phone::before { height: 12px; }
	.pk-duo-qr { width: 44px; height: 44px; border-radius: 12px; margin-inline: 2px; }
	.pk-duo-qr .pk-icon { width: 24px; height: 24px; }
	.pk-duo-qr::before, .pk-duo-qr::after { width: 12px; }
	.pk-duo-phone figcaption { font-size: .72rem; bottom: -1.7rem; }
	.pk-hero-note { flex-direction: column; gap: .35rem; }
}

/* --- steps as an editorial strip */
.pk-steps-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.pk-steps-head .pk-eyebrow { margin-bottom: 0; }
.pk-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--pk-border); }
.pk-step { position: relative; padding: 1.4rem 1.25rem 1.6rem 0; background: none; border: 0; border-radius: 0; box-shadow: none; border-top: 2px solid transparent; margin-top: -1px; transition: border-color .3s var(--pk-ease); }
.pk-step:hover { border-top-color: var(--pk-primary); }
.pk-step::before { display: none; }
.pk-step-phase { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pk-muted); margin-bottom: .9rem; }
.pk-step h3 { display: flex; align-items: baseline; gap: .55rem; font-size: 1.25rem; margin-bottom: .45rem; }
.pk-step-num { font-size: .8rem; font-weight: 800; color: var(--pk-primary-dark); letter-spacing: .04em; }
.pk-step p { color: var(--pk-muted); font-size: .97rem; line-height: 1.5; }
.pk-step .pk-icon { display: none; }
@media (max-width: 1080px) { .pk-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 1.5rem; } }
@media (max-width: 640px) { .pk-steps { grid-template-columns: 1fr; border-top: 0; } .pk-step { padding: 1.1rem 0 1.2rem; border-top: 1px solid var(--pk-border); margin: 0; } .pk-step:first-child { border-top: 0; padding-top: 0; } .pk-step-phase { margin-bottom: .5rem; } }

/* --- vision: before/after compare */
.pk-vision-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: start; }
.pk-compare { max-width: 520px; }
.pk-compare-stage { position: relative; aspect-ratio: 3 / 4; border-radius: 22px; overflow: hidden; box-shadow: var(--pk-shadow-lg); background: #f6f0e8; isolation: isolate; touch-action: pan-y; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; cursor: ew-resize; --p: .38; }
.pk-compare-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; -webkit-user-drag: none; }
.pk-compare-before { position: absolute; inset: 0; width: var(--pos, 50%); overflow: hidden; }
.pk-compare-before img { width: auto; height: 100%; max-width: none; aspect-ratio: 3 / 4; }
.pk-compare-handle { position: absolute; top: 0; bottom: 0; left: var(--pos, 50%); width: 2px; transition: none; background: #fff; box-shadow: 0 0 0 1px rgba(16, 24, 40, .15); transform: translateX(-1px); pointer-events: none; }
.pk-compare-handle i { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); border-radius: 50%; background: #fff; box-shadow: var(--pk-shadow-lg); }
.pk-compare-handle i::before, .pk-compare-handle i::after { content: ""; position: absolute; top: 50%; width: 8px; height: 8px; border-top: 2px solid var(--pk-ink); border-left: 2px solid var(--pk-ink); }
.pk-compare-handle i::before { left: 11px; transform: translateY(-50%) rotate(-45deg); }
.pk-compare-handle i::after { right: 11px; transform: translateY(-50%) rotate(135deg); }
.pk-compare-tag { position: absolute; top: 14px; padding: .35rem .7rem; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: rgba(255, 255, 255, .9); color: var(--pk-ink); box-shadow: var(--pk-shadow-sm); pointer-events: none; }
/* --p is the visible share of the example (left, on top, clipped to --pos); the result shows in the remaining 1 - p */
.pk-compare-tag.is-before { left: 14px; opacity: calc(.42 + .58 * var(--p)); transition: opacity .12s linear; }
.pk-compare-tag.is-after { right: 14px; color: var(--pk-primary-dark); opacity: calc(.42 + .58 * (1 - var(--p))); transition: opacity .12s linear; }
.pk-compare-control { display: block; margin-top: 1rem; }
.pk-compare-control input[type="range"] { width: 100%; height: 44px; margin: 0; background: transparent; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
.pk-compare-control input[type="range"]::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: linear-gradient(90deg, #cbb89a, var(--pk-primary)); }
.pk-compare-control input[type="range"]::-moz-range-track { height: 4px; border-radius: 2px; background: linear-gradient(90deg, #cbb89a, var(--pk-primary)); }
.pk-compare-control input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; margin-top: -12px; border-radius: 50%; background: #fff; border: 2px solid var(--pk-ink); box-shadow: var(--pk-shadow); }
.pk-compare-control input[type="range"]::-moz-range-thumb { width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 2px solid var(--pk-ink); box-shadow: var(--pk-shadow); }
.pk-compare-control input[type="range"]:focus-visible { outline: 3px solid rgba(124, 58, 237, .55); outline-offset: 4px; border-radius: 6px; }
.pk-compare-caption { font-size: .9rem; color: var(--pk-muted); margin: .5rem 0 0; }
.pk-editor-shot { margin: clamp(2.5rem, 5vw, 4rem) 0 0; }
.pk-editor-shot figcaption { font-size: .9rem; color: var(--pk-muted); margin-top: .8rem; }
.pk-arch-visual { margin: 0; }
.pk-arch-visual figcaption { font-size: .9rem; color: var(--pk-muted); margin-top: .8rem; }
.pk-vision-side { padding-top: .5rem; }
@media (max-width: 900px) { .pk-compare { max-width: none; } .pk-vision-side { padding-top: 0; } }

/* --- organise: hairline list */
.pk-org-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pk-border); }
.pk-org-list li { display: grid; grid-template-columns: 3.5rem 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--pk-border); }
.pk-org-num { font-size: .8rem; font-weight: 800; letter-spacing: .04em; color: var(--pk-primary-dark); padding-top: .35rem; }
.pk-org-list h3 { font-size: 1.2rem; margin: 0 0 .35rem; }
.pk-org-list p { margin: 0; color: var(--pk-muted); font-size: 1rem; }
.pk-organize .pk-device-browser { margin-top: 0; }

/* --- occasions: editorial rows */
.pk-occasions-head { margin-bottom: clamp(1.25rem, 3vw, 2rem); }
.pk-occasion-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pk-border); }
.pk-occasion-list .pk-occasion { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 40px; align-items: center; gap: 1.5rem; padding: 1.1rem 0; border: 0; border-bottom: 1px solid var(--pk-border); border-radius: 0; background: none; box-shadow: none; transition: padding-left .25s var(--pk-ease), background .2s; }
.pk-occasion-list .pk-occasion:hover { transform: none; box-shadow: none; padding-left: .6rem; background: linear-gradient(90deg, var(--pk-primary-tint), transparent); }
.pk-occasion-list .pk-occasion-title { font-size: clamp(1.25rem, 1rem + 1vw, 1.7rem); font-weight: 700; letter-spacing: -.02em; }
.pk-occasion-list .pk-occasion-kicker { font-size: 1rem; }
.pk-occasion-arrow { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--pk-border); color: var(--pk-ink); transition: background .2s, color .2s, border-color .2s, transform .25s var(--pk-ease); }
.pk-occasion-list .pk-occasion:hover .pk-occasion-arrow { background: var(--pk-btn); border-color: var(--pk-btn); color: #fff; transform: translateX(4px); }
@media (max-width: 640px) { .pk-occasion-list .pk-occasion { grid-template-columns: minmax(0, 1fr) 36px; grid-template-rows: auto auto; row-gap: .2rem; column-gap: 1rem; } .pk-occasion-list .pk-occasion-title { grid-column: 1; grid-row: 1; } .pk-occasion-list .pk-occasion-kicker { grid-column: 1; grid-row: 2; } .pk-occasion-arrow { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 36px; height: 36px; } }

/* --- trust: definition rows */
.pk-trust-grid { display: grid; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; }
@media (max-width: 900px) { .pk-trust-grid { grid-template-columns: 1fr; } }
.pk-trust { display: block; margin: 0; border-top: 1px solid var(--pk-border); }
.pk-trust-row { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--pk-border); }
.pk-trust-row dt { font-weight: 700; color: var(--pk-ink); }
.pk-trust-row dd { margin: 0; color: var(--pk-muted); font-size: 1rem; }
@media (max-width: 520px) { .pk-trust-row { grid-template-columns: 1fr; gap: .25rem; } }

/* --- memories: real phone as the stage; replay on tap */
.pk-mem-phone.pk-device-phone { width: min(300px, 100%); padding: 10px; border: 0; background: #2a2540; cursor: pointer; text-align: left; border-radius: 40px; }
.pk-mem-phone .pk-device-img { display: block; width: 100%; height: auto; border-radius: 30px; }
.pk-mem-phone:focus-visible { outline: 3px solid #f9a8d4; outline-offset: 4px; }
.pk-mem-hint { text-align: center; font-size: .86rem; color: rgba(255, 255, 255, .55); margin: 1.25rem 0 0; }
.pk-mem-stage.is-replaying .pk-mem-toast, .pk-mem-stage.is-replaying .pk-mem-qr-card, .pk-mem-stage.is-replaying .pk-mem-beam, .pk-mem-stage.is-replaying .pk-mem-phone { transition: none !important; }

/* --- lifecycle rail (desktop only, quiet) */
.pk-rail { position: fixed; left: max(12px, calc((100vw - var(--pk-container)) / 2 - 64px)); top: 50%; transform: translateY(-50%); display: grid; gap: 1rem; z-index: 50; opacity: 0; pointer-events: none; transition: opacity .3s; }
.pk-rail.is-visible { opacity: 1; pointer-events: auto; }
.pk-rail a { display: grid; grid-template-columns: 8px auto; align-items: center; gap: .6rem; text-decoration: none; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pk-muted-2); }
.pk-rail a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; opacity: .5; transition: transform .25s var(--pk-ease), opacity .25s; }
.pk-rail a.is-active { color: var(--pk-primary-dark); }
.pk-rail a.is-active::before { transform: scale(1.4); opacity: 1; }
.pk-rail span { max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .3s var(--pk-ease); }
.pk-rail a.is-active span, .pk-rail:hover span { max-width: 8rem; }
.pk-memories .pk-rail a { color: rgba(255, 255, 255, .5); }
@media (max-width: 1320px) { .pk-rail { display: none; } }

/* --- free band: less weight on “free”, more on the product */
.pk-free .pk-h2 { font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3rem); }

/* --- prose/legal readability with Sofia Sans */
.pk-prose { max-width: 720px; }
.pk-legal .pk-prose { max-width: 680px; }
.pk-content .wp-block-column.pk-card h3 { font-size: 1.15rem; }

/* --- reduced motion for the new pieces */
@media (prefers-reduced-motion: reduce) {
	.pk-duo-phone, .pk-duo-qr { opacity: 1 !important; transform: none !important; }
	.pk-duo-invite { transform: rotate(-4deg) !important; }
	.pk-duo-hub { transform: rotate(4deg) !important; }
}
.no-js .pk-duo-phone, .no-js .pk-duo-qr { opacity: 1; transform: none; }

/* v1.2 mobile overrides (must follow the desktop grid declarations above) */
@media (max-width: 900px) {
	.pk-hero-grid, .pk-vision-grid { grid-template-columns: 1fr; }
	.pk-hero-visual { margin-top: 1.75rem; }
	.pk-duo { max-width: 380px; padding-bottom: 2rem; }
}

/* mobile crops of browser screenshots keep their own portrait ratio */
@media (max-width: 640px) {
	.pk-device-browser .has-mobile-crop { aspect-ratio: auto; height: auto; object-fit: contain; }
	.pk-editor-shot figcaption { font-size: .85rem; }
}


/* ================================================================ v1.3 on the phone (installable) */
.pk-onphone { background: var(--pk-bg-alt); }
.pk-onphone-layout { display: grid; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); align-items: center; }
@media (max-width: 900px) { .pk-onphone-layout { grid-template-columns: 1fr; } }
.pk-onphone-text .pk-cta-row { align-items: center; }
.pk-onphone-installed { margin: 0; font-weight: 700; color: var(--pk-ok); }
.pk-onphone-note { margin: 1.1rem 0 0; font-size: .95rem; color: var(--pk-muted); max-width: 36em; }
[data-pk-install][data-install="standalone"] [data-pk-install-cta] { display: none; }

/* designed home-screen composition: abstract tiles, the REAL Pokana icon, the real app opening */
.pk-homescreen { position: relative; max-width: 440px; margin-inline: auto; padding-bottom: 12%; }
.pk-homescreen-frame { position: relative; width: 62%; padding: 1.1rem .9rem 1rem; border-radius: 34px; background: linear-gradient(160deg, #1f1a3a, #3a2455 55%, #6b2d6b); box-shadow: var(--pk-shadow-device); }
.pk-homescreen-frame::before { content: ""; display: block; width: 28%; height: 5px; margin: 0 auto 1rem; border-radius: 999px; background: rgba(255, 255, 255, .22); }
.pk-homescreen-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem .5rem; }
.pk-hs-app { display: block; aspect-ratio: 1; border-radius: 22%; background: rgba(255, 255, 255, .14); }
.pk-hs-app:nth-child(2n) { background: rgba(255, 255, 255, .1); }
.pk-hs-app:nth-child(3n) { background: rgba(255, 255, 255, .18); }
.pk-hs-pokana { position: relative; background: none; }
.pk-hs-pokana img { display: block; width: 100%; height: auto; border-radius: 22%; box-shadow: 0 6px 16px rgba(0, 0, 0, .35); transform: scale(1); transition: transform .5s var(--pk-ease); }
.pk-hs-pokana i { position: absolute; left: 50%; top: 100%; transform: translateX(-50%); margin-top: .25rem; font-style: normal; font-size: .58rem; font-weight: 600; color: #fff; white-space: nowrap; }
.pk-homescreen-dock { display: flex; justify-content: center; gap: .55rem; margin-top: 1.6rem; padding: .55rem; border-radius: 18px; background: rgba(255, 255, 255, .12); }
.pk-homescreen-dock span { width: 15%; aspect-ratio: 1; border-radius: 22%; background: rgba(255, 255, 255, .18); }
.pk-homescreen-open { position: absolute; right: 0; bottom: 0; width: 52%; padding: 8px; border-radius: 26px; background: #111827; box-shadow: var(--pk-shadow-device); opacity: 0; transform: translate(12px, 18px) scale(.96); transition: opacity .7s var(--pk-ease) .35s, transform .7s var(--pk-ease) .35s; }
.pk-homescreen.is-in .pk-homescreen-open { opacity: 1; transform: none; }
.pk-homescreen.is-in .pk-hs-pokana img { transform: scale(1.08); }
.pk-homescreen-shot { display: block; width: 100%; height: auto; border-radius: 19px; }
@media (max-width: 480px) { .pk-homescreen { max-width: 340px; } }
@media (prefers-reduced-motion: reduce) { .pk-homescreen-open { opacity: 1 !important; transform: none !important; } .pk-hs-pokana img { transform: none !important; } }
.no-js .pk-homescreen-open { opacity: 1; transform: none; }

/* install guide dialog */
.pk-install { border: 0; padding: 0; width: min(92vw, 500px); max-height: min(92dvh, 780px); overflow: auto; border-radius: var(--pk-r-hero); background: #fff; color: var(--pk-text); box-shadow: 0 30px 80px rgba(16, 24, 40, .3); }
.pk-install::backdrop { background: rgba(16, 24, 40, .45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pk-install[open] { animation: pk-dialog-in .25s var(--pk-ease); }
@keyframes pk-dialog-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.pk-install-head { display: grid; grid-template-columns: 52px 1fr 40px; gap: .9rem; align-items: center; padding: 1.4rem 1.4rem 1.1rem; }
.pk-install-icon { width: 52px; height: 52px; border-radius: 13px; box-shadow: var(--pk-shadow); }
.pk-install-head .pk-h3 { margin: 0 0 .2rem; font-size: 1.3rem; letter-spacing: -.01em; }
.pk-install-sub { margin: 0; font-size: .95rem; color: var(--pk-muted); }
.pk-install-close { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--pk-border); border-radius: 50%; background: #fff; color: var(--pk-ink); cursor: pointer; }
.pk-install-close:hover { background: var(--pk-bg-alt); }
.pk-install-desk { display: grid; grid-template-columns: 132px 1fr; gap: 1rem; align-items: center; margin: 0 1.4rem .9rem; padding: .9rem; border-radius: 18px; background: var(--pk-bg-alt); border: 1px solid var(--pk-border); }
.pk-install-qr { display: block; width: 132px; height: 132px; padding: 6px; border-radius: 12px; background: #fff; box-shadow: var(--pk-shadow); }
.pk-install-desk-lead { margin: 0 0 .35rem; font-weight: 700; color: var(--pk-ink); font-size: 1.05rem; line-height: 1.35; }
.pk-install-desk-note { margin: 0; font-size: .9rem; color: var(--pk-muted); }
.pk-install-desk-note b { color: var(--pk-ink); font-weight: 600; }
.pk-install-pick { display: flex; gap: .5rem; margin: 0 1.4rem 1rem; }
.pk-install-pick button { flex: 1 1 0; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: 0 .9rem; border-radius: 999px; border: 1px solid var(--pk-border); background: #fff; color: var(--pk-ink); font: inherit; font-weight: 600; font-size: .95rem; cursor: pointer; transition: background .2s var(--pk-ease), color .2s var(--pk-ease), border-color .2s var(--pk-ease); }
.pk-install-pick button[aria-pressed="true"] { background: var(--pk-ink); border-color: var(--pk-ink); color: #fff; }
.pk-install-pick-icon { width: 18px; height: 18px; }
.pk-install-flow[hidden], .pk-install-desk[hidden], .pk-install-pick[hidden] { display: none; }
.pk-install-steps { list-style: none; margin: 0; padding: 0 1.4rem; display: grid; gap: 1rem; }
.pk-install-steps li { display: grid; grid-template-columns: 32px 1fr; gap: .9rem; align-items: start; font-size: 1.02rem; line-height: 1.5; }
.pk-install-steps li + li { margin: 0; }
.pk-install-steps span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--pk-btn); color: #fff; font-weight: 700; font-size: .9rem; margin-top: .05rem; }
.pk-install-steps b, .pk-install-alt b { color: var(--pk-ink); }
.pk-install-key { display: inline-grid; place-items: center; width: 28px; height: 28px; margin: 0 .1em; vertical-align: -8px; border-radius: 8px; background: var(--pk-primary-soft); color: var(--pk-primary-dark); font-style: normal; }
.pk-install-key .pk-icon { width: 18px; height: 18px; }
.pk-install-alt { margin: .9rem 1.4rem 0 calc(1.4rem + 32px + .9rem); font-size: .92rem; line-height: 1.5; color: var(--pk-muted); }
.pk-install-done { display: grid; grid-template-columns: 22px 1fr; gap: .6rem; align-items: start; margin: 1.1rem 1.4rem 0; padding: .85rem 1rem; border-radius: 14px; background: var(--pk-ok-soft); color: var(--pk-ok); font-weight: 600; font-size: .95rem; line-height: 1.45; }
.pk-install-done-icon { width: 22px; height: 22px; }
.pk-install-foot { margin: 1.1rem 0 0; padding: 1rem 1.4rem 1.4rem; border-top: 1px solid var(--pk-border); font-size: .9rem; color: var(--pk-muted); }
@media (max-width: 420px) { .pk-install-head { padding: 1.2rem 1.1rem .9rem; grid-template-columns: 44px 1fr 40px; gap: .7rem; } .pk-install-icon { width: 44px; height: 44px; border-radius: 11px; } .pk-install-head .pk-h3 { font-size: 1.2rem; } .pk-install-steps, .pk-install-pick, .pk-install-desk { margin-left: 1.1rem; margin-right: 1.1rem; } .pk-install-steps { padding: 0 1.1rem; } .pk-install-done, .pk-install-alt { margin-right: 1.1rem; margin-left: 1.1rem; } .pk-install-foot { padding: 1rem 1.1rem 1.2rem; } }
@media (prefers-reduced-motion: reduce) { .pk-install[open] { animation: none; } }


/* ================================================================ v1.6 product film ("Виж Pokana в действие") */
.pk-film { background: var(--pk-bg-alt); }
.pk-film-layout { display: grid; gap: clamp(1.5rem, 4vw, 4rem); grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; }
@media (max-width: 900px) { .pk-film-layout { grid-template-columns: 1fr; } }
.pk-film-note { margin: 1.1rem 0 0; font-size: .88rem; color: var(--pk-muted); }
.pk-film-stage { margin: 0; }
.pk-film-stage figcaption { font-size: .9rem; color: var(--pk-muted); margin-top: .8rem; text-align: center; }
.pk-film-device { position: relative; width: min(340px, 82%); }
.pk-film-video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; border-radius: 28px; background: #1f1a3a; object-fit: cover; }
.pk-film-play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; transform: translate(-50%, -50%); display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .94); color: var(--pk-ink); box-shadow: var(--pk-shadow-lg); cursor: pointer; }
.pk-film-play .pk-icon { width: 30px; height: 30px; }
.pk-film-play[hidden] { display: none; }
@media (max-width: 480px) { .pk-film-device { width: min(300px, 86%); } }


/* ================================================================ v1.7 occasion visual system (landing heroes + product-in-context) */
.pk-page-hero-grid { display: grid; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
@media (min-width: 1024px) { .pk-page-hero--scene .pk-page-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); } }
@media (max-width: 1023px) { .pk-page-hero--scene .pk-scene--hero { max-width: 520px; margin-inline: auto; width: 100%; } }
.pk-scene { position: relative; margin: 0; width: 100%; aspect-ratio: 4 / 5; border-radius: 28px; overflow: hidden; isolation: isolate; background: linear-gradient(160deg, var(--sc-a), var(--sc-b)); box-shadow: var(--pk-shadow); border: 1px solid rgba(23, 32, 51, .06); }
.pk-scene--table { aspect-ratio: 16 / 10; margin: 2.2em 0; }
@media (max-width: 640px) { .pk-scene--table { aspect-ratio: 4 / 5; } }
.pk-scene__air { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.pk-scene__air i { position: absolute; width: 55%; aspect-ratio: 1; border-radius: 50%; filter: blur(48px); opacity: .75; }
.pk-scene__air i:nth-child(1) { left: -12%; top: -14%; background: var(--sc-g1); }
.pk-scene__air i:nth-child(2) { right: -16%; top: 30%; background: var(--sc-g2); }
.pk-scene__air i:nth-child(3) { left: 20%; bottom: -30%; background: var(--sc-g3); }
.pk-scene__air::after { content: ""; position: absolute; inset: 0; background: var(--sc-texture, none); mix-blend-mode: multiply; opacity: .6; }
.pk-scene__stack { position: absolute; inset: 8% 7%; z-index: 1; }
.pk-scene__card { position: absolute; border-radius: 18px; overflow: visible; background: #fff; box-shadow: 0 24px 50px rgba(16, 24, 40, .18), 0 2px 6px rgba(16, 24, 40, .08); border: 1px solid rgba(23, 32, 51, .08); }
.pk-scene__card img { display: block; width: 100%; height: auto; border-radius: 17px; }
.pk-scene__card--invite { border-radius: 26px; padding: 6px; background: #111827; border: 0; }
.pk-scene__card--invite img { border-radius: 20px; }
/* three-card stack */
.pk-scene__card[style*="--i:1"] { left: 0; top: 0; width: 60%; z-index: 1; transform: rotate(-2deg); }
.pk-scene__card[style*="--i:2"] { right: 0; top: 30%; width: 58%; z-index: 2; transform: rotate(1.5deg); }
.pk-scene__card[style*="--i:3"] { left: 8%; bottom: 0; width: 52%; z-index: 3; transform: rotate(-1deg); }
.pk-scene__card--invite[style*="--i:1"] { width: 44%; top: 0; left: 2%; }
/* two-card scenes */
.pk-scene[data-cards="2"] .pk-scene__card[style*="--i:1"] { width: 62%; }
.pk-scene[data-cards="2"] .pk-scene__card[style*="--i:2"] { top: auto; bottom: 0; width: 60%; }
.pk-scene--table .pk-scene__card[style*="--i:1"] { left: 30%; top: 4%; width: 36%; transform: rotate(-1.5deg); }
.pk-scene--table .pk-scene__card[style*="--i:2"] { right: 2%; top: auto; bottom: 4%; width: 34%; transform: rotate(1.5deg); }
@media (max-width: 640px) { .pk-scene--table .pk-scene__card[style*="--i:1"] { left: 0; top: 26%; width: 60%; } .pk-scene--table .pk-scene__card[style*="--i:2"] { right: 0; top: auto; bottom: 0; width: 58%; } }
.pk-scene__qr { position: absolute; left: 2%; top: 8%; z-index: 4; width: 30%; max-width: 190px; padding: 6% 4% 4%; border-radius: 16px; background: #fff; box-shadow: 0 20px 40px rgba(16, 24, 40, .2); text-align: center; transform: rotate(-4deg); }
.pk-scene__qr img { display: block; width: 78%; height: auto; margin: 0 auto .35rem; }
.pk-scene__qr b { display: block; font-size: clamp(.8rem, 1.6vw, 1rem); color: var(--pk-ink); }
.pk-scene__qr span { display: block; font-size: clamp(.62rem, 1.2vw, .78rem); color: var(--pk-muted); font-weight: 600; }
@media (max-width: 640px) { .pk-scene__qr { left: auto; right: 2%; top: 2%; width: 38%; } }
.pk-scene__tick { position: absolute; top: -12px; right: -12px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--pk-ok); color: #fff; box-shadow: 0 10px 24px rgba(16, 24, 40, .25); }
.pk-scene__tick svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.pk-scene__chip { position: absolute; right: 2%; bottom: 4%; z-index: 5; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .9rem; border-radius: 999px; background: rgba(23, 32, 51, .94); color: #fff; font-size: clamp(.78rem, 1.5vw, .95rem); font-weight: 700; box-shadow: 0 16px 36px rgba(0, 0, 0, .3); white-space: nowrap; }
.pk-scene__chip .pk-icon { width: 18px; height: 18px; color: #ff6fae; }
.pk-scene__label { position: absolute; left: 4%; top: 4%; z-index: 5; padding: .35rem .7rem; border-radius: 999px; background: rgba(255, 255, 255, .9); color: var(--pk-primary-dark); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 6px 16px rgba(16, 24, 40, .1); }
.pk-scene--table .pk-scene__label { left: auto; right: 4%; }
.pk-scene--table .pk-scene__chip { right: auto; left: 2%; bottom: 6%; } /* bottom-left is free in the table composition; the cards' text stays readable */
@media (max-width: 640px) { .pk-scene--table .pk-scene__label { right: auto; left: 4%; } }
/* occasion atmospheres – one brand, four lights */
.pk-scene--svatbeni-pokani { --sc-a: #fbf6f1; --sc-b: #f3e1e8; --sc-g1: #f7cfdd; --sc-g2: #ead6bc; --sc-g3: #ffffff; --sc-texture: radial-gradient(120% 90% at 50% 110%, rgba(120, 70, 60, .10), transparent 60%); }
.pk-scene--pokani-za-rozhden-den { --sc-a: #fff3ea; --sc-b: #eadcff; --sc-g1: #ffbe80; --sc-g2: #bf98ff; --sc-g3: #ff9ccb; }
.pk-scene--pokani-za-krashtene { --sc-a: #fcfbf6; --sc-b: #eef2f4; --sc-g1: #f1e8d0; --sc-g2: #d9e6ea; --sc-g3: #ffffff; --sc-texture: radial-gradient(80% 60% at 50% 0%, rgba(255, 255, 255, .9), transparent 70%); }
.pk-scene--pokana-za-pogacha { --sc-a: #fdf8f0; --sc-b: #f8e8dc; --sc-g1: #ffd8b6; --sc-g2: #f9c9d3; --sc-g3: #fff4e3; --sc-texture: repeating-linear-gradient(45deg, rgba(120, 80, 40, .045) 0 2px, transparent 2px 9px); }
/* the page's one motion moment: cards settle in sequence, the tick draws, the chip lands, then a slow float */
.pk-scene .pk-scene__card, .pk-scene .pk-scene__chip, .pk-scene .pk-scene__qr { opacity: 0; }
.pk-scene.is-in .pk-scene__card { animation: pk-scene-card .7s var(--pk-ease) both; animation-delay: calc(var(--i, 1) * .2s); }
.pk-scene.is-in .pk-scene__qr { animation: pk-scene-card .7s var(--pk-ease) .1s both; }
.pk-scene.is-in .pk-scene__chip { animation: pk-scene-chip .6s var(--pk-ease) 1.1s both; }
.pk-scene .pk-scene__tick svg path { stroke-dasharray: 30; stroke-dashoffset: 30; }
.pk-scene.is-in .pk-scene__tick svg path { animation: pk-scene-tick .5s var(--pk-ease) .9s forwards; }
.pk-scene--hero.is-in .pk-scene__stack { animation: pk-scene-float 7s ease-in-out 2s infinite; }
@keyframes pk-scene-card { from { opacity: 0; translate: 0 22px; } to { opacity: 1; translate: 0 0; } }
@keyframes pk-scene-chip { from { opacity: 0; translate: 0 14px; scale: .94; } to { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes pk-scene-tick { to { stroke-dashoffset: 0; } }
@keyframes pk-scene-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -5px; } }
@media (prefers-reduced-motion: reduce) {
	.pk-scene .pk-scene__card, .pk-scene .pk-scene__chip, .pk-scene .pk-scene__qr { opacity: 1 !important; animation: none !important; }
	.pk-scene .pk-scene__tick svg path { stroke-dashoffset: 0 !important; animation: none !important; }
	.pk-scene--hero.is-in .pk-scene__stack { animation: none !important; }
}
.no-js .pk-scene .pk-scene__card, .no-js .pk-scene .pk-scene__chip, .no-js .pk-scene .pk-scene__qr { opacity: 1; }
.no-js .pk-scene .pk-scene__tick svg path { stroke-dashoffset: 0; }


/* ================================================================ v1.8 invitation-text cards ("Текст за покана за …") */
.pk-content .pk-texts { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); margin: 1.25em 0 1.5em; }
.pk-content .pk-text-card { display: flex; flex-direction: column; gap: .6rem; padding: 1.15rem 1.25rem 1.25rem; background: var(--pk-primary-tint); border: 1px dashed rgba(232, 62, 140, .35); border-radius: 18px; }
.pk-content .pk-text-tone { align-self: flex-start; padding: .22rem .6rem; border-radius: 999px; background: #fff; color: var(--pk-primary-dark); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pk-content .pk-text-body { font-family: var(--pk-font-invite); font-size: 1.02rem; line-height: 1.5; color: var(--pk-ink); }
.pk-content .pk-text-body p { margin: 0 0 .45em; }
.pk-content .pk-text-body p:first-child { font-weight: 600; }
.pk-content .pk-text-body p:last-child { margin-bottom: 0; }

/* --- v1.9 trust + mobile lifecycle: hero phases strip and free-section facts */
.pk-hero-phases { list-style: none; margin: 1.35rem 0 0; padding: 0; display: grid; gap: .45rem; max-width: 34rem; }
.pk-hero-phases li { display: grid; grid-template-columns: 5.6rem minmax(0, 1fr); gap: .75rem; align-items: baseline; font-size: .92rem; line-height: 1.45; color: var(--pk-muted); padding: .35rem 0; border-top: 1px solid var(--pk-border); }
.pk-hero-phases li:first-child { border-top: 0; padding-top: 0; }
.pk-phase-tag { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pk-primary-dark); white-space: nowrap; }
.pk-hero-phases li:nth-child(2) .pk-phase-tag { color: var(--pk-purple); }
.pk-hero-phases li:nth-child(3) .pk-phase-tag { color: var(--pk-ok); }
@media (max-width: 480px) { .pk-hero-phases li { grid-template-columns: 4.9rem minmax(0, 1fr); font-size: .9rem; } }
.pk-free-facts { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: .6rem; max-width: 46rem; }
.pk-free-facts li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: .6rem; align-items: start; color: rgba(255, 255, 255, .82); line-height: 1.5; }
.pk-free-facts .pk-icon { width: 20px; height: 20px; margin-top: .15rem; color: #f9a8d4; }
.pk-free-feedback { margin: 1.25rem 0 0; max-width: 46rem; color: rgba(255, 255, 255, .72); line-height: 1.55; }
.pk-free-feedback a { color: #fff; text-decoration-color: #f9a8d4; text-underline-offset: .15em; }
.pk-free-feedback a:hover, .pk-free-feedback a:focus-visible { color: #f9a8d4; }

/* --- v1.10 wedding page: phases + Сватбен вестник (the newspaper is a physical object, not a feature card) */
.pk-content .pk-phases { list-style: none; margin: 1.5em 0 0; padding: 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr)); }
.pk-content .pk-phases li { padding: 1.35rem 1.3rem 1.4rem; background: var(--pk-card); border: 1px solid var(--pk-border); border-radius: var(--pk-r-card); box-shadow: var(--pk-shadow-sm); }
.pk-content .pk-phases li + li { margin-top: 0; }
.pk-content .pk-phases .pk-phase-tag { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pk-primary-dark); margin-bottom: .6rem; }
.pk-content .pk-phases li:nth-child(2) .pk-phase-tag { color: var(--pk-purple); }
.pk-content .pk-phases li:nth-child(3) .pk-phase-tag { color: var(--pk-ok); }
.pk-content .pk-phases h3 { margin: 0 0 .4rem; font-size: 1.12rem; }
.pk-content .pk-phases p { margin: 0; font-size: 1rem; color: var(--pk-muted); line-height: 1.55; }

.pk-prose .pk-paper { width: min(1120px, calc(100vw - 2 * var(--pk-gutter))); margin: clamp(3rem, 7vw, 5.5rem) 0 clamp(2.5rem, 6vw, 4.5rem) 50%; transform: translateX(-50%); padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1rem, 3vw, 2.5rem); border-radius: 32px; background: radial-gradient(60% 50% at 20% 0%, rgba(232, 62, 140, .08), transparent 60%), linear-gradient(170deg, #f7f2ea 0%, #efe7db 100%); border: 1px solid rgba(23, 32, 51, .06); }
.pk-paper .pk-eyebrow { margin-bottom: .8rem; }
.pk-paper-title { font-family: var(--pk-font-display); font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.1rem); font-weight: 760; font-variation-settings: "wght" 760; letter-spacing: -.03em; line-height: 1.05; margin: 0 0 .7rem; max-width: 14em; }
.pk-paper-lead { font-size: clamp(1.05rem, .95rem + .4vw, 1.25rem); line-height: 1.55; color: var(--pk-text); max-width: 42em; margin: 0 0 2rem; }
.pk-paper-stage { position: relative; display: grid; grid-template-columns: 1.08fr 1fr; gap: clamp(1rem, 3vw, 2.5rem); align-items: start; padding: clamp(.75rem, 2vw, 1.5rem) clamp(.5rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.75rem); border-radius: 24px; background: linear-gradient(180deg, #e6dccd, #d9cdbb); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5); }
.pk-paper-sheet { margin: 0; }
.pk-paper-sheet img { display: block; width: 100%; height: auto; background: #fff; box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 24px 48px rgba(40, 30, 20, .28), 0 2px 6px rgba(40, 30, 20, .18); border-radius: 2px; }
.pk-paper-sheet--front { transform: rotate(-1.2deg); }
.pk-paper-sheet--back { transform: rotate(1.4deg) translateY(1.6rem); }
.pk-paper-sheet figcaption { margin-top: 1.1rem; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #6b5a44; text-align: center; }
.pk-paper-facts { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; gap: .75rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.pk-prose .pk-paper-facts li, .pk-prose .pk-paper-facts li + li { margin: 0; padding: 1rem 0 0; border-top: 1px solid rgba(23, 32, 51, .14); font-size: 1rem; line-height: 1.45; }
.pk-paper-facts b { display: block; color: var(--pk-ink); margin-bottom: .2rem; }
.pk-paper-facts span { color: var(--pk-muted); font-size: .95rem; }
.pk-paper-details { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); margin: 2.25rem 0 0; }
.pk-prose .pk-paper-details figure { margin: 0; }
.pk-paper-details img { display: block; width: 100%; height: auto; border-radius: 10px; background: #fff; box-shadow: 0 12px 28px rgba(40, 30, 20, .18); border: 1px solid rgba(23, 32, 51, .08); }
.pk-prose .pk-paper-details figcaption { text-align: left; margin-top: .6rem; font-size: .92rem; color: var(--pk-muted); }
.pk-paper-qr { margin: 2.25rem 0 0; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 20px; background: rgba(255, 255, 255, .72); border: 1px solid rgba(23, 32, 51, .08); }
.pk-paper-qr h3 { margin: 0 0 .5rem; font-size: 1.3rem; letter-spacing: -.01em; }
.pk-paper-qr p { margin: 0; font-size: 1.05rem; line-height: 1.6; max-width: 52em; }
.pk-paper-qr .pk-paper-qr-note { margin-top: .75rem; font-size: .95rem; color: var(--pk-muted); }
.pk-paper-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 2rem 0 0; }
.pk-paper-cta .pk-btn { text-decoration: none; }
.pk-paper-cta p { margin: 0; font-size: .95rem; color: var(--pk-muted); max-width: 30em; }
.pk-paper-prov { margin: 1.5rem 0 0; font-size: .82rem; color: #7a6a56; }
@media (max-width: 640px) {
	.pk-prose .pk-paper { border-radius: 22px; }
	.pk-paper-stage { grid-template-columns: 1fr; gap: 1.5rem; padding: 1rem .75rem 1.25rem; }
	.pk-paper-sheet--front, .pk-paper-sheet--back { transform: none; }
	.pk-paper-sheet--back { margin-top: .25rem; }
	.pk-paper-sheet img { max-width: 420px; margin-inline: auto; }
}
