
  /* ── A11Y: globální focus-visible pro klávesnici (skry mouse focus) ── */
  *:focus { outline: none; }
  *:focus-visible {
    outline: 2px solid #e11d48;
    outline-offset: 3px;
    border-radius: 4px;
  }
  /* Skip-to-content link (visible on Tab) */
  .sv-skip-link {
    position: absolute;
    left: 16px; top: -100px;
    z-index: 9999;
    background: #1f1f23;
    color: #fff;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    transition: top .2s ease;
  }
  .sv-skip-link:focus,
  .sv-skip-link:focus-visible {
    top: 16px;
    outline: 3px solid #fff;
    outline-offset: 2px;
  }

  /* Hard horizontal-scroll lock — clip je agresivnější než hidden a funguje
     spolehlivě i na iOS Safari (kde overflow:hidden u body občas selže) */
  html { overflow-x: clip; }
  body {
    background: #ffffff;
    overflow-x: clip;
    position: relative;
    width: 100%;
    max-width: 100vw;
  }
  /* ── ANIMATED MESH GRADIENT (soft, slow-drifting) ── */
  body::before {
    content: "";
    position: fixed;
    inset: -20vh -20vw;
    z-index: -1;
    pointer-events: none;
    background:
      radial-gradient(44vw 38vw at 18% 22%, rgba(252,185,204,.32), transparent 62%),
      radial-gradient(38vw 36vw at 82% 18%, rgba(255,220,228,.26), transparent 65%),
      radial-gradient(48vw 42vw at 72% 78%, rgba(253,209,222,.3), transparent 62%),
      radial-gradient(36vw 34vw at 20% 84%, rgba(255,236,241,.36), transparent 60%),
      linear-gradient(180deg,#fcfcfc 0%, #fbf7f9 50%, #fbeef3 100%);
    filter: blur(10px) saturate(1.04);
    opacity: .7;
    animation: svMeshDrift 28s ease-in-out infinite alternate;
    will-change: transform, opacity;
  }
  @keyframes svMeshDrift {
    0%   { transform: translate3d(-1.5%, -1%, 0) rotate(0deg)   scale(1); }
    50%  { transform: translate3d( 2%,    1.5%, 0) rotate(.6deg)  scale(1.04); }
    100% { transform: translate3d(-1%,    2%,  0) rotate(-.4deg) scale(1.02); }
  }
  @media (prefers-reduced-motion: reduce) {
    body::before { animation: none; }
  }

  /* ── BLOBS (disabled — unified soft-pink gradient) ── */
  .blob { display:none !important; }

  /* ── LAYOUT ── */
  .page-wrap { position:relative; max-width:1360px; margin:0 auto; padding:40px 32px 80px; display:flex; flex-direction:column; gap:180px; }

  /* ── HANDWRITTEN BACKGROUND NOTES (JS typewriter loop) ── */
  .sv-notes {
    position:absolute;
    top:0; bottom:0;
    /* Extend into viewport margins on wide screens — notes live OUTSIDE content column */
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    z-index:0;
    pointer-events:none;
  }
  .sv-note {
    position:absolute;
    display:inline-block;
    font-family:'Caveat', 'Parisienne', cursive;
    font-size: clamp(.88rem, 1.2vw, 1.15rem);
    font-weight:500;
    color:#3a2f2a;
    line-height:1.3;
    white-space:nowrap;
    transform: rotate(var(--rot, 0deg));
    transform-origin:left center;
    opacity:0;
    transition: opacity .5s ease;
    will-change: opacity;
    padding-bottom:.15em;
  }
  .sv-note.is-visible { opacity:.24; }
  .sv-note .caret {
    display:inline-block;
    width:2px; height:.85em;
    background:currentColor;
    margin-left:2px;
    vertical-align:-.02em;
    animation: svCaretBlink 1s step-end infinite;
  }
  @keyframes svCaretBlink { 50% { opacity:0; } }

  .page-wrap > *:not(.sv-notes) { position:relative; z-index:1; }

  /* Hide notes on narrow viewports — they would overlap content otherwise */
  @media(max-width:1200px){
    .sv-notes { display:none; }
  }
  @media (prefers-reduced-motion: reduce) {
    .sv-note { opacity:.22; transition:none; }
  }

  /* ── GLASS CARD ── */
  .glass { background:rgba(255,255,255,.7); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.8); border-radius:24px; box-shadow:0 8px 40px rgba(0,0,0,.04); }

  /* ── SECTION HEADINGS ── */
  .section-title { font-size:clamp(1.8rem,4vw,2.5rem); font-weight:700; letter-spacing:-.02em; color:#0f172a; margin-bottom:12px; text-align:center; }
  .section-sub   { font-size:1.05rem; color:#64748b; line-height:1.7; text-align:center; max-width:600px; margin:0 auto; }
  .section-head  { display:flex; flex-direction:column; align-items:center; margin-bottom:48px; }

  /* ── ANIMACE ── */
  @keyframes fadeUp   { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
  @keyframes fadeIn   { from{opacity:0} to{opacity:1} }
  @keyframes float    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
  @keyframes zoomIn   { from{opacity:0;transform:scale(1.04)} to{opacity:1;transform:scale(1)} }
  @keyframes shimmer  { 0%{background-position:200% center} 100%{background-position:-200% center} }
  @keyframes ping     { 0%{transform:scale(1);opacity:.75} 75%,100%{transform:scale(2);opacity:0} }

  /* ── HERO ── */
  main.hero-wrap {
    display:flex !important; flex-direction:column-reverse; gap:0; overflow:hidden;
    background:transparent !important;
    backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
    border:none !important;
    border-radius:24px !important;
    box-shadow:0 8px 40px rgba(0,0,0,.04) !important;
    padding:0 !important;
  }
  main.hero-wrap::before, main.hero-wrap::after { display:none !important; }
  @media(min-width:768px){ main.hero-wrap { flex-direction:row !important; min-height:560px; } }

  .hero-left {
    flex:1; padding:24px 22px 28px; display:flex; flex-direction:column; justify-content:center;
    background:#fff;
    position:relative;
    z-index:10;
  }
  @media(min-width:768px){ .hero-left { padding:32px 44px 36px; } }

  .hero-right { width:100%; position:relative; z-index:1; min-height:460px; max-height:560px; overflow:hidden; cursor:pointer; }
  @media(min-width:768px){ .hero-right { width:52%; min-height:560px; max-height:none; } }

  /* play button */
  .hero-play {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    z-index:3; width:80px;
    display:flex; flex-direction:column; align-items:center; gap:8px;
    cursor:pointer; transition:all .25s;
    animation:fadeIn .6s 1s ease both;
  }
  .hero-play-box {
    width:72px; height:72px;
    background:rgba(255,255,255,.22);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    border:2px solid rgba(255,255,255,.55);
    border-radius:20px;
    display:flex; align-items:center; justify-content:center;
    transition:all .25s;
  }
  .hero-play:hover .hero-play-box { background:rgba(255,255,255,.38); box-shadow:0 12px 40px rgba(0,0,0,.22); }
  .hero-play:hover { transform:translate(-50%,-50%) scale(1.06); }
  .hero-play svg { width:26px; height:26px; fill:#fff; margin-left:3px; }
  .hero-play-label { font-size:.7rem; font-weight:600; color:#fff; letter-spacing:.04em; text-shadow:0 1px 4px rgba(0,0,0,.4); white-space:nowrap; }
  .hero-right img.main-photo {
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center center;
    animation:zoomIn .9s cubic-bezier(.16,1,.3,1) both;
    transition:transform 1.2s ease;
  }
  /* Desktop si nechá horní crop (vidíme tváře) */
  @media(min-width:768px){
    .hero-right img.main-photo { object-position:center top; }
  }
  /* Mobil: žádný zoom-in jump na refresh, fotka rovnou na finálním scale */
  @media(max-width:767px){
    .hero-right img.main-photo { animation:none !important; }
  }
  .hero-right:hover img.main-photo { transform:scale(1.04); }
  .hero-right .overlay { display:none; }
  .author-float { z-index:2; }

  /* stagger animace hero-left */
  .hero-left > * { animation:fadeUp .65s cubic-bezier(.16,1,.3,1) both; }
  .hero-left > :nth-child(1){ animation-delay:.05s }
  .hero-left > :nth-child(2){ animation-delay:.15s }
  .hero-left > :nth-child(3){ animation-delay:.25s }
  .hero-left > :nth-child(4){ animation-delay:.35s }
  .hero-left > :nth-child(5){ animation-delay:.45s }
  .hero-left > :nth-child(6){ animation-delay:.55s }

  .live-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,241,242,.9); border:1px solid rgba(254,205,211,.9); color:#e11d48; font-size:.75rem; font-weight:600; padding:6px 14px; border-radius:100px; margin-bottom:20px; width:max-content; backdrop-filter:blur(8px); }

  /* Sale countdown — minimalist glass pill over photo */
  .sale-countdown {
    position:absolute; top:20px; right:20px;
    z-index:4;
    display:inline-flex; align-items:center; gap:10px;
    padding:9px 14px 9px 12px;
    background:rgba(15,23,42,.32);
    backdrop-filter:blur(18px) saturate(1.3);
    -webkit-backdrop-filter:blur(18px) saturate(1.3);
    border:1px solid rgba(255,255,255,.22);
    border-radius:100px;
    color:#fff;
    box-shadow:
      0 8px 24px -10px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.14);
    animation:fadeIn .6s 1.1s ease both;
  }
  .sale-dot {
    width:6px; height:6px; border-radius:50%;
    background:#f43f5e;
    box-shadow:0 0 0 3px rgba(244,63,94,.22);
    flex-shrink:0;
    animation:salePulse 1.6s ease-in-out infinite;
  }
  @keyframes salePulse {
    0%, 100% { box-shadow:0 0 0 3px rgba(244,63,94,.22); }
    50% { box-shadow:0 0 0 6px rgba(244,63,94,0); }
  }
  .sale-body { display:flex; align-items:baseline; gap:8px; line-height:1; }
  .sale-label {
    font-size:.58rem; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase;
    color:rgba(255,255,255,.78);
  }
  .sale-time {
    display:inline-flex; align-items:baseline;
    font-variant-numeric:tabular-nums;
    color:#fff;
  }
  .sale-num {
    font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;
    font-size:.82rem; font-weight:600;
    letter-spacing:-.01em;
    min-width:1.25ch; text-align:center;
  }
  .sale-u {
    font-size:.58rem; font-weight:500;
    color:rgba(255,255,255,.55);
    margin:0 4px 0 1px;
    text-transform:lowercase;
  }
  .sale-u:last-child { margin-right:0; }
  .sale-countdown.is-ended { opacity:.55; }
  .sale-countdown.is-ended .sale-dot { animation:none; background:#94a3b8; box-shadow:none; }
  @media(max-width:640px){
    .sale-countdown { top:14px; right:14px; padding:7px 12px 7px 10px; gap:8px; }
    .sale-body { flex-direction:column; align-items:flex-start; gap:3px; }
    .sale-num { font-size:.78rem; }
  }
  .ping { position:relative; display:flex; width:8px; height:8px; }
  .ping::before { content:''; position:absolute; inset:0; border-radius:50%; background:#fb7185; animation:ping 1.2s ease infinite; opacity:.75; }
  .ping::after  { content:''; position:relative; width:8px; height:8px; border-radius:50%; background:#f43f5e; display:block; }

  .hero-h1 { font-size:clamp(2.6rem,6.5vw,4.4rem); font-weight:700; letter-spacing:-.035em; color:#0f172a; line-height:1.05; margin-bottom:18px; }
  @media(max-width:640px){
    .hero-h1 { font-size:clamp(2.4rem, 8.5vw, 3.4rem) !important; line-height:1.02 !important; letter-spacing:-.04em !important; }
  }
  .hero-h1 em { font-style:normal; color:#e11d48; }

  /* ── HERO WORD ROTATE — jemný fade ── */
  .word-rotate {
    display:inline-block;
    color:#e11d48;
    line-height:inherit;
    text-align:left;
    transition:opacity .45s cubic-bezier(.32,.72,.26,1), transform .45s cubic-bezier(.32,.72,.26,1);
    will-change:opacity, transform;
  }
  .word-rotate.is-out {
    opacity:0;
    transform:translateY(-4px);
  }
  @media (prefers-reduced-motion: reduce) {
    .word-rotate { transition:none; transform:none !important; }
  }
  .hero-h1 em.script {
    font-family:'Parisienne', cursive !important;
    font-weight:400;
    font-size:1.35em;
    line-height:.95;
    letter-spacing:0;
    padding-right:.08em;
  }
  .hero-p  { font-size:.95rem; color:#64748b; line-height:1.6; max-width:440px; margin-bottom:18px; }
  @media(max-width:640px){
    .hero-p { font-size:.95rem; line-height:1.65; margin-bottom:22px; }
    .hero-h1 { margin-bottom:20px; }
  }
  .hero-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:0; }
  @media(max-width:640px){
    .hero-ctas { gap:10px; margin-bottom:24px; flex-wrap:wrap; justify-content:flex-start; }
  }
  @property --btn-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
  }
  .btn-dark {
    position:relative; isolation:isolate;
    background:#e11d48; color:#fff;
    padding:15.5px 28px; border-radius:13px;
    font-size:.92rem; font-weight:600;
    border:1.5px solid transparent; cursor:pointer;
    display:inline-flex; align-items:center; gap:8px;
    transition:background .2s, transform .2s, box-shadow .25s;
    font-family:inherit;
    letter-spacing:-.005em;
    box-shadow:0 10px 22px rgba(225,29,72,.28);
  }
  .btn-dark::before {
    content:''; position:absolute; inset:-2px;
    border-radius:14px; padding:2px;
    background:conic-gradient(from var(--btn-angle), transparent 0 72%, rgba(255,255,255,.95) 82%, transparent 92% 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    animation: btnBorderSpin 4.5s linear infinite;
    pointer-events:none; z-index:-1;
  }
  @keyframes btnBorderSpin { to { --btn-angle: 360deg; } }
  .btn-dark:hover { background:#be123c; transform:translateY(-3px); box-shadow:0 14px 36px rgba(190,18,60,.38); }
  .btn-rose { background:#fff; color:#e11d48; padding:15.5px 28px; border-radius:13px; font-size:.92rem; font-weight:600; border:1.5px solid #fecdd3; cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:all .2s; font-family:inherit; text-decoration:none; letter-spacing:-.005em; }
  .btn-rose:hover { background:#fff0f3; border-color:#fda4af; transform:translateY(-3px); box-shadow:0 10px 32px rgba(225,29,72,.18); }
  .social-proof { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
  .avatars-row { display:flex; }
  .avatars-row img { width:36px; height:36px; border-radius:50%; border:2px solid #fff; margin-left:-10px; object-fit:cover; box-shadow:0 2px 6px rgba(225,29,72,.12); }
  .avatars-row img:first-child { margin-left:0; }
  /* Fallback pro starou verzi se span (kdyby zbyla někde) */
  .avatars-row span { width:36px; height:36px; border-radius:50%; border:2px solid #fff; margin-left:-10px; background:#fce7f3; display:flex; align-items:center; justify-content:center; font-size:.9rem; }
  .avatars-row span:first-child { margin-left:0; }
  .stars-row { color:#f59e0b; font-size:.9rem; }
  .proof-txt { font-size:.8rem; color:#64748b; font-weight:500; }

  /* Chat trigger pill — photo + text */
  .sv-chat-fab {
    position: absolute; bottom: 24px; right: 24px;
    display: flex; align-items: center; gap: 12px;
    padding: 10px 18px 10px 10px;
    background: #fff;
    border: 1px solid rgba(225,29,72,.1);
    border-radius: 100px;
    cursor: pointer;
    z-index: 50;
    font-family: inherit;
    text-align: left;
    line-height: 1;
    box-shadow: 0 14px 40px -10px rgba(225,29,72,.32), 0 4px 12px -4px rgba(45,36,33,.08);
    animation: fadeUp .55s .7s cubic-bezier(.22,1,.36,1) both;
    transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s;
  }
  .sv-chat-fab:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 50px -10px rgba(225,29,72,.45), 0 6px 16px -4px rgba(45,36,33,.12);
  }
  .sv-chat-fab:active { transform: translateY(-1px); }
  .sv-chat-fab-avatar {
    width: 42px; height: 42px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
  }
  .sv-chat-fab-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
  .sv-chat-fab-dot {
    position: absolute; bottom: 0; right: 0;
    width: 12px; height: 12px;
    background: #22c55e;
    border-radius: 50%;
    border: 2.5px solid #fff;
    box-shadow: 0 0 0 0 rgba(34,197,94,.6);
    animation: svChatFabDot 2.4s ease-in-out infinite;
  }
  @keyframes svChatFabDot {
    0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
    50%      { box-shadow: 0 0 0 5px rgba(34,197,94,0); }
    25%      { box-shadow: 0 0 0 0 rgba(34,197,94,.55); }
  }
  .sv-chat-fab-text {
    display: flex; flex-direction: column;
    gap: 4px;
    min-width: 0;
  }
  .sv-chat-fab-label {
    font-size: .76rem;
    color: #5c4f51;
    font-weight: 500;
    letter-spacing: -.005em;
    line-height: 1;
    white-space: nowrap;
  }
  .sv-chat-fab-cta {
    font-size: .9rem;
    font-weight: 700;
    color: #1a1515;
    letter-spacing: -.01em;
    line-height: 1;
    display: inline-flex; align-items: center; gap: 4px;
    white-space: nowrap;
  }
  .sv-chat-fab-cta svg { color: #e11d48; transition: transform .25s; }
  .sv-chat-fab:hover .sv-chat-fab-cta svg { transform: translateX(3px); }

  /* Close icon — appears when chat is open */
  .sv-chat-fab-close {
    display: none;
    position: absolute;
    top: 50%; right: 14px;
    transform: translateY(-50%);
    width: 28px; height: 28px;
    background: rgba(45,36,33,.06);
    border-radius: 50%;
    align-items: center; justify-content: center;
    color: #1a1515;
    pointer-events: none;
  }
  body.sv-chat-on .sv-chat-fab .sv-chat-fab-text,
  body.sv-chat-on .sv-chat-fab .sv-chat-fab-dot { display: none; }
  body.sv-chat-on .sv-chat-fab { padding: 10px 56px 10px 10px; }
  body.sv-chat-on .sv-chat-fab .sv-chat-fab-close { display: flex; }
  /* Skryté staré .author-float třídy (legacy) */
  .author-float, .author-float-avatar, .author-float-text, .author-float-name, .author-float-role, .author-float-dot { display:none; }
  /* Mobile — chat asistentka VYPNUTA (FAB i celý widget) */
  @media (max-width: 768px) {
    .sv-chat-fab,
    .sv-chat { display: none !important; }
  }
  @media(max-width:768px){ .author-float { display:none !important; } }

  /* ── FEATURE CARDS ── */
  .feat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:20px; }
  .feat-card { background:rgba(255,255,255,.8); backdrop-filter:blur(12px); border-radius:20px; padding:24px; border:1px solid rgba(203,213,225,.6); box-shadow:0 1px 4px rgba(0,0,0,.04); display:flex; flex-direction:column; gap:16px; }
  .feat-icon-wrap { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; }

  /* ── SOCIAL PROOF BAND (hidden) ── */
  .proof-band { display:none !important; }
  .proof-band-DISABLED {
    display:block;
    width:100vw;
    max-width:none;
    margin-top:48px;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding:11px 0;
    border-radius:0;
    position:relative;
    clear:both;
    background:
      linear-gradient(90deg,
        #fda4c2 0%,
        #f472b6 22%,
        #e11d48 50%,
        #f472b6 78%,
        #fda4c2 100%);
    background-size:220% 100%;
    color:#fff;
    overflow:hidden;
    box-shadow:
      0 10px 28px -14px rgba(190,18,60,.35),
      inset 0 1px 0 rgba(255,255,255,.28),
      inset 0 -1px 0 rgba(131,24,67,.2);
    animation:proofBandShimmer 18s linear infinite;
  }
  @keyframes proofBandShimmer {
    from { background-position:0% 0; }
    to   { background-position:220% 0; }
  }
  .proof-band::before,
  .proof-band::after {
    content:''; position:absolute; top:0; bottom:0; width:90px;
    pointer-events:none; z-index:2;
  }
  .proof-band::before { left:0;  background:linear-gradient(90deg, rgba(253,164,194,.98), transparent); }
  .proof-band::after  { right:0; background:linear-gradient(-90deg, rgba(253,164,194,.98), transparent); }
  .proof-track {
    display:flex; align-items:center; gap:0;
    width:max-content;
    white-space:nowrap;
    animation:proofMarquee 46s linear infinite;
  }
  @keyframes proofMarquee {
    from { transform:translateX(0); }
    to   { transform:translateX(-50%); }
  }
  .proof-item {
    display:inline-flex; align-items:center; gap:9px;
    padding:0 22px;
    font-size:.74rem; font-weight:600;
    letter-spacing:.02em; text-transform:none;
    color:rgba(255,255,255,.98);
  }
  .proof-item svg {
    width:15px; height:15px;
    opacity:.95; flex-shrink:0;
    stroke-width:1.75;
    filter:drop-shadow(0 1px 1px rgba(131,24,67,.35));
  }
  .proof-text {
    line-height:1;
    text-shadow:0 1px 2px rgba(131,24,67,.2);
  }
  .proof-text strong {
    font-weight:700;
    font-variant-numeric:tabular-nums;
  }
  .proof-sep {
    width:4px; height:4px; border-radius:50%;
    background:rgba(255,255,255,.6);
    box-shadow:0 0 0 2px rgba(255,255,255,.12);
    flex-shrink:0;
    margin:0 4px;
  }
  @media(max-width:640px){
    .proof-band {
      width:calc(100% + 32px);
      margin:28px -16px 0 -16px;
      border-radius:0;
      padding:9px 0;
    }
    .proof-item { font-size:.68rem; padding:0 16px; gap:7px; }
    .proof-item svg { width:13px; height:13px; }
    .proof-track { animation-duration:36s; }
  }
  @media (prefers-reduced-motion: reduce) {
    .proof-band, .proof-track { animation:none; }
  }

  /* ── DECORATIVE CURVE (pink sinuous line) ── */
  .sv-curve {
    display:block;
    width:130vw;
    max-width:none;
    margin-left:calc(50% - 50vw - 10vw);
    margin-right:calc(50% - 50vw - 20vw);
    margin-top:12px; margin-bottom:-20px;
    height:120px;
    position:relative;
    pointer-events:none;
    overflow:visible;
  }
  .sv-curve svg { display:block; width:100%; height:100%; overflow:visible; }
  .sv-curve-path {
    stroke-dasharray:3200;
    stroke-dashoffset:3200;
    transition:stroke-dashoffset 1.8s cubic-bezier(.22,1,.36,1);
  }
  .sv-anim.visible .sv-curve-path,
  .visible .sv-curve-path { stroke-dashoffset:0; }
  @media(max-width:768px){ .sv-curve { height:56px; margin:-6px 0 -10px; } }

  /* ── INTRO STORY (editorial pullquote + author + carousel) ── */
  .intro-story {
    display:flex; flex-direction:column;
    gap:40px; align-items:center;
    margin-top: -70px;
    margin-bottom: 40px;
  }
  @media(max-width:768px){
    .intro-story { margin-top: -40px; margin-bottom: 20px; }
  }
  .story-wrap {
    display:flex; flex-direction:column;
    align-items:center;
    max-width:720px;
    text-align:center;
    gap:8px;
  }
  .intro-story .section-kicker { margin-bottom: 0; }
  .story-quote {
    font-family:var(--ed-serif);
    font-size:clamp(1.5rem, 2.6vw, 2.1rem);
    line-height:1.35;
    font-style:italic;
    font-weight:500;
    color:#0f172a;
    letter-spacing:-.02em;
    margin:0;
    max-width:24ch;
    position:relative;
  }
  .story-quote::before {
    content:'“';
    display:block;
    text-align:center;
    font-family:var(--ed-serif);
    font-size:3em;
    line-height:.4;
    color:#e11d48;
    margin:.25em auto -.15em;
  }
  .story-lead {
    font-size:1rem;
    line-height:1.7;
    color:#475569;
    max-width:58ch;
    margin:0;
  }
  .story-lead strong { color:#0f172a; font-weight:700; }
  .story-author {
    display:inline-flex; align-items:center; gap:12px;
    margin-top:6px;
    padding:10px 16px 10px 10px;
    background:#fff;
    border:1px solid rgba(45,36,33,.08);
    border-radius:100px;
  }
  .story-avatar {
    width:40px; height:40px;
    border-radius:50%;
    object-fit:cover; object-position:top;
    flex-shrink:0;
  }
  .story-author-meta { text-align:left; line-height:1.2; }
  .story-author-name {
    font-size:.85rem; font-weight:700; color:#0f172a;
  }
  .story-author-role {
    font-size:.72rem; color:#64748b; margin-top:2px;
  }

  .story-carousel {
    width:100vw; max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
    position:relative;
    -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  }
  .story-carousel-track {
    display:flex; gap:14px;
    width:max-content;
    animation:storyMarquee 70s linear infinite;
  }
  @keyframes storyMarquee {
    from { transform:translateX(0); }
    to   { transform:translateX(-50%); }
  }
  .story-photo {
    flex-shrink:0;
    width:220px; height:280px;
    border-radius:16px;
    background-size:cover;
    background-position:center;
    box-shadow:0 10px 28px -16px rgba(15,23,42,.2);
  }
  @media(max-width:640px){
    .story-quote { font-size:1.25rem; max-width:26ch; }
    .story-quote::before { font-size:2em; }
    .story-lead { font-size:.92rem; }
    .story-photo { width:150px; height:200px; border-radius:12px; }
    .story-carousel-track { gap:10px; }
  }
  @media (prefers-reduced-motion: reduce){
    .story-carousel-track { animation:none; }
  }

  /* ── TESTIMONIAL REELS (stacked 9:16 videos) ── */
  /* Sekce "Pro koho" — zvětšený nadpis/lead */
  #obsah .section-title {
    font-size:clamp(2.4rem, 5.2vw, 4.2rem) !important;
    line-height:1.08;
  }
  #obsah .section-sub {
    font-size:1.18rem !important;
    line-height:1.7 !important;
    max-width:680px !important;
  }
  @media(max-width:640px){
    #obsah .section-title { font-size:clamp(2rem, 8.5vw, 2.8rem) !important; }
    #obsah .section-sub   { font-size:1.05rem !important; }
  }

  /* 2-col layout: 6 karet pod sebou vlevo, velká videa vpravo */
  .whom-layout {
    display:grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
    gap:56px;
    align-items:center;
    margin-top:4px;
  }
  .whom-layout .whom-grid {
    display:flex; flex-direction:column;
    gap:14px;
    position:relative;
    padding-left:42px;
  }

  /* curved serpentine timeline — draws itself when section enters view */
  .whom-line {
    position:absolute;
    left:-2px; top:0;
    width:40px; height:100%;
    pointer-events:none;
    overflow:visible;
    z-index:0;
  }
  .whom-line-path {
    stroke-dasharray:1;
    stroke-dashoffset:1;
    filter:drop-shadow(0 0 8px rgba(225,29,72,.28));
    transition:stroke-dashoffset 1.8s linear .1s;
  }
  .whom-grid.is-drawing .whom-line-path { stroke-dashoffset:0; }
  @media(max-width:960px){
    .whom-layout { grid-template-columns:1fr; gap:40px; align-items:stretch; }
    .whom-layout .whom-grid { gap:14px; }
  }

  /* timeline dot per card */
  .whom-dot {
    position:absolute;
    left:-25px; top:22px;
    width:16px; height:16px; border-radius:50%;
    background:
      radial-gradient(circle at 35% 30%, #ff6b92 0%, #e11d48 55%, #be123c 100%);
    box-shadow:
      0 0 0 3px #ffffff,
      0 0 0 4px rgba(225,29,72,.22),
      0 6px 14px -4px rgba(225,29,72,.45);
    z-index:3;
    transform:scale(0) rotate(-40deg);
    opacity:0;
    transition:transform .7s cubic-bezier(.34,1.56,.64,1) var(--card-delay,0ms),
               opacity .5s ease var(--card-delay,0ms);
  }
  .whom-dot::before {
    content:'';
    position:absolute; inset:-6px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(225,29,72,.35) 0%, rgba(225,29,72,0) 70%);
    opacity:0;
    animation:none;
  }
  .whom-dot::after {
    content:'';
    position:absolute; inset:-3px;
    border-radius:50%;
    border:1.5px solid rgba(225,29,72,.4);
    opacity:0;
    transform:scale(.8);
  }
  .whom-grid.is-drawing .whom-dot {
    opacity:1;
    transform:scale(1) rotate(0);
  }
  .whom-grid.is-drawing .whom-dot::before {
    animation:whomDotPulse 2.6s ease-out calc(var(--card-delay,0ms) + .3s) 2 both;
  }
  @keyframes whomDotPulse {
    0%   { opacity:.9; transform:scale(.5); }
    100% { opacity:0;  transform:scale(2.4); }
  }
  .whom-grid.is-drawing .whom-card-new:hover .whom-dot {
    transform:scale(1.18);
    box-shadow:
      0 0 0 3px #ffffff,
      0 0 0 5px rgba(225,29,72,.35),
      0 8px 18px -4px rgba(225,29,72,.55);
  }
  .whom-grid.is-drawing .whom-card-new:hover .whom-dot::after {
    opacity:1; transform:scale(1.6);
    transition:transform .6s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  }
  @media(max-width:960px){
    .whom-dot { left:-25px; }
  }

  /* alternating slide-in direction for cards (uses --i) */
  .sv-anim .whom-card-new {
    --slide-x:0px;
  }
  .sv-anim .whom-card-new:nth-child(odd)  { --slide-x:-18px; }
  .sv-anim .whom-card-new:nth-child(even) { --slide-x: 18px; }

  /* Reels — stackovaný carousel: 1 velké vepředu, 2 za ním, šipky mění featured */
  .reels-stack {
    position:relative;
    width:100%;
    max-width:520px;
    margin:0 auto;
    height:clamp(520px, 58vw, 620px);
    padding:0 48px;
    isolation:isolate;
    perspective:1600px;
  }
  @media(max-width:960px){
    .reels-stack { max-width:420px; padding:0 42px; height:clamp(460px, 62vw, 540px); }
  }
  @media(max-width:560px){
    .reels-stack { max-width:320px; padding:0 32px; height:440px; }
  }

  .reels-arrow {
    position:absolute;
    top:50%; transform:translateY(-50%);
    width:44px; height:44px; border-radius:50%;
    background:#ffffff;
    border:1px solid rgba(45,36,33,.08);
    color:#e11d48;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    z-index:10;
    box-shadow:
      0 10px 24px -10px rgba(190,18,60,.35),
      0 2px 6px -2px rgba(0,0,0,.08);
    transition:transform .3s cubic-bezier(.22,1,.36,1),
               box-shadow .3s ease,
               background .25s ease;
    font-family:inherit;
  }
  .reels-arrow svg { width:18px; height:18px; }
  .reels-arrow:hover {
    transform:translateY(-50%) scale(1.08);
    background:#fff0f3;
    box-shadow:
      0 14px 30px -10px rgba(190,18,60,.45),
      0 4px 10px -4px rgba(0,0,0,.1);
  }
  .reels-arrow:active { transform:translateY(-50%) scale(.96); }
  .reels-arrow-prev { left:-8px; }
  .reels-arrow-next { right:-8px; }
  @media(max-width:560px){
    .reels-arrow { width:38px; height:38px; }
    .reels-arrow svg { width:16px; height:16px; }
    .reels-arrow-prev { left:-4px; }
    .reels-arrow-next { right:-4px; }
  }

  /* Dots indicator under stack */
  .reels-dots {
    position:absolute;
    left:0; right:0; bottom:-32px;
    display:flex; align-items:center; justify-content:center;
    gap:10px;
    z-index:10;
  }
  .reels-dot {
    width:10px; height:10px; border-radius:50%;
    background:rgba(225,29,72,.3);
    border:1px solid rgba(225,29,72,.4);
    padding:0; cursor:pointer;
    transition:transform .3s cubic-bezier(.22,1,.36,1),
               background .25s ease, width .3s ease, border-color .25s ease;
    box-sizing:border-box;
  }
  .reels-dot:hover { background:rgba(225,29,72,.55); border-color:rgba(225,29,72,.65); }
  .reels-dot.is-on {
    background:#e11d48;
    border-color:#e11d48;
    width:28px; border-radius:5px;
  }
  /* Mobil: skryj červené tečky pod 3 reely (rušily kompozici) */
  @media (max-width: 768px) {
    .reels-dots { display: none !important; }
  }
  .reel-card {
    position:absolute;
    inset:0 48px;
    border-radius:28px;
    overflow:hidden;
    cursor:pointer;
    border:0; padding:0;
    background:#2d2421;
    box-shadow:
      0 24px 54px -22px rgba(190,18,60,.42),
      0 8px 18px -8px rgba(45,36,33,.22);
    transition:
      transform .65s cubic-bezier(.22,1,.36,1),
      box-shadow .55s cubic-bezier(.22,1,.36,1),
      filter .4s ease,
      opacity .4s ease;
    font-family:inherit;
    text-align:left;
    transform-origin:center center;
    will-change:transform, opacity;
    backface-visibility:hidden;
  }
  @media(max-width:960px){
    .reel-card { inset:0 42px; }
  }
  @media(max-width:560px){
    .reel-card { inset:0 32px; border-radius:22px; }
  }

  /* Stack positions — featured front + 2 behind peeking */
  .reel-card.is-featured {
    z-index:5;
    transform:translate3d(0, 0, 0) scale(1) rotate(0deg);
    opacity:1;
    filter:none;
    pointer-events:auto;
  }
  .reel-card.is-peek-prev {
    z-index:2;
    transform:translate3d(-26%, 5%, -80px) scale(.86) rotate(-6deg);
    opacity:.42;
    filter:saturate(.85) brightness(.88) blur(.5px);
    pointer-events:none;
  }
  .reel-card.is-peek-next {
    z-index:2;
    transform:translate3d(26%, 5%, -80px) scale(.86) rotate(6deg);
    opacity:.42;
    filter:saturate(.85) brightness(.88) blur(.5px);
    pointer-events:none;
  }
  .reel-card.is-featured:hover {
    transform:translate3d(0, -4px, 0) scale(1.01);
    box-shadow:
      0 34px 68px -22px rgba(190,18,60,.5),
      0 14px 26px -10px rgba(45,36,33,.28);
  }
  .reel-card::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(135deg, rgba(225,29,72,.18) 0%, transparent 40%);
    opacity:0; transition:opacity .4s ease;
    z-index:4; pointer-events:none;
  }
  /* legacy hover-zone classes no longer used — carousel takes over */
  .reel-card.is-active::before { opacity:1; }
  .reel-card:focus-visible {
    outline:2px solid #e11d48; outline-offset:3px;
  }
  .reel-video {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .4s ease;
    z-index:0;
  }
  .reel-card.is-playing .reel-video { opacity:1; }
  .reel-card.is-playing .reel-img { opacity:0; }
  .reel-card.is-playing .reel-play,
  .reel-card.is-playing .reel-pulse { opacity:0; }
  .reel-media {
    position:absolute; inset:0;
    background:
      radial-gradient(at 30% 25%, #fbcfe2 0%, transparent 55%),
      linear-gradient(180deg, #fda4c2 0%, #e11d48 60%, #831843 100%);
    overflow:hidden;
  }
  .reel-img {
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover;
    transition:transform 1.2s cubic-bezier(.22,1,.36,1), filter .4s, opacity .4s ease;
    filter:saturate(1.02);
  }
  .reel-card:hover .reel-img { transform:scale(1.06); }
  .reel-gradient {
    position:absolute; inset:0;
    background:linear-gradient(180deg,
      rgba(20,10,14,0) 40%,
      rgba(20,10,14,.6) 72%,
      rgba(20,10,14,.92) 100%);
    z-index:1;
  }
  .reel-noise {
    position:absolute; inset:0; z-index:2;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
    opacity:.45;
    pointer-events:none;
  }
  .reel-tag {
    position:absolute; top:12px; left:12px; z-index:4;
    display:inline-flex; align-items:center;
    padding:5px 10px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.55);
    border-radius:100px;
    color:#be123c;
    font-size:.62rem; font-weight:700;
    letter-spacing:.1em; text-transform:uppercase;
    box-shadow:0 4px 12px -4px rgba(0,0,0,.2);
    max-width:calc(100% - 24px);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .reel-play {
    position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%);
    width:54px; height:54px; border-radius:50%;
    background:rgba(255,255,255,.96);
    color:#e11d48;
    display:flex; align-items:center; justify-content:center;
    box-shadow:
      0 10px 28px -6px rgba(0,0,0,.35),
      0 0 0 6px rgba(255,255,255,.14);
    z-index:4; pointer-events:none;
    transition:transform .4s cubic-bezier(.34,1.56,.64,1), opacity .35s ease;
  }
  .reel-play svg { width:22px; height:22px; margin-left:3px; }
  .reel-card:hover .reel-play { transform:translate(-50%,-50%) scale(1.12); }
  .reel-pulse {
    position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%);
    width:54px; height:54px; border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 0 rgba(255,255,255,.7);
    z-index:3; pointer-events:none;
    animation:reelPulse 2.4s cubic-bezier(.22,1,.36,1) infinite;
    transition:opacity .35s ease;
  }
  @keyframes reelPulse {
    0%   { box-shadow:0 0 0 0 rgba(255,255,255,.5); opacity:.9; }
    80%  { box-shadow:0 0 0 22px rgba(255,255,255,0); opacity:0; }
    100% { box-shadow:0 0 0 0 rgba(255,255,255,0);    opacity:0; }
  }
  .reel-caption {
    position:absolute; left:0; right:0; bottom:0;
    padding:14px 16px 16px;
    color:#fff;
    z-index:3;
  }
  .reel-quote {
    font-family:'Parisienne', cursive;
    font-size:1.08rem; line-height:1.25;
    margin:0 0 10px;
    color:#fff;
    text-shadow:0 2px 10px rgba(0,0,0,.35);
  }
  .reel-meta { display:flex; align-items:center; gap:10px; }
  .reel-avatar {
    flex-shrink:0;
    width:28px; height:28px; border-radius:50%;
    background:linear-gradient(135deg,#fff 0%,#ffe4ec 100%);
    color:#be123c;
    display:flex; align-items:center; justify-content:center;
    font-size:.66rem; font-weight:800;
    letter-spacing:.04em;
    box-shadow:0 2px 6px rgba(0,0,0,.25);
  }
  .reel-name {
    font-size:.72rem; font-weight:500;
    letter-spacing:.02em;
    color:rgba(255,255,255,.92);
  }
  .reel-name strong { color:#fff; font-weight:700; }
  @media(max-width:640px){
    .reel-tag { display:none; }
    .reel-play { width:42px; height:42px; }
    .reel-play svg { width:17px; height:17px; }
    .reel-pulse { width:42px; height:42px; }
    .reel-caption { padding:10px 10px 12px; }
    .reel-quote { font-size:.85rem; margin-bottom:6px; }
    .reel-meta { gap:6px; }
    .reel-avatar { width:22px; height:22px; font-size:.58rem; }
    .reel-name { font-size:.62rem; }
    .reel-card { border-radius:16px; }
  }

  /* ── FOR WHOM ── */
  .whom-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  @media(min-width:760px){ .whom-grid { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); } }
  .whom-card-new {
    position:relative;
    display:flex; flex-direction:column; gap:6px;
    padding:16px 18px 16px 20px;
    background:
      radial-gradient(circle at 100% 100%, rgba(252,185,204,.35) 0%, rgba(252,185,204,0) 55%),
      linear-gradient(180deg,#ffffff 0%, #fffafb 100%);
    border-radius:18px;
    border:1px solid rgba(252,185,204,.55);
    overflow:visible;
    isolation:isolate;
    box-shadow:
      0 1px 2px rgba(45,36,33,.04),
      0 0 0 1px rgba(255,255,255,.5) inset;
    transition:transform .5s cubic-bezier(.22,1,.36,1),
               box-shadow .5s cubic-bezier(.22,1,.36,1),
               border-color .4s ease,
               background .45s ease;
  }
  .whom-card-new::before {
    content:'';
    position:absolute; inset:0;
    border-radius:inherit;
    padding:1px;
    background:linear-gradient(135deg,
      rgba(225,29,72,0) 0%,
      rgba(225,29,72,0) 55%,
      rgba(225,29,72,.45) 85%,
      rgba(252,185,204,.8) 100%);
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
            mask-composite:exclude;
    opacity:0;
    transition:opacity .45s ease;
    pointer-events:none;
  }
  .whom-card-new::after {
    content:attr(data-num);
    position:absolute; top:10px; right:16px;
    font-family:'Parisienne', cursive;
    font-size:1.15rem; line-height:1;
    color:rgba(225,29,72,.32);
    transition:color .4s ease, transform .4s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
  }
  .whom-card-new:hover::before { opacity:1; }
  .whom-card-new:hover::after { color:rgba(225,29,72,.72); transform:rotate(-6deg) translateY(-1px); }

  .whom-icon-wrap {
    display:flex; align-items:center; gap:12px;
    padding-right:26px;
  }
  .whom-icon-circle {
    position:relative;
    width:36px; height:36px; border-radius:11px;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.85),
      inset 0 -1px 0 rgba(225,29,72,.06),
      0 5px 12px -6px rgba(225,29,72,.28);
    transition:transform .5s cubic-bezier(.22,1,.36,1),
               box-shadow .4s ease;
  }
  .whom-icon-circle::before {
    content:'';
    position:absolute; inset:-2px;
    border-radius:13px;
    background:conic-gradient(from 140deg, rgba(225,29,72,0), rgba(225,29,72,.45), rgba(225,29,72,0) 55%);
    opacity:0;
    transition:opacity .5s ease;
    z-index:-1;
    filter:blur(4px);
  }
  .whom-card-new:hover .whom-icon-circle::before { opacity:1; }
  .whom-icon-circle svg { width:17px; height:17px; }
  .whom-title {
    font-size:.88rem; font-weight:700; letter-spacing:-.012em;
    color:#0f172a; line-height:1.25;
    margin:0;
  }
  .whom-body {
    font-size:.78rem; line-height:1.5;
    color:#64748b;
    margin:0;
  }

  /* ── MODULES ── editorial */
  .modules-grid { display:grid; grid-template-columns:1fr; gap:0; border-top:1px solid rgba(15,23,42,.08); }
  @media(min-width:768px){ .modules-grid { grid-template-columns:1fr 1fr; column-gap:64px; } }
  .module-new {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:24px;
    align-items:center;
    padding:24px 6px;
    border-bottom:1px solid rgba(15,23,42,.08);
    transition:background .45s cubic-bezier(.16,1,.3,1);
    position:relative;
  }
  @media(min-width:768px){ .module-new { padding:28px 2px; gap:28px; } }
  @media(max-width:560px){
    .module-new { grid-template-columns:auto 1fr; gap:18px; }
    .module-new .module-thumb { display:none; }
  }
  .module-thumb {
    width:88px;
    flex-shrink:0;
    border-radius:8px;
    overflow:hidden;
    background:#f8fafc;
    box-shadow:0 4px 14px -6px rgba(15,23,42,.18), 0 0 0 1px rgba(254,205,211,.5);
    transform:rotate(-2deg);
    transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
  }
  .module-thumb img { display:block; width:100%; height:auto; transition:transform .5s cubic-bezier(.16,1,.3,1); }
  .module-new:hover .module-thumb {
    transform:rotate(0) scale(1.06) translateY(-2px);
    box-shadow:0 18px 36px -12px rgba(225,29,72,.28), 0 0 0 1.5px rgba(225,29,72,.35);
  }
  .module-new:hover .module-thumb img { transform:scale(1.04); }
  .module-thumb--bonus {
    width:120px;
    transform:rotate(2deg);
    box-shadow:0 8px 22px -8px rgba(225,29,72,.35), 0 0 0 2px rgba(225,29,72,.18);
  }
  .module-new--bonus:hover .module-thumb--bonus { transform:rotate(0) scale(1.04); }
  @media(max-width:560px){
    .module-new--bonus { grid-template-columns:auto 1fr; }
    .module-new--bonus .module-thumb--bonus { display:none; }
  }
  .module-new::before {
    content:''; position:absolute; left:0; right:0; bottom:-1px;
    height:1px; background:#e11d48; transform:scaleX(0); transform-origin:left;
    transition:transform .5s cubic-bezier(.16,1,.3,1);
  }
  .module-new:hover::before { transform:scaleX(1); }
  .module-num-new {
    font-size:clamp(2.6rem,4.4vw,3.4rem);
    font-weight:200;
    letter-spacing:-.05em;
    color:#cbd5e1;
    line-height:1;
    min-width:78px;
    font-feature-settings:"tnum" 1, "lnum" 1;
    transition:color .45s cubic-bezier(.16,1,.3,1), transform .45s cubic-bezier(.16,1,.3,1);
    background:none; border-radius:0; width:auto; height:auto; display:block;
    padding-top:6px;
  }
  .module-new:hover .module-num-new { color:#e11d48; transform:translateX(-2px); }
  .module-label { font-size:.66rem; font-weight:600; color:#e11d48; margin-bottom:6px; text-transform:uppercase; letter-spacing:.14em; }
  .module-title { font-size:1.08rem; font-weight:600; color:#0f172a; margin-bottom:6px; letter-spacing:-.01em; line-height:1.35; }
  .module-desc  { font-size:.875rem; color:#64748b; line-height:1.7; }

  /* ── BONUS modul (zvýrazněný) ── */
  .module-new--bonus {
    background:linear-gradient(135deg, #fff5f7 0%, #fff 60%);
    border-radius:16px;
    padding:24px 22px;
    border-bottom:none;
    margin-top:8px;
    border:1.5px solid rgba(225,29,72,.18);
    box-shadow:0 6px 18px -10px rgba(225,29,72,.18);
  }
  @media(min-width:768px){
    .module-new--bonus { grid-column:1/-1; padding:28px 28px; }
  }
  .module-new--bonus::before { display:none; }
  .module-num-new--bonus {
    width:54px; height:54px; min-width:54px;
    background:linear-gradient(135deg, #e11d48, #be123c);
    color:#fff;
    border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    padding:0;
    box-shadow:0 8px 18px -8px rgba(225,29,72,.45);
  }
  .module-num-new--bonus svg { width:22px; height:22px; }
  .module-new--bonus:hover .module-num-new--bonus {
    color:#fff; transform:none;
  }
  .module-label--bonus {
    color:#e11d48;
    font-weight:700;
    letter-spacing:.16em;
  }

  /* ── Canva poznámka pod moduly ── */
  .sv-canva-info {
    margin: 36px auto 0;
    max-width: 980px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  .sv-canva-info-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .sv-canva-info-card:hover {
    border-color: #fecdd3;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px -12px rgba(225,29,72,.15);
  }
  .sv-canva-info-ico {
    flex-shrink: 0;
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px;
    background: rgba(225,29,72,.08);
    color: #e11d48;
  }
  .sv-canva-info-ico svg { width: 18px; height: 18px; }
  .sv-canva-info-ico--canva {
    background: transparent;
    padding: 0;
  }
  .sv-canva-info-ico--canva img {
    width: 36px; height: 36px;
    object-fit: contain;
    display: block;
  }
  .sv-canva-info-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
  .sv-canva-info-body strong {
    font-size: .9rem; font-weight: 600;
    color: #1f1f23;
    letter-spacing: -.005em;
  }
  .sv-canva-info-body span {
    font-size: .82rem;
    line-height: 1.5;
    color: #64748b;
  }
  @media (max-width: 768px) {
    .sv-canva-info { grid-template-columns: 1fr; gap: 10px; margin-top: 28px; }
    .sv-canva-info-card { padding: 14px 16px; }
    .sv-canva-info-ico { width: 32px; height: 32px; }
    .sv-canva-info-ico svg { width: 16px; height: 16px; }
    .sv-canva-info-ico--canva img { width: 32px; height: 32px; }
    .sv-canva-info-body strong { font-size: .88rem; }
    .sv-canva-info-body span { font-size: .8rem; }
  }

  /* ── ABOUT ── */
  .about-section { padding: 26px 28px !important; }
  @media(max-width:768px){ .about-section { padding: 20px 20px !important; } }
  .about-wrap { display:grid; grid-template-columns:1fr; gap:28px; }
  @media(min-width:1024px){ .about-wrap { grid-template-columns:380px 1fr; gap:52px; align-items:center; } }
  .about-content { display:flex; flex-direction:column; gap:22px; max-width:none; width:100%; }
  .about-head { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
  .about-h2 {
    text-align:left !important;
    font-size: clamp(1.55rem, 2.6vw, 2rem) !important;
    line-height:1.2 !important;
    letter-spacing:-.02em !important;
    margin:0 !important;
    display:flex !important; flex-direction:column !important; align-items:flex-start !important;
    gap:10px;
    width:100%;
  }
  .about-brand-logo {
    display:block;
    width:auto; max-width:180px;
    height:auto;
    object-fit:contain; object-position:left center;
    margin:0 auto 0 0 !important;
    align-self:flex-start !important;
  }
  @media(max-width:640px){
    .about-brand-logo { max-width:140px; }
  }
  .about-h2-rest { display:inline-block; }
  @media(max-width:640px){
    .about-h2 { gap:8px; }
  }
  .about-lead { font-size:.95rem; color:#64748b; line-height:1.7; margin:0; }

  /* Bonus box — volitelný pink card pod about textem */
  .about-bonus {
    display:flex; gap:14px; align-items:flex-start;
    padding:16px 18px;
    background: linear-gradient(135deg, rgba(255,241,244,.95) 0%, rgba(252,205,219,.45) 100%);
    border:1px solid rgba(225,29,72,.2);
    border-radius:14px;
  }
  .about-bonus-tag {
    flex-shrink:0;
    display:inline-flex; align-items:center;
    padding:5px 11px;
    font-size:.64rem; font-weight:700;
    letter-spacing:.16em; text-transform:uppercase;
    color:#fff; background:#e11d48;
    border-radius:100px;
    margin-top:2px;
  }
  .about-bonus-text {
    margin:0;
    font-size:.9rem; color:#475569; line-height:1.6;
  }
  .about-bonus-text strong { color:#e11d48; font-weight:700; }
  @media(max-width:640px){
    .about-bonus { flex-direction:column; gap:10px; padding:14px; }
    .about-bonus-text { font-size:.85rem; }
    .about-stats-inline { gap:20px; }
    .about-stat-num { font-size:1.5rem; }
    .about-stat-lbl { font-size:.72rem; }
  }
  .about-badge { display:inline-flex; align-items:center; gap:8px; background:#f1f5f9; border:1px solid #e2e8f0; color:#475569; font-size:.75rem; font-weight:600; padding:6px 14px; border-radius:100px; width:max-content; }
  .about-stats-grid { display:flex; flex-direction:column; gap:14px; width:100%; }
  @media(min-width:1024px){ .about-stats-grid { width:180px; } }
  .stat-box { background:rgba(248,250,252,.8); border-radius:20px; padding:28px; border:1px solid rgba(226,232,240,.5); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:8px; }
  .stat-box.full { grid-column:1/-1; }
  .stat-num-new { font-size:2.2rem; font-weight:700; letter-spacing:-.03em; color:#0f172a; line-height:1; }
  .stat-lbl-new { font-size:.8rem; color:#64748b; font-weight:500; }
  .check-list { display:flex; flex-direction:column; gap:10px; list-style:none; padding:0; margin:0; }
  .check-list li { display:flex; align-items:flex-start; gap:10px; font-size:.9rem; color:#475569; line-height:1.6; }
  .check-list li::before { content:''; width:18px; height:18px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e11d48' stroke-width='2.5'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat; flex-shrink:0; margin-top:2px; }
  .about-photo { width:100%; border-radius:20px; overflow:hidden; box-shadow:0 14px 40px rgba(0,0,0,.09); }
  @media(min-width:1024px){ .about-photo { width:380px; flex-shrink:0; } }
  .about-photo img { width:100%; height:440px; object-fit:cover; object-position:top; display:block; }
  @media(max-width:640px){ .about-photo img { height:320px; } }
  .quote-box { background:#f8fafc; border-radius:14px; border:1px solid #e2e8f0; padding:16px 20px; font-size:.875rem; font-style:italic; color:#475569; font-weight:500; }

  /* ── REVIEWS ── */
  .revscroll-outer {
    display:flex; gap:20px; overflow:hidden;
    -webkit-mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent);
    mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent);
    max-height:700px;
  }
  .revscroll-col { flex:1; display:flex; flex-direction:column; gap:20px; overflow:hidden; }
  .revscroll-col:nth-child(2) { display:none; }
  .revscroll-col:nth-child(3) { display:none; }
  @media(min-width:768px){ .revscroll-col:nth-child(2){ display:flex; } }
  @media(min-width:1024px){ .revscroll-col:nth-child(3){ display:flex; } }
  .revscroll-track {
    display:flex; flex-direction:column;
    animation:revScrollUp var(--dur,15s) linear infinite;
  }
  .revscroll-track .rev-card { margin-bottom:20px; }
  .revscroll-col:hover .revscroll-track { animation-play-state:paused; }
  @keyframes revScrollUp {
    from{ transform:translateY(0); }
    to{   transform:translateY(-50%); }
  }
  .rev-card {
    background:#fff; border:1px solid rgba(203,213,225,.7);
    border-radius:20px; padding:24px; flex-shrink:0;
    box-shadow:0 2px 16px rgba(0,0,0,.05);
    transition:box-shadow .2s, border-color .2s;
  }
  .rev-card:hover { box-shadow:0 8px 32px rgba(225,29,72,.1); border-color:rgba(225,29,72,.2); }
  .rev-stars { color:#f59e0b; font-size:.85rem; letter-spacing:2px; margin-bottom:10px; }
  .rev-text { font-size:.88rem; color:#475569; line-height:1.75; margin-bottom:16px; }
  .rev-author { display:flex; align-items:center; gap:10px; }
  .rev-photo { width:42px; height:42px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid #fce7eb; }
  .rev-photo--initials {
    display:inline-flex; align-items:center; justify-content:center;
    background: linear-gradient(135deg, #fff0f5 0%, #fcb9cc 100%);
    color:#7a0f2e;
    font-size:.92rem; font-weight:700;
    letter-spacing:-.01em;
    line-height:1;
  }
  .rev-name { font-weight:700; font-size:.875rem; color:#0f172a; }
  .rev-role { font-size:.72rem; color:#94a3b8; }

  /* ── PRICING v6 — bigger section padding, smaller card padding, wider boxes ── */
  .sv-pricing {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 920px;
    margin: 18px auto 0;
  }
  @media(min-width: 820px) {
    .sv-pricing { grid-template-columns: 1fr 1fr; gap: 18px; align-items: end; margin: 22px auto 0; }
  }
  .sv-pcard {
    position: relative;
    display: flex; flex-direction: column;
    padding: 22px 26px 8px;
    background: #fff;
    border: 1.5px solid rgba(15,15,18,.1);
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(0,0,0,.04);
    transition: border-color .25s ease, transform .35s cubic-bezier(.22,1,.36,1), box-shadow .25s ease;
  }
  .sv-pcard:hover {
    box-shadow: 0 18px 40px rgba(0,0,0,.06);
    border-color: rgba(225,29,72,.4);
  }
  .sv-pcard-featured {
    background: #fdf6f8;
    border-color: #e11d48;
    box-shadow: 0 12px 36px rgba(225,29,72,.12);
    padding-top: 36px;
  }
  .sv-pcard-featured:hover {
    box-shadow: 0 20px 44px rgba(225,29,72,.18);
  }
  .sv-pcard-ribbon {
    position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
    display: inline-flex; align-items: center; gap: 6px;
    height: 28px; padding: 0 14px;
    background: linear-gradient(135deg, #e11d48 0%, #be123c 100%);
    color: #fff;
    font-size: .72rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase;
    border-radius: 100px;
    box-shadow: 0 6px 16px -4px rgba(225,29,72,.45);
    white-space: nowrap;
  }
  .sv-pcard-ribbon svg { color: #ffd17a; }

  /* Head: tag + title + sub */
  .sv-pcard-head {
    margin-bottom: 22px;
  }
  .sv-pcard-tag {
    display: inline-block;
    font-size: .64rem; font-weight: 700;
    color: #71717a;
    letter-spacing: .14em; text-transform: uppercase;
    margin-bottom: 8px;
  }
  .sv-pcard-tag-rose { color: #e11d48; }
  .sv-pcard-title {
    font-size: 1.35rem; font-weight: 700;
    color: #3f3f46;
    letter-spacing: -.025em;
    margin: 0 0 6px;
    line-height: 1.1;
  }
  .sv-pcard-sub {
    font-size: .85rem; font-weight: 500;
    color: #71717a;
    line-height: 1.5;
    margin: 0;
    letter-spacing: -.005em;
  }

  /* Price block */
  .sv-pcard-price {
    margin-bottom: 22px;
    font-variant-numeric: tabular-nums;
  }
  .sv-pcard-price-old {
    display: block;
    font-size: .82rem; font-weight: 600;
    color: #a1a1aa;
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
    letter-spacing: -.005em;
    margin-bottom: 4px;
  }
  .sv-pcard-price-row {
    display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  }
  .sv-pcard-price-num {
    font-size: 2.4rem; font-weight: 800;
    color: #3f3f46;
    letter-spacing: -.035em;
    line-height: 1;
  }
  .sv-pcard-featured .sv-pcard-price-num { color: #e11d48; }
  .sv-pcard-price-suffix {
    font-size: .82rem; font-weight: 600;
    color: #71717a;
    letter-spacing: -.005em;
  }
  .sv-pcard-price-note {
    margin: 8px 0 0;
    font-size: .76rem; font-weight: 500;
    color: #a1a1aa;
    letter-spacing: -.005em;
  }
  .sv-pcard-price-note-rose {
    display: inline-flex; align-items: center; gap: 5px;
    color: #e11d48; font-weight: 700;
  }
  .sv-pcard-price-note-rose svg { color: #e11d48; flex-shrink: 0; }

  /* CTA — pod price */
  /* Defensive reset — žádné browser default backgrounds, žádné pseudo elementy */
  button.sv-pcard-cta,
  .sv-pcard-cta {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    width: 100%;
    padding: 18px 22px;
    border-radius: 14px;
    font-size: .92rem; font-weight: 700;
    letter-spacing: -.005em;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex; align-items: center; justify-content: center;
    gap: 8px;
    margin: 0;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: inherit;
    outline: none;
    border: 0;
    box-shadow: none;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, transform .15s ease, color .2s ease, box-shadow .25s ease;
  }
  .sv-pcard-cta::before,
  .sv-pcard-cta::after { content: none !important; display: none !important; }
  .sv-pcard-cta:focus-visible {
    outline: 3px solid rgba(225,29,72,.35);
    outline-offset: 2px;
  }
  .sv-pcard-foot { background: transparent; }
  .sv-pcard-foot::before,
  .sv-pcard-foot::after { content: none !important; }
  button.sv-pcard-cta.sv-pcard-cta-ghost,
  .sv-pcard-cta.sv-pcard-cta-ghost {
    background: #fff !important;
    background-color: #fff !important;
    color: #e11d48;
    border: 1.5px solid rgba(225,29,72,.25);
  }
  button.sv-pcard-cta.sv-pcard-cta-ghost:hover,
  .sv-pcard-cta.sv-pcard-cta-ghost:hover {
    background: #fff5f7 !important;
    background-color: #fff5f7 !important;
    color: #be123c;
    border-color: rgba(225,29,72,.45);
  }
  button.sv-pcard-cta.sv-pcard-cta-primary,
  .sv-pcard-cta.sv-pcard-cta-primary {
    background: #e11d48 !important;
    background-color: #e11d48 !important;
    color: #fff;
    border: 1.5px solid #e11d48;
    box-shadow: 0 8px 20px -6px rgba(225,29,72,.45);
  }
  button.sv-pcard-cta.sv-pcard-cta-primary:hover,
  .sv-pcard-cta.sv-pcard-cta-primary:hover {
    background: #be123c !important;
    background-color: #be123c !important;
    border-color: #be123c;
    box-shadow: 0 12px 28px -6px rgba(225,29,72,.55);
  }
  .sv-pcard-cta-primary svg { transition: transform .2s ease; }
  .sv-pcard-cta-primary:hover svg { transform: translateX(2px); }

  /* Bonus highlight (Premium) — pod CTA */
  .sv-pcard-bonus {
    display: flex; align-items: flex-start; gap: 12px;
    background: #fff;
    border: 1.5px solid rgba(225,29,72,.25);
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 22px;
    position: relative;
  }
  .sv-pcard-bonus::after {
    content: 'ZDARMA';
    position: absolute; top: -9px; right: 12px;
    font-size: .58rem; font-weight: 800;
    letter-spacing: .14em;
    color: #fff;
    background: #e11d48;
    padding: 3px 9px;
    border-radius: 100px;
    box-shadow: 0 4px 8px -2px rgba(225,29,72,.4);
  }
  .sv-pcard-bonus-icon {
    width: 36px; height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, #e11d48 0%, #be123c 100%);
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 6px 14px -4px rgba(225,29,72,.4);
  }
  .sv-pcard-bonus-body { min-width: 0; }
  .sv-pcard-bonus-tag {
    font-size: .66rem; font-weight: 800;
    color: #e11d48;
    letter-spacing: .12em; text-transform: uppercase;
    margin-bottom: 2px;
  }
  .sv-pcard-bonus-text {
    font-size: .9rem; font-weight: 600;
    color: #3f3f46;
    line-height: 1.4;
    letter-spacing: -.005em;
  }
  .sv-pcard-bonus-text strong { font-weight: 800; color: #e11d48; }

  /* Features block */
  .sv-pcard-features-block {
    margin-top: auto;
    padding-top: 4px;
  }
  .sv-pcard-features-head {
    font-size: .76rem; font-weight: 700;
    color: #3f3f46;
    margin-bottom: 12px;
    letter-spacing: -.005em;
  }
  .sv-pcard-featured .sv-pcard-features-head { color: #3f3f46; }
  .sv-pcard-features {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 10px;
  }
  .sv-pcard-features li {
    display: flex; align-items: center; gap: 10px;
    font-size: .82rem; font-weight: 500;
    color: #3f3f46;
    line-height: 1.45;
    letter-spacing: -.005em;
  }
  .sv-pcard-features li.is-off {
    color: #a1a1aa;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(161,161,170,.5);
  }

  /* Numbered colored circles — Basic je světlejší než Premium */
  .sv-feat-num {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fb7185 0%, #f43f5e 100%);
    color: #fff;
    font-size: .66rem; font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 2px 6px -1px rgba(244,63,94,.25);
  }
  /* Featured (Premium) card — deep rose, výraznější */
  .sv-pcard-featured .sv-feat-num {
    background: linear-gradient(135deg, #e11d48 0%, #be123c 100%);
    box-shadow:
      0 3px 8px -2px rgba(225,29,72,.4),
      0 0 0 1.5px rgba(255,255,255,.7);
  }

  /* X icon for "Není v tomto balíčku" */
  .sv-feat-x {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #f4f4f5;
    color: #a1a1aa;
  }
  .sv-feat-x svg { width: 11px; height: 11px; }

  /* "Není v tomto balíčku" block */
  .sv-pcard-missing {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px dashed rgba(15,15,18,.12);
  }
  .sv-pcard-features-head-muted {
    color: #a1a1aa;
    font-size: .72rem;
    letter-spacing: .12em; text-transform: uppercase;
  }
  .sv-pcard-features-off li {
    color: #a1a1aa;
    font-weight: 500;
  }

  /* Premium bonus highlight in features list */
  .sv-feat-bonus { font-weight: 600 !important; }
  .sv-feat-bonus strong { font-weight: 800; color: #e11d48; }

  /* Reálná hodnota box (Premium) */
  .sv-pcard-value {
    display: flex; align-items: center; justify-content: space-between;
    gap: 14px;
    margin-top: 18px;
    padding: 14px 16px;
    background: rgba(255,255,255,.6);
    border: 1px dashed rgba(225,29,72,.3);
    border-radius: 12px;
    flex-wrap: wrap;
  }
  .sv-pcard-value-label {
    font-size: .82rem; font-weight: 600;
    color: #71717a;
    letter-spacing: -.005em;
  }
  .sv-pcard-value-stack {
    display: inline-flex; align-items: baseline; gap: 8px;
    font-variant-numeric: tabular-nums;
  }
  .sv-pcard-value-old {
    font-size: .85rem; font-weight: 600;
    color: #a1a1aa;
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
  }
  .sv-pcard-value-new {
    font-size: 1rem; font-weight: 800;
    color: #e11d48;
    letter-spacing: -.015em;
  }

  /* Footer holds the CTA at bottom */
  .sv-pcard-foot {
    margin-top: auto;
    padding-top: 18px;
  }
  .sv-pcard-foot .sv-pcard-cta { margin-bottom: 0; }

  @media (max-width: 480px) {
    .sv-pcard { padding: 20px 18px 14px; border-radius: 20px; }
    .sv-pcard-price-num { font-size: 2rem; }
    .sv-feat-num { width: 20px; height: 20px; font-size: .62rem; }
  }

  /* ── DOWN ARROW (between headline and offer panel) ── */
  .step-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 18px auto 8px;
    color: #e11d48;
    opacity: .45;
    animation: stepArrowBob 2.2s ease-in-out infinite;
    will-change: transform;
  }
  .step-arrow svg {
    width: 28px;
    height: 18px;
    stroke-width: 1.6;
  }
  @keyframes stepArrowBob {
    0%, 100% { transform: translateY(-3px); opacity: .35; }
    50%      { transform: translateY(3px);  opacity: .7; }
  }
  @media (max-width: 760px) {
    .step-arrow { margin: 14px auto 6px; }
    .step-arrow svg { width: 22px; height: 14px; }
  }

  /* ── 4 PILLARS GRID (polaroid + photo) ── */
  .pillars-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 24px;
    width: 100%;
    max-width: 1080px;
    margin: 56px auto 60px;
    padding: 0 24px;
  }
  .pillar {
    position: relative;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 32px -18px rgba(20, 20, 30, .18),
                0 2px 6px rgba(20, 20, 30, .04);
    transition: transform .45s cubic-bezier(.16,1,.3,1),
                box-shadow .45s cubic-bezier(.16,1,.3,1);
    display: flex;
    flex-direction: column;
    will-change: transform;
  }
  /* Subtle editorial tilts — alternating per card */
  .pillars-grid > .pillar:nth-child(1) { transform: rotate(-.6deg); }
  .pillars-grid > .pillar:nth-child(2) { transform: rotate(.5deg); }
  .pillars-grid > .pillar:nth-child(3) { transform: rotate(.7deg); }
  .pillars-grid > .pillar:nth-child(4) { transform: rotate(-.5deg); }
  .pillar:hover {
    transform: rotate(0deg) translateY(-6px) !important;
    box-shadow: 0 28px 56px -22px rgba(20, 20, 30, .28),
                0 4px 12px rgba(20, 20, 30, .06);
  }

  .pillar-photo {
    position: relative;
    margin: 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--p-tint, #f5f5f5);
  }
  .pillar-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .9s cubic-bezier(.2,.8,.2,1);
  }
  .pillar:hover .pillar-photo img {
    transform: scale(1.06);
  }
  .pillar-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.18) 100%);
    pointer-events: none;
  }
  .pillar-stamp {
    position: absolute;
    top: 14px;
    left: 16px;
    font-family: 'Parisienne', cursive;
    font-size: 2.6rem;
    line-height: 1;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.35);
    z-index: 2;
    letter-spacing: -.01em;
  }

  .pillar-text {
    padding: 22px 24px 26px;
    background: var(--p-tint, #fafafa);
    border-top: 1px solid var(--p-border, rgba(0,0,0,.04));
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .pillar-kicker {
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--p-accent, #6b7280);
  }
  .pillar-title {
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.2;
    margin: 2px 0 4px;
    color: #1f1f23;
    letter-spacing: -.01em;
  }
  .pillar-desc {
    font-size: .92rem;
    line-height: 1.5;
    color: #4b5563;
    margin: 0;
  }
  .pillar-desc strong {
    font-weight: 700;
    color: var(--p-accent, #1f1f23);
  }

  /* PILLAR 01 — peach (přehled) */
  .pillar--peach {
    --p-tint: #fff5ec;
    --p-accent: #c2410c;
    --p-border: rgba(217, 119, 6, .15);
  }
  /* PILLAR 02 — sage (rozpočet) */
  .pillar--sage {
    --p-tint: #eef8f1;
    --p-accent: #15803d;
    --p-border: rgba(22, 101, 52, .15);
  }
  /* PILLAR 03 — amber (den D) */
  .pillar--amber {
    --p-tint: #fff8e1;
    --p-accent: #b45309;
    --p-border: rgba(180, 83, 9, .15);
  }
  /* PILLAR 04 — rose (klid v hlavě, brand) */
  .pillar--rose {
    --p-tint: #fff0f3;
    --p-accent: #e11d48;
    --p-border: rgba(225, 29, 72, .18);
  }

  @media (max-width: 760px) {
    .pillars-grid {
      grid-template-columns: 1fr;
      gap: 22px;
      margin: 36px auto 40px;
      padding: 0 18px;
    }
    /* Disable tilt on mobile for cleaner stack */
    .pillars-grid > .pillar:nth-child(n) { transform: none; }
    .pillar-photo { aspect-ratio: 16 / 9; }
    .pillar-stamp { font-size: 2.2rem; top: 10px; left: 14px; }
    .pillar-text { padding: 18px 20px 22px; }
    .pillar-title { font-size: 1.18rem; }
    .pillar-desc { font-size: .88rem; }
  }

  /* ── TOC (Co je uvnitř — editorial table of contents) ── */
  .sv-toc {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .sv-toc-head {
    text-align: center;
    margin-bottom: 36px;
  }
  .sv-toc-kicker {
    display: inline-block;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #e11d48;
    margin-bottom: 14px;
  }
  .sv-toc-title {
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    font-weight: 500;
    color: var(--ed-ink, #2d2421);
    line-height: 1.02;
    letter-spacing: -.04em;
    margin: 0 0 18px;
  }
  /* Plain <em> in section titles — rose, italic, normal font */
  .section-title.serif em {
    font-family: inherit;
    font-style: italic;
    font-weight: 500;
    color: #e11d48;
  }
  /* <em class="script"> — Parisienne handwritten accent */
  .sv-toc-title .script,
  .sv-toc-title em.script,
  .section-title.serif em.script {
    font-family: 'Parisienne', cursive;
    font-style: normal;
    color: #e11d48;
    font-weight: 400;
    font-size: 1.15em;
    padding: 0 .04em;
  }
  .sv-toc-sub {
    font-size: 1rem;
    color: #6b7280;
    line-height: 1.55;
    max-width: 540px;
    margin: 0 auto;
  }
  .sv-toc-stats {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    padding: 22px 0;
    margin-bottom: 32px;
    border-top: 1px solid #f0e3e8;
    border-bottom: 1px solid #f0e3e8;
  }
  .sv-toc-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 88px;
  }
  .sv-toc-stat-num {
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: 1.7rem;
    font-weight: 600;
    color: #1f1f23;
    line-height: 1;
  }
  .sv-toc-stat-lbl {
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #9ca3af;
    margin-top: 4px;
  }
  .sv-toc-stat-sep {
    width: 1px;
    height: 28px;
    background: #f0e3e8;
  }
  .sv-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .sv-toc-row {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: baseline;
    column-gap: 18px;
    padding: 22px 0;
    border-top: 1px solid #f0e3e8;
    transition: background .25s ease;
  }
  .sv-toc-row:last-child {
    border-bottom: 1px solid #f0e3e8;
  }
  .sv-toc-row:hover {
    background: linear-gradient(90deg, transparent 0%, #fff8fa 50%, transparent 100%);
  }
  .sv-toc-num {
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: 1.4rem;
    font-weight: 500;
    color: #e11d48;
    min-width: 40px;
    line-height: 1;
  }
  .sv-toc-body { min-width: 0; }
  .sv-toc-name {
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: 1.15rem;
    font-weight: 600;
    color: #1f1f23;
    margin: 0 0 4px;
    line-height: 1.25;
  }
  .sv-toc-desc {
    font-size: .9rem;
    line-height: 1.5;
    color: #6b7280;
    margin: 0;
    max-width: 56ch;
  }
  .sv-toc-leader {
    align-self: end;
    height: 1px;
    background-image: radial-gradient(circle, #d4d4d8 0.7px, transparent 0.8px);
    background-size: 6px 1px;
    background-repeat: repeat-x;
    background-position: 0 center;
    min-width: 24px;
    margin-bottom: 6px;
    opacity: .6;
  }
  .sv-toc-pages {
    font-size: .78rem;
    font-weight: 500;
    color: #9ca3af;
    letter-spacing: .04em;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }
  .sv-toc-foot {
    text-align: center;
    margin: 32px 0 0;
    font-size: .9rem;
    color: #6b7280;
  }
  .sv-toc-foot a {
    color: #e11d48;
    text-decoration: none;
    border-bottom: 1px solid rgba(225,29,72,.3);
    transition: border-color .2s ease;
  }
  .sv-toc-foot a:hover { border-color: #e11d48; }

  /* TOC CTA — Start (primary) + Plus tease (secondary) */
  .sv-toc-cta {
    text-align: center;
    margin: 44px auto 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }
  .sv-toc-cta-primary {
    background: #e11d48;
    color: #ffffff;
    border: 0;
    border-radius: 100px;
    padding: 16px 28px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -.005em;
    cursor: pointer;
    font-family: inherit;
    transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
    box-shadow: 0 12px 28px -10px rgba(225,29,72,.5);
  }
  .sv-toc-cta-primary:hover {
    background: #be123c;
    transform: translateY(-1px);
    box-shadow: 0 14px 32px -8px rgba(225,29,72,.55);
  }
  .sv-toc-cta-primary:active { transform: scale(.98); }
  .sv-toc-cta-secondary {
    color: #6b7280;
    text-decoration: none;
    font-size: .9rem;
    border-bottom: 1px solid transparent;
    transition: color .2s ease, border-color .2s ease;
  }
  .sv-toc-cta-secondary strong { color: #e11d48; font-weight: 600; }
  .sv-toc-cta-secondary:hover {
    color: #1f1f23;
    border-bottom-color: rgba(225,29,72,.3);
  }

  @media (max-width: 720px) {
    .sv-toc { padding: 0 18px; }
    .sv-toc-stats { gap: 12px; padding: 18px 0; }
    .sv-toc-stat { min-width: 64px; }
    .sv-toc-stat-num { font-size: 1.4rem; }
    .sv-toc-stat-sep { display: none; }
    .sv-toc-row {
      grid-template-columns: auto 1fr;
      grid-template-areas:
        "num body"
        "num pages";
      column-gap: 14px;
      row-gap: 6px;
      padding: 18px 0;
    }
    .sv-toc-num { grid-area: num; font-size: 1.2rem; min-width: 32px; }
    .sv-toc-body { grid-area: body; }
    .sv-toc-leader { display: none; }
    .sv-toc-pages { grid-area: pages; justify-self: start; }
    .sv-toc-name { font-size: 1.05rem; }
    .sv-toc-desc { font-size: .85rem; }
  }

  /* ── MINI PRICING (compact recap before FAQ) ── */
  .sv-mini-pricing {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .sv-mp-head {
    text-align: center;
    margin-bottom: 28px;
  }
  .sv-mp-kicker {
    display: inline-block;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #e11d48;
    margin-bottom: 10px;
  }
  .sv-mp-title {
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size: clamp(1.4rem, 2.2vw, 1.85rem);
    line-height: 1.25;
    color: #1f1f23;
    margin: 0;
    font-weight: 600;
  }
  .sv-mp-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 16px;
  }
  .sv-mp-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 24px;
    background: #fff;
    border: 1.5px solid #f1e4e9;
    border-radius: 18px;
    padding: 22px 26px;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .sv-mp-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px -18px rgba(225,29,72,.18);
    border-color: rgba(225,29,72,.28);
  }
  .sv-mp-card--featured {
    background: linear-gradient(135deg, #fff5f8 0%, #ffeaf1 100%);
    border-color: rgba(225,29,72,.32);
  }
  .sv-mp-flag {
    position: absolute;
    top: -10px;
    right: 18px;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #fff;
    background: #e11d48;
    padding: 4px 10px;
    border-radius: 100px;
    box-shadow: 0 6px 14px -4px rgba(225,29,72,.45);
  }
  .sv-mp-card-left { min-width: 0; }
  .sv-mp-tag {
    display: inline-block;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #a1a1aa;
    margin-bottom: 6px;
  }
  .sv-mp-card--featured .sv-mp-tag { color: #e11d48; }
  .sv-mp-name {
    font-family: inherit;
    font-size: 1.05rem;
    font-weight: 700;
    color: #1f1f23;
    margin: 0 0 4px;
    line-height: 1.25;
    letter-spacing: -.015em;
  }
  .sv-mp-desc {
    font-size: .85rem;
    line-height: 1.45;
    color: #6b7280;
    margin: 0;
  }
  .sv-mp-card-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    flex-shrink: 0;
  }
  .sv-mp-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  .sv-mp-price-old {
    font-size: .82rem;
    font-weight: 600;
    color: #a1a1aa;
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
    letter-spacing: -.005em;
  }
  .sv-mp-price-num {
    font-family: inherit;
    font-size: 1.7rem;
    font-weight: 800;
    color: #3f3f46;
    letter-spacing: -.035em;
    line-height: 1;
  }
  .sv-mp-card--featured .sv-mp-price-num { color: #e11d48; }
  .sv-mp-cta {
    -webkit-appearance: none;
    appearance: none;
    background: #fff;
    border: 1.5px solid rgba(225,29,72,.25);
    color: #e11d48;
    border-radius: 100px;
    padding: 9px 18px;
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
    white-space: nowrap;
  }
  .sv-mp-cta:hover {
    background: #fff5f7;
    color: #be123c;
    border-color: rgba(225,29,72,.5);
  }
  .sv-mp-cta--primary {
    background: #e11d48;
    border-color: #e11d48;
    color: #fff;
    box-shadow: 0 8px 20px -8px rgba(225,29,72,.5);
  }
  .sv-mp-cta--primary:hover {
    background: #be123c;
    border-color: #be123c;
    box-shadow: 0 10px 24px -6px rgba(225,29,72,.55);
  }
  .sv-mp-cta:active { transform: scale(.97); }
  .sv-mp-note {
    text-align: center;
    font-size: .78rem;
    color: #9ca3af;
    margin: 14px 0 0;
  }
  @media (max-width: 760px) {
    .sv-mp-row { grid-template-columns: 1fr; gap: 14px; }
    .sv-mp-card {
      grid-template-columns: 1fr;
      gap: 16px;
      padding: 20px 22px;
    }
    .sv-mp-card-right {
      align-items: stretch;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
    }
    .sv-mp-name { font-size: 1.1rem; }
    .sv-mp-price-num { font-size: 1.4rem; }
  }

  /* ── PRICING (legacy v1, ponecháno pro fallback / starší šablony) ── */
  .price-grid {
    display:flex; flex-direction:column; gap:16px;
    align-items:center;
    width:100%;
    max-width:860px; margin:0 auto;
  }
  @media(min-width:900px){
    .price-grid {
      flex-direction:row;
      align-items:flex-end;
      justify-content:center;
      gap:20px;
    }
  }
  .price-card {
    position:relative;
    display:flex; flex-direction:column;
    padding:28px;
    background:#fff;
    border:1px solid #ececec;
    border-radius:20px;
    transition:border-color .25s ease;
    width:100%;
  }
  .price-card:hover { border-color:#d4d4d4; }
  .price-card-basic {
    padding:22px 24px;
  }
  @media(min-width:900px){
    .price-card-basic { width:380px; flex:0 0 380px; align-self:flex-end; }
    .price-card-featured { width:380px; flex:0 0 380px; align-self:flex-end; }
  }
  .price-card-featured {
    border:1px solid #e11d48;
    background:linear-gradient(160deg, #e11d48 0%, #be123c 100%);
    padding:32px;
    color:#fff;
    box-shadow:0 22px 44px -18px rgba(225,29,72,.42);
  }
  .price-card-featured:hover { border-color:#e11d48; }
  .price-card-ribbon {
    position:absolute; top:-12px; left:50%; transform:translateX(-50%);
    display:inline-flex; align-items:center;
    font-size:.7rem; font-weight:600;
    letter-spacing:.12em; text-transform:uppercase;
    padding:6px 12px; border-radius:100px;
    background:#fff; color:#e11d48;
    white-space:nowrap;
    box-shadow:0 4px 10px -4px rgba(225,29,72,.3);
  }

  .price-card-head { margin-bottom:14px; }
  .price-card-tag {
    display:inline-block;
    font-size:.68rem; font-weight:500;
    letter-spacing:.14em; text-transform:uppercase;
    color:#737373;
    margin-bottom:14px;
  }
  .price-card-featured .price-card-tag { color:rgba(255,255,255,.85); }
  .price-card-title {
    font-family:'Inter', sans-serif;
    font-size:1.375rem; font-weight:600;
    letter-spacing:-.02em; color:#0a0a0a;
    margin:0 0 6px;
  }
  .price-card-featured .price-card-title {
    font-size:1.75rem; color:#fff;
  }
  .price-card-lead {
    font-size:.82rem; color:#737373; line-height:1.55; margin:0;
  }
  .price-card-featured .price-card-lead { font-size:.875rem; color:rgba(255,255,255,.9); }

  .price-card-pricing {
    display:flex; flex-direction:column;
    margin:20px 0;
    padding-top:18px;
    border-top:1px solid #ececec;
  }
  .price-card-featured .price-card-pricing { border-top-color:rgba(255,255,255,.25); }
  .price-strike {
    font-size:.78rem; color:#a3a3a3;
    text-decoration:line-through;
    text-decoration-thickness:1px;
    margin-bottom:6px;
  }
  .price-num-row {
    display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
    line-height:1;
  }
  .price-num-big {
    font-family:'Inter', sans-serif;
    font-size:2rem; font-weight:600;
    letter-spacing:-.03em;
    color:#0a0a0a;
    font-variant-numeric:tabular-nums;
  }
  .price-card-featured .price-num-big {
    font-size:2.75rem; color:#fff;
  }
  .price-currency {
    font-size:.9rem; font-weight:500;
    color:#737373;
  }
  .price-card-featured .price-currency { color:rgba(255,255,255,.85); }
  .price-card-featured .price-strike { color:rgba(255,255,255,.6); }
  .price-save-chip {
    display:inline-flex; align-items:center;
    font-size:.68rem; font-weight:500;
    color:#e11d48;
    background:#fff1f5;
    border:1px solid #fcb9cc;
    padding:3px 9px; border-radius:100px;
    margin-left:4px;
    transform:translateY(-2px);
  }
  .price-card-featured .price-save-chip {
    color:#e11d48; background:#fff; border-color:#fff;
  }
  .price-vat { font-size:.75rem; color:#737373; margin-top:8px; }
  .price-card-featured .price-vat { color:rgba(255,255,255,.75); }

  .price-feat-list {
    list-style:none; padding:0; margin:0 0 20px;
    display:flex; flex-direction:column; gap:9px;
  }
  .price-feat-list li {
    display:flex; align-items:flex-start; gap:10px;
    font-size:.84rem; color:#404040; line-height:1.5;
  }
  .price-feat-list li strong { color:#e11d48; font-weight:700; }
  .price-feat-list li::before {
    content:'';
    width:15px; height:15px; margin-top:3px; flex-shrink:0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e11d48' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .price-card-featured .price-feat-list li { color:rgba(255,255,255,.95); }
  .price-card-featured .price-feat-list li strong { color:#fff; }
  .price-card-featured .price-feat-list li::before {
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .price-feat-list li.feat-off {
    color:#cbd5e1;
  }
  .price-feat-list li.feat-off::before {
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat;
  }

  .price-feat-missing {
    margin:0 0 20px;
    padding-top:14px;
    border-top:1px solid #ececec;
  }
  .price-card-featured .price-feat-missing { border-top-color:rgba(255,255,255,.2); }
  .price-feat-missing-label {
    display:block;
    font-size:.66rem; font-weight:500;
    letter-spacing:.12em; text-transform:uppercase;
    color:#a3a3a3;
    margin-bottom:10px;
  }
  .price-card-featured .price-feat-missing-label { color:rgba(255,255,255,.7); }
  .price-card-featured .price-feat-list li.feat-off { color:rgba(255,255,255,.55); }
  .price-card-featured .price-feat-list li.feat-off::before {
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.55'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .price-feat-list-off { margin:0; gap:7px; }
  .price-feat-list-off li { font-size:.8rem; }

  .btn-price {
    width:100%;
    margin-top:auto;
    padding:12px 18px;
    border-radius:12px;
    font-size:.9rem; font-weight:500;
    border:1px solid transparent;
    cursor:pointer;
    font-family:inherit;
    letter-spacing:-.005em;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .btn-price-ghost {
    background:#fff; color:#0a0a0a;
    border-color:#e5e5e5;
  }
  .btn-price-ghost:hover { background:#fafafa; border-color:#d4d4d4; }
  .btn-price-solid {
    padding:14px 18px;
    font-size:.95rem; font-weight:600;
    background:#fff; color:#e11d48;
    border-color:#fff;
    box-shadow:0 6px 16px -6px rgba(0,0,0,.2);
  }
  .btn-price-solid:hover {
    background:#fff0f3;
    color:#be123c;
    border-color:#fff0f3;
  }
  .price-note-new { font-size:.78rem; color:#737373; line-height:1.6; }
  @media(max-width:640px){
    .price-card { padding:22px; }
    .price-card-basic { padding:20px; }
    .price-card-featured { padding:26px; }
    .price-card-title { font-size:1.25rem; }
    .price-card-featured .price-card-title { font-size:1.5rem; }
    .price-num-big { font-size:1.85rem; }
    .price-card-featured .price-num-big { font-size:2.35rem; }
  }

  /* ── FAQ ── */
  .faq-list-new {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 18px;
    align-items: start;
  }
  @media (max-width: 760px) {
    .faq-list-new { grid-template-columns: 1fr; max-width: 700px; }
  }
  .faq-item-new { background:rgba(255,255,255,.7); border:1px solid rgba(203,213,225,.5); border-radius:16px; overflow:hidden; }
  .faq-q { padding:20px 24px; min-height:44px; font-weight:600; font-size:.95rem; color:#0f172a; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px; }
  .faq-q:hover { color:#e11d48; }
  .faq-icon { width:26px; height:26px; background:#f1f5f9; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1rem; color:#64748b; flex-shrink:0; transition:transform .2s; }
  .faq-item-new.open .faq-icon { transform:rotate(45deg); }
  .faq-a { display:none; padding:0 24px 20px; font-size:.875rem; color:#64748b; line-height:1.75; }
  .faq-item-new.open .faq-a { display:block; }

  /* ── CTA BAND ── */
  /* ── CTA BAND — split: fotka couple vlevo, content vpravo ── */
  .cta-band-new {
    position: relative;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    background: linear-gradient(180deg, #fff5f8 0%, #ffeaf1 100%);
    border-radius: 28px;
    border: 1px solid rgba(252,185,204,.4);
    overflow: hidden;
    transform: translateY(32px);
    transition: transform .6s cubic-bezier(.22,1,.36,1), opacity .6s cubic-bezier(.22,1,.36,1);
    box-shadow: 0 24px 60px -28px rgba(225,29,72,.16);
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 460px;
  }
  .cta-band-new.visible { transform: translateY(0); }
  /* Levý sloupec — fotka couple */
  .cta-band-photo {
    background: url('../images/svatebnicek_foto_spodni-strana.png') center / cover no-repeat;
    position: relative;
  }
  /* Pravý sloupec — content */
  .cta-band-content {
    position: relative;
    padding: 56px 56px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    color: #1f1f23;
  }
  .cta-band-content > * { position: relative; z-index: 1; }
  /* Pill badge nahoře */
  .cta-band-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: #fff;
    border: 1px solid rgba(225,29,72,.2);
    color: #e11d48;
    padding: 7px 14px;
    border-radius: 100px;
    font-size: .68rem; font-weight: 700;
    letter-spacing: .18em; text-transform: uppercase;
    margin-bottom: 22px;
  }
  .cta-band-badge svg { width: 12px; height: 12px; }
  .cta-band-new h2 {
    font-family: var(--ed-serif);
    font-size: clamp(1.9rem, 3.2vw, 2.6rem);
    font-weight: 600;
    letter-spacing: -.025em;
    margin: 0 0 16px;
    line-height: 1.15;
    max-width: 22ch;
    color: #1f1f23;
  }
  .cta-band-new h2 em {
    font-family: 'Parisienne', cursive;
    font-style: normal;
    font-weight: 400;
    color: #e11d48;
    padding: 0 .06em;
    font-size: 1.18em;
    white-space: nowrap;
  }
  /* Heart squiggle za script slovem */
  .cta-band-squiggle {
    display: inline-block;
    vertical-align: -2px;
    margin-left: 4px;
    color: #e11d48;
    width: 38px; height: 14px;
  }
  .cta-band-new p {
    color: #525252;
    font-size: .95rem;
    max-width: 440px;
    margin: 0 0 24px;
    line-height: 1.55;
  }
  /* Feature řádky */
  .cta-band-features {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .cta-band-feature {
    display: flex;
    align-items: flex-start;
    gap: 14px;
  }
  .cta-band-feature-icon {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: #fff5f7;
    border: 1px solid rgba(225,29,72,.16);
    color: #e11d48;
    display: inline-flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .cta-band-feature-icon svg { width: 16px; height: 16px; }
  .cta-band-feature-text {
    flex: 1; min-width: 0;
  }
  .cta-band-feature-title {
    display: block;
    font-size: .94rem; font-weight: 600;
    color: #1f1f23;
    line-height: 1.3;
    letter-spacing: -.005em;
  }
  .cta-band-feature-sub {
    display: block;
    font-size: .82rem;
    color: #737373;
    line-height: 1.4;
    margin-top: 2px;
  }
  /* CTA tlačítko */
  .btn-white-new {
    display: inline-flex; align-items: center; gap: 10px;
    background: #e11d48;
    color: #fff;
    padding: 14px 28px;
    border-radius: 100px;
    font-size: .98rem; font-weight: 600;
    letter-spacing: -.005em;
    border: none;
    cursor: pointer;
    font-family: inherit;
    box-shadow: 0 12px 26px -10px rgba(225,29,72,.45);
    transition: background .25s, transform .25s, box-shadow .25s;
  }
  .btn-white-new:hover {
    background: #be123c;
    transform: translateY(-1px);
    box-shadow: 0 14px 30px -10px rgba(190,18,60,.55);
  }
  .btn-white-new:active { transform: translateY(0); }
  .cta-band-new .cta-band-hint {
    margin: 14px 0 0;
    font-size: .76rem;
    color: #9ca3af;
    letter-spacing: -.005em;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .cta-band-new .cta-band-hint span { color: #6b7280; font-weight: 500; }
  .cta-band-new .cta-band-hint svg { width: 11px; height: 11px; color: #9ca3af; }
  @media (max-width: 880px) {
    .cta-band-new {
      grid-template-columns: 1fr;
      min-height: 0;
    }
    .cta-band-photo { min-height: 280px; }
    .cta-band-content { padding: 36px 28px 32px; }
    .cta-band-new h2 { font-size: clamp(1.6rem, 6vw, 2rem); }
    .btn-white-new { padding: 13px 24px; font-size: .92rem; }
  }

  /* ── HERO HIGHLIGHTS ── */
  .hero-highlights { display:flex; gap:12px; margin:16px 0 4px; flex-wrap:wrap; }
  @media(max-width:640px){
    .hero-highlights { gap:8px; margin:12px 0 4px; }
    .hero-hl { flex:1 1 calc(50% - 4px); padding:8px 12px; }
    .hero-hl-icon { font-size:1.1rem; }
    .hero-hl-label { font-size:.62rem; }
    .hero-hl-val { font-size:.78rem; }
  }
  .hero-hl { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.7); border:1px solid rgba(203,213,225,.5); border-radius:14px; padding:10px 16px; backdrop-filter:blur(8px); }
  .hero-hl-icon { font-size:1.3rem; flex-shrink:0; }
  .hero-hl-label { font-size:.7rem; font-weight:600; color:#94a3b8; text-transform:uppercase; letter-spacing:.04em; margin-bottom:1px; }
  .hero-hl-val { font-size:.85rem; font-weight:700; color:#0f172a; }

  /* ── HERO HEART DIVIDER ── */
  .hero-heart-divider {
    display:flex; align-items:center; gap:14px;
    margin:4px 0 14px;
    color:#fda4af;
    max-width:520px;
  }
  .hero-heart-line {
    flex:1; height:1px;
    background:linear-gradient(90deg, transparent, #fecdd3 35%, #fecdd3 65%, transparent);
  }
  .hero-heart-icon {
    display:inline-flex; flex-shrink:0;
    color:#fb7185;
  }
  .hero-heart-icon svg { width:18px; height:18px; }

  /* ── HERO 4 FEATURE IKONY ── */
  .hero-features-grid {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
    margin:0 0 18px;
    max-width:520px;
  }
  .hero-feat {
    display:flex; flex-direction:column; align-items:flex-start;
    gap:4px;
    padding:6px 14px;
    border-right:1px solid #f1f5f9;
  }
  .hero-feat:first-child { padding-left:0; }
  .hero-feat:last-child { border-right:none; }
  .hero-feat-icon {
    width:36px; height:36px;
    display:inline-flex; align-items:center; justify-content:center;
    background:#fff1f2;
    color:#e11d48;
    border-radius:50%;
    margin-bottom:4px;
  }
  .hero-feat-icon svg { width:16px; height:16px; }
  .hero-feat-title {
    font-size:.82rem; font-weight:700;
    color:#1f1f23; line-height:1.2;
    letter-spacing:-.01em;
  }
  .hero-feat-sub {
    font-size:.72rem;
    color:#94a3b8;
    line-height:1.3;
  }
  @media(max-width:640px){
    .hero-features-grid { grid-template-columns:repeat(2, 1fr); gap:8px 0; max-width:100%; }
    .hero-feat { padding:6px 10px; border-right:none; }
    .hero-feat:nth-child(odd) { border-right:1px solid #f1f5f9; padding-left:0; }
    .hero-feat:nth-child(2n) { padding-left:14px; }
    .hero-feat-icon { width:34px; height:34px; }
    .hero-feat-icon svg { width:15px; height:15px; }
    .hero-feat-title { font-size:.78rem; }
    .hero-feat-sub { font-size:.7rem; }
  }

  /* ── HERO BLOCK wrapper ── */
  .hero-block { display:flex; flex-direction:column; gap:0; margin-top:25px; }
  @media (max-width: 768px) { .hero-block { margin-top: 0 !important; } }

  /* ── MINI PROOF pod CTAs (čistý info text) ── */
  .hero-proof-mini {
    display:inline-flex; align-items:center;
    gap:8px; flex-wrap:wrap;
    margin-top:14px;
    font-size:.82rem;
    color:#64748b;
    font-weight:500;
  }
  .hero-proof-mini strong {
    color:#1f1f23;
    font-weight:700;
  }
  .hero-proof-stars {
    display:inline-flex; gap:1px;
    color:#f59e0b;
    flex-shrink:0;
  }
  .hero-proof-stars svg { width:13px; height:13px; }
  .hero-proof-dot { color:#cbd5e1; margin:0 2px; }

  /* ── HERO TOGGLE (otevírá sample modal) ── */
  .hero-toggle-wrap {
    display:inline-flex; align-items:center; gap:10px;
    margin-top:12px;
    padding:7px 14px 7px 9px;
    background:linear-gradient(135deg, #fff5f7, #fff);
    border:1.5px solid #fecdd3;
    border-radius:100px;
    cursor:pointer;
    transition:transform .2s, box-shadow .25s, border-color .2s, background .25s;
    box-shadow:0 5px 14px -10px rgba(225,29,72,.2);
  }
  .hero-toggle-wrap:hover {
    transform:translateY(-2px);
    border-color:#e11d48;
    background:linear-gradient(135deg, #fff1f2, #fff5f7);
    box-shadow:0 10px 24px -12px rgba(225,29,72,.3);
  }
  .hero-toggle-switch { position:relative; flex-shrink:0; pointer-events:none; }
  .hero-toggle-switch input { opacity:0; width:0; height:0; position:absolute; }
  .toggle-track {
    display:block; width:42px; height:24px;
    background:#e2e8f0;
    border-radius:100px;
    transition:background .25s;
    position:relative;
    box-shadow:inset 0 1px 3px rgba(15,23,42,.08);
  }
  .toggle-track::after {
    content:''; position:absolute; top:3px; left:3px;
    width:18px; height:18px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 5px rgba(0,0,0,.18);
    transition:transform .25s cubic-bezier(.4,1.6,.6,1);
  }
  .hero-toggle-wrap:hover .toggle-track { background:#e11d48; }
  .hero-toggle-wrap:hover .toggle-track::after { transform:translateX(18px); }
  .hero-toggle-txt {
    font-size:.84rem;
    color:#1f1f23;
    font-weight:600;
    letter-spacing:-.005em;
    transition:color .2s;
  }
  .hero-toggle-wrap:hover .hero-toggle-txt { color:#e11d48; }
  @media(max-width:560px){
    .hero-toggle-wrap { padding:8px 14px 8px 10px; gap:10px; }
    .toggle-track { width:38px; height:22px; }
    .toggle-track::after { width:16px; height:16px; }
    .hero-toggle-wrap:hover .toggle-track::after { transform:translateX(16px); }
    .hero-toggle-txt { font-size:.78rem; }
  }

  /* ── SAMPLE MODAL ── */

  /* ── ABOUT INLINE STATS ── */
  .about-stats-inline { display:flex; gap:28px; flex-wrap:wrap; margin-top:4px; }
  .about-stat-item { display:flex; flex-direction:column; }
  .about-stat-num { font-size:1.7rem; font-weight:800; color:#e11d48; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; }
  .about-stat-lbl { font-size:.78rem; color:#94a3b8; font-weight:500; margin-top:2px; }

  /* About section — cascade reveal on visible */
  .about-content .about-h2,
  .about-content .about-lead,
  .about-content .about-bonus,
  .about-content .about-stat-item {
    opacity:0; transform:translateY(12px);
    transition: opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1);
    transition-delay: var(--ar-d, 0ms);
  }
  .sv-anim.visible .about-content .about-h2    { opacity:1; transform:translateY(0); --ar-d: 80ms; }
  .sv-anim.visible .about-content .about-lead  { opacity:1; transform:translateY(0); --ar-d: 220ms; }
  .sv-anim.visible .about-content .about-bonus { opacity:1; transform:translateY(0); --ar-d: 360ms; }
  .sv-anim.visible .about-content .about-stat-item:nth-child(1) { opacity:1; transform:translateY(0); --ar-d: 500ms; }
  .sv-anim.visible .about-content .about-stat-item:nth-child(2) { opacity:1; transform:translateY(0); --ar-d: 600ms; }
  .sv-anim.visible .about-content .about-stat-item:nth-child(3) { opacity:1; transform:translateY(0); --ar-d: 700ms; }
  @media (prefers-reduced-motion: reduce) {
    .about-content .about-h2,
    .about-content .about-lead,
    .about-content .about-bonus,
    .about-content .about-stat-item {
      opacity:1; transform:none; transition:none;
    }
  }

  /* ── DISCOUNT ── */
  .discount-new { background:rgba(255,241,242,.8); border:1px solid rgba(254,205,211,.6); border-radius:20px; padding:24px 32px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
  .discount-tag-new { background:#e11d48; color:#fff; font-weight:900; font-size:1.1rem; padding:8px 14px; border-radius:10px; white-space:nowrap; flex-shrink:0; }
  .discount-link { background:#0f172a; color:#fff; padding:10px 22px; border-radius:12px; font-size:.875rem; font-weight:700; text-decoration:none; white-space:nowrap; flex-shrink:0; transition:background .2s; }
  .discount-link:hover { background:#1e293b; color:#fff; }

  /* ── SCROLL ANIMACE ── */
  .sv-anim { opacity:0; transform:translateY(32px); transition:opacity .65s cubic-bezier(.16,1,.3,1), transform .65s cubic-bezier(.16,1,.3,1); }
  .sv-anim.visible { opacity:1; transform:translateY(0); }
  .sv-anim-delay-1 { transition-delay:.1s }
  .sv-anim-delay-2 { transition-delay:.2s }
  .sv-anim-delay-3 { transition-delay:.3s }
  .sv-anim-delay-4 { transition-delay:.4s }

  /* ── MODAL (existing) ── */
  .modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); backdrop-filter:blur(4px); z-index:1000; align-items:flex-start; justify-content:center; padding:16px; overflow-y:auto; }
  .modal-overlay.open { display:flex; }
  .modal-box { background:#fff; border-radius:24px; padding:44px 40px; width:100%; max-width:480px; position:relative; box-shadow:0 24px 80px rgba(0,0,0,.15); animation:modalIn .25s ease; margin:auto; }
  @keyframes modalIn { from{opacity:0;transform:translateY(16px) scale(.97)} to{opacity:1;transform:translateY(0) scale(1)} }
  .modal-close { position:absolute; top:18px; right:18px; background:#f5f5f5; border:none; width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:.85rem; color:#666; display:flex; align-items:center; justify-content:center; }
  .modal-close:hover { background:#eee; }
  .modal-header { text-align:center; margin-bottom:28px; }
  .modal-icon { font-size:2.4rem; margin-bottom:12px; }
  .modal-header h2 { font-size:1.5rem; font-weight:800; margin-bottom:6px; }
  .modal-header p { font-size:.9rem; color:#666; }
  .form-group { margin-bottom:16px; }
  .form-group label { display:block; font-size:.82rem; font-weight:600; margin-bottom:6px; color:#1a1a1a; }
  .form-group input { width:100%; padding:12px 16px; border:1.5px solid #e2e8f0; border-radius:10px; font-size:.95rem; font-family:inherit; outline:none; transition:border-color .2s; box-sizing:border-box; }
  .form-group input:focus { border-color:#e11d48; }
  .form-group input::placeholder { color:#d1d5db; }
  @media(max-width:600px) {
    .modal-overlay { padding:12px; align-items:flex-start; }
    .modal-box { padding:32px 20px 28px; border-radius:18px; }
    .modal-header { margin-bottom:20px; }
    .modal-icon { font-size:2rem; margin-bottom:8px; }
    .modal-header h2 { font-size:1.25rem; }
  }
  .form-summary { display:flex; justify-content:space-between; align-items:center; background:#fff0f3; border-radius:10px; padding:14px 18px; margin:20px 0 10px; font-size:.95rem; font-weight:600; }
  .form-note { font-size:.75rem; color:#999; text-align:center; margin-bottom:16px; }
  .pay-summary { display:flex; justify-content:space-between; background:#f8fafc; border-radius:10px; padding:14px 18px; font-size:.95rem; font-weight:600; margin-bottom:20px; }
  .pay-methods { display:flex; flex-direction:column; gap:10px; }
  .pay-method { display:flex; align-items:center; gap:12px; padding:14px 18px; border:2px solid #e2e8f0; border-radius:12px; background:#fff; font-size:.93rem; font-weight:500; cursor:pointer; font-family:inherit; transition:border-color .2s; text-align:left; }
  .pay-method.active { border-color:#e11d48; background:#fff0f3; }
  .pay-method:hover { border-color:#e11d48; }

  @media(max-width:640px) {
    .page-wrap { gap:100px; padding:20px 14px 40px; }
    .cta-band-new { padding:28px 20px; }
    .footer-new { padding:28px 20px; flex-direction:column; text-align:center; }
  }

  /* ── CAPSULE SLIDER — rounded rect → tudor arch on expand ── */
  .capsule-row { display:flex; gap:14px; height:min(620px,68vh); width:100%; padding:10px 4px; align-items:flex-end; }
  .capsule {
    position:relative; flex:1; min-width:64px;
    height:100%;
    border-radius:18px;
    overflow:hidden; cursor:pointer;
    background-size:cover; background-position:center;
    background-color:#f8e7ee;
    transition:flex .7s cubic-bezier(.22,1,.36,1),
               border-radius .55s cubic-bezier(.22,1,.36,1),
               box-shadow .5s ease;
    box-shadow:
      0 8px 22px -10px rgba(225,29,72,.18),
      0 0 0 1px rgba(254,205,211,.55);
    will-change:flex;
  }
  .capsule:hover {
    box-shadow:
      0 18px 36px -12px rgba(225,29,72,.32),
      0 0 0 1.5px rgba(225,29,72,.4);
  }
  .capsule.active {
    border-top-left-radius:50% 22%;
    border-top-right-radius:50% 22%;
    border-bottom-left-radius:18px;
    border-bottom-right-radius:18px;
  }
  .capsule:not(.active):hover { flex:1.5; }
  .capsule.active { flex:5; box-shadow:0 24px 60px rgba(15,23,42,.22); }
  .capsule::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(15,23,42,0) 38%, rgba(15,23,42,.78) 100%);
    transition:opacity .5s;
    z-index:1;
  }
  .cap-thin {
    position:absolute; left:50%; top:50%;
    transform:translate(-50%,-50%) rotate(-90deg);
    color:#fff; font-size:.72rem; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase;
    white-space:nowrap; z-index:2;
    transition:opacity .3s ease;
    text-shadow:0 1px 4px rgba(0,0,0,.35);
    pointer-events:none;
  }
  .cap-full {
    position:absolute; left:32px; right:32px; bottom:28px;
    color:#fff; z-index:2;
    opacity:0;
    transition:opacity .08s ease;
    pointer-events:none;
  }
  .capsule.active .cap-full {
    transition-delay:.3s;
  }
  .cap-full .cap-num {
    display:inline-block; font-size:.68rem; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase;
    color:rgba(255,255,255,.78); margin-bottom:10px;
  }
  .cap-full .cap-title {
    font-size:1.7rem; font-weight:700; letter-spacing:-.02em;
    line-height:1.1; color:#fff; margin:0 0 10px;
  }
  .cap-full .cap-desc {
    font-size:.88rem; color:rgba(255,255,255,.85);
    line-height:1.6; max-width:460px; margin:0;
  }
  .capsule.active .cap-thin { opacity:0; }
  .capsule.active .cap-full { opacity:1; }

  /* ── LOCKED CAPSULES (from 3rd onwards) ── */
  .capsule.is-locked { cursor:pointer; background-color:#f8dde6; }
  .cap-blur {
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    z-index:0;
  }
  .capsule.is-locked::after {
    background:linear-gradient(180deg, rgba(252,185,204,.28) 0%, rgba(45,36,33,.48) 100%);
    z-index:1;
  }
  .capsule.is-locked .cap-thin,
  .capsule.is-locked .cap-full { display:none; }
  .cap-lock {
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    z-index:3;
    pointer-events:none;
  }

  /* Elegant rose lock pill — reused in capsules + modules */
  .lock-pill {
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:9px 16px 9px 13px;
    background:#e11d48;
    color:#fff;
    font-family: var(--font-sans, 'Inter', sans-serif);
    font-size:.68rem;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    border-radius:100px;
    white-space:nowrap;
    box-shadow:
      0 10px 28px -10px rgba(190,18,60,.55),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -1px 0 rgba(131,24,67,.25);
  }
  .lock-pill svg { width:13px; height:13px; flex-shrink:0; }
  a.lock-pill {
    text-decoration:none;
    cursor:pointer;
    pointer-events:auto;
    transition: transform .25s cubic-bezier(.22,1,.36,1),
                background .3s ease,
                box-shadow .3s ease;
  }
  a.lock-pill:hover {
    transform: translateY(-2px);
    background:#be123c;
    box-shadow:
      0 14px 32px -10px rgba(190,18,60,.7),
      inset 0 1px 0 rgba(255,255,255,.22),
      inset 0 -1px 0 rgba(131,24,67,.3);
  }
  a.lock-pill:active { transform: translateY(0); }
  .module-new.is-locked a.lock-pill:hover {
    background:#e11d48;
    color:#fff;
    border-color:#e11d48;
  }

  .cap-lock-pill {
    transform:rotate(-90deg);
    transition:transform .55s cubic-bezier(.22,1,.36,1),
               padding .45s ease, font-size .45s ease;
  }

  /* Expanded locked capsule — pill grows and rotates flat */
  .capsule.is-locked.active .cap-lock-pill {
    transform:rotate(0deg);
    padding:13px 22px 13px 18px;
    font-size:.82rem;
    letter-spacing:.2em;
  }
  .capsule.is-locked.active .cap-lock-pill svg { width:16px; height:16px; }

  @media(max-width:640px) {
    .capsule-row {
      display:grid !important;
      grid-template-columns:1fr 1fr;
      height:auto !important;
      gap:10px;
      padding:6px 2px;
    }
    .capsule {
      height:auto; flex:none;
      aspect-ratio:1/1.15;
    }
    .capsule.active { flex:none; }
    .cap-thin {
      left:50%; top:auto; bottom:14px; right:auto;
      transform:translate(-50%, 0);
      text-align:center;
      font-size:.62rem;
      letter-spacing:.14em;
    }
    .cap-full {
      left:14px; right:14px; bottom:14px;
      opacity:1; transform:none;
      pointer-events:none;
    }
    .cap-full .cap-num { font-size:.58rem; margin-bottom:4px; }
    .cap-full .cap-title { font-size:1.05rem; line-height:1.15; margin-bottom:4px; }
    .cap-full .cap-desc { display:none; }
    .capsule:not(.active) .cap-thin { display:none; }
    .capsule .cap-thin { display:none; }
  }

  /* ── WORD REVEAL ── */
  .reveal-words .rw {
    display:inline-block;
    opacity:0; filter:blur(8px);
    transform:translateY(14px);
    transition:opacity .85s cubic-bezier(.22,1,.36,1),
               filter .85s cubic-bezier(.22,1,.36,1),
               transform .85s cubic-bezier(.22,1,.36,1);
    transition-delay:calc(var(--i) * 80ms);
    will-change:opacity, transform, filter;
  }
  .sv-anim.visible .reveal-words .rw {
    opacity:1; filter:blur(0); transform:translateY(0);
  }
  .rw-accent {
    color:#e11d48;
    font-style:italic;
    font-weight:600;
  }

  /* ── WHISPER TEXT (word-by-word opacity fade) ── */
  .whisper-text .wt-word {
    display:inline-block;
    opacity:0;
    transition: opacity .4s cubic-bezier(.25,.46,.45,.94);
    transition-delay: calc(var(--i, 0) * 80ms);
    will-change: opacity;
  }
  .whisper-text.wt-in .wt-word { opacity:1; }

  /* ── BOTANICAL FLOURISH ── */
  .flourish {
    width:36px; height:36px; display:block; margin:0 auto 16px;
    color:#e11d48; opacity:.55;
    transform:scale(.6); opacity:0;
    transition:transform .8s cubic-bezier(.22,1,.36,1) .1s,
               opacity .8s ease .1s;
  }
  .sv-anim.visible .flourish { transform:scale(1); opacity:.55; }

  /* ── ICON WRAPS refined ── */
  .feat-icon-wrap, .whom-icon-circle {
    transition:transform .55s cubic-bezier(.22,1,.36,1),
               background-color .4s ease, color .4s ease;
  }
  .feat-icon-wrap svg { width:22px; height:22px; display:block; }
  .whom-icon-circle svg { width:15px; height:15px; display:block; }

  /* wedding tints */
  .ic-rose     { background:#fff1f2; color:#e11d48; }
  .ic-sage     { background:#f1f5ee; color:#6e8567; }
  .ic-champagne{ background:#fbf4e8; color:#b5833a; }
  .ic-taupe    { background:#f4f0ea; color:#8a7558; }
  .ic-dusty    { background:#eef2f6; color:#64748b; }
  .ic-peach    { background:#fdf0e8; color:#c46538; }

  /* ── ENHANCED CARD HOVER ── */
  .feat-card { transition:transform .55s cubic-bezier(.22,1,.36,1),
                          box-shadow .55s cubic-bezier(.22,1,.36,1),
                          border-color .4s ease; }
  .feat-card:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 44px rgba(225,29,72,.08), 0 4px 12px rgba(15,23,42,.04);
    border-color:rgba(254,205,211,.85);
  }
  .feat-card:hover .feat-icon-wrap { transform:scale(1.08) rotate(-4deg); }

  .whom-card-new:hover {
    transform:translateY(-4px);
    box-shadow:0 22px 48px -14px rgba(225,29,72,.16);
    border-color:rgba(252,185,204,.95);
  }
  .whom-card-new:hover .whom-icon-circle { transform:scale(1.08) rotate(-4deg); }

  /* ── STAGGER card reveal ── */
  .sv-anim .feat-card, .whom-card-new {
    opacity:0;
    transform:translate(var(--slide-x,0), 22px) scale(.985);
  }
  .sv-anim.visible .feat-card,
  .whom-grid.is-drawing .whom-card-new {
    opacity:1;
    transform:translate(0, 0) scale(1);
  }
  .sv-anim .feat-card {
    transition:opacity .75s cubic-bezier(.22,1,.36,1) var(--card-delay,0ms),
               transform .85s cubic-bezier(.22,1,.36,1) var(--card-delay,0ms),
               box-shadow .55s cubic-bezier(.22,1,.36,1),
               border-color .4s ease, background .4s ease;
  }
  .whom-card-new {
    transition:opacity .32s ease-out var(--card-delay,0ms),
               transform .42s cubic-bezier(.34,1.56,.64,1) var(--card-delay,0ms),
               box-shadow .5s ease,
               border-color .4s ease, background .4s ease;
  }
  .sv-anim .feat-card:nth-of-type(1) { --card-delay:.20s; }
  .sv-anim .feat-card:nth-of-type(2) { --card-delay:.32s; }
  .sv-anim .feat-card:nth-of-type(3) { --card-delay:.44s; }
  .sv-anim .feat-card:nth-of-type(4) { --card-delay:.56s; }
  .whom-card-new { --card-delay:calc(.2s + var(--i,0) * .26s); }

  /* ═══════════════════════════════════════════════════════
     EDITORIAL LAYER — scoped with --ed- prefix (additive)
     ═══════════════════════════════════════════════════════ */
  :root {
    --ed-ink:       #2d2421;
    --ed-ink-soft:  #6b5d56;
    --ed-rose-deep: #e11d48;
    --ed-rose:      #c98f8d;
    --ed-sage:      #6d7d73;
    --ed-champagne: #eed7c4;
    --ed-hair:      rgba(45,36,33,.12);
    --ed-serif:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }

  /* kicker (sjednoceno s .sv-toc-kicker — eyebrow nad H2) */
  .section-kicker {
    display:block; margin:0 0 14px;
    font-size:.7rem; font-weight:700;
    letter-spacing:.22em; text-transform:uppercase;
    color:#e11d48; text-align:center;
  }

  /* serif varianta pro section-title (UNIFIKOVANÝ základ pro všechny H2) */
  .section-title.serif {
    font-family:var(--ed-serif);
    font-weight:500;
    font-size:clamp(2.1rem,4.2vw,3.6rem);
    letter-spacing:-.035em;
    line-height:1.05;
    color:var(--ed-ink);
  }
  .section-title.serif em { font-style:italic; font-weight:500; color:var(--ed-rose-deep); }
  @media (min-width: 768px) { .sv-nowrap-md { white-space: nowrap; } }
  /* Větší varianta pro hero-impact sekce (Cena, Reference, FAQ) */
  .section-title.serif.serif--xl {
    font-size:clamp(2.4rem,5vw,4.2rem);
    font-weight:500;
    letter-spacing:-.04em;
    line-height:1.02;
  }
  /* reveal-words uvnitř serif nadpisu dědí font korektně */
  .section-title.serif .rw-accent { color:var(--ed-rose-deep); font-style:italic; }

  /* mixed-typography heading (bold sans + magenta Parisienne script) */
  .section-title.title-mixed {
    line-height:1.25;
    text-align:center;
  }
  .title-bold,
  .title-script {
    display:inline-block;
    vertical-align:baseline;
    line-height:1;
  }
  .title-bold {
    font-family:'Inter', sans-serif;
    font-weight:800;
    letter-spacing:-.045em;
    color:#0f172a;
  }
  .section-title.serif .title-bold { font-size:.82em; }
  .title-script {
    font-family:'Parisienne', cursive;
    font-weight:400;
    font-style:normal;
    color:#e11d48;
    letter-spacing:-.005em;
    padding:0 .04em;
  }
  .section-title.serif .title-script {
    font-size:1.38em;
  }

  /* ── TRUST BAR (4 pilíře pod hero) ── */
  .trust-bar {
    display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
    max-width:1300px; margin:24px auto 0;
    padding:0 8px;
    margin-top:-140px;
  }
  @media(max-width:768px){
    .trust-bar { margin-top:-40px; }
  }
  @media(max-width:480px){
    .trust-bar { margin-top:-20px; }
  }
  @media(min-width:768px){
    .trust-bar { grid-template-columns:repeat(4,1fr); gap:24px; }
  }
  @media(max-width:640px){
    .trust-bar .trust-item { padding:18px 16px; gap:12px; }
    .trust-bar .trust-icon { width:42px; height:42px; border-radius:12px; }
    .trust-bar .trust-icon svg { width:20px; height:20px; }
    .trust-bar .trust-label { font-size:.88rem; }
    .trust-bar .trust-sub { font-size:.72rem; }
    .trust-bar .trust-item::after { font-size:1.2rem; top:10px; right:14px; }
  }
  .trust-item {
    position:relative;
    display:flex; flex-direction:column; align-items:flex-start; gap:18px;
    padding:28px 26px 26px;
    background:linear-gradient(180deg,#ffffff 0%,#fff6f9 100%);
    border:1px solid rgba(252,185,204,.45);
    border-radius:22px;
    box-shadow:0 2px 10px rgba(225,29,72,.04);
    transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
    overflow:hidden;
  }
  .trust-item::before {
    content:''; position:absolute; inset:auto -40% -60% auto;
    width:160px; height:160px; border-radius:50%;
    background:radial-gradient(circle, rgba(252,185,204,.35) 0%, transparent 65%);
    pointer-events:none;
  }
  .trust-item::after {
    content:attr(data-num);
    position:absolute; top:14px; right:22px;
    font-family:'Parisienne', cursive;
    font-size:1.5rem; line-height:1;
    color:rgba(225,29,72,.38);
  }
  .trust-item:hover {
    transform:translateY(-4px);
    box-shadow:0 16px 36px rgba(225,29,72,.12);
    border-color:rgba(252,185,204,.9);
  }
  .trust-icon {
    position:relative; z-index:1;
    flex-shrink:0; width:52px; height:52px;
    display:flex; align-items:center; justify-content:center;
    color:#e11d48;
    background:linear-gradient(135deg,#ffe4ec 0%,#fcd5df 100%);
    border:1px solid rgba(252,185,204,.6);
    border-radius:16px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 4px 12px rgba(225,29,72,.1);
  }
  .trust-icon svg { width:24px; height:24px; stroke-width:1.8; }
  .trust-label {
    position:relative; z-index:1;
    font-size:.98rem; font-weight:700; line-height:1.35;
    color:#2d2421; letter-spacing:-.01em;
  }
  .trust-label br + * , .trust-label { }
  .trust-sub {
    display:block;
    font-size:.82rem; font-weight:500;
    color:#64748b; margin-top:4px;
    letter-spacing:0;
  }

  /* ── Wrapper kolem 12 kapitol sekce ── */
  .why-works-wrap {
    position: relative;
    width: 100%;
  }

  /* ── WHY WORKS SECTION (centered heading + scroll-grow laptop) ── */
  .why-works-section {
    position:relative;
    padding:0;
    background:transparent;
    border:none;
    box-shadow:none;
    border-radius:0;
    overflow:visible;
  }
  /* Květiny ornamenty mohou plynout VEN ze zaobleného bloku do okolí */
  .why-works-section .why-works-ornament {
    pointer-events:none;
  }
  .why-works-section .why-works-ornament-top {
    position:absolute;
    top:-44px;
    left:50%;
    transform:translateX(-50%);
    z-index:1;
    margin:0;
  }
  /* Růžová linka u dna sekce — schovaná (sekce nemá box) */
  .why-works-bottom-line { display:none; }
  .why-works-section .why-works-ornament,
  .why-works-section .why-works-ornament-top { display:none; }
  @media (max-width: 720px) {
    .why-works-section { padding:0; border-radius:0; }
    .why-works-section .why-works-ornament-top { top:-30px; height:60px; }
    .why-works-bottom-line { height:2px; border-radius:0 0 24px 24px; }
  }

  /* full-bleed floral vector ornament */
  .why-works-ornament {
    display:block;
    width:100vw;
    height:88px;
    position:relative;
    left:50%;
    transform:translateX(-50%);
    color:#e11d48;
    pointer-events:none;
    overflow:visible;
  }
  .why-works-ornament-top    { margin:-10px 0 28px; }
  .why-works-ornament-bottom { margin:24px 0 -10px; transform:translateX(-50%) scale(-1,-1); }
  @media(max-width:768px){
    .why-works-ornament { height:56px; }
    .why-works-ornament-top { margin:-4px 0 12px; }
  }
  /* Ornament micro-animations: peony breathe, leaf float, bud pulse */
  .why-works-ornament .ww-peony {
    transform-box:fill-box;
    transform-origin:center;
    animation:wwPeonyBreathe 7.5s ease-in-out infinite;
  }
  .why-works-ornament .ww-leaf {
    transform-box:fill-box;
    transform-origin:center;
    animation:wwLeafFloat 6s ease-in-out infinite;
  }
  .why-works-ornament .ww-bud {
    transform-box:fill-box;
    transform-origin:center;
    animation:wwBudPulse 4.5s ease-in-out infinite;
    opacity:.32;
  }
  @keyframes wwPeonyBreathe {
    0%, 100% { transform:scale(1) rotate(0deg); }
    50%      { transform:scale(1.09) rotate(4deg); }
  }
  @keyframes wwLeafFloat {
    0%, 100% { transform:translateY(0) scale(1); }
    50%      { transform:translateY(-1.5px) scale(1.04); }
  }
  @keyframes wwBudPulse {
    0%, 100% { transform:scale(1); opacity:.26; }
    50%      { transform:scale(1.4);  opacity:.48; }
  }
  @media (prefers-reduced-motion: reduce) {
    .why-works-ornament .ww-peony,
    .why-works-ornament .ww-leaf,
    .why-works-ornament .ww-bud { animation:none; }
  }

  .why-works-head {
    display:flex; flex-direction:column; align-items:center;
    text-align:center; margin-bottom:32px;
  }
  .why-works-head .section-kicker { margin-bottom: 0; }
  .why-works-head .section-sub {
    max-width: 600px;
    margin-top: 14px;
    line-height: 1.55;
  }

  /* ── Preview screenshotů z plánovače — sales motivator ── */
  .ww-preview {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:14px;
    max-width:1080px;
    margin:0 auto 16px;
  }
  @media(min-width:680px){
    .ww-preview { grid-template-columns:repeat(3, 1fr); gap:18px; }
  }
  @media(min-width:1100px){
    .ww-preview { grid-template-columns:repeat(6, 1fr); gap:14px; }
  }
  .ww-preview-card {
    margin:0;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(252,185,204,.5);
    box-shadow:0 14px 32px -16px rgba(15,23,42,.18);
    transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
    position:relative;
    cursor:pointer;
    transform:rotate(calc(var(--i, 0) * .8deg - 2deg));
  }
  .ww-preview-card:nth-child(even) { transform:rotate(calc(var(--i, 0) * -.6deg + 1.5deg)); }
  .ww-preview-card:hover {
    transform:rotate(0) translateY(-4px) scale(1.02);
    box-shadow:0 24px 48px -16px rgba(225,29,72,.28);
    z-index:2;
  }
  .ww-preview-card img {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:600/848;
    object-fit:cover;
  }
  .ww-preview-card figcaption {
    position:absolute;
    bottom:0; left:0; right:0;
    padding:18px 12px 10px;
    background:linear-gradient(to top, rgba(15,23,42,.85) 0%, rgba(15,23,42,0) 100%);
    color:#fff;
    font-size:.75rem; font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-align:center;
  }
  .ww-preview-card--bonus {
    border:2px solid rgba(225,29,72,.55);
    box-shadow:0 18px 36px -12px rgba(225,29,72,.4);
  }
  .ww-preview-card--bonus figcaption {
    background:linear-gradient(to top, rgba(225,29,72,.95) 0%, rgba(225,29,72,0) 100%);
    color:#fff;
    font-weight:800;
  }
  .ww-preview-note {
    text-align:center;
    font-size:.85rem;
    color:#737373;
    font-style:italic;
    margin:0 auto 24px;
    max-width:640px;
  }

  /* ── HERO — nevěsta uprostřed + lítající papíry kolem ── */
  .ww-hero {
    position:relative;
    width:80vw;
    max-width:1320px;
    margin-left:50%;
    transform:translateX(-50%);
    aspect-ratio: 16 / 9;
    overflow:visible;
    isolation:isolate;
    background:transparent;
  }
  .ww-bride {
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%) translateY(15%);
    height:120%;
    width:auto;
    max-width:none;
    object-fit:contain;
    z-index:2;
    pointer-events:none;
    image-rendering:auto;
  }

  /* ── Lítající papíry overlay — ZA NEVĚSTOU, fly z dálky + soft blur ── */
  .ww-papers {
    position:absolute;
    top:0; bottom:0;
    left:50%;
    transform:translateX(-50%) translateY(15%) scale(.3);
    width:150%;
    height:115%;
    max-width:none;
    object-fit:contain;
    object-position:center center;
    z-index:1;
    pointer-events:none;
    filter:blur(8px);
    opacity:0;
    -webkit-mask-image: radial-gradient(ellipse 70% 80% at center, rgba(0,0,0,.35) 0%, rgba(0,0,0,.85) 45%, #000 75%);
            mask-image: radial-gradient(ellipse 70% 80% at center, rgba(0,0,0,.35) 0%, rgba(0,0,0,.85) 45%, #000 75%);
  }
  .ww-hero.is-visible .ww-papers {
    animation:wwPapersFly 1.8s cubic-bezier(.16,1,.3,1) .2s forwards;
    will-change:transform, filter, opacity;
  }
  @keyframes wwPapersFly {
    0%   { transform:translateX(-50%) translateY(15%) scale(.3); filter:blur(8px); opacity:0; }
    25%  { opacity:.6; }
    100% { transform:translateX(-50%) translateY(15%) scale(1.1); filter:blur(2px); opacity:1; }
  }
  @media (prefers-reduced-motion: reduce) {
    .ww-papers { transform:translateX(-50%) translateY(15%) scale(1.1); filter:blur(2px); opacity:1; animation:none !important; }
  }

  /* Countdown card — pod středem (níž), aby nezakrývala nevěstu */
  .ww-hero-content {
    position:absolute;
    top:68%; left:50%;
    transform:translate(-50%, -50%);
    z-index:5;
    width:min(94%, 700px);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px) saturate(1.2);
    -webkit-backdrop-filter:blur(14px) saturate(1.2);
    border:1px solid rgba(252,185,204,.55);
    border-radius:20px;
    padding:30px 40px;
    box-shadow:0 28px 60px -18px rgba(15,23,42,.32);
    text-align:center;
  }

  /* ── HANDWRITTEN TAGS — 8 animovaných popisků se šipkami kolem nevěsty ── */
  .ww-tag {
    position:absolute;
    z-index:4;
    display:flex; align-items:center; gap:6px;
    color:#e11d48;
    pointer-events:none;
    opacity:0;
    transform:translateY(8px) scale(.95) rotate(var(--rot, 0deg));
    --rot: 0deg;
  }
  .ww-tag--reverse { flex-direction:row-reverse; }
  .ww-hero.is-visible .ww-tag {
    animation:wwTagIn .6s cubic-bezier(.16,1,.3,1) forwards;
    animation-delay:var(--delay, 1s);
  }
  @keyframes wwTagIn {
    0%   { opacity:0; transform:translateY(8px) scale(.95) rotate(var(--rot, 0deg)); }
    100% { opacity:1; transform:translateY(0) scale(1) rotate(var(--rot, 0deg)); }
  }
  .ww-tag-text {
    font-family:'Caveat', 'Parisienne', cursive;
    font-size:1.4rem;
    font-weight:600;
    line-height:1.1;
    color:#e11d48;
    white-space:nowrap;
  }
  .ww-tag-arrow {
    width:60px; height:44px;
    flex-shrink:0;
    color:#e11d48;
    opacity:0;
    transform:scale(.7);
  }
  .ww-hero.is-visible .ww-tag-arrow {
    animation:wwArrowIn .55s cubic-bezier(.34,1.56,.64,1) forwards;
    animation-delay:calc(var(--delay, 1s) + .3s);
  }
  @keyframes wwArrowIn {
    0%   { opacity:0; transform:scale(.7); }
    100% { opacity:1; transform:scale(1); }
  }

  @media (max-width: 768px) {
    .ww-tag-text { font-size: 1rem !important; }
    .ww-tag-arrow { width: 32px !important; height: 24px !important; }
    .ww-tag { gap: 4px !important; }
    /* Na mobilu některé tagy schovat aby nepřekrývaly nevěstu */
    .ww-tag--6, .ww-tag--7 { display: none !important; }
  }
  @media (max-width: 480px) {
    .ww-tag--1, .ww-tag--4 { display: none !important; }
  }
  .ww-hero-eyebrow {
    display:inline-flex; align-items:center; gap:8px;
    font-size:.65rem; font-weight:700;
    letter-spacing:.18em; text-transform:uppercase;
    color:#e11d48;
    margin-bottom:6px;
  }
  .ww-hero-dot {
    width:6px; height:6px; border-radius:50%;
    background:#e11d48;
    box-shadow:0 0 0 3px rgba(225,29,72,.2);
    animation:salePulse 1.6s ease-in-out infinite;
  }
  .ww-hero-title {
    font-family:var(--ed-serif, 'Playfair Display', Georgia, serif);
    font-size:clamp(1.9rem, 3.6vw, 2.6rem);
    font-weight:500;
    color:#1f1f23;
    margin:0 0 18px;
    letter-spacing:-.025em;
    line-height:1.1;
  }
  .ww-hero-title em {
    font-family:'Parisienne', cursive;
    font-style:normal;
    font-size:1.3em;
    color:#e11d48;
    padding:0 .05em;
  }

  .ww-hero-countdown {
    display:flex; align-items:baseline; justify-content:center;
    gap:6px;
    margin:0 0 18px;
    font-variant-numeric:tabular-nums;
  }
  .ww-cd-cell {
    display:flex; flex-direction:column; align-items:center;
    min-width:60px;
  }
  .ww-cd-cell strong {
    font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;
    font-size:2.1rem; font-weight:700;
    color:#1f1f23;
    line-height:1;
    letter-spacing:-.025em;
  }
  .ww-cd-cell span {
    font-size:.62rem;
    color:#94a3b8;
    text-transform:lowercase;
    letter-spacing:.08em;
    margin-top:4px;
  }
  .ww-cd-sep {
    font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;
    font-size:1.5rem; font-weight:700;
    color:#cbd5e1;
    line-height:1;
    transform:translateY(-6px);
  }

  .ww-hero-action {
    display:flex; align-items:center; justify-content:center; gap:14px;
    flex-wrap:wrap;
  }
  .ww-hero-price {
    display:flex; align-items:baseline; gap:8px;
    line-height:1;
  }
  .ww-hero-price s {
    font-size:.85rem;
    color:#a1a1aa;
    text-decoration:line-through;
  }
  .ww-hero-price strong {
    font-size:1.5rem; font-weight:800;
    color:#e11d48;
    letter-spacing:-.025em;
  }
  .ww-hero-btn {
    background:#e11d48; color:#fff;
    border:none; cursor:pointer;
    padding:12px 22px;
    border-radius:100px;
    font-family:inherit;
    font-size:.92rem; font-weight:600;
    letter-spacing:-.005em;
    display:inline-flex; align-items:center; gap:8px;
    transition:background .2s, transform .15s, box-shadow .25s;
    box-shadow:0 10px 24px -8px rgba(225,29,72,.5);
  }
  .ww-hero-btn:hover {
    background:#be123c;
    transform:translateY(-1px);
    box-shadow:0 14px 32px -10px rgba(190,18,60,.55);
  }
  .ww-hero-btn svg { width:14px; height:14px; }

  /* Mobile */
  @media(max-width:780px){
    .ww-hero-content { padding:16px 18px; width:calc(100% - 28px); }
    .ww-hero-title { font-size:1.3rem; margin-bottom:10px; }
    .ww-hero-countdown { gap:4px; margin-bottom:12px; }
    .ww-cd-cell { min-width:36px; }
    .ww-cd-cell strong { font-size:1.2rem; }
    .ww-cd-sep { font-size:1.05rem; transform:translateY(-4px); }
    .ww-hero-price strong { font-size:1.2rem; }
    .ww-hero-btn { padding:9px 16px; font-size:.82rem; }
  }
  .why-works-title {
    font-family: var(--ed-serif, 'Playfair Display', 'EB Garamond', Georgia, serif);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    font-weight: 500;
    letter-spacing: -.04em;
    color: var(--ed-ink, #1f1f23);
    line-height: 1.15;
    margin: 0;
    text-align: center;
    white-space: nowrap;
    overflow: visible;
  }
  @media (max-width:768px){
    .why-works-title { white-space:normal !important; max-width:none !important; font-size:clamp(2.7rem, 10vw, 3.5rem) !important; padding:0 16px !important; line-height:1.05 !important; margin: 0 !important; }
    .why-works-title .ww-line { display:block !important; line-height:1.05 !important; margin: 0 !important; }
    /* nevěstu — 12px mezera dolů, menší gap nahoru přes negativní margin-bottom rotujícího slova */
    .why-works-title .ww-line:last-child { margin-bottom: 12px !important; }
    .why-works-title em.flip-words,
    .why-works-title em.script.flip-words { display:block !important; margin:-22px auto -32px !important; text-align:center !important; padding-bottom: .25em !important; }
    /* "Tvůj plánovač" kicker výš a celá sekce lehce níž */
    .why-works-head .section-kicker { margin-top: -8px !important; margin-bottom: 4px !important; }
  }
  /* Safari fix — Parisienne má v Safari problém s render. Použijeme Dancing Script jako alternativu */
  @supports (background: -webkit-named-image(i)) {
    .why-works-title em.script,
    .why-works-title em.script.flip-words { font-family: 'Dancing Script', 'Parisienne', cursive !important; font-weight: 600 !important; }
  }
  .why-works-title em {
    font-style: normal;
    color: #e11d48;
  }
  .why-works-title em.script {
    font-family: 'Parisienne', cursive !important;
    font-weight: 400;
    font-size: 1.35em;
    letter-spacing: 0;
    color: #e11d48;
    font-style: normal;
    display: inline-block;
    vertical-align: baseline;
  }
  .why-works-head .section-sub {
    max-width: 56ch; margin-left: auto; margin-right: auto;
    text-align: center;
  }

  /* ── FlipWords — rotating word in the title (Safari-safe) ── */
  .flip-words {
    position:relative;
    display:inline-block;
    vertical-align:baseline;
    white-space:nowrap;
    line-height:1.7; /* extra room pro Parisienne descenders (Safari) */
    padding: .15em .08em .55em; /* top + side + bottom (descender p, j, ř) */
    overflow:visible;
  }
  .flip-words .fw-ghost {
    visibility:hidden;
    display:inline-block;
    pointer-events:none;
    user-select:none;
    line-height: inherit;
  }
  .flip-words .fw-stage {
    position:absolute;
    left:0; right:0;
    top: .15em; /* match parent padding-top */
    bottom: .55em; /* match parent padding-bottom */
    display:flex;
    justify-content:center;
    align-items:baseline;
    white-space:nowrap;
    overflow:visible;
    line-height: inherit;
  }
  .flip-words .fw-letter {
    display:inline-block;
    opacity:0;
    filter:blur(10px);
    transform:translateY(10px);
    transition:opacity .4s ease, filter .4s ease, transform .45s cubic-bezier(.22,1,.36,1);
    will-change:transform, filter, opacity;
  }
  .flip-words .fw-letter.fw-in {
    opacity:1;
    filter:blur(0);
    transform:translateY(0);
  }
  .flip-words .fw-letter.fw-out {
    opacity:0;
    filter:blur(10px);
    transform:translateY(-14px) scale(1.02);
  }
  @media (prefers-reduced-motion:reduce){
    .flip-words .fw-letter { transition:none; opacity:1; filter:none; transform:none; }
  }

  /* ── OFFER PANEL (marketing price + urgency countdown) ── */
  .offer-panel {
    margin:20px auto 0;
    display:flex; flex-direction:column;
    width:min(100%, 820px);
    background:#ffffff;
    border:1px solid rgba(252,185,204,.6);
    border-radius:22px;
    box-shadow:
      0 32px 70px -28px rgba(190,18,60,.28),
      0 6px 16px -4px rgba(225,29,72,.08),
      inset 0 1px 0 rgba(255,255,255,.95);
    overflow:hidden;
    position:relative;
    text-align:left;
  }
  .offer-ribbon {
    position:relative;
    display:flex; align-items:center; justify-content:center; gap:9px;
    padding:7px 18px;
    background:linear-gradient(90deg,#e11d48 0%, #be123c 55%, #e11d48 100%);
    background-size:200% 100%;
    color:#fff;
    font-size:.64rem; font-weight:700;
    letter-spacing:.16em; text-transform:uppercase;
    animation:ribbonShimmer 8s linear infinite;
    overflow:hidden;
  }
  @keyframes ribbonShimmer {
    0%   { background-position:0% 0; }
    100% { background-position:200% 0; }
  }
  .offer-dot {
    width:6px; height:6px; border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 3px rgba(255,255,255,.35);
    animation:offerDot 1.4s ease-in-out infinite;
  }
  @keyframes offerDot {
    0%,100% { box-shadow:0 0 0 3px rgba(255,255,255,.35); transform:scale(1); }
    50%     { box-shadow:0 0 0 6px rgba(255,255,255,.05); transform:scale(1.2); }
  }
  .offer-body {
    display:grid;
    grid-template-columns:auto 1px 1fr auto;
    gap:18px;
    align-items:center;
    padding:12px 16px 12px 20px;
    text-align:left;
  }
  .offer-body-divider {
    width:1px; height:48px;
    background:linear-gradient(180deg, transparent, rgba(225,29,72,.22), transparent);
  }
  .offer-price {
    display:flex; flex-direction:column; gap:4px;
    align-items:flex-start;
  }
  .offer-price-row {
    display:flex; align-items:baseline; gap:8px;
  }
  .offer-price-old {
    font-size:.82rem; font-weight:600;
    color:#94a3b8;
    text-decoration:line-through;
    text-decoration-thickness:1.2px;
    text-decoration-color:#cbd5e1;
  }
  .offer-price-new {
    font-family:'Inter', sans-serif;
    font-size:2.2rem; font-weight:800;
    color:#0f172a; letter-spacing:-.04em;
    line-height:1;
  }
  .offer-save {
    display:inline-flex; align-items:center;
    padding:3px 8px;
    background:#ffe4ec;
    color:#be123c;
    font-size:.6rem; font-weight:700;
    border-radius:100px;
    letter-spacing:.03em;
    white-space:nowrap;
    animation:offerSavePulse 2.8s ease-in-out infinite;
  }
  @keyframes offerSavePulse {
    0%,100% { box-shadow:0 0 0 0 rgba(225,29,72,.0); }
    50%     { box-shadow:0 0 0 5px rgba(225,29,72,.08); }
  }
  .offer-count {
    display:flex; flex-direction:column; gap:4px;
    min-width:0;
  }
  .offer-count-label {
    font-size:.56rem; font-weight:700;
    letter-spacing:.2em; text-transform:uppercase;
    color:#e11d48;
    text-align:left;
  }
  .offer-count-grid {
    display:grid; grid-template-columns:repeat(4, 1fr);
    width:100%; gap:2px;
  }
  .wc-cell {
    position:relative;
    display:flex; flex-direction:column; align-items:center;
    gap:2px;
    padding:2px 2px 8px;
    min-width:0;
  }
  .wc-cell::after {
    content:''; position:absolute;
    left:16%; right:16%; bottom:1px;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(225,29,72,.2), transparent);
  }
  .wc-num-mask {
    position:relative;
    display:block; width:100%;
    height:2.1rem;
    overflow:hidden;
  }
  .wc-num {
    display:block;
    position:absolute; inset:0;
    font-family:'JetBrains Mono', 'SFMono-Regular', ui-monospace, Consolas, monospace;
    font-variant-numeric:tabular-nums;
    font-size:1.7rem; line-height:2.1rem;
    font-weight:700; letter-spacing:-.03em;
    color:#0f172a;
    text-align:center;
    transform:translateY(0);
    opacity:1;
    transition:transform .38s cubic-bezier(.22,1,.36,1), opacity .28s ease;
    will-change:transform;
  }
  .wc-num.is-out { transform:translateY(-100%); opacity:0; }
  .wc-num.is-in  { transform:translateY(100%); opacity:0; transition:none; }
  .wc-unit {
    font-size:.5rem; font-weight:700;
    letter-spacing:.14em; text-transform:uppercase;
    color:#94a3b8;
  }
  .offer-cta {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:10px 16px;
    background:linear-gradient(90deg,#e11d48 0%,#be123c 100%);
    color:#fff;
    font-family:inherit;
    font-size:.84rem; font-weight:700;
    letter-spacing:-.005em;
    border:0; border-radius:10px;
    cursor:pointer;
    white-space:nowrap;
    box-shadow:
      0 8px 18px -6px rgba(225,29,72,.48),
      inset 0 1px 0 rgba(255,255,255,.18);
    transition:transform .2s cubic-bezier(.22,1,.36,1), box-shadow .25s;
  }
  .offer-cta svg { width:14px; height:14px; transition:transform .25s; }
  .offer-cta:hover { transform:translateY(-2px); box-shadow:0 14px 26px -8px rgba(225,29,72,.6), inset 0 1px 0 rgba(255,255,255,.2); }
  .offer-cta:hover svg { transform:translateX(3px); }
  .offer-cta:active { transform:translateY(0) scale(.98); }

  @media(max-width:780px){
    .offer-panel { max-width:calc(100vw - 36px); }
    .offer-body {
      grid-template-columns:1fr;
      gap:14px; padding:14px 18px 16px;
      text-align:center;
    }
    .offer-body-divider { display:none; }
    .offer-price { align-items:center; }
    .offer-count-label { text-align:center; }
    .offer-cta { justify-self:stretch; }
  }

  /* ── DEVICE INTRO — headline + popis nad notebookem ── */
  .device-intro {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 28px;
    padding: 0 24px;
  }
  .device-intro-tag {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 16px;
    background: rgba(225,29,72,.08);
    border: 1px solid rgba(225,29,72,.22);
    border-radius: 100px;
    font-size: .72rem; font-weight: 700;
    letter-spacing: .16em; text-transform: uppercase;
    color: #e11d48;
    margin-bottom: 18px;
  }
  .device-intro-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #e11d48;
    box-shadow: 0 0 0 0 rgba(225,29,72,.5);
    animation: svDeviceIntroPulse 1.8s ease-out infinite;
    flex-shrink: 0;
  }
  @keyframes svDeviceIntroPulse {
    0%   { box-shadow: 0 0 0 0    rgba(225,29,72,.5); }
    70%  { box-shadow: 0 0 0 10px rgba(225,29,72,0); }
    100% { box-shadow: 0 0 0 0    rgba(225,29,72,0); }
  }
  .device-intro-title {
    font-family: var(--ed-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(1.8rem, 3.4vw, 2.6rem);
    font-weight: 700;
    color: #1d1d1f;
    letter-spacing: -.025em;
    line-height: 1.15;
    margin: 0 0 16px;
    text-wrap: balance;
  }
  .device-intro-title em {
    font-style: italic;
    font-weight: 600;
    color: #e11d48;
  }
  .device-intro-text {
    font-size: 1.05rem; font-weight: 500;
    color: #515154;
    line-height: 1.6;
    margin: 0;
    letter-spacing: -.005em;
    text-wrap: balance;
  }
  .device-intro-text strong { color: #1d1d1f; font-weight: 700; }
  @media (max-width: 640px) {
    .device-intro { margin: 0 auto 22px; }
    .device-intro-text { font-size: .95rem; }
  }

  .device-stage {
    position: relative;
    display: flex; justify-content: center;
    padding: 24px 0 0;
    min-height: 60vh;
  }
  @media(max-width:768px){
    .device-stage { padding: 8px 0 8px !important; min-height: auto !important; }
    .why-works-head { margin-bottom: 24px; }
  }

  /* ── descriptive copy under the laptop ── */
  .device-below {
    max-width:860px;
    margin:0 auto 24px;
    padding:0 24px;
    text-align:center;
  }
  .device-below-lead {
    font-size:1.05rem; line-height:1.65;
    color:#475569;
    max-width:58ch;
    margin:0 auto 26px;
  }
  .device-below-lead strong { color:#0f172a; font-weight:700; }
  .device-below-grid {
    display:grid; grid-template-columns:repeat(3, 1fr);
    gap:20px;
    text-align:left;
  }
  .device-below-item {
    display:flex; flex-direction:column; gap:6px;
    padding:18px 20px;
    background:rgba(255,255,255,.6);
    border:1px solid rgba(252,185,204,.4);
    border-radius:14px;
    backdrop-filter:blur(6px);
  }
  .device-below-kicker {
    display:inline-flex; align-items:center; gap:6px;
    font-size:.64rem; font-weight:700;
    letter-spacing:.18em; text-transform:uppercase;
    color:#e11d48;
  }
  .device-below-kicker::before {
    content:''; width:4px; height:4px; border-radius:50%;
    background:#e11d48;
    box-shadow:0 0 0 3px rgba(225,29,72,.14);
  }
  .device-below-title {
    font-size:1rem; font-weight:700;
    color:#0f172a; letter-spacing:-.01em;
    margin:2px 0 0;
  }
  .device-below-body {
    font-size:.88rem; line-height:1.55;
    color:#64748b;
  }
  @media(max-width:780px){
    .device-below-grid { grid-template-columns:1fr; gap:12px; }
    .device-below { margin-bottom:18px; }
    .device-below-lead { font-size:1rem; }
  }

  /* ── BENEFIT CARDS (Čtyři pilíře — designy) ── */
  .benefit-grid {
    display:grid; grid-template-columns:1fr; gap:16px;
  }
  .benefit {
    position:relative;
    display:grid; grid-template-columns:auto 1fr; gap:20px;
    padding:24px 26px 24px 30px;
    background:linear-gradient(180deg,#ffffff 0%, #fff8fb 100%);
    border:1px solid rgba(252,185,204,.5);
    border-radius:18px;
    align-items:flex-start;
    box-shadow:0 2px 10px rgba(225,29,72,.04);
    transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s, border-color .35s;
    overflow:hidden;
  }
  .benefit::before {
    content:''; position:absolute; left:0; top:18%; bottom:18%; width:3px;
    background:linear-gradient(180deg,#e11d48,#fbcfe2);
    border-radius:0 3px 3px 0;
    opacity:.8;
    transition:top .35s, bottom .35s, opacity .35s;
  }
  .benefit::after {
    content:attr(data-num);
    position:absolute; top:14px; right:20px;
    font-family:'Parisienne', cursive;
    font-size:1.6rem; line-height:1;
    color:rgba(225,29,72,.38);
  }
  .benefit:hover {
    transform:translateY(-3px);
    box-shadow:0 18px 40px -10px rgba(225,29,72,.15);
    border-color:rgba(252,185,204,.95);
  }
  .benefit:hover::before { top:6%; bottom:6%; opacity:1; }
  .benefit-num { display:none; }
  .benefit-icon {
    flex-shrink:0; width:48px; height:48px;
    display:flex; align-items:center; justify-content:center;
    color:#e11d48;
    background:linear-gradient(135deg,#ffe4ec 0%,#fcd5df 100%);
    border:1px solid rgba(252,185,204,.6);
    border-radius:14px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 4px 10px rgba(225,29,72,.08);
  }
  .benefit-icon svg { width:22px; height:22px; stroke-width:1.8; }
  .benefit-body { min-width:0; padding-right:32px; }
  .benefit-title {
    font-family:var(--ed-serif);
    font-size:clamp(1.15rem,1.7vw,1.3rem);
    font-weight:500; color:var(--ed-ink);
    letter-spacing:-.02em; line-height:1.2;
    margin:0 0 6px;
  }
  .benefit-desc {
    font-size:.9rem; color:var(--ed-ink-soft);
    line-height:1.6; margin:0;
    max-width:46ch;
  }

  /* ── DEVICE MOCKUP (video-based notebook, transparent-blend) ── */
  .device-float {
    position:relative;
    width:100%; max-width:1080px;
    transform-origin:center 60%;
    transform:scale(.92);
    will-change:transform;
  }
  @media(max-width:1024px){
    .device-float { max-width: 880px; transform:scale(.95); }
  }
  @media(max-width:768px){
    .device-float { max-width: 720px; transform:scale(1); }
  }
  @media(max-width:640px){
    .device-float { max-width: 100%; transform:scale(1); }
    .device-stage { padding: 6px 0 !important; min-height: auto !important; }
    .notebook-mockup { transform: scale(1.05); }
  }
  .notebook-mockup {
    position:relative;
    width:100%;
    aspect-ratio: 16 / 10;
  }
  .notebook-video {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:contain;
    background:transparent;
    display:block;
    /* Blend white/light video background into the page background */
    mix-blend-mode: multiply;
    /* Aggressive soft feather — stronger on top where residual frame is visible */
    -webkit-mask-image:
      linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.3) 6%, rgba(0,0,0,.75) 14%, #000 22%, #000 88%, transparent 100%),
      linear-gradient(to right,  transparent 0%, rgba(0,0,0,.6)  5%, #000 12%, #000 88%, rgba(0,0,0,.6) 95%, transparent 100%);
            mask-image:
      linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.3) 6%, rgba(0,0,0,.75) 14%, #000 22%, #000 88%, transparent 100%),
      linear-gradient(to right,  transparent 0%, rgba(0,0,0,.6)  5%, #000 12%, #000 88%, rgba(0,0,0,.6) 95%, transparent 100%);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-composite: source-in;
            mask-composite: intersect;
  }
  /* Screen area inside notebook (tunable via CSS vars) */
  .notebook-screen-overlay {
    position:absolute;
    top: var(--nb-top, 13%);
    left: var(--nb-left, 15%);
    width: var(--nb-w, 70%);
    height: var(--nb-h, 64%);
    overflow:hidden;
    background:#000;
    opacity:0;
    transform:scale(.985);
    transition: opacity .5s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
    border-radius:2px;
  }
  .notebook-screen-overlay.is-playing {
    opacity:1;
    transform:scale(1);
    pointer-events:auto;
  }
  .notebook-screen-overlay iframe {
    position:absolute; inset:0;
    width:100%; height:100%;
    border:0; display:block;
  }
  /* Play button — objeví se až po dokončení notebook intro animace */
  .notebook-play-btn {
    position:absolute;
    top:44%; left:50%;
    transform:translate(-50%,-50%) scale(.82);
    z-index:6;
    width:72px; height:72px;
    border-radius:50%;
    background:rgba(225,29,72,.96);
    border:0;
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    transition:opacity .45s ease, transform .45s cubic-bezier(.34,1.56,.64,1);
    box-shadow:0 10px 36px rgba(0,0,0,.4), 0 0 0 8px rgba(225,29,72,.16);
    -webkit-tap-highlight-color:transparent;
  }
  .notebook-play-btn.is-visible {
    opacity:1;
    pointer-events:auto;
    transform:translate(-50%,-50%) scale(1);
    animation:nbPlayPulse 2.6s ease-in-out infinite;
  }
  .notebook-play-btn:hover { background:#e11d48; }
  .notebook-play-btn:active { transform:translate(-50%,-50%) scale(.95); }
  .notebook-play-btn svg { width:30px; height:30px; margin-left:3px; }
  @keyframes nbPlayPulse {
    0%,100% { box-shadow:0 10px 36px rgba(0,0,0,.4), 0 0 0 8px rgba(225,29,72,.16); }
    50%     { box-shadow:0 10px 36px rgba(0,0,0,.4), 0 0 0 16px rgba(225,29,72,.05); }
  }
  .laptop {
    position:relative;
    width:100%;
    aspect-ratio: 1.55 / 1;
    display:block;
  }
  .laptop-lid {
    position:absolute;
    top:0; left:0; right:0;
    height:86%;
    background:
      linear-gradient(180deg, #2b2b2e 0%, #1d1d20 50%, #26262a 100%);
    border-radius:14px 14px 6px 6px;
    padding:16px 16px 18px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      inset 0 0 0 1px rgba(0,0,0,.35),
      0 18px 34px rgba(15,15,18,.32);
  }
  .laptop-cam {
    position:absolute;
    top:7px; left:50%;
    width:6px; height:6px; border-radius:50%;
    background:#090909;
    transform:translateX(-50%);
    box-shadow:0 0 0 1px rgba(255,255,255,.05), inset 0 0 2px rgba(80,140,220,.35);
  }
  .device-screen {
    position:relative;
    width:100%; height:100%;
    overflow:hidden;
    background:#fff;
    border-radius:3px;
    box-shadow:
      inset 0 0 0 1px rgba(0,0,0,.25),
      inset 0 1px 0 rgba(255,255,255,.08);
  }
  .laptop-hinge {
    position:absolute;
    left:-0.6%; right:-0.6%;
    top:86%;
    height:1.4%;
    background:
      linear-gradient(180deg, #141416 0%, #2a2a2e 48%, #141416 100%);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.06),
      inset 0 -1px 0 rgba(0,0,0,.5);
    z-index:2;
  }
  .laptop-base {
    position:absolute;
    bottom:0;
    left:-2.8%; right:-2.8%;
    height:12.6%;
    background:
      linear-gradient(180deg, #e5e5e9 0%, #c6c6cb 35%, #8f8f94 100%);
    border-radius:0 0 16px 16px;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.8),
      inset 0 -1px 0 rgba(0,0,0,.25),
      0 10px 20px rgba(30,20,26,.12);
    overflow:hidden;
  }
  .laptop-base::before {
    content:'';
    position:absolute; top:0; left:0; right:0;
    height:28%;
    background:linear-gradient(180deg, rgba(0,0,0,.22) 0%, transparent 100%);
  }
  .laptop-trackpad {
    position:absolute;
    bottom:22%; left:36%; right:36%;
    height:44%;
    background:linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.04) 100%);
    border-radius:2px;
    box-shadow:inset 0 1px 0 rgba(0,0,0,.08);
  }
  /* subtle animated screen glare */
  .device-screen::after {
    content:''; position:absolute; top:-10%; left:-50%;
    width:40%; height:130%;
    background:linear-gradient(100deg, transparent 35%, rgba(255,255,255,.16) 50%, transparent 65%);
    transform:skewX(-14deg);
    pointer-events:none;
    z-index:7;
    mix-blend-mode:screen;
    animation:screenGlare 9s ease-in-out infinite;
  }
  @keyframes screenGlare {
    0%, 22%   { left:-50%; opacity:0; }
    28%       { opacity:.9; }
    55%       { left:140%; opacity:.9; }
    58%, 100% { left:140%; opacity:0; }
  }

  /* ── PLANNER UI inside screen ── */
  .planner {
    position:absolute; inset:0;
    display:grid; grid-template-columns:34% 1fr; z-index:1;
    font-size:9px;
  }
  .planner-side {
    background:linear-gradient(180deg,#fff5f8 0%,#ffe9ef 100%);
    border-right:1px solid rgba(225,29,72,.08);
    padding:10px 8px;
    display:flex; flex-direction:column; gap:6px;
  }
  .planner-brand {
    display:flex; align-items:center; gap:5px;
    font-family:'Parisienne', cursive;
    color:#e11d48; font-size:12px; line-height:1;
    padding:2px 4px 6px;
    border-bottom:1px solid rgba(225,29,72,.1);
    margin-bottom:4px;
  }
  .planner-brand::before {
    content:''; width:8px; height:8px; border-radius:50%;
    background:#e11d48;
    box-shadow:0 0 0 2px rgba(225,29,72,.18);
    animation:planDot 2s ease-in-out infinite;
  }
  @keyframes planDot {
    0%,100% { box-shadow:0 0 0 2px rgba(225,29,72,.18); }
    50%     { box-shadow:0 0 0 4px rgba(225,29,72,.08); }
  }
  .planner-nav-item {
    display:flex; align-items:center; gap:5px;
    padding:4px 6px; border-radius:5px;
    color:#6b5560; font-weight:500;
    transition:background .4s ease, color .4s ease;
  }
  .planner-nav-item.active {
    background:#fff; color:#e11d48; font-weight:700;
    box-shadow:0 1px 3px rgba(225,29,72,.08);
  }
  .planner-nav-item::before {
    content:''; width:4px; height:4px; border-radius:50%;
    background:currentColor; opacity:.55;
  }
  .planner-main { padding:10px 12px; background:#fff; display:flex; flex-direction:column; gap:7px; min-width:0; }
  .planner-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:6px; border-bottom:1px solid #f3e2e8; }
  .planner-h { font-size:10px; font-weight:700; color:#2d2421; letter-spacing:-.01em; }
  .planner-chip {
    font-size:8px; font-weight:600; color:#e11d48;
    background:#ffe9ef; padding:2px 6px; border-radius:100px;
    transition:transform .3s cubic-bezier(.22,1,.36,1);
  }
  .planner-prog { display:flex; flex-direction:column; gap:3px; }
  .planner-prog-bar { height:4px; background:#f3e2e8; border-radius:100px; overflow:hidden; position:relative; }
  .planner-prog-fill {
    position:absolute; inset:0 auto 0 0; width:20%;
    background:linear-gradient(90deg,#e11d48,#f472a3);
    border-radius:100px;
    animation:plannerGrow 7s cubic-bezier(.65,0,.35,1) infinite;
  }
  .planner-prog-fill::after {
    content:''; position:absolute; top:0; right:-8px; bottom:0; width:8px;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.8));
    filter:blur(2px);
  }
  @keyframes plannerGrow {
    0%   { width:10%; }
    45%  { width:62%; }
    55%  { width:62%; }
    100% { width:10%; }
  }
  .planner-prog-meta { display:flex; justify-content:space-between; font-size:8px; color:#64748b; font-weight:500; }
  .planner-prog-meta .pct {
    color:#e11d48; font-weight:700;
    animation:pctCount 7s cubic-bezier(.65,0,.35,1) infinite;
  }
  @keyframes pctCount {
    0%,100% { opacity:.6; }
    50%     { opacity:1; }
  }
  .planner-list { display:flex; flex-direction:column; gap:4px; margin-top:2px; position:relative; }
  .planner-row {
    display:flex; align-items:center; gap:6px;
    padding:4px 6px;
    background:#fff9fb; border:1px solid #f3e2e8; border-radius:6px;
    color:#2d2421; font-weight:500;
    opacity:0; transform:translateY(4px);
    animation:rowFadeIn .6s cubic-bezier(.22,1,.36,1) forwards;
  }
  .planner-row:nth-child(1) { animation-delay:.1s; }
  .planner-row:nth-child(2) { animation-delay:.3s; }
  .planner-row:nth-child(3) { animation-delay:.5s; }
  .planner-row:nth-child(4) { animation-delay:.7s; }
  @keyframes rowFadeIn { to { opacity:1; transform:translateY(0); } }
  .planner-row.done { color:#97808a; background:#fff; border-color:#f8eaf0; position:relative; }
  .planner-row.done::after {
    content:''; position:absolute; left:24px; right:10px; top:50%;
    height:1px; background:#c7abb4;
    transform:scaleX(0); transform-origin:left;
    animation:strikethrough .5s cubic-bezier(.22,1,.36,1) forwards;
  }
  .planner-row:nth-child(1).done::after { animation-delay:1.4s; }
  .planner-row:nth-child(2).done::after { animation-delay:2.2s; }
  @keyframes strikethrough { to { transform:scaleX(1); } }
  .planner-check {
    width:12px; height:12px; border-radius:50%;
    border:1.2px solid #f3c3d2;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    transition:background .35s ease, border-color .35s ease, transform .45s cubic-bezier(.34,1.56,.64,1);
  }
  .planner-row.done .planner-check {
    background:#e11d48; border-color:#e11d48; color:#fff;
    animation:checkPop .6s cubic-bezier(.34,1.56,.64,1) both;
  }
  .planner-row:nth-child(1).done .planner-check { animation-delay:1.2s; }
  .planner-row:nth-child(2).done .planner-check { animation-delay:2s; }
  @keyframes checkPop {
    0%   { transform:scale(.6); background:#fff; border-color:#f3c3d2; }
    60%  { transform:scale(1.25); background:#e11d48; border-color:#e11d48; }
    100% { transform:scale(1); background:#e11d48; border-color:#e11d48; }
  }
  .planner-check svg {
    width:7px; height:7px; stroke-width:3;
    stroke-dasharray:14; stroke-dashoffset:14;
  }
  .planner-row.done .planner-check svg {
    animation:drawCheck .35s .15s ease forwards;
  }
  .planner-row:nth-child(1).done .planner-check svg { animation-delay:1.35s; }
  .planner-row:nth-child(2).done .planner-check svg { animation-delay:2.15s; }
  @keyframes drawCheck { to { stroke-dashoffset:0; } }

  /* Cinematic launch curtain (horizontal band grows from center) */
  .device-launch {
    position:absolute; top:50%; left:0; right:0;
    height:0;
    background:
      radial-gradient(ellipse 80% 60% at 50% 50%, rgba(255,220,230,.95) 0%, #fff 35%, rgba(225,29,72,.4) 85%),
      #fff;
    transform:translateY(-50%);
    z-index:8;
    pointer-events:none;
    opacity:0;
    box-shadow:
      0 0 40px rgba(255,255,255,.9),
      0 0 80px rgba(225,29,72,.35);
  }
  .device-launch.is-animating { animation:launchCurtain .75s cubic-bezier(.85,0,.15,1) forwards; }
  @keyframes launchCurtain {
    0%   { height:0;    opacity:0; }
    20%  { height:4px;  opacity:1; }
    55%  { height:100%; opacity:1; }
    80%  { height:100%; opacity:.7; }
    100% { height:100%; opacity:0; }
  }
  /* brief power-on vignette flash */
  .device-screen.is-launching::after { animation-duration:.5s; }

  /* Video overlay — auto-plays inside the laptop when fully scaled */
  .device-video {
    position:absolute; inset:0; z-index:4;
    opacity:0; pointer-events:none;
    transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
    background:#000;
    overflow:hidden;
    transform:scale(1.06);
  }
  .device-video.is-playing {
    opacity:1; pointer-events:auto;
    transform:scale(1);
  }
  .device-video iframe {
    position:absolute; inset:0; width:100%; height:100%;
    border:0; display:block;
  }
  .device-screen.is-playing .planner { opacity:0; transition:opacity .45s ease; }

  /* Play button overlay (legacy — kept for potential fallback) */
  .device-play {
    position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%);
    z-index:5; width:54px; height:54px;
    border-radius:50%; border:none;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(8px);
    box-shadow:0 8px 24px rgba(225,29,72,.35), inset 0 0 0 1px rgba(225,29,72,.15);
    cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    color:#e11d48;
    transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s;
    opacity:0;
    animation:playFadeIn .6s .4s ease forwards;
  }
  @keyframes playFadeIn { to { opacity:1; } }
  .device-play::before {
    content:''; position:absolute; inset:-6px;
    border-radius:50%;
    border:1.5px solid rgba(225,29,72,.35);
    animation:playPing 2.2s ease-out infinite;
  }
  @keyframes playPing {
    0% { transform:scale(.9); opacity:.7; }
    100% { transform:scale(1.35); opacity:0; }
  }
  .device-play:hover { transform:translate(-50%,-50%) scale(1.08); box-shadow:0 12px 36px rgba(225,29,72,.45); }
  .device-play svg { width:20px; height:20px; margin-left:3px; }

  /* Premium glassmorphic floating cards */
  .device-card {
    position:absolute; z-index:3;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
    border:1px solid rgba(255,255,255,.9);
    border-radius:18px;
    box-shadow:
      0 28px 60px -20px rgba(190,18,60,.32),
      0 8px 18px -6px rgba(225,29,72,.12),
      inset 0 1px 0 rgba(255,255,255,.95),
      inset 0 0 0 1px rgba(252,185,204,.35);
    padding:12px 16px;
    display:flex; align-items:flex-start; gap:12px;
    font-size:.78rem; font-weight:600; color:#2d2421;
    width:196px;
    transition:
      width .45s cubic-bezier(.22,1,.36,1),
      padding .45s,
      box-shadow .35s,
      transform .35s cubic-bezier(.22,1,.36,1),
      border-color .35s;
    cursor:default;
    will-change:transform;
  }
  .device-card::before {
    content:''; position:absolute; inset:0;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(225,29,72,.08) 0%, transparent 35%);
    opacity:0;
    transition:opacity .35s ease;
    pointer-events:none;
  }
  .device-card:hover::before { opacity:1; }
  .device-card .dc-body { min-width:0; flex:1; }
  .device-card .dc-title {
    display:block;
    font-size:.84rem; font-weight:700;
    letter-spacing:-.01em; color:#2d2421;
    white-space:nowrap;
  }
  .device-card .dc-sub {
    font-size:.7rem; font-weight:500;
    color:#8a7480;
    display:block; margin-top:3px;
    white-space:nowrap;
    letter-spacing:.005em;
  }
  .device-card .dc-tip {
    display:grid;
    grid-template-rows: 0fr;
    opacity:0;
    margin-top:0;
    transition:
      grid-template-rows .5s cubic-bezier(.22,1,.36,1),
      opacity .28s ease .05s,
      margin-top .4s cubic-bezier(.22,1,.36,1);
  }
  .device-card .dc-tip > span {
    min-height:0; overflow:hidden;
    display:block;
    font-size:.74rem; font-weight:500; color:#4b3f45;
    line-height:1.55;
  }
  .device-card:hover {
    width:280px;
    box-shadow:
      0 36px 72px -20px rgba(190,18,60,.42),
      0 12px 22px -6px rgba(225,29,72,.18),
      inset 0 1px 0 rgba(255,255,255,.95),
      inset 0 0 0 1px rgba(251,163,189,.5);
    animation-play-state:paused !important;
  }
  .device-card:hover .dc-tip {
    grid-template-rows: 1fr;
    opacity:1;
    margin-top:10px;
  }
  .device-card:hover .dc-sub { white-space:normal; }
  .device-card .dc-ico {
    position:relative;
    flex-shrink:0; width:36px; height:36px; border-radius:12px;
    background:linear-gradient(135deg,#fff 0%, #ffe4ec 45%, #fcd5df 100%);
    display:flex; align-items:center; justify-content:center;
    color:#e11d48;
    margin-top:1px;
    box-shadow:
      0 6px 14px -4px rgba(225,29,72,.35),
      inset 0 1px 0 rgba(255,255,255,.9),
      inset 0 0 0 1px rgba(252,185,204,.55);
  }
  .device-card .dc-ico::after {
    content:''; position:absolute; inset:-4px;
    border-radius:16px;
    background:radial-gradient(circle, rgba(225,29,72,.28) 0%, transparent 68%);
    opacity:.6;
    z-index:-1;
    filter:blur(6px);
  }
  .device-card .dc-ico svg { width:17px; height:17px; stroke-width:2; position:relative; z-index:1; }
  /* Karty start invisible — JS přidává .is-revealed postupně podle scrollu */
  .device-card {
    opacity: 0;
    transition: opacity .7s cubic-bezier(.16,1,.3,1);
  }
  .device-card.is-revealed { opacity: 1; }
  @media (prefers-reduced-motion: reduce) {
    .device-card { opacity: 1; transition: none; }
  }
  .device-card-1 {
    top:6%;  left:-24%;
    animation:cardFloat1 6.5s cubic-bezier(.45,.05,.55,.95) infinite;
  }
  .device-card-2 {
    top:44%; right:-20%;
    animation:cardFloat2 7.5s cubic-bezier(.45,.05,.55,.95) infinite -1.2s;
  }
  .device-card-3 {
    bottom:8%; left:-16%;
    animation:cardFloat3 8s cubic-bezier(.45,.05,.55,.95) infinite -2.8s;
  }
  .device-card-4 {
    top:14%; right:-26%;
    animation:cardFloat4 7s cubic-bezier(.45,.05,.55,.95) infinite -.6s;
  }
  .device-card-5 {
    bottom:14%; right:-14%;
    animation:cardFloat5 8.5s cubic-bezier(.45,.05,.55,.95) infinite -3.4s;
  }
  @keyframes cardFloat1 {
    0%,100% { transform:translate3d(0,0,0) rotate(-2.4deg); }
    25%     { transform:translate3d(3px,-6px,0) rotate(-1.8deg); }
    50%     { transform:translate3d(0,-12px,0) rotate(-2.4deg); }
    75%     { transform:translate3d(-3px,-6px,0) rotate(-3deg); }
  }
  @keyframes cardFloat2 {
    0%,100% { transform:translate3d(0,0,0) rotate(2.6deg); }
    33%     { transform:translate3d(-4px,-8px,0) rotate(2deg); }
    66%     { transform:translate3d(2px,-4px,0) rotate(3.2deg); }
  }
  @keyframes cardFloat3 {
    0%,100% { transform:translate3d(0,0,0) rotate(-1.5deg); }
    40%     { transform:translate3d(4px,-10px,0) rotate(-.8deg); }
    70%     { transform:translate3d(-2px,-4px,0) rotate(-2.2deg); }
  }
  @keyframes cardFloat4 {
    0%,100% { transform:translate3d(0,0,0) rotate(3deg); }
    35%     { transform:translate3d(-2px,-9px,0) rotate(2.2deg); }
    65%     { transform:translate3d(4px,-4px,0) rotate(3.6deg); }
  }
  @keyframes cardFloat5 {
    0%,100% { transform:translate3d(0,0,0) rotate(-2deg); }
    45%     { transform:translate3d(3px,-7px,0) rotate(-1.2deg); }
    75%     { transform:translate3d(-4px,-3px,0) rotate(-2.8deg); }
  }
  @media(max-width:960px){
    .device-card-1 { left:2%; }
    .device-card-2 { right:2%; }
    .device-card-3 { left:4%; }
    .device-card-4 { right:2%; top:8%; }
    .device-card-5 { right:4%; bottom:8%; }
    .device-card:hover { width:230px; }
  }
  @media(max-width:768px){
    /* Skryj všechny floating karty na mobilu — překrývaly notebook a rušily ukázku */
    .device-card { display:none !important; }
  }
  .sv-anim .benefit { opacity:0; transform:translateY(18px);
    transition:opacity .75s cubic-bezier(.22,1,.36,1) var(--b-d,0ms),
               transform .75s cubic-bezier(.22,1,.36,1) var(--b-d,0ms); }
  .sv-anim.visible .benefit { opacity:1; transform:translateY(0); }
  .sv-anim .benefit:nth-child(1){ --b-d:.18s }
  .sv-anim .benefit:nth-child(2){ --b-d:.28s }
  .sv-anim .benefit:nth-child(3){ --b-d:.38s }
  .sv-anim .benefit:nth-child(4){ --b-d:.48s }

  /* ── STEPS (Jak to funguje — 3 kroky, premium redesign) ── */
  .steps {
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    max-width:1120px; margin:0 auto;
    padding:12px 0;
  }
  @media(min-width:900px){
    .steps { grid-template-columns:repeat(3,1fr); gap:28px; }
  }

  /* propojovací linka mezi kartami (jen desktop) */
  .steps-line {
    display:none;
    position:absolute;
    left:0; right:0;
    top:92px;
    height:2px;
    pointer-events:none;
    z-index:0;
  }
  @media(min-width:900px){ .steps-line { display:block; } }
  .steps-line svg { width:100%; height:100%; overflow:visible; }
  .steps-line-path {
    stroke-dasharray:6 8;
    stroke-dashoffset:0;
    animation: stepsLineDrift 18s linear infinite;
  }
  @keyframes stepsLineDrift {
    to { stroke-dashoffset:-280; }
  }

  .step {
    position:relative;
    z-index:1;
    display:flex; flex-direction:column; gap:11px;
    padding:22px 22px 24px;
    background:
      radial-gradient(120% 140% at 100% 0%, rgba(252,185,204,.22) 0%, rgba(252,185,204,0) 58%),
      linear-gradient(180deg,#ffffff 0%, #fffafb 100%);
    border:1px solid rgba(252,185,204,.5);
    border-radius:18px;
    box-shadow:
      0 1px 0 rgba(255,255,255,.9) inset,
      0 14px 32px -18px rgba(225,29,72,.22);
    transition: transform .45s cubic-bezier(.22,1,.36,1),
                box-shadow .45s cubic-bezier(.22,1,.36,1),
                border-color .35s ease;
    overflow:hidden;
  }
  /* rose blob v pravém dolním rohu → na hover se roztáhne přes celou kartu */
  .step::before {
    content:'';
    position:absolute;
    bottom:-34px; right:-34px;
    width:92px; height:92px;
    border-radius:50%;
    background:
      radial-gradient(circle at 32% 28%, #f43f5e 0%, #e11d48 55%, #be123c 100%);
    box-shadow:
      0 1px 0 rgba(255,255,255,.3) inset,
      0 10px 24px -10px rgba(225,29,72,.55);
    transform:scale(1);
    transform-origin:50% 50%;
    transition:transform 1.3s cubic-bezier(.22,1,.36,1);
    z-index:0;
    pointer-events:none;
  }
  .step > * { position:relative; z-index:1; }
  .step:hover {
    transform:translateY(-4px);
    box-shadow:
      0 1px 0 rgba(255,255,255,.9) inset,
      0 26px 56px -20px rgba(225,29,72,.5);
    border-color:rgba(225,29,72,.5);
  }
  .step:hover::before { transform:scale(16); }

  /* hover: text → bílá, accenty → bílá */
  .step:hover .step-title,
  .step:hover .step-desc,
  .step:hover .step-index { color:#fff; }
  .step:hover .step-desc { color:rgba(255,255,255,.92); }
  .step:hover .step-index-tick {
    background:linear-gradient(90deg, rgba(255,255,255,.85), rgba(255,255,255,0));
  }
  .step:hover .step-num {
    color:#fff; opacity:.5;
  }
  .step:hover .step-icon-wrap {
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.5);
    color:#fff;
    box-shadow:
      0 1px 0 rgba(255,255,255,.4) inset,
      0 8px 18px -8px rgba(0,0,0,.25);
  }
  .step:hover .step-icon-wrap::after {
    border-color:rgba(255,255,255,.55);
  }
  .step:hover .step-time {
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.45);
    color:#fff;
  }
  .step:hover .step-time-dot {
    background:#fff;
    box-shadow:0 0 0 3px rgba(255,255,255,.3);
  }

  /* horní řádek: ikona + číslo */
  .step-head {
    display:flex; align-items:center; justify-content:space-between;
    gap:12px;
    position:relative;
  }
  .step-icon-wrap {
    position:relative;
    width:44px; height:44px;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%;
    background:
      radial-gradient(circle at 35% 30%, #ffffff 0%, #fff5f7 60%, #fcb9cc 100%);
    border:1px solid rgba(252,185,204,.7);
    color:#e11d48;
    flex-shrink:0;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 8px 18px -8px rgba(225,29,72,.35);
  }
  .step-icon-wrap::after {
    content:'';
    position:absolute; inset:-6px;
    border-radius:50%;
    border:1px dashed rgba(225,29,72,.28);
    opacity:0;
    transition:opacity .4s ease, transform .6s ease;
  }
  .step:hover .step-icon-wrap::after {
    opacity:1;
    animation: stepIconRing 6s linear infinite;
  }
  @keyframes stepIconRing {
    to { transform:rotate(360deg); }
  }
  .step-icon-wrap svg { width:20px; height:20px; }

  .step-num {
    font-family: 'Parisienne', cursive;
    font-size:2.2rem;
    line-height:1;
    color:#e11d48;
    opacity:.32;
    letter-spacing:-.02em;
    user-select:none;
  }

  .step-index {
    display:inline-flex; align-items:center; gap:8px;
    font-size:.7rem; font-weight:600;
    letter-spacing:.2em; text-transform:uppercase;
    color:#e11d48;
    margin-top:4px;
  }
  .step-index-tick {
    width:18px; height:1px;
    background:linear-gradient(90deg, rgba(225,29,72,.6), rgba(225,29,72,0));
    flex-shrink:0;
  }

  .step-title {
    font-family:inherit;
    font-size:clamp(1.2rem, 1.8vw, 1.5rem);
    font-weight:700; color:#0f172a;
    letter-spacing:-.02em; line-height:1.15;
    margin:0;
  }
  .step-desc {
    font-size:.88rem; color:#64748b;
    line-height:1.6; margin:0;
    max-width:36ch;
  }

  /* spodní chip s časem */
  .step-time {
    margin-top:auto;
    display:inline-flex; align-items:center; gap:7px;
    padding:5px 12px 5px 10px;
    border-radius:100px;
    background:rgba(255,241,244,.9);
    border:1px solid rgba(252,185,204,.6);
    color:#e11d48;
    font-size:.72rem; font-weight:600;
    letter-spacing:-.005em;
    width:max-content;
  }
  .step-time-dot {
    width:6px; height:6px; border-radius:50%;
    background:#e11d48;
    box-shadow:0 0 0 3px rgba(225,29,72,.18);
    animation: stepTimePulse 1.8s ease-in-out infinite;
  }
  @keyframes stepTimePulse {
    0%, 100% { box-shadow:0 0 0 3px rgba(225,29,72,.18); }
    50% { box-shadow:0 0 0 6px rgba(225,29,72,0); }
  }

  /* staggered reveal */
  .sv-anim .step {
    opacity:0;
    transform:translateY(18px);
    transition:opacity .5s ease var(--s-d,0ms),
               transform .55s cubic-bezier(.22,1,.36,1) var(--s-d,0ms),
               box-shadow .45s cubic-bezier(.22,1,.36,1),
               border-color .35s ease;
  }
  .sv-anim.visible .step {
    opacity:1;
    transform:translateY(0);
  }
  .sv-anim .step:nth-child(1){ --s-d:.05s }
  .sv-anim .step:nth-child(2){ --s-d:.2s  }
  .sv-anim .step:nth-child(3){ --s-d:.35s }

  /* ═══════════════════════════════════════════════════════
     PREMIUM ADDITIONS — editorial minimal
     Design rules:
       • Typography-first, hairlines (1px), no heavy cards
       • Rose #e11d48 used sparingly (buttons, accent marks only)
       • Parisienne script reserved for moments, not decoration
       • Tabular-nums for all numeric displays
       • Stagger reveals on scroll via .rv > * with --i
     ═══════════════════════════════════════════════════════ */

  /* stagger reveal infra */
  .rv { opacity:0; }
  .rv.is-in > * {
    opacity:0; transform:translateY(14px);
    animation:rvIn .8s cubic-bezier(.22,1,.36,1) calc(var(--i,0) * 80ms) both;
  }
  .rv.is-in { opacity:1; }
  @keyframes rvIn {
    to { opacity:1; transform:translateY(0); }
  }
  @media (prefers-reduced-motion: reduce) {
    .rv, .rv.is-in > * { opacity:1 !important; transform:none !important; animation:none !important; }
  }

  /* ── HERO TRUST ROW (decent, minimal) ── */
  .hero-trust-row {
    display:flex; align-items:center; gap:18px;
    margin-top:22px;
    padding-top:20px;
    border-top:1px solid var(--ed-hair);
    flex-wrap:wrap;
  }
  .trust-item-mini {
    display:inline-flex; align-items:center; gap:8px;
    color:#64748b;
  }
  .trust-icon {
    flex-shrink:0;
    width:14px; height:14px;
    display:inline-flex; align-items:center; justify-content:center;
    color:#e11d48;
    opacity:.85;
  }
  .trust-icon svg { width:14px; height:14px; }
  .trust-meta { display:inline-flex; align-items:baseline; gap:6px; line-height:1; }
  .trust-num {
    font-size:.82rem; font-weight:600;
    color:#0f172a;
    letter-spacing:-.005em;
    font-variant-numeric:tabular-nums;
  }
  .trust-desc {
    font-size:.82rem; color:#94a3b8;
    letter-spacing:0; text-transform:none;
    font-weight:400;
  }
  .trust-divider {
    width:1px; height:14px;
    background:rgba(15,23,42,.12);
    flex-shrink:0;
  }
  @media(max-width:640px){
    .hero-trust-row { gap:10px 14px; row-gap:8px; padding-top:18px; margin-top:18px; }
    .trust-divider { display:none; }
    .trust-num, .trust-desc { font-size:.78rem; }
  }

  /* ── HERO TICKER (minimal — crossfade names) ── */
  .hero-ticker {
    display:flex; align-items:center; gap:10px;
    margin-top:16px;
    font-size:.78rem; color:var(--ed-ink-soft);
    letter-spacing:.02em;
  }
  .hero-ticker-dot {
    width:6px; height:6px; border-radius:50%;
    background:#e11d48; flex-shrink:0;
    position:relative;
  }
  .hero-ticker-dot::after {
    content:''; position:absolute; inset:-4px;
    border-radius:50%;
    border:1px solid #e11d48;
    opacity:0;
    animation:htRing 2.4s cubic-bezier(.22,1,.36,1) infinite;
  }
  @keyframes htRing {
    0%   { opacity:.4; transform:scale(.6); }
    100% { opacity:0; transform:scale(1.6); }
  }
  .hero-ticker-label {
    color:var(--ed-rose-deep);
    font-size:.7rem; font-weight:600;
    letter-spacing:.22em; text-transform:uppercase;
    flex-shrink:0;
  }
  .hero-ticker-rotator {
    position:relative; height:1.35em;
    overflow:hidden; flex:1;
  }
  .hero-ticker-rotator span {
    position:absolute; inset:0;
    color:var(--ed-ink); font-weight:500;
    letter-spacing:-.005em;
    opacity:0;
    animation:htRotate 12s cubic-bezier(.22,1,.36,1) infinite;
  }
  .hero-ticker-rotator span:nth-child(1) { animation-delay:0s; }
  .hero-ticker-rotator span:nth-child(2) { animation-delay:3s; }
  .hero-ticker-rotator span:nth-child(3) { animation-delay:6s; }
  .hero-ticker-rotator span:nth-child(4) { animation-delay:9s; }
  @keyframes htRotate {
    0%, 22% { opacity:0; transform:translateY(8px); }
    4%, 20% { opacity:1; transform:translateY(0); }
    25%, 100% { opacity:0; transform:translateY(-8px); }
  }

  /* ── TALK SECTION (editorial interview thread) ── */
  .talk-section {
    position:relative;
    width:100vw; max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    margin-top:-120px !important;
    padding:48px 24px 64px !important;
    background:transparent;
    overflow:hidden;
  }
  .page-wrap > .talk-section { margin-top:-120px !important; }
  @media(max-width:768px){
    .talk-section { margin-top:-24px !important; padding:32px 20px 40px !important; }
    .page-wrap > .talk-section { margin-top:-24px !important; }
  }
  .talk-inner {
    position:relative; z-index:1;
    max-width:720px; margin:0 auto;
  }

  .talk-head {
    display:grid; gap:12px;
    margin-bottom:24px;
    max-width:560px;
  }
  .talk-kicker {
    display:inline-flex; align-items:center; gap:10px;
    font-size:.7rem; font-weight:600;
    letter-spacing:.28em; text-transform:uppercase;
    color:var(--ed-rose-deep);
  }
  .talk-kicker::before {
    content:''; display:inline-block;
    width:32px; height:1px; background:var(--ed-rose-deep);
  }
  .talk-title {
    font-family:var(--ed-serif);
    font-size:clamp(2rem,4.2vw,3rem);
    font-weight:400;
    letter-spacing:-.035em; line-height:1.02;
    color:var(--ed-ink);
    margin:0;
    text-wrap:balance;
  }
  .talk-title .script {
    font-family:'Parisienne', cursive;
    font-weight:400; color:#e11d48;
    font-size:1.15em; padding:0 .04em;
    letter-spacing:-.01em;
  }
  .talk-sub {
    font-size:1rem; color:var(--ed-ink-soft);
    line-height:1.65; margin:0;
    max-width:48ch;
  }

  /* ── Phone mockup (iPhone-style with iMessage chat) ── */
  .talk-phone-wrap {
    display:flex; justify-content:center;
    margin:36px auto 0;
    perspective:1200px;
    position:relative;
  }
  /* X tlačítko v rohu — skryje celou talk-section */
  .talk-phone-close {
    display:none;
    position:absolute;
    top:8px; right:8px;
    width:32px; height:32px;
    border-radius:50%;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(45,36,33,.12);
    color:#1a1515;
    align-items:center; justify-content:center;
    cursor:pointer;
    z-index:5;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
    transition:transform .15s, background .2s;
    padding:0;
  }
  .talk-phone-close:hover { background:#fff; transform:scale(1.05); }
  @media (max-width: 768px) {
    .talk-phone-close { display:inline-flex; }
    .talk-phone-wrap { margin: 20px auto 0; }
    .talk-phone { max-width: 220px !important; padding: 6px !important; border-radius: 32px !important; }
    .talk-phone::before { width: 64px !important; height: 18px !important; top: 14px !important; }
    .talk-phone-screen { border-radius: 26px !important; }
    .talk-phone-tilted { transform: none !important; } /* žádné tilt 3D na mobilu */
  }
  .talk-phone {
    width:100%; max-width:340px;
    position:relative;
    padding:10px;
    background:linear-gradient(180deg,#1c1c1e 0%,#2a2a2c 100%);
    border-radius:46px;
    box-shadow:
      inset 0 0 0 1.5px rgba(255,255,255,.06),
      0 0 0 1.5px #3a3a3c,
      0 50px 100px -30px rgba(45,36,33,.45),
      0 20px 50px -20px rgba(225,29,72,.18);
    transform:rotateX(1deg);
  }
  .talk-phone::before {
    content:''; position:absolute;
    top:22px; left:50%; transform:translateX(-50%);
    width:94px; height:28px;
    background:#000;
    border-radius:100px;
    z-index:3;
  }
  .talk-phone-screen {
    position:relative;
    border-radius:36px;
    overflow:hidden;
    background:
      radial-gradient(600px 300px at 50% -20%, rgba(252,185,204,.2), transparent 60%),
      linear-gradient(180deg,#fffafc 0%,#ffffff 30%,#fff6f9 100%);
    aspect-ratio: 9 / 19.2;
  }
  .talk-phone-header {
    position:absolute;
    top:0; left:0; right:0;
    padding:54px 18px 12px;
    display:flex; flex-direction:column; align-items:center; gap:3px;
    background:linear-gradient(180deg, rgba(255,255,255,.94) 70%, rgba(255,255,255,0) 100%);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(45,36,33,.05);
    z-index:2;
  }
  .talk-phone-header-avatar {
    width:42px; height:42px; border-radius:50%;
    object-fit:cover;
    border:1.5px solid #fff;
    box-shadow:0 2px 6px rgba(45,36,33,.08);
    margin-bottom:3px;
  }
  .talk-phone-header-name {
    font-size:.78rem; font-weight:600;
    color:var(--ed-ink);
    letter-spacing:-.005em;
  }
  .talk-phone-header-status {
    display:inline-flex; align-items:center; gap:5px;
    font-size:.58rem;
    color:#22c55e; font-weight:500;
    letter-spacing:.04em;
  }
  .talk-phone-header-status::before {
    content:''; width:5px; height:5px; border-radius:50%;
    background:#22c55e;
  }
  .talk-phone-thread {
    padding:128px 12px 64px;
    display:flex; flex-direction:column; gap:4px;
  }
  .talk-time-divider {
    align-self:center;
    font-size:.56rem; color:var(--ed-ink-soft);
    opacity:.5; margin:6px 0 4px;
    font-weight:500; letter-spacing:.04em;
    font-variant-numeric:tabular-nums;
  }
  .talk-bubble {
    max-width:80%;
    padding:7px 11px;
    border-radius:18px;
    font-size:.74rem;
    line-height:1.4;
    letter-spacing:-.005em;
    word-wrap:break-word;
  }
  .talk-bubble.from-a {
    align-self:flex-start;
    background:#ecebf0;
    color:#2d2421;
    border-bottom-left-radius:5px;
  }
  .talk-bubble.from-b {
    align-self:flex-end;
    background:linear-gradient(180deg,#e11d48 0%,#be123c 100%);
    color:#fff;
    border-bottom-right-radius:5px;
    box-shadow:0 1px 2px rgba(225,29,72,.15);
  }
  .talk-bubble strong { font-weight:700; }
  .talk-bubble.from-a strong { color:#e11d48; }
  .talk-bubble.from-b strong { color:#ffe3eb; }
  .talk-bubble.is-tight { margin-top:-2px; }
  .talk-bubble.is-tight.from-a { border-top-left-radius:5px; }
  .talk-bubble.is-tight.from-b { border-top-right-radius:5px; }
  .talk-typing-bubble {
    align-self:flex-start;
    display:inline-flex; gap:4px;
    padding:10px 14px;
    background:#ecebf0;
    border-radius:18px;
    border-bottom-left-radius:5px;
    margin-top:2px;
  }
  .talk-typing-bubble span {
    width:6px; height:6px; border-radius:50%;
    background:#9e9ba8;
    animation:talkDot 1.3s ease-in-out infinite;
  }
  .talk-typing-bubble span:nth-child(2) { animation-delay:.18s; }
  .talk-typing-bubble span:nth-child(3) { animation-delay:.36s; }
  @keyframes talkDot {
    0%, 60%, 100% { transform:translateY(0); opacity:.4; }
    30% { transform:translateY(-3px); opacity:1; }
  }
  .talk-phone-inputbar {
    position:absolute;
    bottom:12px; left:10px; right:10px;
    display:flex; align-items:center; gap:8px;
    padding:7px 14px;
    background:#fff;
    backdrop-filter:blur(8px);
    border-radius:100px;
    border:1px solid rgba(45,36,33,.08);
    z-index:2;
  }
  .talk-phone-inputbar-text {
    flex:1;
    font-size:.66rem;
    color:var(--ed-ink-soft);
    opacity:.6;
    letter-spacing:-.005em;
  }
  .talk-phone-inputbar-send {
    width:20px; height:20px; border-radius:50%;
    background:#e11d48;
    display:inline-flex; align-items:center; justify-content:center;
    color:#fff;
    flex-shrink:0;
  }

  .talk-footer {
    margin-top:52px;
    padding-top:28px;
    border-top:1px solid var(--ed-hair);
    display:grid; grid-template-columns:1fr auto; gap:32px;
    align-items:end;
  }
  .talk-footer-line {
    font-family:var(--ed-serif);
    font-size:clamp(1.1rem,1.7vw,1.35rem);
    color:var(--ed-ink);
    line-height:1.5; font-weight:400;
    letter-spacing:-.02em;
    max-width:38ch;
    margin:0;
  }
  .talk-footer-line .script {
    font-family:'Parisienne', cursive;
    color:#e11d48; font-size:1.2em;
    padding:0 .04em;
  }
  .talk-footer-cta {
    display:inline-flex; align-items:center; gap:10px;
    padding:14px 24px;
    background:var(--ed-ink);
    color:#fff;
    border:none; border-radius:100px;
    font-family:inherit;
    font-size:.88rem; font-weight:600;
    letter-spacing:-.005em;
    cursor:pointer; white-space:nowrap;
    transition:background .25s ease;
  }
  .talk-footer-cta:hover { background:#e11d48; }
  .talk-footer-cta svg { transition:transform .25s ease; }
  .talk-footer-cta:hover svg { transform:translateX(3px); }

  @media(max-width:640px){
    .talk-section { padding:28px 20px 32px; }
    .talk-thread { padding-left:36px; gap:36px; }
    .talk-thread::before { left:11px; }
    .talk-msg::before { left:-29px; }
    .talk-footer { grid-template-columns:1fr; gap:22px; }
    .talk-meta { flex-wrap:wrap; }
    .talk-meta-time { margin-left:0; }
  }

  /* ── SAVINGS BAND (type-led asymmetric split, no card) ── */
  .savings-band {
    max-width:1040px; margin:56px auto;
    display:grid; grid-template-columns:minmax(260px,.9fr) 1fr;
    gap:44px; align-items:start;
    padding:32px 0;
    border-top:1px solid var(--ed-hair);
    border-bottom:1px solid var(--ed-hair);
  }
  .savings-band-metric {
    font-family:var(--ed-serif);
    font-size:clamp(3.2rem,7vw,5.2rem);
    font-weight:300; line-height:.9;
    color:var(--ed-ink);
    letter-spacing:-.04em;
    font-variant-numeric:tabular-nums;
  }
  .savings-band-metric .unit {
    font-family:'Parisienne', cursive;
    font-weight:400; color:#e11d48;
    font-size:.46em; letter-spacing:0;
    margin-left:4px; vertical-align:.5em;
  }
  .savings-band-metric small {
    display:block;
    font-family:var(--ed-serif);
    font-size:.7rem; font-weight:600;
    color:var(--ed-rose-deep);
    letter-spacing:.24em; text-transform:uppercase;
    margin-top:14px;
  }
  .savings-band-body { padding-top:6px; }
  .savings-band-body h3 {
    font-family:var(--ed-serif);
    font-size:clamp(1.25rem,2vw,1.55rem);
    font-weight:400; margin:0 0 14px;
    color:var(--ed-ink); letter-spacing:-.025em;
    line-height:1.3; text-wrap:balance;
  }
  .savings-band-body p {
    font-size:.95rem; color:var(--ed-ink-soft);
    line-height:1.7; margin:0;
    max-width:58ch;
  }
  .savings-band-body strong {
    color:var(--ed-ink); font-weight:600;
    border-bottom:1px solid #e11d48;
    padding-bottom:1px;
  }
  @media(max-width:720px){
    .savings-band { grid-template-columns:1fr; gap:20px; padding:26px 0; }
  }

  /* ── VALUE STACK (uvnitř Plus karty) ── */
  .price-value-stack {
    margin:16px 0 6px;
    padding:12px 0;
    border-top:1px dashed var(--ed-hair);
    display:flex; align-items:baseline; justify-content:space-between;
    gap:10px;
    font-size:.82rem;
    font-variant-numeric:tabular-nums;
  }
  .price-value-stack-label {
    color:var(--ed-ink-soft); font-weight:500;
    letter-spacing:.04em;
  }
  .price-value-stack-old {
    color:var(--ed-ink-soft);
    text-decoration:line-through;
    text-decoration-color:var(--ed-rose);
    font-weight:500;
    margin-right:6px;
  }
  .price-value-stack-new { color:#e11d48; font-weight:700; }

  /* ── USP: 4 DEMO BOXES — "Není to PDF. Je to plánovač." ── */
  .sv-usp {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
    margin-top: -80px;
  }
  @media(max-width:768px){
    .sv-usp { margin-top: 0; padding: 0 18px; }
  }
  .sv-usp-head {
    text-align: center;
    margin-bottom: 36px;
    max-width: 640px;
    margin-inline: auto;
  }
  .sv-usp-tag {
    display: inline-block;
    font-size: .68rem; font-weight: 700;
    color: #e11d48;
    letter-spacing: .18em; text-transform: uppercase;
    background: rgba(225,29,72,.08);
    border: 1px solid rgba(225,29,72,.2);
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 16px;
  }
  .sv-usp-title {
    font-family: var(--ed-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 700;
    color: #1d1d1f;
    letter-spacing: -.025em;
    line-height: 1.15;
    margin: 0 0 12px;
  }
  .sv-usp-title em {
    font-style: italic;
    color: #e11d48;
    font-weight: 600;
  }
  .sv-usp-sub {
    font-size: .98rem; color: #71717a;
    line-height: 1.6;
    margin: 0;
    text-wrap: balance;
  }

  .sv-usp-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  @media(min-width:640px){ .sv-usp-grid { grid-template-columns: 1fr 1fr; gap: 16px; } }
  @media(min-width:1024px){ .sv-usp-grid { grid-template-columns: repeat(4, 1fr); gap: 18px; } }

  /* MOBILE (≤640px) — 1 col, full-width karty kompaktní + ploché */
  @media(max-width:640px){
    .sv-usp-card { border-radius: 16px; }
    .sv-usp-stage { aspect-ratio: auto; height: 130px; }
    .sv-usp-meta { padding: 12px 14px 14px; }
    .sv-usp-meta h3 { font-size: .95rem; line-height: 1.25; }
    .sv-usp-meta p { font-size: .8rem; line-height: 1.5; }
    .sv-usp-demo { padding: 12px; }
    .sv-demo-cb { width: 28px; height: 28px; }
    .sv-demo-cb::after { width: 12px; height: 7px; border-width: 2px; }
    .sv-demo-input { padding: 6px 10px; font-size: .8rem; }
    .sv-demo-row, .sv-demo-total { font-size: .74rem; }
    .sv-live-cb { font-size: .78rem; gap: 8px; }
    .sv-live-cb-mark { width: 18px; height: 18px; }
    .sv-live-field input,
    .sv-live-budget-row input { font-size: .74rem; padding: 3px 6px; }
    .sv-live-budget-row { grid-template-columns: 1fr 52px auto; gap: 4px; padding: 2px 0; }
    .sv-live-budget-label { font-size: .72rem; }
    .sv-live-budget-cur { font-size: .64rem; }
    .sv-live-budget-total { font-size: .78rem; margin-top: 4px; padding-top: 5px; }
    .sv-usp-live-budget { gap: 2px !important; padding: 10px 12px !important; }
  }

  .sv-usp-card {
    position: relative;
    display: flex; flex-direction: column;
    background: #fff;
    border: 1px solid rgba(15,15,18,.08);
    border-radius: 18px;
    overflow: hidden;
    transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .25s ease, box-shadow .25s ease;
  }
  .sv-usp-card:hover {
    transform: translateY(-3px);
    border-color: rgba(225,29,72,.3);
    box-shadow: 0 18px 40px -16px rgba(225,29,72,.18);
  }
  /* Stage = container with animation + interactive layers */
  .sv-usp-stage {
    position: relative;
    aspect-ratio: 1 / 1;
    background: linear-gradient(165deg, #fff5f7 0%, #fce7ec 100%);
    overflow: hidden;
  }

  /* Demo plocha (CSS animace) — visible by default, fades out on hover */
  .sv-usp-demo {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    padding: 24px;
    opacity: 1;
    transition: opacity .3s cubic-bezier(.22,1,.36,1);
  }
  .sv-usp-card:hover .sv-usp-demo,
  .sv-usp-card:focus-within .sv-usp-demo {
    opacity: 0;
    pointer-events: none;
  }

  /* Live interactive layer — hidden by default, fades in on hover */
  .sv-usp-live {
    position: absolute; inset: 0;
    display: flex; flex-direction: column; justify-content: center;
    padding: 22px 24px;
    gap: 9px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s cubic-bezier(.22,1,.36,1);
    overflow: hidden;
  }
  .sv-usp-card:hover .sv-usp-live,
  .sv-usp-card:focus-within .sv-usp-live {
    opacity: 1;
    pointer-events: auto;
  }

  /* Live: Checkbox row */
  .sv-live-cb {
    display: flex; align-items: center; gap: 10px;
    cursor: pointer;
    font-size: .82rem; font-weight: 500;
    color: #1d1d1f;
    letter-spacing: -.005em;
    line-height: 1.3;
    user-select: none;
  }
  .sv-live-cb input { position: absolute; opacity: 0; pointer-events: none; }
  .sv-live-cb-mark {
    flex-shrink: 0;
    width: 22px; height: 22px;
    border-radius: 6px;
    background: #fff;
    border: 1.5px solid rgba(225,29,72,.3);
    position: relative;
    transition: background .25s ease, border-color .25s ease, transform .15s ease;
  }
  .sv-live-cb-mark::after {
    content: '';
    position: absolute; left: 50%; top: 48%;
    width: 10px; height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translate(-50%, -55%) rotate(-45deg) scale(0);
    transition: transform .2s cubic-bezier(.34,1.56,.64,1);
  }
  .sv-live-cb input:checked + .sv-live-cb-mark {
    background: #e11d48; border-color: #e11d48;
  }
  .sv-live-cb input:checked + .sv-live-cb-mark::after {
    transform: translate(-50%, -55%) rotate(-45deg) scale(1);
  }
  .sv-live-cb input:checked ~ span:last-child {
    color: #a1a1aa;
    text-decoration: line-through;
    text-decoration-color: rgba(161,161,170,.5);
  }
  .sv-live-cb:hover .sv-live-cb-mark { transform: scale(1.05); }

  /* Live: Progress bar (Box 2) */
  .sv-live-progress {
    margin-top: 6px;
    padding-top: 10px;
    border-top: 1px dashed rgba(225,29,72,.18);
  }
  .sv-live-progress-bar {
    height: 5px;
    background: rgba(15,15,18,.08);
    border-radius: 100px;
    overflow: hidden;
  }
  .sv-live-progress-bar span {
    display: block; height: 100%;
    background: linear-gradient(90deg, #fb7185, #e11d48);
    border-radius: 100px;
    width: 0%;
    transition: width .35s cubic-bezier(.22,1,.36,1);
  }
  .sv-live-progress-meta {
    display: block;
    margin-top: 6px;
    font-size: .68rem; font-weight: 600;
    color: #71717a;
    letter-spacing: -.005em;
    font-variant-numeric: tabular-nums;
  }
  .sv-live-progress-meta strong { color: #e11d48; font-weight: 800; }

  /* ── ANO/NE volby (Box 2 — replace checklisty) ── */
  /* Demo (animated, hidden on hover) */
  .sv-usp-demo-yesno {
    display: flex; flex-direction: column; gap: 9px;
    padding: 18px 16px;
    width: 100%; height: 100%;
    justify-content: center;
  }
  .sv-demo-yn {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px;
    padding: 6px 0;
    opacity: 0;
    transform: translateY(-10px);
    animation: ynRowDrop .5s cubic-bezier(.22,1,.36,1) forwards;
    animation-delay: calc(var(--i) * .35s + .2s);
  }
  @keyframes ynRowDrop {
    to { opacity: 1; transform: translateY(0); }
  }
  .sv-demo-yn-q {
    font-size: .68rem; font-weight: 600;
    color: #525252;
    letter-spacing: -.005em;
  }
  .sv-demo-yn-pair { display: flex; gap: 4px; }
  .sv-demo-yn-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 30px; padding: 3px 8px;
    font-size: .55rem; font-weight: 700;
    letter-spacing: .06em;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #94a3b8;
  }
  /* Demo: dynamic active states via JS (cycles through patterns) */
  .sv-demo-yn-btn { transition: all .4s cubic-bezier(.22,1,.36,1); }
  .sv-demo-yn-btn.is-on-yes {
    background: #e11d48; border-color: #e11d48; color: #fff;
    box-shadow: 0 4px 10px -4px rgba(225,29,72,.35);
    transform: scale(1.05);
  }
  .sv-demo-yn-btn.is-on-no {
    background: #f1f5f9; border-color: #cbd5e1; color: #64748b;
    transform: scale(1.05);
  }

  /* Live (interactive) */
  .sv-usp-live-yesno {
    display: flex; flex-direction: column; gap: 8px;
    padding: 14px 14px;
    width: 100%; height: 100%;
    justify-content: center;
    overflow-y: auto;
  }
  .sv-live-yn {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px;
    padding: 4px 0;
  }
  .sv-live-yn-q {
    font-size: .72rem; font-weight: 600;
    color: #1f1f23;
    flex: 1; min-width: 0;
    letter-spacing: -.005em;
  }
  .sv-live-yn-pair { display: flex; gap: 5px; flex-shrink: 0; }
  .sv-live-yn-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 38px; padding: 5px 10px;
    font-size: .62rem; font-weight: 700;
    letter-spacing: .06em;
    border-radius: 7px;
    border: 1.5px solid #e2e8f0;
    background: #fff;
    color: #94a3b8;
    cursor: pointer;
    font-family: inherit;
    transition: all .2s cubic-bezier(.16,1,.3,1);
  }
  .sv-live-yn-btn:hover {
    border-color: #cbd5e1;
    color: #475569;
    transform: translateY(-1px);
  }
  .sv-live-yn-btn.is-active[data-val="yes"] {
    background: #e11d48;
    border-color: #e11d48;
    color: #fff;
    box-shadow: 0 6px 14px -6px rgba(225,29,72,.45);
  }
  .sv-live-yn-btn.is-active[data-val="no"] {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #475569;
  }

  /* Live: Editable text fields (Box 3) */
  .sv-usp-live-typing { gap: 12px; }
  .sv-live-field { display: flex; flex-direction: column; gap: 4px; }
  .sv-live-field span {
    font-size: .6rem; font-weight: 700;
    color: #94817c;
    letter-spacing: .14em; text-transform: uppercase;
  }
  .sv-live-field input {
    -webkit-appearance: none; appearance: none;
    width: 100%;
    padding: 10px 12px;
    font-size: .88rem; font-weight: 500;
    color: #1d1d1f;
    background: #fff;
    border: 1.5px solid rgba(225,29,72,.25);
    border-radius: 8px;
    font-family: inherit;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  .sv-live-field input:focus {
    outline: none;
    border-color: #e11d48;
    box-shadow: 0 0 0 3px rgba(225,29,72,.15);
  }

  /* Live: Budget (Box 4) */
  .sv-usp-live-budget { gap: 6px; padding: 18px 20px; }
  .sv-live-budget-row {
    display: grid;
    grid-template-columns: 1fr 70px auto;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px dashed rgba(15,15,18,.08);
  }
  .sv-live-budget-label {
    font-size: .82rem; font-weight: 600;
    color: #515154;
    letter-spacing: -.005em;
  }
  .sv-live-budget-row input {
    -webkit-appearance: none; appearance: none;
    width: 100%;
    padding: 6px 8px;
    font-size: .85rem; font-weight: 700;
    text-align: right;
    color: #1d1d1f;
    background: #fff;
    border: 1.5px solid rgba(225,29,72,.2);
    border-radius: 6px;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
    transition: border-color .2s ease, box-shadow .2s ease;
    -moz-appearance: textfield;
  }
  .sv-live-budget-row input::-webkit-outer-spin-button,
  .sv-live-budget-row input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
  .sv-live-budget-row input:focus {
    outline: none;
    border-color: #e11d48;
    box-shadow: 0 0 0 3px rgba(225,29,72,.15);
  }
  .sv-live-budget-cur {
    font-size: .72rem; font-weight: 700;
    color: #71717a;
  }
  .sv-live-budget-total {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1.5px solid rgba(225,29,72,.3);
    font-size: .9rem; font-weight: 700;
    color: #1d1d1f;
  }
  .sv-live-budget-sum {
    color: #e11d48; font-weight: 800;
    font-variant-numeric: tabular-nums;
    transition: transform .25s cubic-bezier(.34,1.56,.64,1);
  }
  .sv-live-budget-sum.is-pulse { transform: scale(1.08); }

  @media (hover: none) {
    /* Touch devices: tap toggles between layers via JS .is-live class */
    .sv-usp-card.is-live .sv-usp-demo { opacity: 0; pointer-events: none; }
    .sv-usp-card.is-live .sv-usp-live { opacity: 1; pointer-events: auto; }
  }
  .sv-usp-meta {
    padding: 18px 20px 22px;
  }
  .sv-usp-meta h3 {
    font-size: 1rem; font-weight: 700;
    color: #1d1d1f;
    letter-spacing: -.015em;
    margin: 0 0 6px;
    line-height: 1.2;
  }
  .sv-usp-meta p {
    font-size: .82rem; color: #71717a;
    line-height: 1.5;
    margin: 0;
    letter-spacing: -.005em;
  }

  /* ── DEMO 1: Checkboxy — fill, check, unfill, loop ── */
  .sv-usp-demo-checkbox {
    display: flex; gap: 14px;
  }
  .sv-demo-cb {
    width: 48px; height: 48px;
    border-radius: 10px;
    background: #fff;
    border: 2px solid #e2e8f0;
    position: relative;
    transition: background .3s ease, border-color .3s ease;
    animation: svDemoCb 4.5s cubic-bezier(.5,.05,.5,1) infinite;
  }
  .sv-demo-cb::after {
    content: '';
    position: absolute;
    left: 50%; top: 50%;
    width: 22px; height: 12px;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translate(-50%, -70%) rotate(-45deg) scale(0);
    opacity: 0;
    transform-origin: center;
    animation: svDemoCheck 4.5s cubic-bezier(.5,.05,.5,1) infinite;
  }
  .sv-demo-cb-1 { animation-delay: 0s; }
  .sv-demo-cb-1::after { animation-delay: 0s; }
  .sv-demo-cb-2 { animation-delay: .35s; }
  .sv-demo-cb-2::after { animation-delay: .35s; }
  .sv-demo-cb-3 { animation-delay: .7s; }
  .sv-demo-cb-3::after { animation-delay: .7s; }
  @keyframes svDemoCb {
    0%, 12%   { background: #fff; border-color: #e2e8f0; }
    16%, 70%  { background: #e11d48; border-color: #e11d48; }
    78%, 100% { background: #fff; border-color: #e2e8f0; }
  }
  @keyframes svDemoCheck {
    0%, 14%   { transform: translate(-50%, -70%) rotate(-45deg) scale(0); opacity: 0; }
    20%       { transform: translate(-50%, -70%) rotate(-45deg) scale(1.15); opacity: 1; }
    24%, 70%  { transform: translate(-50%, -70%) rotate(-45deg) scale(1); opacity: 1; }
    78%, 100% { transform: translate(-50%, -70%) rotate(-45deg) scale(0); opacity: 0; }
  }

  /* ── DEMO 2: Checklist + progress bar ── */
  .sv-usp-demo-checklist {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 28px 24px;
  }
  .sv-demo-task {
    display: flex; align-items: center; gap: 10px;
    height: 16px;
  }
  .sv-demo-tdot {
    flex-shrink: 0;
    width: 16px; height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid #e2e8f0;
    position: relative;
    transition: background .35s ease, border-color .35s ease;
  }
  .sv-demo-tdot::after {
    content: '';
    position: absolute; left: 50%; top: 48%;
    width: 7px; height: 4px;
    border-left: 1.6px solid #fff;
    border-bottom: 1.6px solid #fff;
    transform: translate(-50%, -50%) rotate(-45deg) scale(0);
    transition: transform .25s ease;
  }
  .sv-demo-task.is-done .sv-demo-tdot { background: #e11d48; border-color: #e11d48; }
  .sv-demo-task.is-done .sv-demo-tdot::after { transform: translate(-50%, -50%) rotate(-45deg) scale(1); }
  .sv-demo-tline {
    flex: 1;
    height: 6px;
    background: rgba(15,15,18,.08);
    border-radius: 100px;
    position: relative;
    overflow: hidden;
  }
  .sv-demo-tline::after {
    content: '';
    position: absolute; inset: 0;
    background: rgba(225,29,72,.18);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .45s cubic-bezier(.22,1,.36,1);
  }
  .sv-demo-task.is-done .sv-demo-tline::after { transform: scaleX(1); }

  .sv-demo-progress {
    margin-top: 12px;
    height: 5px;
    background: rgba(15,15,18,.08);
    border-radius: 100px;
    overflow: hidden;
  }
  .sv-demo-pbar {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #fb7185, #e11d48);
    border-radius: 100px;
    width: 0%;
    transition: width .55s cubic-bezier(.22,1,.36,1);
  }

  /* ── DEMO 3: Typing into input ── */
  .sv-usp-demo-typing {
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    padding: 32px 28px;
  }
  .sv-demo-label {
    font-size: .65rem; font-weight: 600;
    color: #94817c;
    letter-spacing: .14em; text-transform: uppercase;
    margin-bottom: 10px;
  }
  .sv-demo-input {
    background: #fff;
    border: 1.5px solid rgba(225,29,72,.3);
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 1rem; font-weight: 500;
    color: #1d1d1f;
    min-height: 22px;
    display: flex; align-items: center;
  }
  .sv-demo-typed { white-space: pre; }
  .sv-demo-caret {
    display: inline-block;
    width: 1.5px; height: 18px;
    background: #e11d48;
    margin-left: 1px;
    animation: svDemoCaretBlink 1s step-end infinite;
  }
  @keyframes svDemoCaretBlink { 50% { opacity: 0; } }

  /* ── DEMO 4: Auto-budget summing ── */
  .sv-usp-demo-budget {
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    padding: 24px 22px;
    gap: 6px;
  }
  .sv-demo-row {
    display: flex; align-items: baseline; justify-content: space-between;
    font-size: .82rem; font-weight: 500;
    color: #515154;
    padding: 4px 0;
    border-bottom: 1px dashed rgba(15,15,18,.08);
    font-variant-numeric: tabular-nums;
    letter-spacing: -.005em;
  }
  .sv-demo-row span:last-child { font-weight: 700; color: #1d1d1f; }
  .sv-demo-num { opacity: 0; transform: translateY(-4px); transition: opacity .3s ease, transform .3s ease; }
  .sv-demo-num.is-in { opacity: 1; transform: translateY(0); }
  .sv-demo-total {
    display: flex; align-items: baseline; justify-content: space-between;
    margin-top: 6px;
    padding-top: 8px;
    font-size: .92rem; font-weight: 700;
    color: #1d1d1f;
    border-top: 1.5px solid rgba(225,29,72,.3);
    font-variant-numeric: tabular-nums;
  }
  .sv-demo-sum { color: #e11d48; font-weight: 800; }

  @media (prefers-reduced-motion: reduce) {
    .sv-demo-cb,
    .sv-demo-cb::after { animation: none; }
    .sv-demo-caret { animation: none; }
  }

  /* ── COMPARISON STRIP — Statické PDF vs Svatebníček ── */
  .sv-compare {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
    margin-top: -80px;
  }
  @media(max-width:768px){
    .sv-compare { margin-top: 0; padding: 0 18px 32px; }
    .sv-compare-grid { gap: 48px !important; } /* víc dechu mezi Konkurence a Svatebníček (Jediný v ČR) */
  }
  .sv-compare-head {
    text-align: center;
    margin-bottom: 36px;
    max-width: 720px;
    margin-inline: auto;
  }
  .sv-compare-tag {
    display: inline-block;
    font-size: .68rem; font-weight: 700;
    color: #e11d48;
    letter-spacing: .18em; text-transform: uppercase;
    background: rgba(225,29,72,.08);
    border: 1px solid rgba(225,29,72,.2);
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 16px;
  }
  .sv-compare-title {
    font-family: var(--ed-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    font-weight: 700;
    color: #1d1d1f;
    letter-spacing: -.025em;
    line-height: 1.25;
    margin: 0;
  }
  .sv-compare-title em { font-style: italic; font-weight: 600; color: #71717a; }
  .sv-compare-title em.sv-compare-pos { color: #e11d48; }
  .sv-compare-leadtext {
    font-size: 1rem;
    color: #71717a;
    margin: 14px 0 0;
    line-height: 1.55;
    text-wrap: balance;
  }

  .sv-compare-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: stretch;
  }
  @media (min-width: 760px) { .sv-compare-grid { grid-template-columns: 1fr 1fr; gap: 20px; } }

  .sv-compare-card {
    position: relative;
    padding: 32px 28px;
    border-radius: 22px;
    display: flex; flex-direction: column;
  }
  .sv-compare-card header { margin-bottom: 22px; }
  .sv-compare-card-tag {
    display: inline-block;
    font-size: .64rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
    margin-bottom: 10px;
  }
  .sv-compare-card h3 {
    font-size: 1.4rem; font-weight: 700;
    letter-spacing: -.025em;
    margin: 0 0 6px;
    line-height: 1.15;
  }
  .sv-compare-card p {
    font-size: .85rem; font-weight: 500;
    line-height: 1.5;
    margin: 0;
    letter-spacing: -.005em;
  }
  .sv-compare-card ul {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 14px;
  }
  .sv-compare-card li {
    display: flex; align-items: center; gap: 12px;
    font-size: .92rem; font-weight: 500;
    line-height: 1.4;
    letter-spacing: -.005em;
  }
  .sv-compare-icon {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px;
    border-radius: 50%;
  }
  .sv-compare-icon svg { width: 14px; height: 14px; }

  /* BAD card (greyscale, muted) */
  .sv-compare-bad {
    background: #fafafa;
    border: 1px solid rgba(15,15,18,.1);
    color: #71717a;
  }
  .sv-compare-bad .sv-compare-card-tag { color: #a1a1aa; }
  .sv-compare-bad h3 { color: #52525b; }
  .sv-compare-bad p { color: #a1a1aa; }
  .sv-compare-bad li { color: #71717a; }
  .sv-compare-bad .sv-compare-icon {
    background: #e4e4e7;
    color: #71717a;
  }

  /* GOOD card (rose, prominent) */
  .sv-compare-good {
    background: linear-gradient(165deg, #fff5f7 0%, #fce7ec 100%);
    border: 1.5px solid #e11d48;
    box-shadow: 0 16px 40px -16px rgba(225,29,72,.25);
  }
  .sv-compare-good .sv-compare-card-tag { color: #e11d48; }
  .sv-compare-good h3 { color: #1d1d1f; }
  .sv-compare-good p { color: #515154; }
  .sv-compare-good li { color: #1d1d1f; font-weight: 600; }
  .sv-compare-good .sv-compare-icon {
    background: #fff;
    color: #e11d48;
    box-shadow: 0 4px 10px -2px rgba(225,29,72,.3);
  }
  .sv-compare-ribbon {
    position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
    display: inline-block;
    font-size: .68rem; font-weight: 700;
    color: #e11d48;
    letter-spacing: .18em; text-transform: uppercase;
    background: #fff5f8;
    border: 1px solid rgba(225,29,72,.2);
    padding: 6px 14px;
    border-radius: 100px;
    white-space: nowrap;
  }

  @media (max-width: 480px) {
    .sv-compare-card { padding: 26px 22px; border-radius: 18px; }
  }

  /* ── AUTHOR PULLQUOTE v3 — editorial magazine, žádný card, žádné podtržení ── */
  .sv-pullquote {
    position: relative;
    max-width: 760px;
    margin: 0 auto;
    padding: 56px 24px 0;
    text-align: center;
  }
  .sv-pullquote-mark {
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    font-family: 'Parisienne', cursive;
    font-size: 7rem;
    line-height: 1;
    color: #e11d48;
    opacity: .9;
    user-select: none;
    pointer-events: none;
  }
  .sv-pullquote-text {
    font-family: var(--ed-serif, 'Playfair Display', Georgia, serif);
    font-size: clamp(1.35rem, 2.2vw, 1.8rem);
    font-weight: 400;
    font-style: italic;
    line-height: 1.55;
    color: #1d1d1f;
    margin: 0 auto 44px;
    letter-spacing: -.018em;
    text-wrap: balance;
    max-width: 36ch;
    quotes: none;
  }
  .sv-pullquote-text::before,
  .sv-pullquote-text::after { content: none; }
  .sv-pullquote-text strong {
    font-weight: 500;
    font-style: italic;
    color: #e11d48;
    background: none;
    text-decoration: none;
  }

  .sv-pullquote-rule {
    width: 48px; height: 1px;
    background: rgba(225,29,72,.5);
    margin: 0 auto 24px;
  }

  .sv-pullquote-sig {
    display: inline-flex; align-items: center; gap: 14px;
    text-align: left;
  }
  .sv-pullquote-avatar {
    flex-shrink: 0;
    width: 52px; height: 52px;
    border-radius: 50%;
    object-fit: cover;
    background: linear-gradient(135deg, #fff5f7 0%, #fcb9cc 100%);
  }
  .sv-pullquote-avatar--initial {
    display: inline-flex; align-items: center; justify-content: center;
    color: #7a0f2e;
    font-size: 1.15rem; font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1;
  }
  .sv-pullquote-meta { min-width: 0; }
  .sv-pullquote-name {
    font-size: .92rem; font-weight: 600;
    color: #1d1d1f;
    letter-spacing: -.01em;
    line-height: 1.2;
  }
  .sv-pullquote-role {
    font-size: .68rem; font-weight: 500;
    color: #94817c;
    letter-spacing: .14em; text-transform: uppercase;
    margin-top: 4px;
  }

  @media (max-width: 640px) {
    .sv-pullquote { padding: 40px 16px 0; }
    .sv-pullquote-mark { font-size: 5rem; }
    .sv-pullquote-text { margin-bottom: 32px; }
    .sv-pullquote-avatar { width: 44px; height: 44px; }
  }

  /* ── JUMP CTA (hairline top/bottom, no box) ── */
  .jump-cta {
    display:grid; grid-template-columns:1fr auto;
    gap:28px; align-items:center;
    max-width:960px; margin:56px auto;
    padding:22px 0;
    border-top:1px solid var(--ed-hair);
    border-bottom:1px solid var(--ed-hair);
    position:relative;
  }
  .jump-cta-body {
    display:flex; flex-direction:column; gap:8px;
  }
  .jump-cta-eyebrow {
    display:inline-flex; align-items:center; gap:10px;
    font-size:.7rem; font-weight:600;
    letter-spacing:.24em; text-transform:uppercase;
    color:var(--ed-rose-deep);
  }
  .jump-cta-eyebrow::before {
    content:''; display:inline-block;
    width:24px; height:1px; background:var(--ed-rose-deep);
  }
  .jump-cta-title {
    font-family:var(--ed-serif);
    font-size:clamp(1.2rem,1.9vw,1.5rem);
    font-weight:400; color:var(--ed-ink);
    letter-spacing:-.025em; line-height:1.35;
    margin:0; max-width:52ch;
    text-wrap:balance;
  }
  .jump-cta-actions {
    display:flex; gap:14px; flex-wrap:wrap; align-items:center;
  }
  .jump-cta-primary {
    display:inline-flex; align-items:center; gap:10px;
    padding:13px 22px;
    background:var(--ed-ink); color:#fff;
    border:none; border-radius:100px;
    font-family:inherit;
    font-size:.88rem; font-weight:600;
    letter-spacing:-.005em;
    cursor:pointer; text-decoration:none;
    white-space:nowrap;
    transition:background .25s ease;
  }
  .jump-cta-primary:hover { background:#e11d48; }
  .jump-cta-primary svg { transition:transform .25s ease; }
  .jump-cta-primary:hover svg { transform:translateX(3px); }
  .jump-cta-ghost {
    display:inline-flex; align-items:center; gap:6px;
    color:var(--ed-ink);
    font-family:inherit;
    font-size:.88rem; font-weight:500;
    text-decoration:none;
    border-bottom:1px solid var(--ed-hair);
    padding-bottom:2px;
    transition:border-color .25s ease, color .25s ease;
  }
  .jump-cta-ghost:hover {
    border-color:#e11d48;
    color:#e11d48;
  }
  @media(max-width:720px){
    .jump-cta { grid-template-columns:1fr; gap:16px; padding:20px 0; }
  }

  /* ── STICKY MOBILE CTA (thin, refined) ── */
  .sticky-cta {
    display:none;
    position:fixed; bottom:14px; left:14px; right:14px;
    z-index:80;
    padding:10px 14px 10px 20px;
    background:rgba(45,36,33,.92);
    backdrop-filter:blur(16px) saturate(1.2);
    -webkit-backdrop-filter:blur(16px) saturate(1.2);
    border-radius:100px;
    border:1px solid rgba(255,255,255,.06);
    align-items:center; justify-content:space-between;
    gap:12px;
    opacity:0; transform:translateY(16px);
    transition:opacity .4s cubic-bezier(.22,1,.36,1), transform .4s cubic-bezier(.22,1,.36,1);
  }
  .sticky-cta.is-visible { opacity:1; transform:translateY(0); }
  .sticky-cta-price {
    display:flex; align-items:baseline; gap:8px; color:#fff;
    font-variant-numeric:tabular-nums;
  }
  .sticky-cta-price-num {
    font-family:var(--ed-serif);
    font-size:1rem; font-weight:500;
    letter-spacing:-.015em;
  }
  .sticky-cta-price-label {
    font-size:.62rem; color:rgba(252,185,204,.85);
    letter-spacing:.22em; text-transform:uppercase;
    font-weight:500;
  }
  .sticky-cta-btn {
    display:inline-flex; align-items:center; gap:6px;
    padding:8px 16px;
    background:#e11d48; color:#fff;
    border:none; border-radius:100px;
    font-family:inherit;
    font-size:.82rem; font-weight:600;
    letter-spacing:-.005em;
    cursor:pointer; text-decoration:none;
    transition:background .2s ease;
  }
  .sticky-cta-btn:hover { background:#be123c; }
  @media(max-width:860px){
    .sticky-cta { display:flex; }
  }
