/* Contact page: compact hero plus a three step form. Dark, lime accent, Manrope, Newsreader, DM Mono. */
main.cx{position:relative;padding:0 0 96px!important;background:radial-gradient(circle at 10% 0%,rgba(201,255,67,.07),transparent 34%),var(--tsa-ink);color:var(--tsa-paper);overflow-x:clip}
.cx *,.cx *::before,.cx *::after{box-sizing:border-box}
.cx .h-mono{display:block;margin:0;font:500 11px/1.6 var(--tsa-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tsa-lime)}

/* Hero */
.cx-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(28px,4vw,64px);align-items:center;width:min(100% - 80px,1200px);margin:0 auto;padding:clamp(32px,4vw,52px) 0 clamp(26px,3vw,40px)}
.cx .cx-kick{margin-bottom:18px}
.cx-hero h1{margin:0;font:600 clamp(40px,5.4vw,76px)/.98 var(--tsa-sans);letter-spacing:-.05em;color:var(--tsa-paper)}
.cx .cx-serif{font-family:var(--tsa-serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--tsa-lime)}
.cx-lede{max-width:560px;margin:18px 0 0;color:var(--tsa-mute);font-size:17px;line-height:1.55}
.cx-next{padding:22px 24px;border:1px solid var(--tsa-line);background:var(--tsa-panel)}
.cx .cx-next-title{margin-bottom:14px}
.cx-next ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cx-next li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:baseline;font-size:15px;line-height:1.45;color:var(--tsa-paper)}
.cx-next li b{font:500 12px/1 var(--tsa-mono);letter-spacing:.08em;color:var(--tsa-lime)}

/* Form shell */
.cx-wrap{width:min(100% - 80px,1200px);margin:0 auto}
.cx-form{position:relative;padding:clamp(24px,3.4vw,44px);border:1px solid var(--tsa-line);background:var(--tsa-panel-2)}
.cx-form .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cx-progress{margin:0 0 28px}
.cx-progress p{display:flex;justify-content:space-between;gap:16px;margin:0 0 10px}
.cx-progress p span+span{color:var(--tsa-mute)}
.cx-progress i{display:block;height:3px;background:var(--tsa-line);overflow:hidden}
.cx-progress b{display:block;width:100%;height:100%;background:var(--tsa-lime);transform:scaleX(.333);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}

.cx-form fieldset{min-width:0;margin:0;padding:0;border:0}
.cx-step+.cx-step{margin-top:40px;padding-top:40px;border-top:1px solid var(--tsa-line)}
.cx-form.cx-js .cx-step+.cx-step{margin-top:0;padding-top:0;border-top:0}
.cx-step[hidden]{display:none!important}
.cx-step>legend{display:block;float:left;width:100%;margin:0 0 24px;padding:0;font:600 clamp(26px,2.6vw,36px)/1.1 var(--tsa-sans);letter-spacing:-.035em;color:var(--tsa-paper)}
.cx-step>legend+*{clear:both}
.cx-step>legend .h-mono{margin-bottom:8px}
.cx-form.cx-js .cx-step>legend .h-mono{display:none}

.cx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:0 0 24px}
.cx-grid>label,.cx-grid>.cx-wide{min-width:0}
.cx-grid>.cx-wide{grid-column:1/-1}
.cx-grid>label[hidden]{display:none}
.cx-form label>span,.cx-choices>legend{display:block;margin:0 0 8px;font:600 14px/1.4 var(--tsa-sans);color:var(--tsa-paper)}
.cx-form em{margin-left:6px;font:500 10px/1 var(--tsa-mono);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--tsa-lime)}
.cx-choices>legend small{display:block;margin-top:2px;font:500 13px/1.4 var(--tsa-sans);color:var(--tsa-mute)}
.cx-form :is(input[type=text],input[type=email],input[type=tel],select,textarea){display:block;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid #2e3236;border-radius:0;background:var(--tsa-ink);color:var(--tsa-paper);font:500 16px/1.4 var(--tsa-sans);box-shadow:none;-webkit-appearance:none;appearance:none;transition:border-color .2s}
.cx-form select{padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--tsa-lime) 50%),linear-gradient(135deg,var(--tsa-lime) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.cx-form select:disabled{opacity:.5}
.cx-form textarea{min-height:110px;resize:vertical}
.cx-form ::placeholder{color:#6f777b;opacity:1}
.cx-form :is(input,select,textarea):hover{border-color:#4a5055}
.cx-form :is(input,select,textarea):focus{border-color:var(--tsa-lime);outline:none}
.cx-form :is(input,select,textarea):focus-visible{outline:2px solid var(--tsa-lime)!important;outline-offset:2px}

/* Chips: radios and checkboxes that look like pills */
.cx-choices{margin:0 0 26px!important}
.cx-chips{display:flex;flex-wrap:wrap;gap:10px}
.cx-chip{position:relative;display:inline-flex;cursor:pointer}
.cx-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cx-form .cx-chip>span{display:inline-flex;align-items:center;gap:8px;min-height:48px;margin:0;padding:12px 18px;border:1px solid #2e3236;border-radius:999px;background:var(--tsa-ink);color:var(--tsa-paper);font:500 15px/1.3 var(--tsa-sans);transition:border-color .2s,background .2s,color .2s}
.cx-chip>span::before{content:"";flex:none;width:14px;height:14px;border:1px solid #5b6267;border-radius:50%;transition:background .2s,border-color .2s}
.cx-chip input[type=checkbox]+span::before{border-radius:3px}
.cx-chip:hover>span{border-color:#5b6267}
.cx-form .cx-chip input:checked+span{border-color:var(--tsa-lime);background:rgba(201,255,67,.1);color:var(--tsa-lime)}
.cx-chip input:checked+span::before{border-color:var(--tsa-lime);background:var(--tsa-lime);box-shadow:inset 0 0 0 3px var(--tsa-ink)}
.cx-chip input:focus-visible+span{outline:2px solid var(--tsa-lime);outline-offset:3px}

.cx-invalid :is(input,select,textarea),.cx-invalid .cx-chip>span{border-color:#ff7a6b!important}
.cx-invalid>legend,.cx-invalid>span{color:#ffb3a9!important}

/* Free Course block */
.cx-course{margin:0 0 24px}
.cx-course .form-note{margin:0 0 16px;color:var(--tsa-mute);font-size:15px;line-height:1.6;max-width:720px}
.cx-course>.button{margin:0 0 24px}

.cx-note{margin:4px 0 20px;color:var(--tsa-mute);font-size:13px;line-height:1.55}
.cx-form .cx-submit{min-height:52px;padding:16px 26px!important}

/* Back and Next */
.cx-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--tsa-line)}
.cx-controls[hidden],.cx-controls [hidden]{display:none!important}
.cx-controls .cx-nextbtn{margin-left:auto}
.cx-controls.is-final{justify-content:flex-start}
.cx-form .cx-controls button{min-height:48px;cursor:pointer}

@media (max-width:1023px){
  .cx-hero{grid-template-columns:minmax(0,1fr);max-height:none;width:min(100% - 48px,1200px);gap:24px}
  .cx-wrap{width:min(100% - 48px,1200px)}
}
@media (max-width:700px){
  main.cx{padding-bottom:56px!important}
  .cx-hero{width:calc(100% - 32px);padding:28px 0 22px;gap:20px}
  .cx-hero h1{font-size:clamp(36px,11vw,48px)}
  .cx-lede{font-size:16px;margin-top:14px}
  .cx-next{padding:18px 16px}
  .cx-wrap{width:100%}
  .cx-form{padding:24px 16px 0;border-left:0;border-right:0}
  .cx-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .cx-step>legend{font-size:26px;margin-bottom:20px}
  .cx-chips{gap:8px}
  .cx-form .cx-chip>span{padding:12px 16px;font-size:15px}
  .cx-form:not(.cx-js){padding-bottom:28px}
  .cx-form .cx-submit{width:100%;justify-content:center}
  .cx-controls{position:sticky;bottom:0;z-index:5;margin:24px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--tsa-line);background:rgba(17,19,20,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .cx-controls button{flex:1 1 0;justify-content:center}
  .cx-controls.is-final{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.cx-progress b,.cx-chip>span{transition:none}}

/* Embedded in the site message dialog */
.contact-embedded .cx-hero{display:none}
.contact-embedded .cx-wrap{width:100%}
.cx-chip{max-width:100%}
