/**
 * Contact form. Kept separate from site.css so it can be restyled without
 * touching the design system, the same way legal.css is.
 *
 * Deliberately plain: this borrows the site's colour variables and type rather
 * than inventing a look, so a proper design pass can replace it wholesale.
 */
#lc27 .contact-layout {
  max-width: 640px;
}

#lc27 .contact-intro {
  margin: 0 0 2rem;
  font-size: 1.0625rem;
  color: #52606a;
}

#lc27 .contact-form {
  display: grid;
  gap: 1.25rem;
}

#lc27 .contact-field {
  display: grid;
  gap: 0.4rem;
}

#lc27 .contact-field > span {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--navy);
}

#lc27 .contact-field em {
  font-style: normal;
  font-weight: 400;
  color: #8a949c;
}

#lc27 .contact-field input,
#lc27 .contact-field select,
#lc27 .contact-field textarea {
  width: 100%;
  padding: 0.7rem 0.85rem;
  font: inherit;
  font-size: 1rem; /* 16px stops iOS zooming the page on focus. */
  color: var(--navy);
  background: #fff;
  border: 1px solid #cfd6dc;
  border-radius: 8px;
}

#lc27 .contact-field input:focus,
#lc27 .contact-field select:focus,
#lc27 .contact-field textarea:focus {
  outline: 2px solid var(--cyan);
  outline-offset: 1px;
  border-color: transparent;
}

#lc27 .contact-field textarea {
  resize: vertical;
}

/* .btn is a link style in the design; as a <button> it inherits none of the
   browser defaults it needs resetting from. */
#lc27 .contact-form .btn {
  justify-self: start;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#lc27 .contact-form button[disabled] {
  opacity: 0.5;
  cursor: default;
}

#lc27 .contact-status {
  margin: 0;
  font-size: 0.9375rem;
}

#lc27 .contact-status[data-state="error"] { color: #a5271f; }
#lc27 .contact-status[data-state="sent"]  { color: #1f6b4a; }

/* Off-screen rather than display:none — a bot reading the DOM should still see
   a field worth filling, which is the entire point of it. */
#lc27 .contact-trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (prefers-reduced-motion: no-preference) {
  #lc27 .contact-status { transition: color 0.2s ease; }
}

/* ── Chooser ──────────────────────────────────────────────────────────────
   Shown only to people who arrive without an intent. Anyone who clicked a
   specific call to action skips straight to the form. */

#lc27 .contact-options {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 780px;
}

@media (min-width: 720px) {
  #lc27 .contact-options { grid-template-columns: 1fr 1fr; }
}

#lc27 .contact-option {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "title arrow" "copy arrow";
  align-items: start;
  gap: 0.35rem 1.5rem;
  height: 100%;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #dfe5ea;
  border-radius: 12px;
  transition: border-color 0.15s ease, transform 0.15s ease;
}

#lc27 .contact-option:hover {
  border-color: var(--navy);
  transform: translateY(-2px);
}

#lc27 .contact-option .arrow {
  grid-area: arrow;
  align-self: center;
  color: var(--cyan);
}

#lc27 .contact-option-title {
  grid-area: title;
  font-weight: 600;
  color: var(--navy);
}

#lc27 .contact-option-copy {
  grid-area: copy;
  font-size: 0.9375rem;
  color: #52606a;
}

@media (prefers-reduced-motion: reduce) {
  #lc27 .contact-option { transition: none; }
  #lc27 .contact-option:hover { transform: none; }
}

/* ── After the choice ─────────────────────────────────────────────────── */

#lc27 .contact-promise {
  margin: 0;
  font-size: 0.875rem;
  color: #6b7680;
}

#lc27 .contact-switch {
  margin-top: 2rem;
  font-size: 0.875rem;
}

#lc27 .contact-switch a {
  color: #6b7680;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#lc27 .contact-switch a:hover { color: var(--navy); }

#lc27 .contact-sent {
  max-width: 640px;
}

#lc27 .contact-sent h2 {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  color: var(--navy);
}

#lc27 .contact-sent p {
  margin: 0;
  color: #52606a;
}

/* ── Longer intake forms (CEU) ─────────────────────────────────────────── */

#lc27 .contact-fieldset {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 1.25rem;
  border: 1px solid #dfe5ea;
  border-radius: 12px;
}

#lc27 .contact-fieldset legend {
  padding: 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--navy);
}

#lc27 .contact-check {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.6rem;
  align-items: start;
  font-size: 0.9375rem;
  color: #52606a;
}

/* Big enough to hit on a phone. */
#lc27 .contact-check input {
  width: 20px;
  height: 20px;
  margin-top: 1px;
}

#lc27 .contact-hint {
  margin: -0.6rem 0 0;
  font-size: 0.8125rem;
  color: #8a949c;
}

#lc27 .contact-sent code {
  padding: 0.1rem 0.35rem;
  background: #eef2f5;
  border-radius: 4px;
  font-size: 0.875em;
}

#lc27 .req {
  color: #b3541e;
  font-weight: 600;
}

#lc27 .contact-required-note {
  margin: -1rem 0 1.5rem;
}

@media (min-width: 560px) {
  #lc27 .contact-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
}

/* ── Accreditation statements ──────────────────────────────────────────────
   Required disclosure from the approving bodies, so it reads as reference
   material rather than marketing copy. */

#lc27 .ceu-accreditation {
  margin: 0 0 2rem;
  padding: 1.5rem;
  background: #f6f8f9;
  border-radius: 12px;
  font-size: 0.9375rem;
  color: #52606a;
}

#lc27 .ceu-accreditation p { margin: 0 0 1rem; }

#lc27 .ceu-accreditation dl {
  display: grid;
  gap: 0.75rem;
  margin: 0;
}

@media (min-width: 640px) {
  #lc27 .ceu-accreditation dl {
    grid-template-columns: 7rem 1fr;
    gap: 0.75rem 1.5rem;
  }
}

#lc27 .ceu-accreditation dt {
  font-weight: 600;
  color: var(--navy);
}

#lc27 .ceu-accreditation dd { margin: 0; }

#lc27.contact-editorial .interior-hero{background:#fff;color:#0b1926;max-width:1180px;margin:auto;padding:145px 28px 0}
#lc27.contact-editorial .interior-hero .rule{display:none}
#lc27.contact-editorial .interior-hero h1{color:#0b1926;font-size:clamp(30px,3vw,44px);line-height:1.15;letter-spacing:-.04em;max-width:800px;margin:0}
#lc27.contact-editorial .interior-body{padding-top:28px}
@media(max-width:760px){#lc27.contact-editorial .interior-hero{padding:115px 20px 0}#lc27.contact-editorial .interior-body{padding-top:24px}}

#lc27.contact-editorial main{min-height:100svh;padding-bottom:70px}
#lc27.contact-editorial .interior-body{padding-bottom:0}
#lc27.contact-editorial .contact-options{max-width:100%;gap:24px}
#lc27.contact-editorial .interior-body .contact-option{text-decoration:none;border-radius:0;border:0;border-top:3px solid var(--contact-accent,#1bb6f7);background:#f6f8f9;padding:26px 28px 30px;grid-template-columns:1fr auto;grid-template-areas:"icon arrow" "title title" "copy copy";gap:12px;min-height:200px}
#lc27.contact-editorial .contact-option:hover{background:#eef3f6;transform:none}
#lc27.contact-editorial .contact-options li:nth-child(2),#lc27.contact-editorial .contact-options li:nth-child(3){--contact-accent:#f5b846}
#lc27.contact-editorial .contact-options li:nth-child(4){--contact-accent:#536570}
#lc27.contact-editorial .contact-icon{grid-area:icon;width:30px;height:30px;color:var(--contact-accent,#1bb6f7);margin-bottom:12px}
#lc27.contact-editorial .contact-option .arrow{color:var(--contact-accent,#1bb6f7);font-size:25px;align-self:start}
#lc27.contact-editorial .contact-option-title{font-size:22px;line-height:1.25}
#lc27.contact-editorial .contact-option-copy{line-height:1.6;max-width:420px}
#lc27.contact-editorial .contact-option:focus-visible{outline:3px solid #1bb6f7;outline-offset:5px}
@media(max-width:760px){#lc27.contact-editorial main{padding-bottom:48px}#lc27.contact-editorial .contact-options{gap:18px}#lc27.contact-editorial .interior-body .contact-option{padding:22px;min-height:175px}#lc27.contact-editorial .contact-option-title{font-size:20px}}
/* Cream cards and prominent product-aligned icon badges. */
#lc27.contact-editorial .interior-body .contact-option{background:var(--cream)}
#lc27.contact-editorial .contact-option:hover{background:var(--cream);box-shadow:inset 0 0 0 1px var(--contact-accent,#1bb6f7)}
#lc27.contact-editorial .contact-icon{width:60px;height:60px;padding:14px;background:var(--contact-accent,#1bb6f7);color:#fff;margin-bottom:8px}
#lc27.contact-editorial .contact-options li:nth-child(4){--contact-accent:#0b1928}
@media(max-width:760px){#lc27.contact-editorial .contact-icon{width:54px;height:54px;padding:12px}}
#lc27.contact-editorial .contact-option:hover{box-shadow:none;transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){#lc27.contact-editorial .contact-option:hover{transform:none}}

#lc27.contact-editorial .contact-options li[data-contact-product="attend"]{--contact-accent:#1bb6f7}
#lc27.contact-editorial .contact-options li[data-contact-product="host"]{--contact-accent:#ff6a3a}
#lc27.contact-editorial .contact-options li[data-contact-product="subscribe"]{--contact-accent:#f5b846}
#lc27.contact-editorial .contact-options li[data-contact-product="license"]{--contact-accent:#9cd073}
#lc27.contact-editorial .contact-other{display:flex;flex-wrap:wrap;gap:20px 36px;margin-top:28px}
#lc27.contact-editorial .interior-body .contact-other a{font-size:14px;text-decoration:none;color:#0b1926;padding:8px 0}
#lc27.contact-editorial .contact-other a:hover{text-decoration:underline;text-underline-offset:5px}
#lc27.contact-editorial .contact-other a span{margin-left:8px}
@media(max-width:540px){#lc27.contact-editorial .contact-other{flex-direction:column;gap:4px}}
#lc27.contact-editorial .contact-option:hover{box-shadow:inset 0 0 0 1px #dfe4e7}

/* Trial: Leadercast corner becomes a forward-facing chevron on contact cards. */

/* Focused form treatment: product identity, then the task. */
#lc27.contact-form-page .form-back{display:block;width:fit-content;font-size:14px;color:#536570;margin-bottom:24px;text-decoration:none}
#lc27.contact-form-page .form-back:hover{text-decoration:underline}
#lc27.contact-form-page .form-category-icon{width:56px;height:56px;padding:13px;background:var(--form-accent,#1bb6f7);color:white;margin-bottom:20px}
#lc27.contact-form-page .form-category-icon svg{display:block;width:100%;height:100%;padding:0;margin:0;background:none;color:inherit}
#lc27.contact-form-page .contact-form{background:#f6f3ee;border-top:3px solid var(--form-accent,#1bb6f7);padding:32px}
#lc27.contact-form-page .contact-field input,#lc27.contact-form-page .contact-field select,#lc27.contact-form-page .contact-field textarea{border-radius:0}
#lc27.contact-form-page .contact-field :is(input,select,textarea):focus{outline-color:var(--form-accent,#1bb6f7)}
#lc27.contact-form-page .contact-form .btn{background:var(--form-accent,#1bb6f7);color:#0b1926;text-transform:none;letter-spacing:0}
#lc27.contact-form-page .contact-switch{display:none}
@media(max-width:540px){#lc27.contact-form-page .contact-form{padding:24px 20px}}

#lc27.contact-form-page .ceu-accreditation{background:transparent;padding:0;border:0;border-radius:0}
#lc27.contact-form-page .contact-fieldset{background:#fff;border-radius:0}
/* Same page width as articles and careers; forms keep their own narrower column. */
#lc27.contact-editorial .interior-hero,#lc27.contact-editorial .interior-body{max-width:1280px}
