@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,650&family=Inter:wght@300;400;500;600;700;800&display=swap");

html {
  background-color: #faf7f1 !important;
}

body.utility-premium {
  --paper-0: #fffdf9;
  --paper-1: #faf7f1;
  --paper-2: #f7efe7;
  --ink-900: #1d1714;
  --ink-700: #3d322c;
  --ink-500: #6c5c55;
  --ink-400: #8b7a72;
  --brand: #c2304c;
  --brand-ink: #a02740;
  --brand-tint: #fff2ee;
  --line: rgba(42, 17, 23, 0.10);
  --shadow-card: 0 20px 50px rgba(65, 28, 18, 0.08);
  --shadow-pop: 0 28px 70px rgba(65, 28, 18, 0.16);
  background:
    radial-gradient(circle at 78% 10%, rgba(194, 48, 76, 0.10), transparent 32rem),
    radial-gradient(circle at 12% 8%, rgba(255, 202, 168, 0.22), transparent 28rem),
    linear-gradient(180deg, #fffaf4 0%, #f7efe7 100%) !important;
  background-color: #faf7f1 !important;
  color: var(--ink-900) !important;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

body.utility-premium a {
  color: var(--brand-ink) !important;
}

body.utility-premium .site-container,
body.utility-premium .container {
  width: min(1180px, 100%);
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 1.25rem 2rem 3rem !important;
}

body.utility-premium #siteHeader,
body.utility-premium .nav {
  margin-bottom: clamp(.8rem, 1.5vw, 1.25rem) !important;
}

body.utility-premium .nav {
  max-width: 1180px !important;
  padding: 1.25rem 2rem .6rem !important;
}

body.utility-premium .nav + .container {
  padding-top: 0 !important;
}

body.utility-premium .logo-text img,
body.utility-premium #siteHeader .logo-long {
  filter: brightness(0) saturate(100%) invert(14%) sepia(9%) saturate(932%) hue-rotate(335deg) brightness(91%) contrast(92%);
}

body.utility-premium .nav-links a,
body.utility-premium #siteHeader .main-nav a,
body.utility-premium #siteHeader .mobile-nav-panel a {
  color: var(--ink-700) !important;
  opacity: 1 !important;
}

body.utility-premium .nav-links a.active,
body.utility-premium .nav-links a:hover,
body.utility-premium #siteHeader .main-nav a.is-current,
body.utility-premium #siteHeader .main-nav a[aria-current="page"] {
  color: var(--ink-900) !important;
}

body.utility-premium #siteHeader .header-cta-btn,
body.utility-premium #siteHeader .hamburger,
body.utility-premium #siteHeader .close-nav-btn {
  background: rgba(255, 253, 249, 0.86) !important;
  border-color: var(--line) !important;
  color: var(--ink-900) !important;
  box-shadow: 0 12px 30px rgba(65, 28, 18, 0.08) !important;
}

body.utility-premium #siteHeader .hamburger span,
body.utility-premium #siteHeader .close-nav-btn span,
body.utility-premium #siteHeader .close-nav-btn span::after {
  background: var(--ink-900) !important;
}

body.utility-premium .hero,
body.utility-premium .notice,
body.utility-premium .form-wrap,
body.utility-premium .roles,
body.utility-premium .values,
body.utility-premium .info-sections,
body.utility-premium .support-grid,
body.utility-premium .cta-wrap {
  max-width: 980px !important;
}

body.utility-premium .support-grid,
body.utility-premium .info-sections,
body.utility-premium .values,
body.utility-premium .roles,
body.utility-premium .form-wrap,
body.utility-premium .cta-wrap {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.utility-premium .hero {
  margin: 0 auto clamp(1.5rem, 3vw, 2.4rem) !important;
}

body.utility-premium .tag {
  display: inline-flex !important;
  padding: .45rem .8rem !important;
  border: 1px solid rgba(194, 48, 76, 0.18) !important;
  border-radius: 999px !important;
  background: var(--brand-tint) !important;
  color: var(--brand-ink) !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}

body.utility-premium .hero-title,
body.utility-premium .page-title,
body.utility-premium h1.hero-title {
  font-family: "Fraunces", Georgia, serif !important;
  color: var(--ink-900) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 650 !important;
  letter-spacing: -.055em !important;
}

body.utility-premium .lead,
body.utility-premium .meta,
body.utility-premium p.meta {
  color: var(--ink-500) !important;
  opacity: 1 !important;
}

body.utility-premium .notice,
body.utility-premium .card,
body.utility-premium .value,
body.utility-premium .job-card,
body.utility-premium .inline-interest-card,
body.utility-premium #md {
  background: rgba(255, 253, 249, 0.84) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink-900) !important;
  box-shadow: var(--shadow-card) !important;
  backdrop-filter: none !important;
}

body.utility-premium .notice,
body.utility-premium .inline-interest-card,
body.utility-premium #md {
  border-radius: 30px !important;
}

body.utility-premium .card,
body.utility-premium .value,
body.utility-premium .job-card {
  border-radius: 24px !important;
}

body.utility-premium .card::before,
body.utility-premium .value::before {
  display: none !important;
}

body.utility-premium .card:hover,
body.utility-premium .value:hover,
body.utility-premium .job-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 26px 60px rgba(65, 28, 18, 0.12) !important;
}

body.utility-premium .notice h2,
body.utility-premium .roles h2,
body.utility-premium .form-card h2,
body.utility-premium .inline-interest-card h3,
body.utility-premium .card h3,
body.utility-premium .value h3,
body.utility-premium .job-category h3,
body.utility-premium .job-card h4 {
  color: var(--ink-900) !important;
}

body.utility-premium .notice p,
body.utility-premium .card p,
body.utility-premium .value p,
body.utility-premium .job-card p,
body.utility-premium .role-note,
body.utility-premium .inline-interest-card p,
body.utility-premium #md {
  color: var(--ink-500) !important;
  opacity: 1 !important;
}

body.utility-premium .support-grid,
body.utility-premium .values-grid,
body.utility-premium .info-sections,
body.utility-premium .job-grid {
  gap: 1rem !important;
}

body.utility-premium .job-card.coming-soon {
  filter: none !important;
  opacity: .72 !important;
}

body.utility-premium .job-card.coming-soon::before {
  background: var(--brand-tint) !important;
  color: var(--brand-ink) !important;
}

body.utility-premium .job-meta,
body.utility-premium label,
body.utility-premium .inline-interest-note,
body.utility-premium .inline-interest-status,
body.utility-premium #formStatus {
  color: var(--ink-500) !important;
  opacity: 1 !important;
}

body.utility-premium form input,
body.utility-premium form textarea,
body.utility-premium .inline-interest-form input,
body.utility-premium .inline-interest-form textarea {
  background: var(--paper-0) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink-900) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.70);
}

body.utility-premium form input::placeholder,
body.utility-premium form textarea::placeholder,
body.utility-premium .inline-interest-form input::placeholder {
  color: var(--ink-400) !important;
}

body.utility-premium form input:focus,
body.utility-premium form textarea:focus,
body.utility-premium .inline-interest-form input:focus {
  border-color: rgba(194, 48, 76, .34) !important;
  background: #fff !important;
}

body.utility-premium .submit-btn,
body.utility-premium .cta-primary,
body.utility-premium .template-btn {
  background: var(--brand) !important;
  color: #fff !important;
  border: 1px solid var(--brand) !important;
  box-shadow: 0 18px 36px rgba(194, 48, 76, 0.22) !important;
}

body.utility-premium .inline-interest-status.is-success {
  color: #20844e !important;
}

body.utility-premium .inline-interest-status.is-error {
  color: var(--brand-ink) !important;
}

body.utility-premium .links-line a,
body.utility-premium .card a,
body.utility-premium #md a {
  color: var(--brand-ink) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.utility-premium code {
  background: var(--brand-tint) !important;
  color: var(--brand-ink) !important;
}

body.utility-premium footer,
body.utility-premium footer.footer {
  color: var(--ink-500) !important;
  opacity: 1 !important;
}

body.utility-premium #md {
  max-width: 960px;
  font-size: .96rem !important;
  line-height: 1.72 !important;
}

@media (max-width: 780px) {
  body.utility-premium .site-container,
  body.utility-premium .container,
  body.utility-premium .nav {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  body.utility-premium .nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  body.utility-premium .nav-links {
    flex-wrap: wrap;
    gap: .85rem;
  }
}
