  body{margin:0;background:#F5F1E8; text-align:center;}
  a{color:#20201E;text-decoration:none;}
  a:hover{color:#B52D28;}
  * { box-sizing: border-box; }
  .kaf-btn-primary:hover{ background:#962420 !important; }
  .kaf-btn-outline:hover{ background:#20201E !important; color:#F5F1E8 !important; border-color:#20201E !important; }
  @keyframes kaf-pulse-scale { 0%,100% { transform: scale(1); } 50% { transform: scale(1.04); } }
  @keyframes kaf-shine { 0%,20% { left:-75%; } 55%,100% { left:130%; } }
  @keyframes kaf-arrow { 0%,100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
  .kaf-btn-primary{
    display:inline-flex; align-items:center; gap:8px; position:relative; overflow:hidden;
    background:#B52D28 !important; color:#FFFDF8 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 10px 24px -8px rgba(32,32,30,0.45);
    animation: kaf-pulse-scale 1.8s ease-in-out infinite;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.15s ease;
  }
  .kaf-btn-primary::before{
    content:""; position:absolute; top:0; left:-75%; width:26%; height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,0.35), transparent);
    transform:skewX(-20deg); animation: kaf-shine 3.2s ease-in-out infinite; pointer-events:none;
  }
  .kaf-btn-primary::after{ content:"\2192"; display:inline-block; animation: kaf-arrow 1.3s ease-in-out infinite; }
  .kaf-btn-primary:hover{ animation-play-state: paused; transform:translateY(-2px); box-shadow: 0 14px 28px -8px rgba(32,32,30,0.55); }
  .kaf-btn-primary:hover::before{ animation-play-state: paused; }
  .kaf-faq{ background:#FFFDF8; border:1px solid #D8D0C2; border-radius:10px; padding:4px 20px; margin-bottom:14px; text-align:left; }
  .kaf-faq summary{ cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:'Libre Baskerville',serif; font-weight:700; font-size:16px; color:#20201E; padding:16px 0; }
  .kaf-faq summary::-webkit-details-marker{ display:none; }
  .kaf-faq summary .kaf-faq-icon{ flex:none; width:24px; height:24px; border-radius:999px; background:#F5F1E8; color:#20201E; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; font-family:'Inter',sans-serif; transition:transform 0.2s ease, background 0.2s ease, color 0.2s ease; }
  .kaf-faq[open] summary .kaf-faq-icon{ transform:rotate(45deg); background:#B52D28; color:#FFFDF8; }
  .kaf-faq p{ font-family:'Inter',sans-serif; font-size:14.5px; line-height:1.6; color:#625D55; margin:0 0 18px; text-align:left; }
  .kaf-card{ transition: box-shadow 0.2s ease, transform 0.2s ease; }
  .kaf-card:hover{ box-shadow: 0 16px 34px rgba(32,32,30,0.18); transform: translateY(-4px); }
  @keyframes kaf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .kaf-marquee-track{ display:flex; gap:18px; width:max-content; animation: kaf-marquee 26s linear infinite; }
  .kaf-marquee-track-rev{ display:flex; gap:18px; width:max-content; animation: kaf-marquee 30s linear infinite reverse; }
  .kaf-eyebrow{ display:inline-block; font-family:'Inter',sans-serif; font-weight:700; font-size:12px; letter-spacing:2px; text-transform:uppercase; }
  .kaf-rule{ width:52px; margin:0 auto 18px; display:flex; flex-direction:column; gap:3px; align-items:center; }
  .kaf-rule span{ width:100%; height:1px; display:block; }
  .kaf-blob-deco{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
  .kaf-blob-deco svg{ position:absolute; }
  .kaf-blob-shape{ fill:currentColor; }
  @media (max-width: 860px){
    .kaf-hero-row{ flex-direction: column !important; }
    .kaf-cols-2{ grid-template-columns: 1fr !important; }
    .kaf-cols-3{ grid-template-columns: 1fr !important; }
    .kaf-plans-row{ flex-direction: column !important; }
    .kaf-plan-featured{ transform: none !important; }
  }
  @media (max-width: 640px){
    .kaf-section{ padding-top:48px !important; padding-bottom:48px !important; }
    .kaf-section-lg{ padding-top:56px !important; padding-bottom:56px !important; }
    .kaf-checklist{ grid-template-columns: 1fr !important; max-width:320px !important; }
    .kaf-box-pad{ padding:28px 22px !important; }
    .kaf-card-pad{ padding:22px !important; }
    .kaf-marquee-card-lg{ width:175px !important; height:233px !important; }
    .kaf-marquee-card-sm{ width:165px !important; }
    .kaf-h1{ font-size:clamp(26px,7vw,34px) !important; }
  }
