/*
Theme Name: Beauty Is My Business
Description: Własny motyw platformy Beauty Is My Business.
Version: 0.10.106
Requires PHP: 8.3
Text Domain: beautyismybusiness
*/

*,*::before,*::after {
  box-sizing: border-box;
}

/* Source navigation: centered frosted menu and fixed customer actions. */
.bimb-source-nav {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.bimb-source-nav-inner {
  display: inline-flex;
  align-items: center;
  margin-top: 28px;
  padding: 15px clamp(24px,3vw,42px);
  border: 1px solid #e7e9eb;
  border-radius: 4px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 34px rgba(120,126,133,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  pointer-events: auto;
}

.kw-logo, .bimb-source-nav img.kw-logo, .bimb-ft-footer img.kw-logo, .bap-sidebar img.kw-logo { display:block; width:auto; height:var(--logo-h,16px); max-width:100%; object-fit:contain; object-position:left center; filter:brightness(0); opacity:.92; transition:opacity .3s; }
.kw-logo--jasne, .bap-sidebar img.kw-logo--jasne { filter:none; opacity:1; }
a:hover > .kw-logo { opacity:1; }
.bimb-source-nav-logo { display:flex; flex:0 0 auto; align-items:center; margin-right:clamp(4px,1vw,14px); padding-right:clamp(16px,2vw,28px); border-right:1px solid #e7e9eb; }
.bimb-source-nav-logo .kw-logo { --logo-h:13px; }
.bimb-source-mobile-shop,.bimb-source-mobile-foot { display:none; }

.admin-bar .bimb-source-nav { top: 32px; }
body:has(> .bimb-preview-notice) .bimb-source-nav { top: 47px; }

.bimb-source-nav-menu { display: flex; align-items: center; gap: clamp(24px,3vw,46px); }
.bimb-source-nav-menu a { position: relative; padding: 4px 0; color: #2b2e31; font-size: 12px; letter-spacing: .22em; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: color .3s; }
.bimb-source-nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: #1f2226; transition: width .4s; }
.bimb-source-nav-menu a:hover { color: #1f2226; }
.bimb-source-nav-menu a:hover::after { width: 100%; }

.bimb-source-side-panel { position: fixed; z-index: 96; top: 50%; right: 14px; display: flex; flex-direction: column; gap: 10px; transform: translateY(-50%); }
.bimb-source-side-panel a { display: flex; flex-direction: column; align-items: center; gap: 7px; width: 80px; padding: 15px 8px; border: 1px solid rgba(255,255,255,.75); border-radius: 12px; background: rgba(255,255,255,.8); box-shadow: 0 20px 60px rgba(120,126,133,.16); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); color: #1f2226; text-decoration: none; transition: transform .4s, background .4s; }
.bimb-source-side-panel a:hover { transform: translateX(-4px); background: #fff; }
.bimb-source-side-panel .bimb-source-side-login { background: #1f2226; border-color: #1f2226; color: #fff; }
.bimb-source-side-panel .bimb-source-side-login:hover { background: #2b2e31; }
.bimb-source-side-panel .bimb-source-side-cart { position:relative; }
.bimb-source-side-panel svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.bimb-source-side-panel span { font-size: 12px; letter-spacing: .08em; line-height: 1.25; text-align: center; text-transform: uppercase; }
.bimb-source-side-panel .bimb-source-cart-count { position:absolute; top:-9px; right:-9px; display:grid; place-items:center; min-width:29px; height:29px; padding:0 8px; border:2px solid #fff; border-radius:999px; background:#1f2226; color:#fff; font-size:12px; font-weight:600; letter-spacing:0; line-height:1; }
.bimb-source-side-panel .bimb-source-cart-count[hidden] { display:none; }

/* Source cinema: image billboard, glass copy and horizontal product rail. */
.bimb-source-cinema { margin: clamp(6px,.7vw,12px); padding: clamp(58px,8vw,110px) 0; border-radius: 32px; background: #f6f7f8; overflow: hidden; }
.bimb-source-cinema-wrap { max-width: 1560px; margin-inline: auto; padding-inline: clamp(24px,3.6vw,64px); }
.bimb-source-cinema-intro { max-width: 640px; }
.bimb-source-cinema-intro h2 { margin: 16px 0 18px; }
.bimb-source-cinema-intro p { max-width: 480px; margin: 0; color: #7d848b; }
.bimb-source-billboard { position: relative; display: flex; align-items: flex-end; min-height: 56vh; margin: 44px 0; overflow: hidden; border-radius: 26px; box-shadow: 0 20px 60px rgba(120,126,133,.16); }
.bimb-source-billboard > img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bimb-source-billboard-veil { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(247,248,250,.5),transparent 60%); }
.bimb-source-billboard-copy { position: relative; z-index: 2; max-width: 540px; margin: clamp(18px,3vw,38px); padding: clamp(26px,3vw,40px); border: 1px solid rgba(255,255,255,.75); border-radius: 18px; background: rgba(255,255,255,.8); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.bimb-source-bestseller { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 20px; padding: 11px 22px; border-radius: 100px; background: #1f2226; box-shadow: 0 12px 30px rgba(31,34,38,.32); color: #fff; font-size: 12.5px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; }
.bimb-source-bestseller svg { width: 15px; height: 15px; flex: 0 0 auto; fill: #fff; }
.bimb-source-billboard h3 { margin: 0 0 14px; color: #1f2226; font-family: Montserrat,sans-serif; font-size: clamp(24px,3.4vw,40px); font-weight: 500; line-height: 1.06; letter-spacing: .015em; text-transform: uppercase; }
.bimb-source-billboard p { max-width: 440px; margin: 0 0 22px; color: #3c4147; }
.bimb-source-billboard-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.bimb-source-carousel { position: relative; }
.bimb-source-carousel-track { display: flex; gap: 26px; overflow-x: auto; padding: 26px 8px 46px; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.bimb-source-carousel-track::-webkit-scrollbar { display: none; }
.bimb-source-carousel-slide { flex: 0 0 auto; width: min(84vw,400px); scroll-snap-align: start; }
.bimb-source-carousel-nav { position: absolute; z-index: 5; top: 34%; display: grid; place-items: center; width: 64px; height: 64px; padding: 0; border: 1px solid #1f2226; border-radius: 50%; background: #1f2226; box-shadow: 0 14px 34px rgba(31,34,38,.3); color: #fff; cursor: pointer; transform: translateY(-50%); transition: background .3s, transform .3s; }
.bimb-source-carousel-nav:hover { background: #2b2e31; transform: translateY(-50%) scale(1.07); }
.bimb-source-carousel-nav svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bimb-source-carousel-prev { left: -24px; }
.bimb-source-carousel-next { right: -24px; }
.bimb-source-cinema-more { display: flex; justify-content: center; margin-top: clamp(4px,1vw,14px); }
.bimb-source-cinema-more .bimb-ui-button { padding: 22px 52px; box-shadow: 0 16px 40px rgba(31,34,38,.24); font-size: 13px; letter-spacing: .18em; }

@media (max-width: 760px) {
  .bimb-source-nav { justify-content:flex-end; padding-right:16px; }
  .bimb-source-nav-inner { position:static; margin-top:14px; padding:7px; backdrop-filter:none; -webkit-backdrop-filter:none; }
  .bimb-source-nav-logo { display:none; }
  .bimb-source-nav-menu { position:fixed; z-index:150; top:-14px; right:-16px; bottom:auto; left:auto; display:flex; flex-direction:column; align-items:stretch; gap:0; width:100vw; height:100dvh; min-height:100vh; padding:88px clamp(22px,6vw,34px) 34px; overflow-y:auto; background:#fff; box-shadow:none; transform:none; }
  .bimb-source-nav-menu > a:not(.bimb-source-mobile-shop) { padding:16px 0; border-bottom:1px solid #eeeff1; font-size:clamp(21px,6.2vw,30px); font-weight:500; line-height:1.1; letter-spacing:.02em; }
  .bimb-source-nav-menu::before { content:""; display:block; width:min(72vw,360px); height:15px; margin-bottom:26px; background:url("assets/design/account-logo-white.png") left center/contain no-repeat; filter:brightness(0); }
  .bimb-source-nav-menu > a.bimb-source-mobile-shop { display:flex; align-items:center; justify-content:center; margin-top:26px; padding:19px; border-radius:6px; background:#1f2226; color:#fff!important; font-size:12px!important; letter-spacing:.14em!important; text-transform:uppercase; }
  .bimb-source-mobile-foot { display:flex; flex-wrap:wrap; gap:20px; margin-top:26px; padding-top:20px; border-top:1px solid #eeeff1; }
  .bimb-source-mobile-foot a { color:#7d848b; font-size:12px; letter-spacing:.16em; text-transform:uppercase; }
  .bimb-menu-toggle { position:relative; z-index:151; width:46px; height:46px; justify-content:center; padding:11px; }
  .bimb-menu-toggle[aria-expanded="true"] .bimb-menu-lines { border-color:transparent; }
  .bimb-menu-toggle[aria-expanded="true"] .bimb-menu-lines::before,.bimb-menu-toggle[aria-expanded="true"] .bimb-menu-lines::after { top:5px; transform:rotate(45deg); }
  .bimb-menu-toggle[aria-expanded="true"] .bimb-menu-lines::after { transform:rotate(-45deg); }
  body.bimb-menu-open { overflow:hidden; }
  .bimb-source-side-panel { top: auto; right: 0; bottom: 0; left: 0; flex-direction: row; gap: 0; transform: none; }
  .bimb-source-side-panel a { flex: 1; flex-direction: row; justify-content: center; width: auto; padding: 17px 8px; border-radius: 0; }
  .bimb-source-side-panel a:hover { transform: none; }
  .bimb-source-side-panel svg { width: 24px; height: 24px; }
  .bimb-source-side-panel span { letter-spacing: .1em; }
  body { padding-bottom: 62px; }
  body.bimb-menu-open .bimb-source-side-panel { opacity: 0; pointer-events: none; }
  .bimb-source-cinema-wrap { padding-inline: 20px; }
  .bimb-source-billboard { display: block; min-height: 0; border: 1px solid #e7e9eb; background: #fff; }
  .bimb-source-billboard > img { position: relative; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
  .bimb-source-billboard-veil { display: none; }
  .bimb-source-billboard-copy { max-width: none; margin: 0; padding: 24px 22px 26px; border: 0; border-radius: 0; background: #fff; backdrop-filter: none; }
  .bimb-source-billboard-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .bimb-source-billboard-actions .bimb-ui-button { width: 100%; padding: 17px 20px; }
  .bimb-source-billboard-actions .bimb-ui-button:not(.bimb-ui-button--play) { order: -1; }
  .bimb-source-carousel-nav { width: 52px; height: 52px; }
  .bimb-source-carousel-prev { left: -8px; }
  .bimb-source-carousel-next { right: -8px; }
  .bimb-source-carousel-slide { width: min(84vw,330px); }
  .bimb-source-cinema-more .bimb-ui-button { width: 100%; padding: 20px 24px; }
}

@media (min-width:761px) and (max-width:1180px) { .bimb-source-nav-logo { display:none; } }

@media (max-width: 782px) { .admin-bar .bimb-source-nav { top: 46px; } }
@media (prefers-reduced-motion: reduce) { .bimb-source-carousel-track { scroll-behavior: auto; } }

html {
  scroll-behavior: smooth;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-underline-offset: .2em;
}

button,input,select,textarea {
  font: inherit;
}

:focus-visible {
  outline: 3px solid #1f2226;
  outline-offset: 4px;
}

[hidden] {
  display: none !important;
}

.screen-reader-text,.skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip-link:focus {
  position: fixed;
  top: 10px;
  left: 10px;
  padding: 12px;
  background: white;
  z-index: 1000;
}

.bimb-section-head {
  max-width: 760px;
}

.bimb-section-head.bimb-center {
  margin-inline: auto;
}

.bimb-center {
  text-align: center;
}

.bimb-eyebrow,.bimb-kicker,.bimb-categories-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0 0 18px;
  color: var(--muted);
}

h1,h2,h3,p {
  margin-top: 0;
}

.bimb-button:hover {
  background: #2b2e31;
  transform: translateY(-2px);
}

.bimb-button-white {
  background: white;
  border-color: white;
  color: var(--ink);
}

.bimb-button-white:hover {
  background: #eeeff1;
}

.bimb-button-outline {
  background: transparent;
  color: var(--ink);
}

.bimb-button-outline:hover {
  background: var(--ink);
  color: white;
}

.bimb-text-link {
  display: inline-flex;
  gap: 22px;
  align-items: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: 11px;
  font-weight: 700;
  padding-bottom: 8px;
  border-bottom: 1px solid currentColor;
}

.bimb-text-link:hover {
  text-decoration: none;
  color: #5b6269;
}

.bimb-brand {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  color: var(--ink);
  line-height: 1;
  white-space: nowrap;
}

.bimb-primary,.bimb-menu,.bimb-account-links {
  display: flex;
  align-items: center;
  gap: clamp(15px,1.8vw,28px);
}

.bimb-menu {
  padding: 0;
  margin: 0;
  list-style: none;
}

.bimb-menu a:hover,.bimb-account-links a:hover {
  text-decoration: underline;
}

.bimb-account-links .bimb-nav-cart {
  padding: 13px 18px;
  background: var(--ink);
  color: white;
  border-radius: 4px;
  text-decoration: none;
}

.bimb-menu-toggle {
  border: 0;
  background: transparent;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  min-height: 44px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .12em;
}

.bimb-menu-lines {
  display: block;
  position: relative;
  width: 24px;
  height: 14px;
  border-top: 2px solid;
  border-bottom: 2px solid;
}

.bimb-menu-lines::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 24px;
  border-top: 2px solid;
}

.bimb-menu-lines::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 24px;
  border-top: 2px solid;
}





.bimb-hero h1 em {
  display: block;
}









.bimb-help h2,.bimb-help h3 {
  color: white;
}

.bimb-help .bimb-eyebrow {
  color: #dcdfe2;
}

.bimb-categories-label {
  text-align: center;
  margin: 70px 0 25px;
  color: #dcdfe2;
}

.bimb-category-icon {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 45px;
  color: #dcdfe2;
}

.bimb-category p {
  color: #dcdfe2;
  font-size: 14px;
}

.bimb-category-link span {
  margin-left: 8px;
}

.bimb-catalog {
  background: #f6f7f8;
}

.bimb-catalog .bimb-lead {
  max-width: 560px;
}

.bimb-featured-image {
  background: #dcdfe2;
  overflow: hidden;
}

.bimb-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bimb-featured-copy {
  padding: clamp(32px,5vw,70px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bimb-featured-copy .bimb-eyebrow {
  color: #dcdfe2;
}

.bimb-featured-copy p {
  max-width: 480px;
}

.bimb-featured-bottom {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
}

.bimb-featured-bottom strong {
  font-size: 25px;
  font-weight: 500;
}

.bimb-products {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px;
}

.bimb-product-image {
  display: block;
  aspect-ratio: 4/3;
  background: #eeeff1;
  overflow: hidden;
}

.bimb-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s;
}

.bimb-product:hover .bimb-product-image img {
  transform: scale(1.03);
}

.bimb-product-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  min-height: 240px;
}

.bimb-product h3 {
  font-size: 24px;
  margin-bottom: 12px;
}

.bimb-product h3 a {
  text-decoration: none;
}

.bimb-product p {
  font-size: 14px;
}

.bimb-product-price {
  margin-top: auto;
  color: var(--ink);
  font-size: 20px;
}

.bimb-product-price del {
  font-size: 14px;
  color: var(--muted);
}

.bimb-product-price ins {
  text-decoration: none;
}

.bimb-product .bimb-text-link {
  margin-top: 14px;
  align-self: flex-start;
}

.bimb-catalog .bimb-center {
  margin-top: 40px;
}

.bimb-empty {
  padding: 30px;
  background: white;
}

.bimb-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(45px,7vw,110px);
  align-items: center;
}

.bimb-split-copy {
  max-width: 640px;
}

.bimb-split-copy p {
  font-size: 18px;
}

.bimb-check-list,.bimb-steps {
  padding-left: 25px;
  margin: 30px 0;
}

.bimb-check-list li,.bimb-steps li {
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.bimb-certificates {
  background: #eeeff1;
}

.bimb-cert-visual {
  min-height: 580px;
  background: #dcdfe2;
  display: grid;
  place-items: center;
  border-radius: 16px;
  overflow: hidden;
}











.bimb-consult-visual,.bimb-mission-photo,.bimb-contact-photo {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  border-radius: 14px;
}

.bimb-consult-visual img,.bimb-mission-photo img,.bimb-contact-photo img {
  width: 100%;
  height: 100%;
  max-height: 780px;
  min-height: 640px;
  object-fit: cover;
}

.bimb-consult-visual>span {
  position: absolute;
  bottom: 22px;
  left: 22px;
  background: white;
  padding: 12px 20px;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 12px;
}

.bimb-mission {
  background: #f6f7f8;
}

.bimb-mission-photo p {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  color: white;
  background: linear-gradient(transparent,#0008);
  padding: 80px 30px 25px;
  font: 400 31px Caveat,cursive;
}

.bimb-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}







.bimb-story {
  background: #eeeff1;
}

.bimb-years {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
  margin-top: 55px;
}

.bimb-years h3 {
  font-size: 22px;
}

.bimb-years p {
  font-size: 14px;
}

.bimb-contact {
  background: #2b2e31;
  color: #eeeff1;
}

.bimb-contact h2 {
  color: white;
}

.bimb-contact .bimb-eyebrow {
  color: #dcdfe2;
}

.bimb-contact-photo {
  max-height: 680px;
}

.bimb-contact .bimb-button {
  background: white;
  color: var(--ink);
  border-color: white;
}

.bimb-faq {
  background: #efefec;
}

.bimb-faq-list {
  max-width: 900px;
  margin: 45px auto 0;
}

.bimb-faq .bimb-eyebrow,.bimb-faq h2 {
  text-align: center;
}

.bimb-faq-list details {
  border-top: 1px solid #bfc0bc;
}

.bimb-faq-list details:last-child {
  border-bottom: 1px solid #bfc0bc;
}

.bimb-faq-list summary {
  list-style: none;
  cursor: pointer;
  padding: 24px 35px 24px 0;
  font-size: 20px;
  color: var(--ink);
  position: relative;
}

.bimb-faq-list summary::-webkit-details-marker {
  display: none;
}

.bimb-faq-list summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 18px;
  font-size: 30px;
  font-weight: 300;
}

.bimb-faq-list details[open] summary::after {
  content: "−";
}

.bimb-faq-list details p {
  max-width: 760px;
  padding: 0 0 20px;
  margin: 0;
}

.bimb-instagram {
  background: #eeeff1;
}

.bimb-instagram-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}

.bimb-instagram h2 {
  font-size: clamp(35px,5vw,65px);
}

.bimb-footer h2,.bimb-footer h3 {
  color: white;
}

.bimb-footer-cta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 70px;
  border-bottom: 1px solid #555b5d;
}

.bimb-footer-cta h2 {
  font-size: clamp(34px,4vw,62px);
  margin: 0;
}

.bimb-footer-grid {
  display: grid;
  grid-template-columns: 2fr repeat(3,1fr);
  gap: 35px;
  padding: 60px 0 80px;
}

.bimb-footer .bimb-brand {
  color: white;
  display: inline-flex;
  margin-bottom: 25px;
}

.bimb-footer-about p {
  max-width: 290px;
  color: #7d848b;
}

.bimb-footer-grid h3 {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .16em;
  margin-bottom: 20px;
}

.bimb-footer-grid>div:not(:first-child) a {
  display: block;
  margin: 0 0 12px;
  text-decoration: none;
  font-size: 14px;
  color: #d1d4d2;
}

.bimb-footer-grid a:hover {
  text-decoration: underline;
}

.bimb-footer-bottom {
  border-top: 1px solid #555b5d;
  padding-top: 25px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 12px;
  color: #7d848b;
}

.bimb-footer-bottom a {
  text-decoration: none;
}

.bimb-prelections {
  background: #2b2e31;
  color: #eeeff1;
}

.bimb-prelections h2 {
  color: white;
}

.bimb-prelections .bimb-eyebrow {
  color: #dcdfe2;
}

.bimb-prelections p {
  font-size: 18px;
}

.bimb-prelections-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 25px 0;
}

.bimb-prelections-tags li {
  border: 1px solid #717675;
  border-radius: 30px;
  padding: 7px 15px;
  font-size: 12px;
}

.bimb-prelections .bimb-button {
  background: white;
  color: var(--ink);
  border-color: white;
}

.bimb-sponsors {
  padding: 55px 0;
  background: #f6f7f8;
}

.bimb-sponsors .bimb-eyebrow {
  text-align: center;
}

.bimb-sponsor-names {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  flex-wrap: wrap;
  color: #55595a;
  text-align: center;
}

.bimb-sponsor-names span {
  font-size: clamp(16px,2vw,26px);
  font-weight: 600;
  letter-spacing: -.03em;
}

.bimb-reviews {
  background: #eeeff1;
}

.bimb-review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 45px;
}

.bimb-review-grid blockquote p {
  font: 400 clamp(18px,2vw,26px)/1.45 Questrial,sans-serif;
  color: var(--ink);
  margin: 30px 0;
}

.bimb-review-grid cite {
  font-style: normal;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

:root {
  --ink: #1f2226;
  --text: #3c4147;
  --muted: #7d848b;
  --paper: #fff;
  --stone: #eeeff1;
  --line: #dcdfe2;
  --rose: #e7e9eb;
  --dark: #2b2e31;
  --radius: 32px;
  --outer: clamp(6px,.7vw,12px);
}

body {
  margin: 0;
  background: #fff;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  font-family: Questrial,"Helvetica Neue",Arial,sans-serif;
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: .012em;
}

h1,h2,h3 {
  color: var(--ink);
  font-weight: 500;
  line-height: 1.12;
  font-family: Questrial,"Helvetica Neue",Arial,sans-serif;
  letter-spacing: .015em;
  text-transform: uppercase;
}

h2 {
  font-size: clamp(23px,3.2vw,42px);
  letter-spacing: .015em;
  margin-bottom: 24px;
  line-height: 1.08;
}

h2 em,h1 em {
  font-family: inherit;
  font-weight: inherit;
  font-style: normal;
  background: linear-gradient(transparent 72%,rgba(120,124,128,.2) 72%);
}

h3 {
  font-size: clamp(14px,1.6vw,20px);
  letter-spacing: .03em;
}

.bimb-lead {
  font-size: 16px;
  line-height: 1.85;
}

.bimb-eyebrow,.bimb-categories-label {
  font-weight: 400;
  font-size: 12px;
  letter-spacing: .34em;
}

.bimb-section {
  margin: var(--outer);
  padding: clamp(58px,8vw,110px) 0;
  border-radius: var(--radius);
  overflow: hidden;
}

.bimb-container {
  width: min(calc(100% - clamp(48px,7.2vw,128px)),1560px);
  margin-inline: auto;
}

.bimb-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 0;
  padding: 15px 28px;
  background: var(--ink);
  color: white;
  border: 1px solid var(--ink);
  border-radius: 6px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 12px;
  font-weight: 500;
  transition: transform .2s,background .2s;
}

.bimb-header {
  position: relative;
  z-index: 50;
  width: 100%;
  height: 0;
  padding: 0;
  pointer-events: none;
}

.bimb-nav-shell {
  width: max-content;
  min-height: 0;
  margin: 28px auto 0;
  padding: 15px clamp(24px,3vw,42px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  background: rgba(255,255,255,.94);
  border-radius: 4px;
  box-shadow: 0 12px 34px rgba(120,126,133,.14);
  pointer-events: auto;
  max-width: calc(100% - 24px);
  border: 1px solid #e7e9eb;
  backdrop-filter: blur(10px);
}

body:not(.home) .bimb-header {
  height: auto;
  background: transparent;
}

.bimb-brand strong {
  font-size: 16px;
  letter-spacing: .06em;
}

.bimb-brand span {
  font-size: 9px;
  letter-spacing: .18em;
  margin-top: 6px;
}

.bimb-menu a,.bimb-account-links a {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .18em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.bimb-nav-cart {
  border-radius: 6px;
}

.bimb-hero {
  position: relative;
  min-height: 0;
  margin: 0;
  border-radius: 0;
  overflow: visible;
  background: #fff;
  display: block;
  align-items: flex-end;
  padding: var(--outer) var(--outer) 0;
}



.bimb-hero-box {
  position: relative;
  aspect-ratio: 1180/720;
  container-type: inline-size;
  border-radius: 3.4cqw;
  overflow: hidden;
  background: #e9e6e1;
  color: white;
  font-family: Montserrat,Questrial,sans-serif;
}

.bimb-hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bimb-hero h1 {
  font-size: 3.27cqw;
  letter-spacing: 0;
  color: #fff;
  margin-bottom: 20px;
  position: absolute;
  left: 16.9%;
  top: 61.8%;
  z-index: 3;
  margin: 0;
  font-family: Montserrat,Questrial,sans-serif;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  text-transform: none;
}

.bimb-hero-business {
  position: absolute;
  left: 72.1%;
  top: 46.5%;
  z-index: 3;
  font-family: Montserrat,Questrial,sans-serif;
  font-size: 5.9cqw;
  font-weight: 500;
  line-height: 1;
}

.bimb-hero-wordmark {
  position: absolute;
  left: 44.2%;
  top: 53.75%;
  z-index: 2;
  width: 47.5%;
  height: auto;
}

.bimb-hero-grow {
  position: absolute;
  left: 44.2%;
  top: 76.9%;
  z-index: 3;
  white-space: nowrap;
  font-family: Montserrat,Questrial,sans-serif;
  font-size: 1.62cqw;
  line-height: 1;
  color: #fff;
}

.bimb-hero-grow strong {
  font-weight: 500;
  letter-spacing: .1em;
}

.bimb-hero-grow em {
  font-weight: 400;
  margin: 0 .7em;
}

.bimb-help {
  background: #6b6e71;
  color: #f2f1ee;
}

.bimb-help .bimb-lead {
  color: #fff;
}

.bimb-categories {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
}

.bimb-category {
  background: #f6f7f8;
  border: 1px solid #e7e9eb;
  border-radius: 18px;
  min-height: 280px;
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: background .2s,transform .2s;
  color: #3c4147;
  box-shadow: 0 12px 40px rgba(120,126,133,.08);
}

.bimb-category:hover {
  background: #eeeff1;
  transform: translateY(-4px);
}

.bimb-category h3 {
  font-size: 17px;
  color: #1f2226;
  font-weight: 600;
}

.bimb-category p,.bimb-category-icon {
  color: #7d848b;
}

.bimb-category-link {
  margin-top: auto;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 700;
  color: #1f2226;
}

.bimb-catalog,.bimb-certificates,.bimb-sponsors,.bimb-faq {
  background: #f6f7f8;
}

.bimb-featured-product {
  margin: 50px 0 30px;
  background: #2b2e31;
  color: white;
  border-radius: 18px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 52% 48%;
  min-height: 440px;
}

.bimb-featured-copy h3 {
  font-size: clamp(24px,3.2vw,42px);
  color: white;
}

.bimb-product {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  min-width: 0;
  border: 1px solid #e7e9eb;
}

.bimb-consultation {
  background: linear-gradient(180deg,#eeeff1 0%,#f1f2f3 45%,#eeeff1 100%);
}

.bimb-mission,.bimb-reviews,.bimb-story,.bimb-instagram {
  background: #eeeff1;
}

.bimb-podcast {
  background: #e7e9eb;
}

.bimb-podcast-art {
  min-height: 520px;
  background: #dcdfe2;
  border-radius: 14px;
  color: #e7e5e0;
  display: block;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transform: none;
  box-shadow: none;
  position: relative;
}



.bimb-podcast-art span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: white;
  color: #1f2226;
  font-size: 28px;
}

.bimb-sponsor-names img {
  max-width: 160px;
  width: auto;
  height: 45px;
  object-fit: contain;
  filter: grayscale(1);
}

.bimb-review-grid blockquote {
  margin: 0;
  background: #fff;
  border-radius: 12px;
  padding: clamp(25px,3vw,45px);
}

.bimb-review-grid blockquote>span {
  color: #5b6269;
  letter-spacing: .12em;
}

.bimb-years article {
  padding: 28px;
  background: #fff;
  border-radius: 10px;
  min-height: 280px;
}

.bimb-years article span {
  display: block;
  font-size: 48px;
  letter-spacing: -.06em;
  color: #777e84;
  margin-bottom: 22px;
}

.bimb-contact,.bimb-prelections {
  background: #2b2e31;
}

.bimb-footer {
  margin: var(--outer);
  background: #f1f2f3;
  color: #3c4147;
  border-radius: var(--radius);
  padding: clamp(55px,6vw,100px) 0 25px;
}

.bimb-footer h2,.bimb-footer h3,.bimb-footer .bimb-brand {
  color: #1f2226;
}

.bimb-footer-about p,.bimb-footer-grid>div:not(:first-child) a,.bimb-footer-bottom {
  color: #5b6269;
}

.bimb-footer-cta,.bimb-footer-bottom {
  border-color: #dcdfe2;
}

.bimb-footer .bimb-button-white {
  background: #1f2226;
  color: #fff;
  border-color: #1f2226;
}

.bimb-prelections-image {
  aspect-ratio: 21/9;
  border-radius: 26px;
  overflow: hidden;
  background: #1f2226;
  margin-bottom: clamp(30px,3.6vw,52px);
  box-shadow: 0 34px 80px rgba(0,0,0,.25);
}

.bimb-prelections-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bimb-prelections .bimb-split {
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  align-items: start;
  gap: clamp(24px,3.4vw,70px);
}

@font-face {
  font-family: Questrial;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/questrial-normal-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: Questrial;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/questrial-normal-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/montserrat-normal-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/montserrat-normal-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-normal-600-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/montserrat-normal-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: Montserrat;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-italic-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: Montserrat;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/montserrat-italic-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: Caveat;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/caveat-normal-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: Caveat;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/caveat-normal-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@media (prefers-reduced-motion:reduce) {
html {
  scroll-behavior: auto;
}

.bimb-button,.bimb-category,.bimb-product-image img {
  transition: none;
}
}

@media (max-width:75rem) {
.bimb-menu-toggle {
  display: flex;
}

.bimb-menu,.bimb-account-links {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.bimb-menu li,.bimb-account-links a {
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
}

.bimb-nav-shell {
  position: relative;
}

.bimb-primary {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  padding: 22px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 20px 40px #0002;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
}

.bimb-categories {
  grid-template-columns: repeat(2,1fr);
}
}

@media (max-width:440px) {
.bimb-footer-grid {
  grid-template-columns: 1fr 1fr;
}

.bimb-footer-grid>div:last-child {
  grid-column: 1/-1;
}

.bimb-hero {
  min-height: 650px;
}

.bimb-hero h1 {
  font-size: 48px;
}

.bimb-brand strong {
  font-size: 17px;
}

.bimb-brand span {
  font-size: 8px;
}

.bimb-nav-shell {
  padding-left: 15px;
  margin-top: 12px;
  padding: 10px 16px;
}

.bimb-hero-box {
  aspect-ratio: 4/5;
}
}

@media (max-width:760px) {
.bimb-section {
  padding: 70px 0;
}

.bimb-hero::after {
  background: linear-gradient(0deg,#151515ac,transparent 78%);
}

.bimb-hero-copy {
  width: auto;
  margin: 0 26px 90px;
}

.bimb-hero-scroll {
  display: none;
}

.bimb-category {
  min-height: 220px;
}

.bimb-category-icon {
  margin-bottom: 18px;
}

.bimb-featured-product,.bimb-split {
  grid-template-columns: 1fr;
}

.bimb-featured-image {
  aspect-ratio: 4/3;
}

.bimb-featured-copy {
  padding: 28px;
}

.bimb-featured-bottom {
  align-items: flex-start;
  flex-direction: column;
}

.bimb-products {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 14px;
}

.bimb-product {
  flex: 0 0 min(82vw,340px);
  scroll-snap-align: start;
}

.bimb-cert-visual {
  min-height: 420px;
}

.bimb-cert-paper strong {
  font-size: 35px;
}

.bimb-consult-visual,.bimb-mission-photo,.bimb-contact-photo {
  min-height: 420px;
}

.bimb-consult-visual img,.bimb-mission-photo img,.bimb-contact-photo img {
  min-height: 420px;
  max-height: 540px;
}

.bimb-podcast-art {
  min-height: 420px;
  box-shadow: 10px 10px 0 #dcdfe2;
}

.bimb-years {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}

.bimb-years article {
  flex: 0 0 min(75vw,300px);
  scroll-snap-align: start;
}

.bimb-instagram-inner,.bimb-footer-cta {
  align-items: flex-start;
  flex-direction: column;
}

.bimb-footer-grid {
  grid-template-columns: repeat(2,1fr);
  gap: 30px;
}

.bimb-footer-about {
  grid-column: 1/-1;
}

.bimb-footer-bottom {
  flex-direction: column;
}

.bimb-nav-shell {
  width: calc(100% - 8px);
}

.bimb-header {
  padding: 0;
}

.bimb-review-grid {
  grid-template-columns: 1fr;
}

.bimb-sponsor-names {
  justify-content: center;
}

.bimb-container {
  width: calc(100% - 48px);
}

.bimb-hero {
  min-height: 0;
  align-items: flex-end;
}

.bimb-hero-photo {
  object-position: 55% center;
}

.bimb-hero h1 {
  font-size: 5.8cqw;
  left: 8%;
  top: 64%;
}

.bimb-categories {
  grid-template-columns: 1fr;
}

.bimb-hero-box {
  aspect-ratio: 3/4;
}

.bimb-hero-business {
  left: 54%;
  top: 51%;
  font-size: 10cqw;
}

.bimb-hero-wordmark {
  left: 25%;
  top: 59%;
  width: 68%;
}

.bimb-hero-grow {
  left: 25%;
  top: 77%;
  font-size: 2.3cqw;
}

.bimb-sponsor-names img {
  max-width: 120px;
  height: 36px;
}

.bimb-prelections-image {
  aspect-ratio: 16/9;
}

.bimb-prelections .bimb-split {
  grid-template-columns: 1fr;
}
}

.bimb-cart-open { overflow: hidden; }
.bimb-cart-backdrop { position: fixed; inset: 0; z-index: 100000; background: rgba(31, 34, 38, .52); }
.bimb-cart-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 100001;
  width: min(100%, 440px);
  overflow-y: auto;
  background: #f6f7f8;
  padding: clamp(20px, 3vw, 38px);
  box-shadow: -20px 0 60px rgba(31, 34, 38, .2);
}
.bimb-cart-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid #dcdfe2; padding-bottom: 20px; margin-bottom: 25px; }
.bimb-cart-heading h2 { font-size: 25px; margin: 0; }
.bimb-cart-close { border: 0; background: transparent; color: #1f2226; font-size: 36px; line-height: 1; cursor: pointer; padding: 4px; }
.bimb-cart-drawer .woocommerce-mini-cart { list-style: none; padding: 0; margin: 0; }
.bimb-cart-drawer .woocommerce-mini-cart-item { position: relative; padding: 16px 28px 16px 0; border-bottom: 1px solid #dcdfe2; }
.bimb-cart-drawer .woocommerce-mini-cart-item a:not(.remove) { display: flex; gap: 15px; align-items: center; text-decoration: none; }
.bimb-cart-drawer .woocommerce-mini-cart-item img { width: 72px; height: 72px; object-fit: cover; }
.bimb-cart-drawer .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 16px; font-size: 24px; text-decoration: none; }
.bimb-cart-drawer .quantity { display: block; margin-top: 8px; }
.bimb-cart-drawer .woocommerce-mini-cart__total { margin-top: 24px; font-size: 18px; }
.bimb-cart-drawer .woocommerce-mini-cart__buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.bimb-cart-drawer .woocommerce-mini-cart__buttons .button,
.bimb-cart-page-link { display: inline-flex; padding: 12px 16px; background: #1f2226; color: #fff; text-decoration: none; text-transform: uppercase; font-size: 11px; letter-spacing: .1em; }
.bimb-cart-page-link { margin-top: 20px; }
.bimb-category-icon svg { display: block; width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
html, body { max-width: 100%; overflow-x: clip; }
