/* JMBFit: grounded typography, warm stone, copper and sharp geometry. */
:root {
  --paper: #f3f0e9;
  --ink: #202923;
  --muted: #646b63;
  --accent: #bd744b;
  --accent-dark: #814423;
  --accent-soft: #e8d4c5;
  --line: #d5d5ca;
  --dark: #202923;
  --display-font: 'Arial', 'Helvetica Neue', sans-serif;
  --body-font: 'Arial', 'Helvetica Neue', sans-serif;
}

body.theme-jmb {
  --radius: 0px;
  --radius-large: 0px;
}

.theme-jmb .brand {
  font-weight: 900;
  letter-spacing: -0.07em;
}

.theme-jmb h1,
.theme-jmb h2,
.theme-jmb h3 {
  font-weight: 800;
  letter-spacing: -0.055em;
}

.theme-jmb h1 em,
.theme-jmb h2 em {
  font-family: var(--display-font);
  font-style: normal;
  font-weight: 800;
}

.theme-jmb .hero--geometric {
  position: relative;
  width: 100%;
  padding: 64px max(56px, calc((100% - 1280px) / 2)) 78px;
  grid-template-columns: 1.12fr 0.88fr;
  background: var(--dark);
  color: var(--paper);
}

.theme-jmb .hero--geometric h1 {
  font-size: clamp(3.8rem, 6.4vw, 6rem);
  line-height: 0.98;
  max-width: 9.5em;
}

.theme-jmb .hero--geometric .eyebrow,
.theme-jmb .hero--geometric h1 em,
.theme-jmb .hero--geometric h1 span {
  color: #daa07a;
}

.theme-jmb .hero--geometric .hero-intro,
.theme-jmb .hero--geometric .hero-description,
.theme-jmb .hero--geometric .intro,
.theme-jmb .hero--geometric .hero-fact,
.theme-jmb .hero--geometric .hero-note {
  color: #c8cfc7;
}

.theme-jmb .hero--geometric .floating-note {
  color: var(--ink);
}

.theme-jmb .hero--geometric .floating-note span {
  color: var(--muted);
}

.theme-jmb .hero--geometric .floating-note .floating-icon {
  color: var(--accent-dark);
}

.theme-jmb .hero--geometric .button-primary,
.theme-jmb .hero--geometric .button:not(.button--outline):not(.button--light) {
  background: #c7875f;
  border-color: #c7875f;
  color: #18221a;
}

.theme-jmb .hero--geometric .button-secondary,
.theme-jmb .hero--geometric .button--outline {
  background: transparent;
  color: var(--paper);
  border-color: #b3bab0;
}

.theme-jmb .hero--geometric .hero-visual {
  isolation: isolate;
}

.theme-jmb .hero--geometric .hero-orbit {
  display: none;
}

.theme-jmb .hero--geometric .hero-photo {
  border-radius: 2px;
  aspect-ratio: 0.85;
}

.theme-jmb .hero--geometric .hero-wordmark {
  color: var(--ink);
  background: #dba27c;
  font-style: normal;
  font-weight: 700;
  transform: rotate(-3deg);
}

.theme-jmb .hero--geometric .hero-visual::before {
  content: '';
  position: absolute;
  inset: -22px -12px 32px 34px;
  border: 1px solid #a26c49;
  z-index: -1;
  transform: skewY(-7deg);
}

.theme-jmb .hero--geometric .hero-visual img {
  border-radius: 0;
  object-position: center 35%;
  filter: saturate(0.5) contrast(1.04);
}

.theme-jmb .hero--geometric .photo-caption,
.theme-jmb .hero--geometric figcaption {
  background: #172019;
  color: #e9ded2;
  border: 1px solid #697366;
}

.theme-jmb .button,
.theme-jmb .service-card,
.theme-jmb .audience-card,
.theme-jmb .testimonial-card,
.theme-jmb .enquiry-form,
.theme-jmb .enquiry-card,
.theme-jmb .coaching-plan,
.theme-jmb input,
.theme-jmb select,
.theme-jmb textarea {
  border-radius: 2px;
}

.theme-jmb .service-card.featured,
.theme-jmb .service-card--featured {
  background: #e5e7dc;
  color: var(--ink);
  border-color: #bdc5b9;
}

.theme-jmb .service-card--featured > p:not(.service-price),
.theme-jmb .service-card--featured .eyebrow,
.theme-jmb .service-card--featured .fact dt {
  color: var(--muted);
}

.theme-jmb .service-card--featured .service-icon,
.theme-jmb .service-card--featured .check-list svg {
  color: var(--accent-dark);
}

.theme-jmb .service-card--featured .eyebrow > span {
  background: var(--accent-dark);
}

.theme-jmb .service-card--featured .service-label,
.theme-jmb .service-card--featured .fact {
  border-color: #bdc5b9;
}

.theme-jmb .service-price {
  color: var(--accent-dark);
  font-weight: 700;
}

.theme-jmb .button:not(.button--outline):not(.button--light) {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  color: #fff;
}

.theme-jmb .mobile-enquire {
  background: var(--accent-dark);
  color: #fff;
}

.theme-jmb .service-card--featured .text-link {
  color: var(--accent-dark);
}
.theme-jmb .text-link:hover,
.theme-jmb .main-navigation > a:not(.button):hover,
.theme-jmb .main-navigation > a[aria-current],
.theme-jmb .footer-main > div:not(.footer-brand) a:hover {
  color: var(--accent-dark);
}

.theme-jmb .step-number {
  font-weight: 800;
  color: var(--accent-dark);
}

.theme-jmb .about-visual,
.theme-jmb .about-image,
.theme-jmb .about-photo,
.theme-jmb .about-visual img,
.theme-jmb .about-image img,
.theme-jmb .about-photo img {
  border-radius: 2px;
}

.theme-jmb .section-kicker {
  letter-spacing: 0.16em;
}

.theme-jmb .about-stamp {
  border-radius: 2px;
  transform: rotate(-5deg);
}

.theme-jmb .about-stamp strong,
.theme-jmb .signature {
  font-style: normal;
  font-weight: 700;
}

@media (max-width: 1199px) {
  .theme-jmb .hero--geometric {
    padding-inline: 40px;
  }
}

@media (max-width: 899px) {
  .theme-jmb .hero--geometric {
    padding-inline: 26px;
  }
}

@media (max-width: 760px) {
  .theme-jmb .hero--geometric h1 {
    font-size: clamp(3.1rem, 12.5vw, 5rem);
    max-width: 10em;
  }
  .theme-jmb .hero--geometric .hero-visual::before {
    inset: -12px 3px 24px 20px;
  }
}

@media (max-width: 639px) {
  .theme-jmb .hero--geometric {
    grid-template-columns: 1fr;
    padding: 38px 20px 55px;
  }
  .theme-jmb .hero--geometric .hero-photo {
    aspect-ratio: 0.96;
  }
}
