  h1,h2,h3,h4,.wordmark{font-family:'Poppins',sans-serif}
  /* AA contrast: small uppercase labels use --red-deep on light */
  .btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

  /* ---- rail + nav (identical brand furniture) ---- */
  /* the visitor is already here: the CTA stays, but stands down */
  .navlinks a.btn.here{background:#FFF3F5;color:var(--red-deep);border:1.5px solid var(--red-deep);padding:8.5px 18.5px}
  .navlinks a.btn.here:hover{background:#FFE9EE;transform:none}

  /* ====================== COMPACT PAGEHEAD ============================== */
  .pagehead{border-top:1px solid var(--line);background:var(--soft);padding:38px 0 36px}
  .pagehead h1{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;line-height:1.18;letter-spacing:-.016em}
  .pagehead .lede{color:var(--gray);font-size:.98rem;margin-top:10px;max-width:38rem}
  .pagehead .lede b{color:var(--ink)}
  /* the editor's red pen underlines the one thing we ask for */
  .pen{position:relative;display:inline-block;white-space:nowrap}
  .pen > svg{position:absolute;left:-2%;bottom:-.28em;width:104%;height:.42em;overflow:visible;pointer-events:none}
  .pen > svg path{stroke:var(--red);stroke-width:3.2;fill:none;stroke-linecap:round;
    stroke-dasharray:1;stroke-dashoffset:1;animation:penDraw .6s cubic-bezier(.4,0,.3,1) .45s forwards}
  @keyframes penDraw{to{stroke-dashoffset:0}}

  /* thin reassurance strip — the only proof on the page */
  .assure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--soft);padding:13px 0}
  .assure p{font-size:.86rem;color:var(--gray);text-align:center}
  .assure b{color:var(--ink);font-weight:700}

  /* ============================ THE FORM ================================ */
  .formsec{padding:52px 0 84px}
  .formwrap{max-width:680px;margin:0 auto}
  .formcard{border:1px solid var(--line);border-radius:var(--radius);padding:36px;background:#fff;box-shadow:0 24px 56px rgba(21,21,28,.07)}
  .formcard h2{font-size:1.3rem;letter-spacing:-.008em;margin-bottom:4px}
  .formcard .sub{font-size:.88rem;color:var(--gray);margin-bottom:26px}
  /* Honeypot: off-screen for humans, still fillable by bots. Not display:none,
     which some bots skip. */
  .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
  .fgroup{margin-bottom:20px}
  .fgroup > label, fieldset legend{display:block;font-family:'Poppins',sans-serif;font-weight:600;font-size:.84rem;color:var(--ink);margin-bottom:7px}
  .hint{font-weight:400;color:var(--gray);font-size:.78rem;margin:-3px 0 8px;font-family:'DM Sans',sans-serif;line-height:1.5}
  .hint a{color:var(--red-deep);font-weight:700;border-bottom:1.5px solid transparent;transition:border-color .15s ease}
  .hint a:hover{border-bottom-color:var(--red-deep)}
  input[type=text], input[type=email], select, textarea{
    width:100%;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;min-height:48px;
    font-family:'DM Sans',sans-serif;font-size:1rem;color:var(--ink);background:#fff;
    transition:border-color .15s ease,box-shadow .15s ease}
  input::placeholder, textarea::placeholder{color:#9A9AA3}
  input:focus, select:focus, textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(239,45,86,.14)}
  select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%2315151C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 15px center}
  textarea{min-height:112px;resize:vertical;line-height:1.6}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .req{color:var(--red-deep)}

  /* visible, specific field errors (paired with aria-invalid/-describedby) */
  .ferr{color:var(--red-deep);font-size:.8rem;font-weight:600;margin-top:7px;line-height:1.45}
  .ferr[hidden]{display:none}
  input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"]{border-color:var(--red-deep)}
  input[aria-invalid="true"]:focus, select[aria-invalid="true"]:focus, textarea[aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(217,30,69,.16)}

  /* path picker — polished radio cards */
  fieldset{border:none;min-width:0}
  .paths{display:grid;gap:10px}
  .path{border:1.5px solid var(--line);border-radius:10px;padding:15px 16px;min-height:48px;cursor:pointer;display:flex;gap:13px;align-items:flex-start;background:#fff;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
  .path:hover{border-color:#B9B6B1}
  .path input{margin-top:4px;width:18px;height:18px;accent-color:var(--red);flex-shrink:0;cursor:pointer}
  .path b{font-family:'Poppins',sans-serif;font-size:.88rem;display:block;line-height:1.45}
  .path span span{font-size:.8rem;color:var(--gray);line-height:1.55;display:block;margin-top:3px;font-weight:400}
  .path.sel{border-color:var(--red);background:#FFF8F9;box-shadow:0 6px 18px rgba(239,45,86,.09)}
  .path:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,45,86,.14)}
  .paths.bad .path:not(.sel){border-color:var(--red-deep)}

  .btn-submit{width:100%;padding:16px 26px;font-size:1.02rem;margin-top:6px}
  .submit-note{margin-top:14px;font-size:.78rem;color:var(--gray);line-height:1.6;text-align:center}
  .cohort{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:.82rem;color:var(--gray);text-align:center}
  .cohort b{color:var(--ink)}

  /* success state */
  #thanks{text-align:center;padding:26px 6px 14px}
  #thanks[hidden]{display:none}
  #thanks .tick{width:56px;height:56px;margin:0 auto 18px;display:block}
  #thanks .tick circle{stroke:var(--red);stroke-width:3;fill:#FFF8F9}
  #thanks .tick path{stroke:var(--red);stroke-width:3.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
  #thanks h2{font-size:1.35rem;margin-bottom:10px;outline:none}
  #thanks p{font-size:.93rem;color:var(--gray);line-height:1.7;max-width:30rem;margin:0 auto}
  #thanks a{color:var(--red-deep);font-weight:700}
  #thanks a:hover{border-bottom:1.5px solid var(--red-deep)}
  #thanks .script{display:block;font-size:1.5rem;margin-top:16px}

  /* ==================== scroll reveal ==================== */

  /* ==================== responsive ==================== */
  @media (max-width:900px){
    .navlinks a.btn.here{width:100%}
    .pagehead{padding:32px 0 30px}
    .formsec{padding:40px 0 68px}
  }
  @media (max-width:560px){
    .frow{grid-template-columns:1fr}
    .formcard{padding:26px 20px}
    .formsec{padding:32px 0 56px}
  }

  /* ==================== reduced motion: everything still, instantly ===== */
  @media (prefers-reduced-motion: reduce){
    .pen > svg path{animation:none;stroke-dashoffset:0}
    .btn,.btn:hover,.path{transition:none;transform:none}
    input,select,textarea{transition:none}
  }