/* ============ CONTACT PANEL — "Get Started" (shared by every page) ============
   Tokens: ink #122833, paper #FFFFFF, teal #3B7E8C (focus), radius 0 everywhere.
   Display: Saira SemiCondensed; body: Inter; labels: JetBrains Mono, uppercase, .14em. */
/* the trigger buttons are links with a mailto: fallback; never underline them (privacy.html underlines links on hover) */
a[data-contact-open],a[data-contact-open]:hover,a[data-contact-open]:focus{text-decoration:none;}

.cp-root{position:fixed;inset:0;z-index:1000;display:none;--cp-ink:#122833;--cp-ink-2:#1C3543;--cp-paper:#FFFFFF;
  --cp-teal:#3B7E8C;--cp-copper-deep:#C6733A;--cp-muted:#6B7C84;--cp-faint:#9AA6AC;--cp-rule:rgba(18,40,51,.24);--cp-radius:0;}
.cp-root.is-open{display:block;}
.cp-backdrop{position:absolute;inset:0;background:rgba(8,15,21,.58);opacity:0;transition:opacity .32s ease;cursor:default;}
.cp-root.is-in .cp-backdrop{opacity:1;}
.cp-panel{position:absolute;top:0;right:0;bottom:0;width:50%;max-width:720px;min-width:min(100%,540px);
  background:var(--cp-paper);color:var(--cp-ink);border-radius:var(--cp-radius);
  transform:translateX(102%);transition:transform .46s cubic-bezier(.16,1,.3,1);
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;outline:none;
  box-shadow:-24px 0 60px -30px rgba(8,15,21,.55);}
.cp-root.is-in .cp-panel{transform:none;}

/* close — thin hairline X, top-left (as on the reference panel) */
.cp-close{position:absolute;top:18px;left:22px;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;
  background:none;border:1px solid transparent;border-radius:var(--cp-radius);color:var(--cp-ink);cursor:pointer;padding:0;transition:border-color .2s;}
.cp-close svg{width:21px;height:21px;display:block;}
.cp-close:hover{border-color:var(--cp-rule);}
.cp-close:focus-visible{outline:2px solid var(--cp-ink);outline-offset:2px;}

.cp-inner{padding:74px 72px 72px;max-width:640px;}
.cp-eyebrow{display:block;margin:0;font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cp-muted);line-height:1.4;}
/* !important: the case-study and privacy pages set h1-h4 to weight 600 !important */
.cp-title{margin:62px 0 58px;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;font-weight:500!important;
  font-size:clamp(30px,2.6vw,38px);line-height:1.08;letter-spacing:-.01em!important;color:var(--cp-ink);text-wrap:balance;}

/* fields — label sits tight on its input; generous air before the next field */
.cp-form{margin:0;}
.cp-field{position:relative;margin:0 0 44px;}
.cp-label{display:block;margin:0;font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cp-muted);line-height:1.5;}
.cp-label .cp-opt{font-weight:400;letter-spacing:.1em;color:var(--cp-faint);margin-left:8px;white-space:nowrap;}
.cp-help{margin:2px 0 0;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;line-height:1.5;color:var(--cp-faint);}
.cp-input{display:block;width:100%;margin:0;padding:4px 0 6px;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;line-height:1.5;color:var(--cp-ink);background:transparent;border:0;border-bottom:1px solid var(--cp-rule);
  border-radius:var(--cp-radius);outline:none;-webkit-appearance:none;appearance:none;box-shadow:none;transition:border-color .2s,box-shadow .2s;}
.cp-input::placeholder{color:var(--cp-faint);}
.cp-input:focus{border-color:var(--cp-teal);}
.cp-input:-webkit-autofill{-webkit-text-fill-color:var(--cp-ink);box-shadow:0 0 0 1000px var(--cp-paper) inset;}
/* textareas are visible boxes */
textarea.cp-input{margin-top:10px;padding:10px 12px;border:1px solid var(--cp-rule);resize:vertical;min-height:0;}
textarea.cp-input:focus{border-color:var(--cp-teal);box-shadow:inset 0 0 0 1px var(--cp-teal);}
.cp-field.is-invalid .cp-input{border-color:var(--cp-copper-deep);}
.cp-error{display:none;margin:6px 0 0;font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11px;letter-spacing:.03em;line-height:1.5;color:var(--cp-copper-deep);}
.cp-field.is-invalid .cp-error{display:block;}
.cp-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
.cp-turnstile{margin:4px 0 22px;min-height:0;}
.cp-turnstile:empty{margin:0;}

.cp-submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:160px;padding:0 34px;margin:0;
  background:var(--cp-ink);color:#fff;border:0;border-radius:var(--cp-radius);cursor:pointer;
  font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  transition:background .2s;-webkit-appearance:none;appearance:none;}
.cp-submit:hover{background:var(--cp-ink-2);}
.cp-submit:focus-visible{outline:2px solid var(--cp-ink);outline-offset:3px;}
.cp-submit[disabled]{opacity:.55;cursor:default;}
.cp-status{display:none;margin:16px 0 0;font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;line-height:1.6;letter-spacing:.01em;color:var(--cp-copper-deep);}
.cp-status.is-on{display:block;}
.cp-status a{color:inherit;border-bottom:1px solid currentColor;}
.cp-legal{margin:22px 0 0;max-width:56ch;font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11px;line-height:1.65;letter-spacing:.01em;color:var(--cp-muted);}
.cp-legal a{color:var(--cp-ink);border-bottom:1px solid rgba(18,40,51,.35);}
.cp-legal a:hover{border-bottom-color:var(--cp-ink);}
.cp-done{margin:0;max-width:40ch;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:18px;line-height:1.55;color:var(--cp-ink);outline:none;}

@media(max-width:767px){
  .cp-panel{width:100%;max-width:none;min-width:0;left:0;right:0;bottom:auto;height:100%;box-shadow:none;}
  .cp-close{top:8px;left:10px;}
  .cp-inner{padding:68px 24px 56px;max-width:none;}
  .cp-title{font-size:26px;margin:34px 0 36px;}   /* stays clearly below the site's 30–32px mobile hero headline */
  .cp-field{margin-bottom:36px;}
  .cp-submit{width:100%;}
  .cp-legal{max-width:none;}
}
@media(prefers-reduced-motion:reduce){
  .cp-panel,.cp-backdrop{transition:none;}
}
