/* Hero band (dark green banner at the top of a page) */
*, *::before, *::after {
    box-sizing: border-box;
}
.pagehero-solid {
   background: #1B3125;
   color: #F7F4EC;
}

/* Reusable info/detail card - a white box with a thin border, used for
   short title+description blocks (b2b cards, contact details, etc.) */
.info-card {
   background: #fff;
   border: 1px solid #E2DCCB;
   padding: 24px 26px;
}

.info-card-title {
   font-family: 'Source Serif 4', serif;
   font-size: 19px;
   font-weight: 600;
   margin-bottom: 7px;
}

.info-card-desc {
   font-size: 14.5px;
   line-height: 1.6;
   color: #4A5B50;
}

/* A labelled form field (label text stacked above its input/textarea) */
.form-field {
   display: grid;
   gap: 7px;
}

span {
   font-size: 13px;
   font-weight: 600;
   color: #2A3E33;
}

/* Submit button with no border, sized for form use (the base .btn class
   already sets background/color/font-weight) */
.btn-form {
   border: 0;
   cursor: pointer;
   font-family: inherit;
   padding: 15px 26px;
   font-size: 15px;
}

/* B2B page */
.b2b-hero-inner {
   max-width: 1180px;
   margin: 0 auto;
   padding: 72px 28px;
}

.b2b-hero-label {
   font-family: 'IBM Plex Mono', monospace;
   font-size: 11.5px;
   letter-spacing: 0.2em;
   text-transform: uppercase;
   color: #C29A4B;
   margin-bottom: 16px;
}

.b2b-hero-title {
   font-family: 'Source Serif 4', serif;
   font-size: clamp(32px, 4.4vw, 52px);
   font-weight: 700;
   margin: 0;
   max-width: 820px;
   line-height: 1.1;
   letter-spacing: -0.02em;
   text-wrap: balance;
}

.b2b-hero-desc {
   font-size: 16.5px;
   color: #D9D2C0;
   max-width: 620px;
   margin: 18px 0 0;
   line-height: 1.6;
}

.b2b-content {
   max-width: 1180px;
   margin: 0 auto;
   padding: 64px 28px 88px;
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
   gap: 48px;
}

.b2b-form-title {
   font-family: 'Source Serif 4', serif;
   font-size: 28px;
   font-weight: 700;
   margin: 0 0 20px;
}

.b2b-form {
   display: grid;
   gap: 16px;
   max-width: 540px;
}

.b2b-cards {
   display: grid;
   gap: 20px;
   align-content: start;
}