/* PitchX custom styles (added after the Webflow export) */

/* Top menu: the burger menu is only for tablet and phone. Desktop uses the inline links. */
@media screen and (min-width: 992px) {
  .navbar .menu_component { display: none; }
}

/* "Contact" stands out as a button in the desktop menu */
.navbar_links .navbar_link.is-contact {
  background-color: var(--_colors---primary--black);
  color: var(--_colors---primary--white);
  border-radius: 9rem;
  padding: .25rem 1rem;
  line-height: 1.2;
  align-items: center;
  transition: background-color .3s ease;
}
.navbar_links .navbar_link.is-contact:hover { background-color: var(--_colors---primary--orange); }
.navbar_links .navbar_link.is-contact .navbar_link-dot { display: none; }

/* Call-to-action card (case studies, Pitch and Brand pages) */
.pitchx-cta {
  background-color: var(--_colors---primary--black);
  color: var(--_colors---primary--white);
  border-radius: var(--border-radius--small, 1rem);
  padding: clamp(2rem, 5vw, 4rem);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
}
.pitchx-cta_text { display: flex; flex-direction: column; gap: 1rem; max-width: 38rem; }
.pitchx-cta_label { color: var(--_colors---primary--orange); }
.pitchx-cta_heading { font-family: var(--_typography---h1--font-family); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; letter-spacing: -.09em; font-weight: var(--_typography---h3--font-weight); }
.pitchx-cta_body { color: rgba(255, 255, 255, .75); }
.pitchx-cta_buttons { display: flex; flex-wrap: wrap; gap: .75rem; flex-shrink: 0; }
.pitchx-cta_btn { justify-content: center; }
.pitchx-cta_btn.is-outline { background-color: transparent; color: var(--_colors---primary--white); border: 1px solid rgba(255, 255, 255, .5); }
.pitchx-cta_btn.is-outline:hover { border-color: var(--_colors---primary--white); }
@media screen and (max-width: 767px) {
  .pitchx-cta { flex-direction: column; align-items: flex-start; }
}

/* Contact page: quick contact options under the intro */
.contact-quick { display: flex; flex-direction: column; align-items: center; gap: 1rem; margin-top: 2rem; }
.contact-quick_buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }
.contact-quick_btn.is-outline { background-color: transparent; border: 1px solid var(--_colors---primary--black); }

/* Contact form: mark optional questions */
.form-optional { color: var(--_colors---grey--500, #4d4d4d); font-weight: 400; }
.contact-quick p { text-align: center; }
.contact-quick p a { text-decoration: underline; }
.contact-quick_btn { white-space: nowrap; }

/* Contact form: headings and buttons match the rest of the site */
.section_contact-form .heading-style-h6.font-size-smaller.form-title,
.section_contact-form .heading-style-h6.font-size-smaller.form {
  font-family: var(--_typography---h5--font-family);
  font-size: var(--_typography---h5--font-size);
  line-height: var(--_typography---h5--line-height);
  font-weight: var(--_typography---h5--font-weight);
  letter-spacing: var(--_typography---h5--letter-spacing);
  text-transform: none;
}
.section_contact-form .button-solid {
  font-family: var(--_typography---font-family--secondary);
  font-weight: var(--_typography---font-weight--semibold);
  font-size: .875rem;
  line-height: 1.6;
  color: var(--_colors---primary--white);
  background-color: var(--_colors---primary--black);
  background-image: none;
  border: 1px solid var(--_colors---primary--black);
  border-radius: 9rem;
  box-shadow: none;
  padding: .75rem 1.5rem;
  transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}
.section_contact-form .button-solid:hover,
.section_contact-form .button-solid.form-type:hover {
  background-color: var(--_colors---primary--orange);
  background-image: none;
  border-color: var(--_colors---primary--orange);
  color: var(--_colors---primary--white);
}
.section_contact-form .button-solid.form-type { font-size: 1rem; padding: .875rem 1.5rem; }
.section_contact-form .button-solid.form.prev {
  background-color: transparent;
  color: var(--_colors---primary--black);
}
.section_contact-form .button-solid.form.prev:hover { color: var(--_colors---primary--white); }

/* Contact form: ticked boxes and selected radio dots in brand orange */
.section_contact-form .contact-form_checkbox-check.w--redirected-checked {
  background-color: var(--_colors---primary--orange);
  border-color: var(--_colors---primary--orange);
}
.section_contact-form .form-radio_btn.w--redirected-checked,
.section_contact-form .w-form-formradioinput--inputType-custom.w--redirected-checked {
  border-color: var(--_colors---primary--orange);
}
.section_contact-form .w-checkbox-input--inputType-custom.w--redirected-focus,
.section_contact-form .w-form-formradioinput--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 0 3px rgba(243, 53, 12, .25);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--_colors---primary--orange) 30%, transparent);
}

/* Contact form: timeframe buttons with an optional date picker */
.timeframe { display: flex; flex-wrap: wrap; gap: .5rem; padding: .75rem 2rem 1.5rem; }
.timeframe_chip { position: relative; margin: 0; cursor: pointer; }
.timeframe_chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.timeframe_chip span {
  display: inline-block;
  font-family: var(--_typography---font-family--secondary);
  font-weight: var(--_typography---font-weight--semibold);
  font-size: .875rem;
  line-height: 1.4;
  padding: .5rem 1rem;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: 9rem;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.timeframe_chip:hover span { border-color: var(--_colors---primary--black); }
.timeframe_chip input:checked + span {
  background-color: var(--_colors---primary--orange);
  border-color: var(--_colors---primary--orange);
  color: var(--_colors---primary--white);
}
.timeframe_chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(243, 53, 12, .25); }
.timeframe_date { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0 2rem 1.5rem; }
.timeframe_select {
  appearance: none; -webkit-appearance: none;
  font-family: var(--_typography---font-family--secondary);
  font-weight: var(--_typography---font-weight--semibold);
  font-size: .875rem; line-height: 1.4; color: var(--_colors---primary--black);
  background: var(--_colors---primary--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 1rem center;
  border: 1px solid rgba(0, 0, 0, .2); border-radius: 9rem;
  padding: .5rem 2.25rem .5rem 1rem; cursor: pointer;
}
.timeframe_select:hover { border-color: var(--_colors---primary--black); }
.timeframe_select:focus { outline: none; border-color: var(--_colors---primary--orange); box-shadow: 0 0 0 3px rgba(243, 53, 12, .25); }
.timeframe_select[data-part="month"] { min-width: 8.5rem; }
@media screen and (max-width: 479px) {
  .timeframe_date { flex-wrap: nowrap; gap: .375rem; }
  .timeframe_select { padding: .5rem 1.75rem .5rem .75rem; background-position: right .7rem center; min-width: 0; }
  .timeframe_select[data-part="month"] { min-width: 0; flex: 1; }
}
@media screen and (max-width: 767px) {
  .timeframe, .timeframe_date { padding: 0 1.25rem 1.25rem; }
}
.timeframe_date[hidden] { display: none; }
/* tighter gap when the Day / Month / Year row is showing */
.timeframe:has(+ .timeframe_date:not([hidden])) { padding-bottom: .5rem; }
.section_contact-quick { padding: 2.5rem 0 4rem; }
.section_contact-quick .contact-quick { margin-top: 0; }

/* Contact page: four project types sit in a 2 x 2 grid */
@media screen and (min-width: 480px) {
  .form-type_btn-wrap { grid-template-columns: 1fr 1fr; grid-column-gap: 1rem; grid-row-gap: 1rem; }
}

/* ---------- Footer (newsletter replaced with a contact prompt) ---------- */
.footer_main { grid-template-columns: 1fr auto; align-items: end; gap: 2rem; }
.footer_links-groups { width: 100%; }
.footer_group { gap: 1.25rem; }
.footer .about-header_location { display: flex; justify-content: flex-start; }
.footer_lists { gap: .75rem 2rem; }
.footer_link { font-size: .9375rem; transition: color .2s ease; }
.footer_link:hover { color: var(--_colors---primary--black); }
.footer_contact { display: flex; flex-direction: column; align-items: flex-end; gap: .75rem; text-align: right; }
.footer_contact-label {
  font-family: var(--_typography---h5--font-family);
  font-size: clamp(1.25rem, 2.2vw, 2rem); font-weight: var(--_typography---h5--font-weight);
  letter-spacing: -.02em; line-height: 1.15; color: var(--_colors---primary--black);
}
.footer_contact-email {
  font-family: var(--_typography---h5--font-family);
  font-size: clamp(1.25rem, 2.2vw, 2rem); font-weight: var(--_typography---h5--font-weight);
  letter-spacing: -.02em; line-height: 1.15; color: var(--_colors---primary--black);
  text-decoration: none; transition: color .2s ease; word-break: break-word;
}
.footer_contact-email:hover { color: var(--_colors---primary--orange); }
.footer_contact-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--_typography---font-family--secondary); font-weight: var(--_typography---font-weight--semibold);
  font-size: .875rem; line-height: 1.4; color: var(--_colors---primary--white);
  background-color: var(--_colors---primary--black); border-radius: 9rem; padding: .625rem 1.25rem;
  text-decoration: none; transition: background-color .3s ease;
}
.footer_contact-btn:hover { background-color: var(--_colors---primary--orange); }
.footer_legal-links { border-top: 1px solid rgba(0, 0, 0, .08); padding-top: 1.25rem; align-items: center; }
.footer_brand { width: 100%; max-width: 47.22rem; }

@media screen and (max-width: 991px) {
  .footer_main { display: flex; flex-direction: column; align-items: flex-start; gap: 2.5rem; }
  .footer_secondary { align-items: flex-start; }
  .footer_contact { align-items: flex-start; text-align: left; }
}
@media screen and (max-width: 767px) {
  .footer_link { font-size: .9375rem; }
  .about-header_location-text { font-size: .875rem; }
  .footer_legal-links { flex-direction: row; justify-content: space-between; align-items: center; }
  .footer_template-links { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .5rem 1rem; }
}
@media screen and (max-width: 479px) {
  .footer_links-groups { padding-right: 0; }
  .footer_lists { display: grid; grid-template-columns: 1fr 1fr; gap: .875rem 1.5rem; width: 100%; }
  .footer_link { font-size: 1rem; }
  .footer_legal-links { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .footer_template-links { justify-content: flex-start; margin-right: 0; }
}
