/* The input journey uses the landing's type, white space, ink and yellow accent. */
body:has(#kn-app:is([data-screen="form"],[data-screen="checkout"])) { background:#fff; }
#kn-app:is([data-screen="form"],[data-screen="checkout"]) { max-width:1200px; padding:0 28px; }
#kn-app:is([data-screen="form"],[data-screen="checkout"]) .kn-product { max-width:none; border:0; border-radius:0; background:#fff; overflow:visible; }
#kn-app:is([data-screen="form"],[data-screen="checkout"]) .kn-header { padding:26px 0; background:#fff; }
#kn-app[data-screen="form"] .kn-form-experience { max-width:none; padding:20px 0 64px; }
#kn-app .kn-form-experience>.kn-back { margin-bottom:22px; font-size:13px; }
#kn-app .kn-form-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
#kn-app .kn-form-companion { position:sticky; top:28px; padding:32px; border-radius:6px; background:#f1f7fa; }
#kn-app .kn-form-companion h2 { font-size:clamp(30px,3vw,40px); line-height:1.12; letter-spacing:-.05em; margin:20px 0; }
#kn-app .kn-form-companion h2 em { font-style:normal; background:#fff07d; box-decoration-break:clone; -webkit-box-decoration-break:clone; padding:0 .06em; }
#kn-app .kn-form-companion>p { font-size:14px; color:#51635b; }
#kn-app .kn-form-art { height:255px; position:relative; margin:24px 0 8px; }
#kn-app .kn-form-art img { position:absolute; width:120px; height:auto; border-radius:5px; box-shadow:0 12px 20px #17262020; left:50%; top:12px; }
#kn-app .kn-form-art img:nth-child(1) { transform:translateX(-112%) rotate(-12deg) scale(.87); }
#kn-app .kn-form-art img:nth-child(2) { transform:translateX(-50%); z-index:1; }
#kn-app .kn-form-art img:nth-child(3) { transform:translateX(12%) rotate(12deg) scale(.87); }
#kn-app .kn-form-companion .kn-form-sample-label { text-align:center; font-size:10px; margin-top:0; }
#kn-app .kn-form-promise { border-top:1px solid #d0dfe1; padding-top:20px; display:grid; gap:7px; font-size:14px; }
#kn-app .kn-form-promise span { font-size:12px; color:#51635b; }
#kn-app .kn-form-plan-summary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:24px; font-size:13px; }
#kn-app .kn-form-companion .kn-form-purchase-note { font-size:11px; margin-bottom:0; }
#kn-app .kn-form-workspace { min-width:0; }
#kn-app .kn-form-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:36px; }
#kn-app .kn-form-progress button { display:flex; flex-wrap:wrap; gap:8px; align-items:center; text-align:left; border:0; border-top:3px solid #e0e6e2; padding:12px 0; background:none; color:#66736d; font-size:12px; }
#kn-app .kn-form-progress button span { font-size:11px; }
#kn-app .kn-form-progress button[aria-current="step"] { border-color:#243e31; color:#172620; font-weight:800; }
#kn-app .kn-form-progress button:disabled { cursor:default; opacity:.65; }
#kn-app .kn-form-heading h1 { font-size:clamp(30px,3.6vw,44px); letter-spacing:-.05em; line-height:1.12; margin:14px 0; }
#kn-app .kn-form-heading>p:last-child { color:#637066; font-size:15px; }
#kn-app .kn-form-experience fieldset { margin:30px 0; }
#kn-app .kn-form-experience legend { font-weight:700; font-size:17px; border:0; padding:0; margin-bottom:4px; }
#kn-app .kn-form-experience .kn-field { font-size:13px; font-weight:600; gap:9px; }
#kn-app .kn-form-experience input:not([type=checkbox]):not([type=radio]),#kn-app .kn-form-experience select { background:#fff; min-height:52px; border-radius:5px; padding:14px; font-size:16px; }
#kn-app .kn-form-experience input:focus-visible,#kn-app .kn-form-experience select:focus-visible,#kn-app .kn-form-experience button:focus-visible { outline:2px solid #375a48; outline-offset:3px; }
#kn-app .kn-form-experience [aria-invalid="true"] { border-color:#a13427!important; }
#kn-app .kn-form-experience .kn-check { min-height:44px; font-size:13px; margin:0; }
#kn-app .kn-form-experience .kn-field-hint { font-weight:400; font-size:12px; }
#kn-app .kn-form-note { color:#637066; font-size:13px; }
#kn-app .kn-form-experience .kn-choice-tabs { margin-top:16px; border-radius:5px; }
#kn-app .kn-form-experience .kn-choice-tabs>button { font-size:13px; background:#fff; }
#kn-app .kn-form-experience .kn-choice-tabs>button[aria-pressed="true"] { background:#243e31; }
#kn-app .kn-form-experience .kn-traits { gap:10px; }
#kn-app .kn-form-experience .kn-traits button { background:#fff; font-size:13px; min-height:44px; color:#243e31; }
#kn-app .kn-form-experience .kn-traits button[aria-pressed="true"] { background:#fff07d; color:#172620; border-color:#172620; box-shadow:2px 2px 0 #172620; }
#kn-app .kn-form-experience .kn-small { font-size:12px; }
#kn-app .kn-form-actions { display:flex; gap:12px; padding-top:24px; border-top:1px solid #d9ded5; }
#kn-app .kn-form-actions .kn-primary { flex:1; width:auto; background:#243e31; border-radius:4px; font-size:14px; font-weight:700; }
#kn-app .kn-form-actions .kn-secondary { background:#fff; border-color:#d9ded5; font-size:13px; }
#kn-app .kn-form-next-note { color:#637066; font-size:12px; text-align:center; }
#kn-app .kn-form-review { background:#f7f9f7; padding:18px 20px; border-radius:5px; margin:24px 0; }
#kn-app .kn-review-line { display:flex; justify-content:space-between; align-items:center; gap:8px; }
#kn-app .kn-review-line .kn-text-button { font-size:12px; }
#kn-app #kn-profile-review { margin:12px 0 0; font-size:13px; }
#kn-app #kn-profile-review div { display:grid; grid-template-columns:84px minmax(0,1fr); gap:12px; margin:10px 0; }
#kn-app #kn-profile-review dt { color:#637066; }
#kn-app #kn-profile-review dd { margin:0; overflow-wrap:anywhere; }
#kn-app .kn-form-experience .kn-plan { background:#fff; padding:18px 16px; gap:12px; }
#kn-app .kn-form-experience .kn-plan:has(input:checked) { border:2px solid #243e31; padding:17px 15px; background:#f6f9f5; }
#kn-app .kn-form-privacy { margin-top:18px; }
#kn-app[data-screen="checkout"] [data-view="checkout"] { max-width:650px; padding:32px 0 60px; }
#kn-app[data-screen="checkout"] h1 { font-size:clamp(34px,4vw,48px); font-weight:800; letter-spacing:-.05em; }
#kn-app[data-screen="checkout"] .kn-plan { background:#f1f7fa; border:0; padding:24px; }
#kn-app[data-screen="checkout"] .kn-primary { background:#243e31; }
@media(max-width:800px) {
  #kn-app:is([data-screen="form"],[data-screen="checkout"]) { padding:0 22px; }
  #kn-app:is([data-screen="form"],[data-screen="checkout"]) .kn-header { padding:20px 0; }
  #kn-app .kn-form-layout { grid-template-columns:1fr; gap:28px; }
  #kn-app .kn-form-companion { position:static; padding:18px; }
  #kn-app .kn-form-companion>.kn-eyebrow,#kn-app .kn-form-companion h2,#kn-app .kn-form-companion>p:not(.kn-form-purchase-note),#kn-app .kn-form-art { display:none; }
  #kn-app .kn-form-promise { border:0; padding:0; }
  #kn-app .kn-form-plan-summary { margin-top:14px; }
  #kn-app .kn-form-progress { margin-bottom:24px; gap:10px; }
  #kn-app .kn-form-progress button { font-size:11px; gap:5px; }
  #kn-app .kn-form-experience>.kn-back { margin-bottom:12px; }
  #kn-app .kn-form-actions { gap:8px; }
  #kn-app .kn-form-actions .kn-secondary { padding:12px 10px; }
  #kn-app .kn-form-experience .kn-plan { align-items:flex-start; }
  #kn-app .kn-form-experience .kn-plan input { margin-top:3px; }
}
