.b2b-page { background: #faf8f5; }
.b2b-page h1,
.b2b-page h2,
.b2b-page h3 { white-space: normal; }
.b2b-page .header { background: #faf8f5; }
.b2b-page .desktop-nav a[href="#contact"] { color: #796650; }
.b2b-page .eyebrow { font-size: 11px; letter-spacing: 1.8px; }
.b2b-hero { display: grid; grid-template-columns: 49% 51%; min-height: 620px; background: #796650; color: #fff8ed; }
.b2b-hero-copy { padding: 75px 10% 48px 15%; display: flex; flex-direction: column; align-items: flex-start; }
.b2b-hero-copy .eyebrow { color: #eadfce; }
.b2b-hero h1 { font-size: clamp(37px, 4.1vw, 61px); line-height: 1.42; letter-spacing: -.055em; margin: 35px 0 25px; }
.b2b-hero p { color: #f0e6d9; font-size: 17px; line-height: 2; max-width: 550px; }
.b2b-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 37px; }
.b2b-hero-link { font-size: 14px; border-bottom: 1px solid #e8dccc; padding: 10px 0; }
.b2b-hero-foot { margin-top: auto; padding-top: 35px; color: #e2d4c1; font-size: 10px; letter-spacing: 1.5px; }
.b2b-hero-photo { position: relative; min-height: 620px; overflow: hidden; }
.b2b-hero-photo img { position: absolute; inset: 0; object-position: 50% 40%; }
.b2b-hero-photo::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, #0006); pointer-events: none; }
.b2b-hero-photo figcaption { position: absolute; right: 30px; bottom: 25px; color: white; z-index: 1; font-size: 12px; }
.b2b-facts { max-width: 1600px; margin: auto; padding: 32px 7.5%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; border-bottom: 1px solid #d8cfc4; }
.b2b-facts div { display: flex; align-items: center; gap: 19px; }
.b2b-facts div + div { border-left: 1px solid #d8cfc4; padding-left: 36px; }
.b2b-facts strong { font-family: var(--serif); font-size: 25px; font-weight: 500; color: #796650; white-space: nowrap; }
.b2b-facts span { font-size: 13px; line-height: 1.65; }
.b2b-section { max-width: 1600px; margin: auto; padding: 105px 7.5%; }
.b2b-section-label { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 24px; border-bottom: 1px solid #d5c9ba; color: #756b60; font-size: 11px; letter-spacing: 1.2px; }
.b2b-section h2, .b2b-landscape h2, .b2b-kit h2, .b2b-contact h2 { font-size: clamp(29px, 3.25vw, 47px); line-height: 1.58; }
.b2b-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11%; padding-top: 50px; }
.b2b-intro-grid p { color: #5b5149; font-size: 16px; line-height: 2; }
.b2b-intro-grid p + p { margin-top: 20px; }
.b2b-intro-photo { margin-top: 30px; }
.b2b-intro-photo img { height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 47%; }
.b2b-intro-photo figcaption, .b2b-program-photo figcaption { margin-top: 10px; color: #786a5b; font-size: 11px; letter-spacing: .025em; }
.b2b-history { margin-top: 72px; border-top: 1px solid #d5c9ba; padding-top: 28px; }
.b2b-history h3 { font-family: var(--serif); font-size: 22px; margin-bottom: 23px; }
.b2b-history ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.b2b-history li { border-top: 1px solid #b8a793; padding-top: 13px; display: flex; flex-direction: column; gap: 9px; }
.b2b-history time { font-family: var(--serif); font-size: 22px; color: #796650; }
.b2b-history li span { font-size: 13px; line-height: 1.75; color: #605449; }
.b2b-collections { padding-top: 35px; }
.b2b-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin: 44px 0 35px; }
.b2b-heading p { max-width: 440px; font-size: 15px; line-height: 1.8; }
.b2b-bundle-list { border-top: 1px solid #87715c; }
.b2b-bundle { display: grid; grid-template-columns: 60px minmax(300px, 1fr) minmax(240px, .8fr); align-items: center; gap: 26px; padding: 28px 0; border-bottom: 1px solid #d5c9ba; }
.b2b-bundle-num { font-size: 12px; color: #9a8978; align-self: start; padding-top: 7px; }
.b2b-bundle h3 { font-family: var(--serif); font-size: 23px; }
.b2b-bundle p { margin-top: 4px; font-size: 14px; }
.b2b-bundle-mix { font-size: 14px; line-height: 1.8; color: #655445; }
.b2b-programs { background: #ede4d8; }
.b2b-programs-inner { padding-top: 100px; padding-bottom: 100px; }
.b2b-program-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5%; margin-top: 48px; }
.b2b-group-index { font-size: 11px; letter-spacing: 1.4px; color: #866d56; }
.b2b-program-group h3 { font-family: var(--serif); font-size: 26px; margin: 12px 0 27px; }
.b2b-program-photo { margin-bottom: 24px; }
.b2b-program-photo img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.b2b-program-group:nth-child(3) .b2b-program-photo img { object-position: center 48%; }
.b2b-program-photo figcaption { color: #77634e; }
.b2b-program-group ul { margin: 0; padding: 0; list-style: none; }
.b2b-program-group li { display: flex; flex-direction: column; gap: 8px; padding: 21px 0; border-top: 1px solid #cdbda9; }
.b2b-program-group strong { font-size: 17px; font-weight: 600; }
.b2b-program-group li p { font-size: 14px; color: #625548; line-height: 1.75; }
.b2b-program-group li .b2b-program-purpose { color: #493e34; font-weight: 600; }
.b2b-format { display: flex; align-items: baseline; gap: 35px; border-top: 1px solid #aa947b; margin-top: 55px; padding-top: 25px; }
.b2b-format > span { font-size: 12px; font-weight: 600; white-space: nowrap; }
.b2b-format p { font-size: 14px; line-height: 1.85; color: #5d4f40; max-width: 890px; }
.b2b-programs .b2b-guide-link { margin-top: 22px; }
.b2b-kit { display: grid; grid-template-columns: 1fr 1fr; background: #f2ede7; }
.b2b-kit-photo { position: relative; min-height: 620px; }
.b2b-kit-photo img { height: 100%; object-fit: cover; }
.b2b-kit-photo figcaption { position: absolute; left: 30px; bottom: 24px; color: #44372d; font-size: 11px; text-shadow: 0 1px 4px #fffb; }
.b2b-kit-copy { padding: 85px 14% 75px; align-self: center; }
.b2b-kit-copy .eyebrow { color: #806a53; }
.b2b-kit h2 { margin: 19px 0; }
.b2b-kit-copy > p { font-size: 15px; line-height: 1.9; color: #5b5046; }
.b2b-kit-copy ul { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 22px; list-style: none; margin: 28px 0; padding: 0; }
.b2b-kit-copy li { border-top: 1px solid #c8b7a5; padding-top: 10px; display: flex; flex-direction: column; gap: 2px; }
.b2b-kit-copy li strong { font-size: 14px; }
.b2b-kit-copy li span { font-size: 12px; line-height: 1.6; color: #6c5d4e; }
.b2b-kit-copy .b2b-kit-price { border-top: 1px solid #c8b7a5; padding-top: 16px; font-size: 12px; }
.b2b-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.b2b-photo-grid figure { min-width: 0; }
.b2b-photo-grid img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.b2b-photo-grid figure:first-child img { object-position: center; }
.b2b-text-link { display: inline-flex; align-items: center; gap: 40px; font-size: 14px; border-bottom: 1px solid #796650; padding: 12px 0; margin-top: 35px; }
.b2b-landscape { display: grid; grid-template-columns: 38% 62%; min-height: 475px; background: #f2ede7; }
.b2b-landscape-copy { padding: 75px 12% 55px 20%; display: flex; flex-direction: column; justify-content: center; }
.b2b-landscape h2 { margin: 22px 0; }
.b2b-landscape p { font-size: 15px; line-height: 1.9; }
.b2b-landscape img { height: 475px; object-position: center 55%; }
.b2b-team-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 47px 36px; }
.b2b-team-list article { border-top: 1px solid #aa9783; padding-top: 20px; display: grid; grid-template-columns: minmax(0, 36%) minmax(0, 1fr); align-items: start; gap: 20px; min-width: 0; }
.b2b-team-photo { position: relative; width: 100%; overflow: hidden; aspect-ratio: 4 / 5; background: #e6ded5; }
.b2b-team-photo img { width: 100%; height: 100%; object-fit: cover; }
.b2b-team-list article:first-child img { object-position: 63% center; }
.b2b-team-copy h3 { font-family: var(--serif); font-size: 23px; margin-bottom: 4px; }
.b2b-team-copy > span { font-size: 13px; line-height: 1.7; color: #796650; }
.b2b-team-copy ul { list-style: none; padding: 0; margin: 17px 0 0; }
.b2b-team-copy li { border-top: 1px solid #ded4c8; padding: 9px 0; font-size: 13px; line-height: 1.75; color: #5f5348; }
.b2b-partners { border-top: 1px solid #d5c9ba; margin-top: 55px; padding-top: 25px; }
.b2b-partners h3 { font-family: var(--serif); font-size: 25px; }
.b2b-partners p { margin-top: 8px; font-size: 13px; line-height: 1.8; color: #6b5d4f; }
.b2b-partners ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 18px; padding: 0; margin: 25px 0 0; list-style: none; }
.b2b-partners li { border-top: 1px solid #d5c9ba; padding: 12px 0; font-size: 13px; line-height: 1.55; }
.b2b-partners .b2b-partner-logos { gap: 14px; }
.b2b-partner-logos li { display: flex; align-items: center; justify-content: center; height: 110px; padding: 18px 22px; border: 0; background: #fff; }
.b2b-partner-logos img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.b2b-contact { background: #796650; color: #fff8ed; }
.b2b-contact-inner { max-width: 1150px; margin: auto; padding: 90px 7.5%; text-align: center; }
.b2b-contact .eyebrow { color: #eadfce; }
.b2b-contact h2 { margin: 22px 0; }
.b2b-contact p { max-width: 700px; margin: auto; color: #eee1cf; font-size: 16px; line-height: 1.9; }
.b2b-contact-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 35px; }
.b2b-contact-mail { border-bottom: 1px solid #f0e6d9; padding: 10px 0; font-size: 15px; }
.b2b-contact-source { display: inline-block; margin-top: 30px; font-size: 13px; text-decoration: underline; text-underline-offset: 5px; color: #eee1cf; }
.b2b-mobile-contact { display: none; }
@media (max-width: 1050px) {
  .b2b-hero-copy { padding-left: 10%; }
  .b2b-hero h1 { font-size: 39px; }
  .b2b-bundle { grid-template-columns: 40px 1fr; }
  .b2b-bundle-mix { grid-column: 2; }
  .b2b-landscape-copy { padding-left: 13%; }
  .b2b-history ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .b2b-team-list { grid-template-columns: 1fr; }
  .b2b-partners ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .b2b-hero { grid-template-columns: 1fr; }
  .b2b-hero-copy { padding: 50px 7% 32px; min-height: 445px; }
  .b2b-hero h1 { font-size: clamp(31px, 8vw, 43px); margin: 25px 0 19px; }
  .b2b-hero p { font-size: 15px; line-height: 1.9; }
  .b2b-hero-actions { gap: 16px; margin-top: 24px; }
  .b2b-hero-link { font-size: 13px; }
  .b2b-hero-foot { font-size: 9px; }
  .b2b-hero-photo { min-height: 270px; height: 310px; }
  .b2b-hero-photo figcaption { font-size: 10px; right: 18px; bottom: 18px; }
  .b2b-facts { grid-template-columns: 1fr; gap: 0; padding: 10px 7%; }
  .b2b-facts div { padding: 15px 0; }
  .b2b-facts div + div { border-left: 0; border-top: 1px solid #ded3c7; padding-left: 0; }
  .b2b-facts strong { min-width: 78px; font-size: 22px; }
  .b2b-facts span { font-size: 12px; }
  .b2b-section { padding: 67px 7%; }
  .b2b-section-label { font-size: 10px; padding-bottom: 18px; }
  .b2b-section h2, .b2b-landscape h2, .b2b-kit h2, .b2b-contact h2 { font-size: 31px; }
  .b2b-intro-grid { grid-template-columns: 1fr; gap: 21px; padding-top: 31px; }
  .b2b-intro-grid p { font-size: 14px; line-height: 1.9; }
  .b2b-intro-photo { margin-top: 25px; }
  .b2b-history { margin-top: 45px; }
  .b2b-history ol { grid-template-columns: 1fr 1fr; gap: 15px; }
  .b2b-history li span { font-size: 12px; }
  .b2b-collections { padding-top: 30px; }
  .b2b-heading { display: block; margin: 29px 0 29px; }
  .b2b-heading p { margin-top: 15px; font-size: 14px; }
  .b2b-bundle { grid-template-columns: 30px 1fr; gap: 10px 13px; padding: 22px 0; }
  .b2b-bundle h3 { font-size: 21px; }
  .b2b-bundle p, .b2b-bundle-mix { font-size: 13px; }
  .b2b-programs-inner { padding-top: 67px; padding-bottom: 67px; }
  .b2b-program-groups { grid-template-columns: 1fr; gap: 32px; margin-top: 35px; }
  .b2b-program-group h3 { margin-bottom: 16px; }
  .b2b-program-photo { margin-bottom: 14px; }
  .b2b-program-group li { padding: 13px 0; }
  .b2b-program-group li p { font-size: 14px; }
  .b2b-format { display: block; margin-top: 38px; }
  .b2b-format p { margin-top: 8px; font-size: 13px; }
  .b2b-kit { grid-template-columns: 1fr; }
  .b2b-kit-photo { min-height: 0; height: 320px; }
  .b2b-kit-copy { padding: 58px 7% 68px; }
  .b2b-kit-copy > p { font-size: 14px; }
  .b2b-photo-grid { grid-template-columns: 1fr; gap: 16px; }
  .b2b-photo-grid img { aspect-ratio: 4 / 3; }
  .b2b-text-link { font-size: 13px; gap: 15px; }
  .b2b-landscape { grid-template-columns: 1fr; }
  .b2b-landscape-copy { padding: 56px 7%; }
  .b2b-landscape h2 { margin: 15px 0; }
  .b2b-landscape p { font-size: 14px; }
  .b2b-landscape img { height: 280px; }
  .b2b-team-list { gap: 28px; }
  .b2b-team-list article { padding-top: 16px; }
  .b2b-team-copy li { font-size: 13px; }
  .b2b-partners { margin-top: 36px; }
  .b2b-partners p { font-size: 13px; }
  .b2b-partners ul { grid-template-columns: 1fr 1fr; }
  .b2b-partners .b2b-partner-logos { gap: 10px; }
  .b2b-partner-logos li { height: 84px; padding: 14px 16px; }
  .b2b-contact-inner { padding: 70px 7% 80px; }
  .b2b-contact p { font-size: 14px; }
  .b2b-contact-mail { font-size: 13px; }
  .b2b-mobile-contact { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 18; justify-content: space-between; padding: 15px 7% calc(15px + env(safe-area-inset-bottom)); color: white; background: #796650; font-size: 14px; box-shadow: 0 -3px 15px #0002; }
}
@media (max-width: 390px) {
  .b2b-hero-actions { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 520px) {
  .b2b-team-list article { grid-template-columns: 1fr; gap: 16px; }
  .b2b-team-photo { max-width: 260px; }
  .b2b-history ol { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .b2b-page * { scroll-behavior: auto; } }
.about-page .b2b-hero p + p { margin-top: 18px; }
.about-page .about-hero-note { font-family: var(--serif); }
.about-page .about-history-list { margin-top: 0; border-top: 0; }
.about-page .about-partners .b2b-partners { margin-top: 44px; border-top: 0; padding-top: 0; }
