
/* Only preview behavior and accessibility; original design rules stay intact. */
html {scroll-behavior:smooth}
.elementor-invisible {visibility:visible}
.preview-form-note {font:14px/1.5 "Nunito Sans",sans-serif; margin:16px 0 0; color:#555}
.elementor-menu-toggle:focus-visible,a:focus-visible,button:focus-visible {outline:2px solid #766957;outline-offset:5px}
.elementor-nav-menu--dropdown[aria-hidden="true"] {display:none!important}
.elementor-nav-menu--dropdown[aria-hidden="false"] {display:block!important;max-height:80vh!important;overflow:auto!important;transform:none!important;top:100%;left:0;right:0;z-index:30}
.elementor-location-header .elementor-nav-menu--dropdown[aria-hidden="false"] {position:fixed!important;top:var(--preview-menu-top,90px)!important;width:100%!important;max-width:100%!important;padding:12px 20px;box-shadow:0 8px 12px #0000000d}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto} *,*::before,*::after {animation:none!important;transition:none!important}}

/* New text sections inherit the existing typefaces, palette and spacing. */
:root {--bloom-paper:#f7f7f7;--bloom-sand:#e0dbd4;--bloom-ink:#101010;--bloom-muted:#878178}
[id] {scroll-margin-top:24px}
.product-story {width:100%;max-width:1000px;margin:0 auto;color:var(--bloom-ink);font-family:"Nunito Sans",sans-serif}
.eyebrow {font-family:KoHo,sans-serif;font-weight:300;font-size:20px;text-transform:uppercase;letter-spacing:3px;line-height:1.4;margin:0 0 24px}
.product-story h2,.about-page h1,.about-page h2 {font-family:"Nunito Sans",sans-serif;font-weight:200;line-height:1.2;font-size:40px;margin:0 0 40px}
.product-story p:not(.eyebrow),.about-page p:not(.eyebrow) {font-family:"Nunito Sans",sans-serif;font-size:18px;font-weight:300;line-height:1.75;margin:0 0 24px}
.product-audience {list-style:none;padding:0;margin:40px 0}
.product-audience li {font-size:18px;font-weight:300;line-height:1.6;padding:20px 0;border-bottom:1px solid #c8c3bc}
.brand-button {display:inline-block;border:1px solid var(--bloom-ink);padding:18px 40px;font:400 14px/1.5 "Nunito Sans",sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--bloom-ink);text-align:center;text-decoration:none;transition:background-color .2s}
.brand-button:hover {color:var(--bloom-ink);background:#e0dbd477}
.product-story p.product-disclosure {font-size:16px;margin:36px 0 0;max-width:880px}
.about-page {background:var(--bloom-sand);color:var(--bloom-ink)}
.about-intro {max-width:1040px;padding:120px 30px;margin:0 auto;text-align:center}
.about-page p.about-lead {font-size:26px;line-height:1.7;margin:50px 0 36px}
.about-section {background:var(--bloom-paper)}
.about-copy {max-width:860px;padding:100px 30px;margin:0 auto}
.about-copy .brand-button {margin-top:20px}
.about-club {padding-top:120px;padding-bottom:120px}
.elementor-548 .elementor-element.elementor-element-9dabb4d a {overflow-wrap:anywhere}
@media(max-width:767px) {
  .product-story h2,.about-page h1,.about-page h2 {font-size:32px;margin-bottom:30px}
  .eyebrow {font-size:18px;letter-spacing:2px}
  .product-story p:not(.eyebrow),.about-page p:not(.eyebrow),.product-audience li {font-size:16px}
  .about-page p.about-lead {font-size:21px;margin:36px 0 28px}
  .brand-button {max-width:100%;padding:16px 22px;font-size:13px}
  .about-intro {padding:80px 24px}
  .about-copy {padding:70px 24px}
  .elementor-14 .elementor-element.elementor-element-617226fc {--padding-left:24px;--padding-right:24px}
  .elementor-14 .elementor-element.elementor-element-3cbba89a {--flex-direction:column;--flex-wrap:wrap;--gap:40px;overflow:visible}
  .elementor-14 .elementor-element.elementor-element-3cbba89a > .e-con {flex:0 0 auto;width:100%;max-width:100%}
}

/* Four support topics: a clearer rhythm within the original brand. */
.elementor-14 .elementor-element.bloom-support-shell {
  --width:100%;width:100%;max-width:1180px;
  --padding-top:90px;--padding-bottom:90px;--padding-left:40px;--padding-right:40px;
}
.elementor-14 .elementor-element.bloom-support {
  display:block;width:100%;max-width:100%;min-height:0;
  --width:100%;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;
  --margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;
  color:#25231f;font-family:"Nunito Sans",sans-serif;
}
.bloom-support .support-intro {max-width:940px;margin:0 0 42px}
.bloom-support .eyebrow {font:300 18px/1.5 KoHo,sans-serif;letter-spacing:2px;margin:0 0 22px}
.bloom-support h2 {font:250 clamp(32px,3.5vw,44px)/1.22 "Nunito Sans",sans-serif;letter-spacing:-.5px;text-transform:none;margin:0 0 28px;color:#25231f}
.bloom-support .support-lead {font:300 19px/1.75 "Nunito Sans",sans-serif;margin:0;max-width:860px}
.bloom-support .support-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.bloom-support .support-card {padding:32px 34px 34px;background:#f2f2f2;border:1px solid #cdcdcd;min-width:0}
.bloom-support .support-index {display:flex;align-items:center;gap:16px;font:400 16px/1.5 KoHo,sans-serif;letter-spacing:1.5px;color:#707070;margin-bottom:22px}
.bloom-support .support-index::after {content:"";height:1px;flex:1;background:#d0d0d0}
.bloom-support .support-card h3 {font:400 26px/1.3 "Nunito Sans",sans-serif;letter-spacing:-.25px;text-transform:none;margin:0 0 18px;color:#252525;min-height:2.6em;max-width:340px;text-wrap:balance}
.bloom-support .support-card p {font:300 18px/1.75 "Nunito Sans",sans-serif;letter-spacing:normal;margin:0;color:#3e3e3e}
@media(max-width:1024px) {
  .elementor-14 .elementor-element.bloom-support-shell {--padding-left:28px;--padding-right:28px;--padding-top:72px;--padding-bottom:72px}
  .bloom-support .support-card {padding:28px}
  .bloom-support .support-card h3 {font-size:24px}
  .bloom-support .support-card p {font-size:17px}
}
@media(max-width:700px) {
  .elementor-14 .elementor-element.elementor-element-212cdad {padding-inline:0}
  .elementor-14 .elementor-element.bloom-support-shell {--padding-left:14px;--padding-right:14px;--padding-top:60px;--padding-bottom:60px}
  .bloom-support .support-intro {margin-bottom:32px}
  .bloom-support .eyebrow {font-size:16px;margin-bottom:18px}
  .bloom-support h2 {font-size:32px;letter-spacing:-.3px;margin-bottom:24px}
  .bloom-support .support-lead {font-size:17px;line-height:1.75}
  .bloom-support .support-grid {grid-template-columns:1fr;gap:18px}
  .bloom-support .support-card {padding:25px}
  .bloom-support .support-index {margin-bottom:18px}
  .bloom-support .support-card h3 {min-height:0;margin-bottom:16px;max-width:100%;text-wrap:initial}
  .bloom-support .support-card p {font-size:17px}
}
