/* Shared review baseline for all six OXINGO mockups. */
:root {
  --brand: #0BDA51;
  --cream: #f1f0e9;
  --sage: #e2e8df;
  --radius: 12px;
}
body { font-weight: 400; }
.section { padding-block: 96px; }
/* Equal first viewport and content position, with page-specific image crops retained. */
:is(.hero, .solutions-hero) {
  height: 100vh;
  min-height: 680px;
  padding-block: 140px 64px;
}
:is(.home-page, .solutions-page, .partnerships-page, .about-page, .contact-page, .careers-page) :is(.hero, .solutions-hero) h1 {
  max-width: 1404px;
  margin: 0 auto 24px;
  font-size: clamp(36px, 5.5vw, 88px);
  font-weight: 380;
  line-height: 1.1;
  letter-spacing: -.01em;
  text-wrap: balance;
}
:is(.home-page, .solutions-page, .partnerships-page, .about-page, .contact-page, .careers-page) :is(.hero, .solutions-hero) :is(p, p.lead) {
  max-width: 1000px;
  margin-inline: auto;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 400;
  line-height: 1.4;
}
h2, .home-page h2, .about-purpose h2,
.contact-enquiry h2, .contact-information h2, .contact-next h2 {
  font-size: clamp(34px, 3.5vw, 61px);
  font-weight: 380;
  line-height: 1.1;
  letter-spacing: -.01em;
}
.cta-wrapper h2 { font-size: clamp(34px, 3.2vw, 48px); }
h3, .overview-card h3, .about-ruled-entry h3,
.panels h3, .benefits dt, .career-interest-list dt {
  font-size: clamp(24px, 1.7vw, 32px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.eyebrow, .home-page .eyebrow {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .1em;
  margin-bottom: 18px;
}
.button, .home-page .button, :is(.hero, .solutions-hero) .button {
  min-height: 48px;
  padding: 10px 24px;
  gap: 12px;
  font-size: 20px;
  font-weight: 480;
  line-height: 1.4;
  border-radius: 200px;
  cursor: pointer;
  transition: background-color .18s, color .18s;
}
:is(.hero, .solutions-hero) .button { margin-top: 36px; font-size: 22px; padding: 12px 28px; }
.button-primary:hover { background: var(--footer); color: #fff; }
.site-header, .home-page .site-header { font-weight: 480; }
.site-header nav { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.nav-links { font-weight: 480; }
.nav-links [aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.spotlight-image, .overview-image, .overview-card, .industry-content { border-radius: var(--radius); }
.final-cta { padding-block: 64px; }
footer { font-weight: 400; }
footer h2, .home-page footer h2 {
  font-size: .9em;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
}
@media (max-width: 850px) {
  .section { padding-block: 64px; }
  :is(.hero, .solutions-hero) { min-height: 640px; padding-block: 170px 64px; }
  .final-cta { padding-block: 48px; }
}
@media (max-width: 480px) {
  :is(.hero, .solutions-hero) { min-height: 700px; }
  :is(.home-page, .solutions-page, .partnerships-page, .about-page, .contact-page, .careers-page) :is(.hero, .solutions-hero) :is(p, p.lead) { font-size: 22px; }
  :is(.hero, .solutions-hero) .button { font-size: 20px; padding: 10px 24px; }
  .site-header nav { gap: 16px; padding: 16px; }
  .nav-links { gap: 12px 16px; }
}
@media (prefers-reduced-motion: reduce) { .button { transition: none; } }
.partner-relationship-groups > section {
  border-top: 1px solid #728679;
  padding-block: 26px;
}
.partner-relationship-groups h3 { margin: 0 0 14px; }
.partner-relationship-groups p {
  font-size: clamp(20px, 1.35vw, 26px);
  line-height: 1.5;
}
.partner-relationship-groups p + p { margin-top: 14px; }
.partner-opportunities .grid-halves { align-items: start; }
.about-introduction .grid-halves { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.about-markets .lead { max-width: 1000px; text-wrap: balance; }
.careers-interests .section-with-title { gap: 40px; }
.careers-interests .grid-halves { align-items: start; }
.contact-form :is(input, textarea)::placeholder { color: #50594f; opacity: 1; }
.form-privacy, .form-preview, #enquiry-status { font-size: 20px; color: var(--ink); }
@media (min-width: 851px) {
  .about-purpose .grid-halves > section + section {
    position: relative;
    border-left: 0;
    padding-left: 0;
  }
  .about-purpose .grid-halves > section + section::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(clamp(32px, 6vw, 96px) / -2);
    width: 1px;
    background: #728679;
  }
  #vision-heading span { display: block; white-space: nowrap; }
}
@media (max-width: 850px) {
  .about-introduction .grid-halves { grid-template-columns: 1fr; }
  .careers-interests .section-with-title { gap: 32px; }
  .form-privacy, .form-preview, #enquiry-status { font-size: 18px; }
}
