/* Beauty Bloom homepage: editorial beauty directory. */
.bb-home { --bb-home-ink:#29352c;--bb-home-cream:#f8f6f1;--bb-home-olive:#526a50;--bb-home-line:#e7e2d8;--bb-home-blush:#ead8d1;background:#fff;color:var(--bb-home-ink);padding:0;overflow:hidden; }
.bb-home-shell { width:min(92%,1420px);margin-inline:auto; }
.bb-home .bb-home-kicker { display:inline-flex;align-items:center;gap:9px;color:#65785f;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:.15em;text-transform:uppercase; }
.bb-home h1,.bb-home h2,.bb-home h3,.bb-home p { padding:0; }
.bb-home h1,.bb-home h2 { font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em; }
.bb-home a { transition:color .2s ease,transform .2s ease,box-shadow .2s ease; }
.bb-home-hero { background:radial-gradient(circle at 11% 11%,#fff 0,#f8f6f1 48%,#f1ece3 100%);position:relative; }
.bb-home-hero:before { content:'';position:absolute;width:380px;height:380px;left:-260px;bottom:-220px;border:1px solid #d9c9ba;border-radius:50%;box-shadow:0 0 0 45px #f7f3ec,0 0 0 46px #e8ddd1;pointer-events:none; }
.bb-home-hero__inner { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);align-items:center;gap:clamp(30px,5vw,75px);min-height:570px;padding-block:38px 52px; }
.bb-home-hero__copy { position:relative;z-index:2;max-width:690px; }
.bb-home-hero__copy h1 { font-size:clamp(52px,6.1vw,96px);line-height:.99;margin:19px 0 23px;color:#28392c; }
.bb-home-hero__copy h1 em { color:#9b6f69;font-style:italic;font-weight:400; }
.bb-home-hero__copy>p { font-size:clamp(15px,1.15vw,18px);line-height:1.7;color:#657165;max-width:570px;margin:0 0 30px; }
.bb-home-search { display:flex;align-items:center;gap:10px;background:#fff;max-width:625px;padding:7px;border:1px solid #dfdfd5;box-shadow:0 14px 40px #28392c16;border-radius:99px; }
.bb-home-search__icon { flex:none;color:#738575;padding-left:15px;font-size:16px; }
.bb-home-search input { flex:1;min-width:0;height:45px;border:0;box-shadow:none;background:transparent;color:var(--bb-home-ink);font-size:15px;padding:0 4px;outline:0; }
.bb-home-search input::placeholder { color:#899088; }
.bb-home-search button { flex:none;background:#395b45;color:#fff;border:0;border-radius:99px;height:45px;padding:0 22px;font-weight:800;cursor:pointer; }
.bb-home-search button:hover { background:#263f30; }
.bb-home-search button span { margin-left:10px;font-size:16px; }
.bb-home-hero__foot { display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:23px;color:#687669;font-size:12px; }
.bb-home-hero__foot strong { color:#324837;font-size:15px; }
.bb-home-hero__foot a { color:#365541;font-weight:800; }
.bb-home-hero__foot a:hover { color:#9b6f69; }
.bb-home-hero__line { width:1px;height:18px;background:#cbd3c5; }
.bb-home-hero__visual { position:relative;min-width:0;height:500px;padding-left:32px; }
.bb-home-hero__visual:before { content:'';position:absolute;inset:15px -26px -15px 55px;border:1px solid #c7b7a7;border-radius:300px 300px 24px 24px; }
.bb-home-hero__main-photo { position:absolute;inset:0 0 0 32px;width:calc(100% - 32px);height:100%;object-fit:cover;object-position:center 27%;border-radius:300px 300px 24px 24px;box-shadow:0 25px 45px #22322222; }
.bb-home-hero__inset { position:absolute;left:-30px;bottom:15px;width:34%;height:205px;border:7px solid #f8f6f1;border-radius:130px 130px 20px 20px;overflow:hidden;box-shadow:0 15px 35px #1b251b35; }
.bb-home-hero__inset img { width:100%;height:100%;object-fit:cover; }
.bb-home-hero__note { position:absolute;right:-14px;bottom:25px;width:176px;height:176px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#e6d6cc;color:#455243;box-shadow:0 12px 30px #19251d2b;transform:rotate(8deg); }
.bb-home-hero__note span { font-size:9px;font-weight:800;letter-spacing:.13em; }
.bb-home-hero__note strong { font:italic 27px/1.1 Georgia,serif;margin-top:10px; }
.bb-home-section-head { display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:23px; }
.bb-home-section-head h2,.bb-home-cities h2,.bb-home-cta h2 { font-size:clamp(37px,4vw,57px);line-height:1.08;color:var(--bb-home-ink);margin:8px 0 0; }
.bb-home-section-head p { color:#6d756a;font-size:15px;margin:10px 0 0; }
.bb-home-section-head>a { flex:none;color:#365541;font-size:13px;font-weight:800;border-bottom:1px solid #9cae99;padding-bottom:7px;white-space:nowrap; }
.bb-home-section-head>a:hover { color:#a26d68;transform:translateX(3px); }
.bb-home-services { padding-block:80px 68px; }
.bb-home-services__grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px; }
.bb-home-service { background:#f8f6f2;border:1px solid var(--bb-home-line);border-radius:150px 150px 14px 14px;overflow:hidden;min-width:0;color:var(--bb-home-ink); }
.bb-home-service:hover { transform:translateY(-6px);box-shadow:0 15px 32px #26362920;color:var(--bb-home-ink); }
.bb-home-service__media { display:block;height:clamp(150px,17vw,250px);background:#e5e4dc;overflow:hidden; }
.bb-home-service__media img { width:100%;height:100%;object-fit:cover;transition:transform .4s ease; }
.bb-home-service:hover img { transform:scale(1.06); }
.bb-home-service__body { min-height:87px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:4px 2px;padding:14px; }
.bb-home-service__body strong { font-size:15px;line-height:1.2;grid-column:1; }
.bb-home-service__body small { font-size:11px;color:#81877d;grid-column:1; }
.bb-home-service__body>span { grid-column:2;grid-row:1/3;align-self:center;font-size:18px;color:#657b63; }
.bb-home-sponsored { padding-bottom:67px; }
.bb-home-sponsored__label { display:flex;justify-content:space-between;align-items:center;color:#526a50;font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:10px; }
.bb-home-sponsored__label span { display:inline-flex;align-items:center;min-height:22px;padding:3px 9px;border:1px solid #e4e8df;border-radius:999px;background:#f7f8f4;color:#858d82;font-size:9px;line-height:1;font-weight:700;letter-spacing:.02em;text-transform:none; }
.bb-home-sponsored__grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.bb-home-sponsored .ad-wrapper { position:relative;overflow:hidden;min-height:120px;max-height:120px;margin:0;border:1px solid rgba(49,73,56,.10);border-radius:16px;background:#dae2d8;box-shadow:0 8px 22px rgba(38,57,43,.10);isolation:isolate; }
.bb-home-sponsored .ad-wrapper>img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease; }
.bb-home-sponsored .ad-wrapper:hover>img { transform:scale(1.025); }
.bb-home-sponsored .ad-overlay { position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:14px;background:linear-gradient(180deg,rgba(24,42,31,.08) 10%,rgba(24,42,31,.18) 42%,rgba(18,34,25,.86) 100%);color:#fff; }
.bb-home-sponsored .ad-overlay h3 { max-width:50%;padding:0;color:#fff;font-size:16px;font-weight:750;line-height:1.18;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.22);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.bb-home-sponsored .ad-overlay p { display:none; }
.bb-home-sponsored .ad-overlay a { color:#fff; }
.bb-home-sponsored .ad-overlay .profile-link { position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:4px;margin:0;padding:5px 9px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(26,57,38,.76);backdrop-filter:blur(5px);color:#fff!important;font-size:9px;font-weight:800;line-height:1;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;box-shadow:none; }
.bb-home-sponsored .ad-overlay .profile-link:after { content:'↗';font-size:9px;font-weight:700; }
.bb-home-sponsored .ad-overlay .profile-link:hover { background:#365541;border-color:#365541;color:#fff!important; }
.bb-home-sponsored .ad-label { display:none; }
.bb-home-sponsored .ad-expiration { display:none; }
.bb-home-featured { background:#f2f4ee;padding-block:75px 90px; }
.bb-home-featured__grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.bb-home-featured .bb-card { background:#fff;border-color:#e0e7d9; }
.bb-home-featured .bb-card__media { height:230px; }
.bb-home-featured .bb-card__body { padding:20px; }
.bb-home-cities { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;align-items:center;padding-block:100px; }
.bb-home-cities__intro p { max-width:400px;color:#6d766b;line-height:1.65;margin:18px 0 25px; }
.bb-home-cities__intro>a { color:#fff;background:#365541;border-radius:99px;padding:14px 22px;display:inline-flex;gap:18px;font-weight:800;font-size:13px; }
.bb-home-cities__intro>a:hover { background:#263e31;color:#fff;transform:translateY(-2px); }
.bb-home-cities__list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.bb-home-cities__list a { display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px;padding:16px 18px;border:1px solid #e3e7dd;border-radius:12px;background:#fbfcf9;color:#34483a; }
.bb-home-cities__list a:hover { background:#e9f0e6;transform:translateY(-2px); }
.bb-home-cities__list a span { font-weight:800;font-size:15px; }
.bb-home-cities__list a small { grid-column:1;color:#838d82;font-size:11px; }
.bb-home-cities__list a b { grid-column:2;grid-row:1/3;color:#718970;font-size:18px;font-weight:500; }
.bb-home-trend { background:#efe1dc;padding-block:80px 85px; }
.bb-home-trend__grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px; }
.bb-home-person { color:#29352c;min-width:0; }
.bb-home-person:hover { transform:translateY(-4px);color:#29352c; }
.bb-home-person__image { display:block;background:#e9d2c9;height:310px;overflow:hidden;border-radius:160px 160px 12px 12px;margin-bottom:13px; }
.bb-home-person__image img { display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%; }
.bb-home-person strong { display:block;font:normal 28px/1.2 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.bb-home-person>span:last-child { display:block;margin-top:5px;color:#687469;font-size:12px;font-weight:700; }
.bb-home-person b { font-weight:400; }
.bb-home-journal { padding-block:92px 100px; }
.bb-home-journal__grid { display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px; }
.bb-home-story { border:1px solid var(--bb-home-line);border-radius:16px;overflow:hidden;min-width:0;background:#fff; }
.bb-home-story__image { display:block;height:205px;background:#e6e8df;overflow:hidden; }
.bb-home-story.is-featured .bb-home-story__image { height:245px; }
.bb-home-story__image img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease; }
.bb-home-story:hover img { transform:scale(1.04); }
.bb-home-story__body { padding:21px; }
.bb-home-story__body>span { color:#7f8b7a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em; }
.bb-home-story h3 { font:normal 23px/1.2 Georgia,serif;margin:10px 0 11px; }
.bb-home-story.is-featured h3 { font-size:29px; }
.bb-home-story h3 a { color:var(--bb-home-ink); }
.bb-home-story p { color:#717a70;font-size:13px;line-height:1.55;margin:0 0 15px; }
.bb-home-story__read { color:#365541;font-size:12px;font-weight:800; }
.bb-home-cta { background:#314938;color:#fff;padding-block:68px; }
.bb-home-cta__inner { display:flex;align-items:center;justify-content:space-between;gap:35px; }
.bb-home-cta .bb-home-kicker { color:#c4d4b8; }
.bb-home-cta h2 { color:#fff;margin:10px 0; }
.bb-home-cta p { color:#d6e0d0;line-height:1.5;margin:0; }
.bb-home-cta a { flex:none;background:#e8d3c7;color:#304638;border-radius:99px;padding:16px 23px;font-weight:800;font-size:13px; }
.bb-home-cta a:hover { background:#fff;color:#304638;transform:translateY(-2px); }
@media(max-width:1100px) {
  .bb-home-hero__inner { min-height:510px;gap:25px; }
  .bb-home-hero__visual { height:420px; }
  .bb-home-services__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .bb-home-service__media { height:210px; }
  .bb-home-trend__grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .bb-home-person__image { height:230px; }
}
@media(max-width:767px) {
  .bb-home-shell { width:92%; }
  .bb-home-hero__inner { grid-template-columns:1fr;gap:27px;min-height:0;padding-block:45px 48px; }
  .bb-home-hero__copy h1 { font-size:clamp(48px,12vw,70px);margin:13px 0 15px; }
  .bb-home-hero__copy>p { font-size:14px;line-height:1.6;margin-bottom:20px; }
  .bb-home-search { padding:5px; }
  .bb-home-search input { font-size:13px;height:42px; }
  .bb-home-search button { height:42px;padding:0 15px;font-size:12px; }
  .bb-home-search button span { margin-left:4px; }
  .bb-home-hero__foot { margin-top:15px; }
  .bb-home-hero__visual { height:290px;width:90%;margin:0 auto; }
  .bb-home-hero__main-photo { object-position:center 28%; }
  .bb-home-hero__inset { height:125px;left:-18px;border-width:4px; }
  .bb-home-hero__note { width:115px;height:115px;bottom:5px;right:-14px; }
  .bb-home-hero__note span { font-size:7px; }
  .bb-home-hero__note strong { font-size:18px; }
  .bb-home-section-head { align-items:start;gap:10px; }
  .bb-home-section-head h2,.bb-home-cities h2,.bb-home-cta h2 { font-size:36px; }
  .bb-home-section-head>a { font-size:11px; }
  .bb-home-services { padding-block:55px 48px; }
  .bb-home-services__grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
  .bb-home-service__media { height:150px; }
  .bb-home-service__body { padding:10px;min-height:68px; }
  .bb-home-service__body strong { font-size:13px; }
  .bb-home-sponsored { padding-bottom:50px; }
  .bb-home-sponsored__grid { grid-template-columns:1fr; }
  .bb-home-sponsored .ad-wrapper { min-height:95px;max-height:95px; }
  .bb-home-featured { padding-block:55px 62px; }
  .bb-home-featured__grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
  .bb-home-featured .bb-card__media { height:125px; }
  .bb-home-featured .bb-card__body { padding:10px; }
  .bb-home-cities { grid-template-columns:1fr;gap:28px;padding-block:65px; }
  .bb-home-cities__list { gap:7px; }
  .bb-home-cities__list a { padding:11px; }
  .bb-home-cities__list a span { font-size:13px; }
  .bb-home-trend { padding-block:60px; }
  .bb-home-trend__grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .bb-home-person__image { height:215px; }
  .bb-home-person strong { font-size:20px; }
  .bb-home-journal { padding-block:65px; }
  .bb-home-journal__grid { grid-template-columns:1fr; }
  .bb-home-story__image,.bb-home-story.is-featured .bb-home-story__image { height:210px; }
  .bb-home-story h3,.bb-home-story.is-featured h3 { font-size:23px; }
  .bb-home-cta__inner { display:block; }
  .bb-home-cta a { display:inline-block;margin-top:25px; }
}
@media(max-width:400px) {
  .bb-home-section-head { flex-direction:column; }
  .bb-home-hero__foot { gap:9px; }
  .bb-home-service__media { height:125px; }
  .bb-home-person__image { height:180px; }
}

/* Compact homepage introduction and service discovery. */
.bb-home-hero__inner { box-sizing:border-box;min-height:350px;padding-block:20px 25px; }
.bb-home-hero__copy h1 { font-size:clamp(40px,4vw,64px);margin:10px 0 12px; }
.bb-home-hero__copy>p { font-size:clamp(14px,1.05vw,16px);line-height:1.5;margin-bottom:14px; }
.bb-home-hero__foot { margin-top:12px; }
.bb-home-hero__visual { height:301px; }
.bb-home-hero__inset { height:123px;border-width:5px; }
.bb-home-hero__note { width:105px;height:105px; }
.bb-home-hero__note span { font-size:7px; }
.bb-home-hero__note strong { font-size:18px;margin-top:7px; }
.bb-home-services { padding-block:54px 48px; }
.bb-home-services .bb-home-section-head { margin-bottom:18px; }
.bb-home-services h2 { font-size:clamp(34px,3.4vw,48px); }
.bb-home-service__media { height:clamp(135px,14vw,205px); }
.bb-home-service__body { min-height:72px;padding:12px; }
@media(max-width:1100px) {
  .bb-home-hero__inner { min-height:315px; }
  .bb-home-hero__visual { height:259px; }
  .bb-home-service__media { height:180px; }
}
@media(max-width:767px) {
  .bb-home-hero__inner { min-height:0;padding-block:22px 25px;gap:15px; }
  .bb-home-hero__copy h1 { font-size:clamp(36px,8.5vw,46px);margin:8px 0 10px; }
  .bb-home-hero__copy>p { font-size:13px;line-height:1.45;margin-bottom:12px; }
  .bb-home-hero__foot { margin-top:10px; }
  .bb-home-hero__visual { height:172px; }
  .bb-home-hero__inset { height:77px;border-width:3px; }
  .bb-home-hero__note { width:80px;height:80px; }
  .bb-home-hero__note span { font-size:6px; }
  .bb-home-hero__note strong { font-size:14px;margin-top:5px; }
  .bb-home-services { padding-block:40px 35px; }
  .bb-home-services h2 { font-size:32px; }
  .bb-home-service__media { height:130px; }
  .bb-home-service__body { min-height:60px;padding:10px; }
}
@media(max-width:400px) {
  .bb-home-service__media { height:115px; }
}

/* Compact partner and daily product showcase, directly below the header. */
.bb-home-commercial { display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-block:20px; }
.bb-home-commercial> :only-child { grid-column:1/-1; }
.bb-home-commercial .bb-home-sponsored { padding:0;min-width:0; }
.bb-home-commercial .bb-home-sponsored__label { line-height:17px;margin:0 0 9px; }
.bb-home-commercial .ad-wrapper { height:126px;min-height:126px;max-height:none; }
.bb-home-commercial .ad-overlay { box-sizing:border-box;padding:12px; }
.bb-home-commercial .ad-overlay h3 { font-size:16px; }
.bb-home-commercial .ad-overlay p { max-width:100%;font-size:11px; }
.bb-home-commercial .ad-label { display:none; }
.bb-home-commercial .bb-home-products { min-width:0; }
.bb-home-commercial .bb-nru-products { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px;margin:0; }
.bb-home-commercial .bb-nru-label { grid-column:1/-1;font-size:11px;line-height:17px;font-weight:800;letter-spacing:.11em;color:#61745c;margin:0; }
.bb-home-commercial .bb-nru-card { display:flex;align-items:center;gap:10px;min-width:0;height:126px;box-sizing:border-box;margin:0;padding:10px;border:1px solid #e7e2d8;border-radius:14px;background:#faf9f6; }
.bb-home-commercial .bb-nru-image { width:75px;height:96px;flex:0 0 75px;aspect-ratio:auto;border-radius:8px;background:#fff; }
.bb-home-commercial .bb-nru-image img { object-fit:contain; }
.bb-home-commercial .bb-nru-body { min-width:0; }
.bb-home-commercial .bb-nru-body h4 { padding:0;font-family:inherit;font-weight:700;font-size:12px;line-height:1.4;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.bb-home-commercial .bb-nru-body h4 a { color:#34483a; }
.bb-home-commercial .bb-nru-body p { display:none; }
.bb-home-commercial .bb-nru-cta { font-size:10px;letter-spacing:.02em;color:#526a50!important; }
@media(max-width:1100px) {
  .bb-home-commercial { grid-template-columns:1fr;gap:16px;padding-block:16px; }
  .bb-home-commercial .ad-wrapper { height:105px;min-height:105px; }
  .bb-home-commercial .bb-nru-card { height:105px; }
  .bb-home-commercial .bb-nru-image { height:83px;width:75px; }
}
@media(max-width:767px) {
  .bb-home-commercial { gap:13px;padding-block:13px 16px; }
  .bb-home-commercial .bb-home-sponsored__grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .bb-home-commercial .ad-overlay { padding:9px; }
  .bb-home-commercial .ad-overlay h3 { font-size:13px; }
  .bb-home-commercial .ad-overlay p { display:none; }
  .bb-home-commercial .bb-nru-products { gap:8px; }
  .bb-home-commercial .bb-nru-card { gap:7px;padding:7px;height:100px; }
  .bb-home-commercial .bb-nru-image { flex-basis:48px;width:48px;height:78px; }
  .bb-home-commercial .bb-nru-body h4 { font-size:11px;margin-bottom:5px; }
  .bb-home-commercial .bb-nru-cta { font-size:9px; }
  .bb-home-commercial .bb-home-sponsored__label,.bb-home-commercial .bb-nru-label { font-size:10px;letter-spacing:.07em; }
}

