.jf-wrap{
    --jf-bg:#FAF6EF;
    --jf-bg-alt:#F1E7D6;
    --jf-ink:#221C16;
    --jf-ink-soft:#5B5347;
    --jf-accent:#B5562B;
    --jf-accent-deep:#46395F;
    --jf-gold:#C99A3E;
    --jf-card:#FFFFFF;
    --jf-border:rgba(34,28,22,0.13);
    --jf-maxw:760px;

    box-sizing:border-box;
    background:var(--jf-bg);
    color:var(--jf-ink);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height:1.7;
    font-size:17px;
    -webkit-font-smoothing:antialiased;
  }
  .jf-wrap *{ box-sizing:border-box; }
  .jf-wrap img{ max-width:100%; height:auto; display:block; }

  @import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,500;0,600;0,700;1,500;1,600&family=Inter:wght@400;500;600;700&display=swap');

  .jf-wrap h1, .jf-wrap h2, .jf-wrap h3{
    font-family:'Fraunces', Georgia, serif;
    font-weight:600;
    color:var(--jf-ink);
    margin:0 0 0.6em;
    line-height:1.2;
  }

  .jf-section{
    padding:64px 24px;
  }
  .jf-section.alt{ background:var(--jf-bg-alt); }
  .jf-inner{
    max-width:var(--jf-maxw);
    margin:0 auto;
  }
  .jf-inner-wide{
    max-width:1040px;
    margin:0 auto;
  }

  /* Eyebrow label */
  .jf-eyebrow{
    display:inline-block;
    font-family:'Inter',sans-serif;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--jf-accent);
    margin-bottom:14px;
  }

  /* HERO */
  .jf-hero{
    padding:56px 24px 48px;
    text-align:center;
  }
  .jf-hero-art{
    position:relative;
    width:220px;
    margin:0 auto 28px;
  }
  .jf-hero-art::before{
    content:"";
    position:absolute;
    inset:-22px;
    border-radius:50%;
    border:1px solid rgba(70,57,95,0.25);
  }
  .jf-hero-art::after{
    content:"";
    position:absolute;
    inset:-44px;
    border-radius:50%;
    border:1px solid rgba(181,86,43,0.18);
  }
  .jf-hero-art img{
    position:relative;
    border-radius:50%;
    background:var(--jf-card);
    border:1px solid var(--jf-border);
  }
  .jf-hero h1{
    font-size:clamp(28px,4.5vw,40px);
    margin-bottom:6px;
  }
  .jf-hero .jf-h1-sub{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-weight:500;
    font-size:clamp(18px,2.6vw,22px);
    color:var(--jf-ink-soft);
    max-width:560px;
    margin:0 auto;
  }

  .jf-lede{
    max-width:var(--jf-maxw);
    margin:36px auto 0;
    text-align:left;
  }
  .jf-lede p{ margin:0 0 1.3em; color:var(--jf-ink); }
  .jf-lede p:last-child{ margin-bottom:0; }
  .jf-lede strong{ color:var(--jf-accent-deep); font-weight:700; }

  /* Pull quote */
  .jf-pullquote{
    max-width:600px;
    margin:48px auto;
    text-align:center;
    padding:34px 10px;
    border-top:1px solid var(--jf-border);
    border-bottom:1px solid var(--jf-border);
  }
  .jf-pullquote p{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-weight:600;
    font-size:clamp(20px,3vw,26px);
    color:var(--jf-accent-deep);
    margin:0;
    line-height:1.45;
  }

  /* Generic body section */
  .jf-body p{ margin:0 0 1.3em; }
  .jf-body p:last-child{ margin-bottom:0; }
  .jf-body strong{ color:var(--jf-accent-deep); font-weight:700; }

  /* Callout / Důležité */
  .jf-callout{
    max-width:var(--jf-maxw);
    margin:0 auto;
    background:var(--jf-card);
    border:1px solid var(--jf-border);
    border-left:4px solid var(--jf-accent-deep);
    border-radius:6px;
    padding:28px 30px;
  }
  .jf-callout h2{ font-size:21px; margin-bottom:10px; }
  .jf-callout p{ margin:0; color:var(--jf-ink-soft); }
  .jf-callout p + p{ margin-top:0.6em; }

  /* Section heading (centered, with rule) */
  .jf-htitle{
    text-align:center;
    margin-bottom:34px;
  }
  .jf-htitle h2{
    font-size:clamp(22px,3.4vw,30px);
    display:inline-block;
    position:relative;
    padding-bottom:14px;
  }
  .jf-htitle h2::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    width:48px;
    height:2px;
    background:var(--jf-accent);
  }

  /* Second hero-ish (AI Bot section) */
  .jf-bot{
    text-align:center;
  }
  .jf-bot-art{
    position:relative;
    width:180px;
    margin:0 auto 30px;
  }
  .jf-bot-art::before{
    content:"";
    position:absolute;
    inset:-20px;
    border-radius:50%;
    border:1px solid rgba(181,86,43,0.2);
  }
  .jf-bot-art img{
    border-radius:50%;
    background:var(--jf-card);
    border:1px solid var(--jf-border);
  }
  .jf-bot .jf-body{
    text-align:left;
    max-width:var(--jf-maxw);
    margin:0 auto;
  }

  .jf-questions{
    list-style:none;
    margin:0 0 1.3em;
    padding:0;
  }
  .jf-questions li{
    position:relative;
    padding-left:22px;
    margin-bottom:0.7em;
  }
  .jf-questions li::before{
    content:"—";
    position:absolute;
    left:0;
    color:var(--jf-accent);
  }

  .jf-cta-line{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-weight:600;
    font-size:19px;
    color:var(--jf-accent-deep);
  }

  /* "Jak to probíhá" steps */
  .jf-steps{
    max-width:var(--jf-maxw);
    margin:0 auto;
    display:grid;
    gap:18px;
  }
  .jf-step{
    display:flex;
    gap:16px;
    background:var(--jf-card);
    border:1px solid var(--jf-border);
    border-radius:8px;
    padding:18px 20px;
    align-items:flex-start;
  }
  .jf-step-num{
    flex:0 0 auto;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--jf-accent-deep);
    color:#fff;
    font-family:'Inter',sans-serif;
    font-weight:700;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:2px;
  }
  .jf-step p{ margin:0; color:var(--jf-ink); }

  .jf-banner{
    text-align:center;
    background:var(--jf-accent-deep);
    color:#FAF6EF;
    padding:34px 24px;
    border-radius:10px;
    max-width:var(--jf-maxw);
    margin:44px auto 0;
  }
  .jf-banner p{
    margin:0;
    font-family:'Fraunda', 'Fraunces', serif;
    font-style:italic;
    font-weight:600;
    font-size:19px;
  }

  /* Pricing */
  .jf-pricing-note{
    text-align:center;
    max-width:var(--jf-maxw);
    margin:0 auto 36px;
    color:var(--jf-ink-soft);
  }
  .jf-pricing-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    align-items:stretch;
  }
  .jf-plan{
    background:var(--jf-card);
    border:1px solid var(--jf-border);
    border-radius:12px;
    padding:30px 26px;
    display:flex;
    flex-direction:column;
    position:relative;
  }
  .jf-plan.is-reco{
    border:2px solid var(--jf-accent);
    box-shadow:0 8px 24px rgba(181,86,43,0.12);
  }
  .jf-plan-badge{
    position:absolute;
    top:-13px;
    left:50%;
    transform:translateX(-50%);
    background:var(--jf-accent);
    color:#fff;
    font-family:'Inter',sans-serif;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:5px 14px;
    border-radius:999px;
    white-space:nowrap;
  }
  .jf-plan h3{
    font-size:20px;
    margin-bottom:4px;
  }
  .jf-plan .jf-plan-tag{
    font-size:14px;
    color:var(--jf-ink-soft);
    margin-bottom:18px;
  }
  .jf-plan ul{
    list-style:none;
    margin:0 0 16px;
    padding:0;
    font-size:15px;
  }
  .jf-plan ul li{
    margin-bottom:6px;
  }
  .jf-plan .jf-plan-line{
    font-size:15px;
    color:var(--jf-ink-soft);
    margin:0 0 14px;
  }
  .jf-plan .jf-plan-msgs{
    font-weight:600;
    margin:0 0 4px;
  }
  .jf-plan .jf-price{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:26px;
    margin:auto 0 18px;
    padding-top:14px;
  }
  .jf-plan .jf-price span{
    font-family:'Inter',sans-serif;
    font-weight:500;
    font-size:14px;
    color:var(--jf-ink-soft);
  }
  .jf-btn{
    display:block;
    text-align:center;
    text-decoration:none;
    background:var(--jf-ink);
    color:#fff !important;
    font-family:'Inter',sans-serif;
    font-weight:600;
    font-size:15px;
    padding:13px 18px;
    border-radius:7px;
    transition:opacity .15s ease;
  }
  .jf-plan.is-reco .jf-btn{ background:var(--jf-accent); }
  .jf-btn:hover{ opacity:0.85; }

  /* Responsive */
  @media (max-width:880px){
    .jf-pricing-grid{ grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto; }
    .jf-plan.is-reco{ order:-1; }
  }
  @media (max-width:600px){
    .jf-wrap{ font-size:16px; }
    .jf-section{ padding:44px 18px; }
    .jf-callout{ padding:22px 20px; }
    .jf-step{ padding:15px 16px; }
  }
