.kf{
  --kf-ease:cubic-bezier(0.16,1,0.3,1);
  --kf-line:rgba(11,13,49,.12);
  --kf-tint:#FFFBF0;
  --kf-error:#B42318;
  position:relative;
  padding:1.25rem;
  color:var(--color-ink);
}
@media (min-width:640px){ .kf{padding:2.5rem;} }
.kf [hidden]{display:none !important;}

.kf-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.kf-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.25rem;}
.kf-back{
  display:inline-flex;align-items:center;gap:.375rem;
  margin-left:-.5rem;padding:.5rem .75rem .5rem .5rem;border:0;border-radius:9999px;background:none;
  font:inherit;font-size:.875rem;font-weight:600;color:rgba(11,13,49,.7);cursor:pointer;
  transition:color .3s var(--kf-ease), background-color .3s var(--kf-ease);
}
.kf-back:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px;}
.kf-count{
  margin-left:auto;
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(11,13,49,.62);
}
.kf-progress{height:6px;margin:.75rem 0 1.75rem;border-radius:9999px;background:var(--color-cloud);overflow:hidden;}
.kf-progress-bar{
  display:block;height:100%;width:100%;border-radius:inherit;background:var(--color-primary);
  transform-origin:left center;transform:scaleX(var(--kf-p, .08));
  transition:transform .6s var(--kf-ease);
}

.kf-notice{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;
  margin:-.75rem 0 1.5rem;padding:.625rem .875rem;border-radius:.875rem;
  background:var(--kf-tint);border:1px solid var(--color-primary-light);font-size:.8125rem;line-height:1.5;
}

.kf-eyebrow{
  display:flex;align-items:center;gap:.5rem;margin:0 0 .625rem;
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(11,13,49,.6);
}
.kf-eyebrow::before{content:"";width:.875rem;height:2px;border-radius:2px;background:var(--color-primary);}
.kf-question{
  margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;line-height:1.12;color:var(--color-ink);
}
@media (min-width:640px){ .kf-question{font-size:1.875rem;} }
.kf-question:focus{outline:none;}
.kf-help{margin:.5rem 0 0;font-size:.9375rem;line-height:1.6;color:rgba(11,13,49,.72);max-width:56ch;}

.kf-options{display:grid;gap:.75rem;margin-top:1.5rem;}
.kf-options--tiles{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;}
.kf-options--list{grid-template-columns:1fr;gap:.625rem;}
@media (min-width:640px){
  .kf-options--tiles{grid-template-columns:repeat(3,minmax(0,1fr));}
  .kf-options--list{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;}
}
@media (min-width:1024px){
  .kf-fields, .kf-summary, .kf-privacy, .kf-alert{max-width:46rem;}
}

.kf-tile, .kf-row{
  position:relative;
  font:inherit;color:var(--color-ink);text-align:left;cursor:pointer;
  background:var(--color-cloud);border:2px solid var(--kf-line);
  -webkit-tap-highlight-color:transparent;
  transition:border-color .3s var(--kf-ease), background-color .3s var(--kf-ease), box-shadow .35s var(--kf-ease), transform .35s var(--kf-ease);
}
.kf-tile{
  display:flex;flex-direction:column;
  padding:.5rem .5rem .875rem;border-radius:1rem;
}
.kf-tile:active, .kf-row:active{transform:scale(.98);}
.kf-tile:focus-visible, .kf-row:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px;}
.kf-tile[aria-pressed="true"], .kf-row[aria-pressed="true"]{
  border-color:var(--color-primary);background:var(--kf-tint);
}

.kf-media{
  display:block;position:relative;aspect-ratio:16/10;border-radius:.875rem;overflow:hidden;background:#fff;
}
.kf-media img{display:block;width:100%;height:100%;object-fit:cover;}
.kf-media--icon{display:flex;align-items:center;justify-content:center;}
.kf-media--icon img{width:auto;height:58%;object-fit:contain;}

.kf-ph{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;
  width:100%;height:100%;padding:.5rem;text-align:center;
  border:1px dashed rgba(11,13,49,.16);border-radius:inherit;
  background:
    repeating-linear-gradient(-45deg, rgba(11,13,49,.035) 0 10px, transparent 10px 20px),
    var(--color-cloud);
  color:rgba(11,13,49,.5);font-size:.6875rem;font-weight:600;line-height:1.3;
}
.kf-ph svg{width:22px;height:22px;opacity:.6;flex:none;}

.kf-tile-body{display:flex;flex-direction:column;gap:.2rem;padding:.625rem .375rem 0;}
.kf-tile-title{font-size:.9375rem;font-weight:700;line-height:1.25;}
.kf-tile-text{font-size:.8125rem;line-height:1.4;color:rgba(11,13,49,.66);}
.kf-tile-title, .kf-tile-text{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;}
@media (min-width:640px){
  .kf-tile-title{font-size:1rem;}
}

.kf-check{
  display:flex;align-items:center;justify-content:center;flex:none;
  width:1.75rem;height:1.75rem;border-radius:9999px;
  background:#fff;border:1.5px solid rgba(11,13,49,.2);color:transparent;
  transition:background-color .2s var(--kf-ease), border-color .2s var(--kf-ease), color .2s var(--kf-ease);
}
.kf-check svg{width:14px;height:14px;}
.kf-multi .kf-check{border-radius:.5rem;}
.kf-tile > .kf-check{position:absolute;top:.875rem;right:.875rem;box-shadow:0 2px 6px -2px rgba(31,31,29,.25);}
[aria-pressed="true"] > .kf-check{
  background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink);
  animation:kf-pop .35s var(--kf-ease);
}
@keyframes kf-pop{0%{transform:scale(.6);}60%{transform:scale(1.12);}100%{transform:scale(1);}}

.kf-tile--plain{
  justify-content:center;padding:1rem;border-style:dashed;background:rgba(246,244,240,.6);
}
.kf-tile--plain .kf-tile-body{padding:0 1.5rem;align-items:center;text-align:center;}

.kf-row{
  display:flex;align-items:center;gap:.875rem;width:100%;
  min-height:3.5rem;padding:.75rem 1rem;border-radius:1rem;
}
.kf-row .kf-tile-body{padding:0;flex:1;}
.kf-row--plain{border-style:dashed;background:rgba(246,244,240,.6);}

.kf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.75rem;}
.kf-btn{
  display:inline-flex;align-items:center;gap:.75rem;
  padding:.375rem .375rem .375rem 1.25rem;border:0;border-radius:9999px;
  background:var(--color-primary);color:var(--color-ink);
  font:inherit;font-size:1rem;font-weight:600;cursor:pointer;
  box-shadow:0 1px 2px rgba(31,31,29,.06), 0 8px 20px -6px rgba(31,31,29,.12), 0 20px 40px -12px rgba(250,183,39,.18);
  transition:background-color .3s var(--kf-ease), color .3s var(--kf-ease), transform .35s var(--kf-ease);
}
.kf-btn:active{transform:translateY(0) scale(.97);}
.kf-btn:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px;}
.kf-btn-arrow{
  display:flex;align-items:center;justify-content:center;flex:none;
  width:2.25rem;height:2.25rem;border-radius:9999px;background:var(--color-ink);color:var(--color-cloud);
  transition:transform .35s var(--kf-ease), background-color .3s var(--kf-ease), color .3s var(--kf-ease);
}
@media (min-width:640px){ .kf-btn-arrow{width:2.5rem;height:2.5rem;} }
.kf-btn[disabled]{cursor:progress;opacity:.75;transform:none;}
.kf-btn[disabled] .kf-btn-arrow{transform:none;background:var(--color-ink);color:var(--color-cloud);}

.kf-link-btn{
  padding:.5rem 0;border:0;background:none;cursor:pointer;
  font:inherit;font-size:.9375rem;font-weight:600;color:rgba(11,13,49,.72);
  text-decoration:underline;text-decoration-color:var(--color-primary);text-decoration-thickness:2px;text-underline-offset:4px;
  transition:color .3s var(--kf-ease);
}
.kf-link-btn:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px;border-radius:4px;}

.kf-spinner{
  width:1rem;height:1rem;border-radius:9999px;
  border:2px solid currentColor;border-right-color:transparent;
  animation:kf-spin .7s linear infinite;
}
@keyframes kf-spin{to{transform:rotate(360deg);}}

@media (max-width:639px){
  .kf-actions--sticky{
    position:sticky;bottom:0;z-index:5;
    margin:1.5rem -1.25rem -1.25rem;padding:.875rem 1.25rem calc(.875rem + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);border-top:1px solid rgba(11,13,49,.08);
    border-radius:0 0 1rem 1rem;
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  }
}

.kf-fields{margin-top:1.5rem;display:grid;gap:1.25rem;}
.kf-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.kf-label{display:block;margin-bottom:.375rem;font-size:.9375rem;font-weight:600;}
.kf-label-note{font-weight:400;color:rgba(11,13,49,.6);}
.kf-input, .kf-textarea{
  display:block;width:100%;
  padding:.75rem 1rem;border-radius:.75rem;border:1px solid rgba(11,13,49,.18);background:#fff;
  font:inherit;font-size:1rem;line-height:1.5;color:var(--color-ink);
  transition:border-color .2s var(--kf-ease), box-shadow .2s var(--kf-ease);
}
.kf-input::placeholder, .kf-textarea::placeholder{color:rgba(11,13,49,.4);}
.kf-input, .kf-textarea, .kf-file-input, .kf-question{scroll-margin-top:7rem;scroll-margin-bottom:6.5rem;}
.kf-input:focus, .kf-textarea:focus{outline:none;border-color:var(--color-ink);box-shadow:0 0 0 3px rgba(250,183,39,.45);}
.kf-input[aria-invalid="true"], .kf-textarea[aria-invalid="true"]{border-color:var(--kf-error);box-shadow:0 0 0 3px rgba(180,35,24,.12);}
.kf-textarea{min-height:7rem;resize:vertical;}
.kf-unit-wrap{position:relative;}
.kf-unit-wrap .kf-input{padding-right:3rem;}
.kf-unit{
  position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;
  font-weight:600;color:rgba(11,13,49,.55);
}
.kf-hint{margin:.375rem 0 0;font-size:.8125rem;line-height:1.5;color:rgba(11,13,49,.62);}
.kf-error{margin:.375rem 0 0;font-size:.8125rem;line-height:1.5;font-weight:600;color:var(--kf-error);}
.kf-error:empty{display:none;}
.kf-suggest{
  margin:.375rem 0 0;padding:0;border:0;background:none;cursor:pointer;
  font:inherit;font-size:.8125rem;font-weight:600;color:var(--color-ink);text-align:left;
  text-decoration:underline;text-decoration-color:var(--color-primary);text-decoration-thickness:2px;text-underline-offset:3px;
}

.kf-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;}
.kf-drop{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;
  padding:1.25rem 1rem;border:1.5px dashed rgba(11,13,49,.25);border-radius:1rem;background:var(--color-cloud);
  text-align:center;cursor:pointer;
  transition:border-color .25s var(--kf-ease), background-color .25s var(--kf-ease);
}
.kf-drop.is-drag{border-color:var(--color-primary);background:var(--kf-tint);}
.kf-file-input:focus-visible + .kf-drop{outline:2px solid var(--color-ink);outline-offset:3px;}
.kf-drop-icon{
  display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-bottom:.25rem;
  border-radius:9999px;background:#fff;color:var(--color-ink);
  box-shadow:0 1px 2px rgba(31,31,29,.06), 0 8px 20px -6px rgba(31,31,29,.12);
}
.kf-drop-icon svg{width:20px;height:20px;}
.kf-drop-title{font-weight:700;}
.kf-drop-text{font-size:.8125rem;color:rgba(11,13,49,.62);}
.kf-thumbs{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.625rem;
  margin:.875rem 0 0;padding:0;list-style:none;
}
.kf-thumbs:empty{display:none;}
.kf-thumb{
  position:relative;aspect-ratio:1;border-radius:.75rem;overflow:hidden;
  background:var(--color-cloud);border:1px solid rgba(11,13,49,.1);
}
.kf-thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.kf-thumb-name{
  display:flex;align-items:center;justify-content:center;height:100%;padding:.5rem;
  font-size:.6875rem;font-weight:600;line-height:1.3;color:rgba(11,13,49,.6);text-align:center;word-break:break-all;
}
.kf-thumb-remove{
  position:absolute;top:.3rem;right:.3rem;display:flex;align-items:center;justify-content:center;
  width:1.75rem;height:1.75rem;border:0;border-radius:9999px;cursor:pointer;
  background:rgba(11,13,49,.78);color:#fff;
}
.kf-thumb-remove svg{width:12px;height:12px;}
.kf-thumb-remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;}
.kf-thumb.is-busy::after{
  content:"";position:absolute;inset:0;margin:auto;width:1.25rem;height:1.25rem;border-radius:9999px;
  border:2px solid var(--color-ink);border-right-color:transparent;animation:kf-spin .7s linear infinite;
}

.kf-summary{margin-top:1.25rem;border:1px solid rgba(11,13,49,.1);border-radius:1rem;background:var(--color-cloud);}
.kf-summary > summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.875rem 1rem;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:600;
}
.kf-summary > summary::-webkit-details-marker{display:none;}
.kf-summary > summary svg{width:14px;height:14px;transition:transform .3s var(--kf-ease);}
.kf-summary[open] > summary svg{transform:rotate(180deg);}
.kf-summary > summary:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px;border-radius:1rem;}
.kf-summary-list{margin:0;padding:0 1rem .75rem;}
.kf-summary-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.5rem 0;border-top:1px solid rgba(11,13,49,.08);
}
.kf-summary-row dt{font-size:.8125rem;color:rgba(11,13,49,.6);}
.kf-summary-row dd{margin:.125rem 0 0;font-size:.9375rem;font-weight:600;}
.kf-summary-edit{
  flex:none;padding:.25rem 0;border:0;background:none;cursor:pointer;
  font:inherit;font-size:.8125rem;font-weight:600;color:rgba(11,13,49,.7);
  text-decoration:underline;text-decoration-color:var(--color-primary);text-decoration-thickness:2px;text-underline-offset:3px;
}

.kf-privacy{margin:1.25rem 0 0;font-size:.8125rem;line-height:1.6;color:rgba(11,13,49,.7);}
.kf-privacy a, .kf-alert a, .kf-foot a{
  font-weight:600;color:var(--color-ink);
  text-decoration:underline;text-decoration-color:var(--color-primary);text-decoration-thickness:2px;text-underline-offset:4px;
}
.kf-alert{
  margin-top:1.25rem;padding:.875rem 1rem;border-radius:.875rem;
  background:#FEF3F2;border:1px solid #FECDCA;color:#912018;font-size:.875rem;line-height:1.55;
}
.kf-alert a{color:#912018;}

.kf-foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;
  margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid rgba(11,13,49,.08);
  font-size:.875rem;color:rgba(11,13,49,.7);
}

@media (hover:hover){
  .kf-back:hover{color:var(--color-ink);background:var(--color-cloud);}
  .kf-tile:hover, .kf-row:hover{
    border-color:var(--color-primary);
    transform:translateY(-2px);
    box-shadow:0 1px 1px rgba(31,31,29,.04), 0 6px 16px -8px rgba(31,31,29,.10), 0 16px 32px -16px rgba(31,31,29,.14);
  }
  .kf-btn:hover{background:var(--color-ink);color:#fff;transform:translateY(-2px);}
  .kf-btn:hover .kf-btn-arrow{background:#fff;color:var(--color-ink);transform:scale(1.1);}
  .kf-btn[disabled]:hover{background:var(--color-primary);color:var(--color-ink);transform:none;}
  .kf-btn[disabled]:hover .kf-btn-arrow{transform:none;background:var(--color-ink);color:var(--color-cloud);}
  .kf-link-btn:hover{color:var(--color-ink);}
  .kf-drop:hover{border-color:var(--color-primary);background:var(--kf-tint);}
}

.kf-stage.kf-in-fwd{animation:kf-in-fwd .45s var(--kf-ease) both;}
.kf-stage.kf-in-back{animation:kf-in-back .45s var(--kf-ease) both;}
@keyframes kf-in-fwd{from{opacity:0;transform:translateX(18px);}to{opacity:1;transform:none;}}
@keyframes kf-in-back{from{opacity:0;transform:translateX(-18px);}to{opacity:1;transform:none;}}
@keyframes kf-fade{from{opacity:0;}to{opacity:1;}}

@media (prefers-reduced-motion: reduce){
  .kf-stage.kf-in-fwd, .kf-stage.kf-in-back{animation:kf-fade .25s ease-out both;}
  .kf-tile, .kf-row, .kf-btn, .kf-progress-bar{transition:none;}
  .kf-tile:hover, .kf-row:hover, .kf-btn:hover{transform:none;}
  [aria-pressed="true"] > .kf-check{animation:none;}
}
