:root { --flow-line: color-mix(in srgb, var(--wp--preset--color--forest) 24%, transparent); }
* { box-sizing: border-box; }
.wp-site-blocks { overflow: clip; }
.flow-home { --flow-gutter: clamp(1.5rem, 3.35vw, 3rem); }
.flow-home .alignwide { max-width: 1344px; }
.flow-home .wp-block-heading { letter-spacing: -.035em; }
.flow-home .wp-block-image { margin: 0; }
.flow-home .wp-block-image img { display: block; width: 100%; }
.flow-home-hero > .wp-block-column { min-height: clamp(34rem, 52vw, 47.5rem); }
.flow-home-hero-image img { height: 100%; object-fit: cover; }
.flow-home-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 6vw, 5.5rem) !important; }
.flow-home-copy { max-width: 30rem; }
.flow-home-card { min-height: 16rem; border-top: 1px solid var(--flow-line); }
.flow-home-card p:last-child { margin-top: auto; }
.flow-home-products .wp-block-column, .flow-home-editorial .wp-block-column { display: flex; flex-direction: column; }
.flow-home-products .wp-block-image img { aspect-ratio: 1.5 / 1; object-fit: cover; }
.flow-home-editorial .wp-block-image img { aspect-ratio: 2.2 / 1; object-fit: cover; }
.flow-home-essence > .wp-block-column { min-height: 38rem; }
.flow-home-essence-image img { height: 100%; object-fit: cover; }
.flow-home-essence-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 5vw, 4.5rem) !important; }
.flow-newsletter { padding-top: clamp(3rem, 5vw, 5rem) !important; padding-bottom: clamp(3rem, 5vw, 5rem) !important; }
.flow-newsletter .wp-block-columns { align-items: end; }
.flow-home { margin-block-start: 0 !important; }
.wp-site-blocks > main:has(.flow-home) { margin-block-start: 0 !important; }
.flow-header .flow-wordmark,
.flow-footer .flow-wordmark {
  display: block;
  overflow: hidden;
  position: relative;
  margin: 0 !important;
}
.flow-header .flow-wordmark {
  width: 13.75rem !important;
  height: 3.75rem !important;
  flex: 0 0 13.75rem;
}
.flow-header .flow-wordmark img,
.flow-footer .flow-wordmark img {
  display: block;
  position: absolute;
  max-width: none !important;
  height: auto !important;
}
.flow-header .flow-wordmark img {
  width: 18.25rem !important;
  left: -3.4rem;
  top: -5.65rem;
}
.flow-footer .flow-wordmark {
  width: 15.5rem !important;
  height: 4rem !important;
}
.flow-footer .flow-wordmark img {
  width: 20.5rem !important;
  left: -3.8rem;
  top: -6.35rem;
}
.flow-header .wp-block-navigation-item__content { white-space: nowrap; }
.flow-header-utilities { gap: 1rem; }
.flow-header-utilities a { color: inherit; font-size: .82rem; letter-spacing: .04em; text-decoration: none; white-space: nowrap; }
.flow-kicker { font-size: .75rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.flow-rule { border-top: 1px solid var(--flow-line); }
.flow-card { height: 100%; border: 1px solid var(--flow-line); }
.flow-card .wp-block-group { height: 100%; }
.flow-header { border-bottom: 1px solid var(--flow-line); position: relative; z-index: 20; min-height: 6.5rem; }
.flow-header .wp-block-site-title { font-family: var(--wp--preset--font-family--grand-sapphire); font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: .9; }
.flow-header .wp-block-navigation-item__content { font-size: .82rem; letter-spacing: .04em; text-decoration: none; }
.flow-footer { border-top: 1px solid var(--flow-line); }
.flow-footer a { text-underline-offset: .2em; }
.wp-block-post-featured-image img, .wc-block-grid__product-image img { aspect-ratio: 4 / 5; object-fit: cover; }
.wp-block-post-template { gap: clamp(1.5rem, 3vw, 3rem); }
.woocommerce ul.products li.product a img { border-radius: 0; box-shadow: none; }
.woocommerce div.product div.images img { box-shadow: none; }
.woocommerce .quantity .qty { min-height: 2.75rem; border: 1px solid var(--flow-line); background: var(--wp--preset--color--paper); color: var(--wp--preset--color--forest); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button { border-radius: 999px; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--paper); font-weight: 600; padding: .8rem 1.35rem; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .wc-block-components-button:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.wp-block-search__input { border: 1px solid var(--flow-line); border-radius: 0; min-height: 3rem; background: var(--wp--preset--color--paper); }
.wp-block-search__button { border-radius: 999px; }
@media (max-width: 781px) { .flow-header { padding-top: 1rem !important; padding-bottom: 1rem !important; } .flow-footer .wp-block-columns { gap: 2rem; } }
@media (max-width: 781px) {
  .flow-header { min-height: 0; }
  .flow-header .flow-wordmark { width: 10.5rem !important; height: 2.95rem !important; flex-basis: 10.5rem; }
  .flow-header .flow-wordmark img { width: 13.95rem !important; left: -2.6rem; top: -4.32rem; }
  .flow-header-navigation { gap: 1rem; }
  .flow-header-utilities p:first-child { display: none; }
  .flow-header-utilities a { font-size: 0; }
  .flow-header-utilities a::after { content: "(0)"; font-size: 1.25rem; }
  .flow-header .wp-block-navigation__responsive-container-open { align-items: center; gap: .35rem; }
  .flow-header .wp-block-navigation__responsive-container-open::after { content: "Menu"; font-size: 1.05rem; }
  .flow-home-hero > .wp-block-column { min-height: auto; }
  .flow-home-hero-image img { aspect-ratio: 1.05 / 1; }
  .flow-home-hero-copy { min-height: 27.5rem; }
  .flow-home-hero h1 { font-size: clamp(3.5rem, 16vw, 4.6rem) !important; line-height: .96; }
  .flow-home-card { min-height: 0; }
  .flow-home-essence > .wp-block-column { min-height: auto; }
  .flow-home-essence-image img { aspect-ratio: 1.18 / 1; }
  .flow-home-essence-copy { min-height: 28rem; }
  .flow-home-products .wp-block-image img { aspect-ratio: 1.14 / 1; }
  .flow-home-editorial .wp-block-image img { aspect-ratio: 1.26 / 1; }
}

/* Home visual v01 — dimensões da composição Figma 27:171 / 33:2. */
.flow-home,
.flow-home > *,
.flow-home > * > * { margin-block-start: 0 !important; }
.flow-home a,
.flow-header a,
.flow-footer a { text-decoration: none; }
.flow-home p,
.flow-home h1,
.flow-home h2,
.flow-home h3,
.flow-header p,
.flow-footer p { margin-block-start: 0; }

@media (min-width: 782px) {
  .flow-header { height: 104px; min-height: 104px; }
  .flow-header > .alignwide {
    width: 100%;
    max-width: none !important;
    height: 104px;
    padding: 0 48px !important;
  }
  .flow-header .flow-wordmark { width: 285px !important; height: 58px !important; flex-basis: 285px; }
  .flow-header .flow-wordmark img { width: 378px !important; left: -70px; top: -117px; }
  .flow-header-navigation { gap: 34px; }
  .flow-header .wp-block-navigation__container { gap: 34px; }
  .flow-header .wp-block-navigation-item__content,
  .flow-header-utilities a { font-size: 18px; letter-spacing: 0; }
  .flow-header-utilities { gap: 38px; }

  .flow-home-hero { height: 760px; }
  .flow-home-hero > .wp-block-column { height: 760px; min-height: 760px; }
  .flow-home-hero-image { height: 760px; }
  .flow-home-hero-image img { height: 760px; object-fit: cover; }
  .flow-home-hero-copy { justify-content: flex-start; padding: 77px 64px 0 !important; }
  .flow-home-hero .flow-home-copy { width: 568px; max-width: none; }
  .flow-home-hero .flow-kicker { margin-bottom: 103px; }
  .flow-home-hero h1 { width: 568px; margin: 0 0 46px; font-size: 83px !important; line-height: 1.035; letter-spacing: -.035em; }
  .flow-home-hero .has-medium-font-size { width: 540px; margin: 0 0 49px; font-size: 23px !important; line-height: 1.39; }
  .flow-home-hero .wp-block-buttons { gap: 23px; align-items: flex-start; }
  .flow-home-hero .wp-block-button:first-child .wp-block-button__link { min-width: 289px; min-height: 50px; padding: 12px 24px; font-size: 18px; }
  .flow-home-hero .wp-block-button.is-style-outline .wp-block-button__link { border: 0; padding: 0; font-size: 18px; }

  .flow-home > :nth-child(2) {
    width: 100%;
    max-width: none !important;
    height: 516px;
    padding: 85px 48px 0 !important;
  }
  .flow-home > :nth-child(2) > * { width: 100%; max-width: none !important; }
  .flow-home > :nth-child(2) > .flow-kicker { margin-bottom: 49px; }
  .flow-home > :nth-child(2) > h2 { margin: 0 0 38px; font-size: 58px !important; line-height: 1; }
  .flow-home > :nth-child(2) > .wp-block-columns { gap: 48px; }
  .flow-home-card { position: relative; height: 236px; min-height: 236px; padding-top: 17px; flex-wrap: nowrap !important; gap: 0 !important; }
  .flow-home-card .has-small-font-size { margin-bottom: 31px; font-size: 16px !important; }
  .flow-home-card h3 { margin: 0 0 25px; font-size: 33px !important; line-height: 1; }
  .flow-home-card > p:not(.has-small-font-size):not(:last-child) { max-width: 370px; margin: 0; font-size: 21px; line-height: 1.38; }
  .flow-home-card > p:last-child { position: absolute; left: 0; bottom: 0; margin: 0; font-size: 18px; font-weight: 600; }

  .flow-home > :nth-child(3) { height: 803px; padding: 55px 48px 0 !important; }
  .flow-home > :nth-child(3) > .alignwide { width: 100%; max-width: none !important; }
  .flow-home > :nth-child(3) > .alignwide > * { width: 100%; max-width: none !important; }
  .flow-home > :nth-child(3) .alignwide > .flow-kicker { margin-bottom: 32px; }
  .flow-home > :nth-child(3) .alignwide > .wp-block-group { align-items: baseline; margin-bottom: 25px; }
  .flow-home > :nth-child(3) h2 { margin: 0; font-size: 58px !important; line-height: 1; }
  .flow-home > :nth-child(3) .alignwide > .wp-block-group > p { margin: 0 0 0 auto; font-size: 18px; }
  .flow-home-products { width: 100%; max-width: none !important; gap: 24px; }
  .flow-home-products > .wp-block-column { position: relative; height: 565px; }
  .flow-home-products .wp-block-image,
  .flow-home-products .wp-block-image img { width: 100%; height: 438px; aspect-ratio: auto; object-fit: cover; }
  .flow-home-products .flow-kicker { margin: 35px 0 25px; font-size: 14px; }
  .flow-home-products h3 { margin: 0 0 18px; font-size: 32px !important; line-height: 1; }
  .flow-home-products h3 + p { margin: 0; font-size: 19px; }
  .flow-home-products .wp-block-column > p:last-child { position: absolute; right: 0; bottom: 1px; margin: 0; font-size: 18px; font-weight: 600; }

  .flow-home-essence { height: 610px; }
  .flow-home-essence > .wp-block-column { height: 610px; min-height: 610px; }
  .flow-home-essence-image { height: 610px; }
  .flow-home-essence-image img { width: 100%; height: 610px; object-fit: cover; }
  .flow-home-essence-copy { justify-content: flex-start; padding: 76px 72px 0 !important; }
  .flow-home-essence .flow-home-copy { width: 648px; max-width: none; }
  .flow-home-essence .flow-kicker { margin-bottom: 59px; }
  .flow-home-essence h2 { width: 650px; margin: 0 0 55px; font-size: 59px !important; line-height: 1.135; }
  .flow-home-essence h2 + p { width: 600px; margin: 0 0 91px; font-size: 23px; line-height: 1.43; }
  .flow-home-essence p:last-child { margin: 0; font-size: 20px; font-weight: 600; }

  .flow-home > :nth-child(5) {
    width: 100%;
    max-width: none !important;
    height: 741px;
    padding: 75px 48px 0 !important;
  }
  .flow-home > :nth-child(5) > * { width: 100%; max-width: none !important; }
  .flow-home > :nth-child(5) > .flow-kicker { margin-bottom: 43px; }
  .flow-home > :nth-child(5) > .wp-block-group { align-items: baseline; margin-bottom: 39px; }
  .flow-home > :nth-child(5) h2 { margin: 0; font-size: 57px !important; line-height: 1; }
  .flow-home > :nth-child(5) > .wp-block-group > p { margin: 0 0 0 auto; font-size: 18px; }
  .flow-home-editorial { width: 100%; max-width: none !important; gap: 24px; }
  .flow-home-editorial > .wp-block-column { position: relative; height: 472px; }
  .flow-home-editorial .wp-block-image,
  .flow-home-editorial .wp-block-image img { width: 100%; height: 300px; aspect-ratio: auto; object-fit: cover; }
  .flow-home-editorial .flow-kicker { margin: 35px 0 26px; font-size: 14px; }
  .flow-home-editorial h3 { margin: 0 0 23px; font-size: 32px !important; line-height: 1; }
  .flow-home-editorial h3 + p { width: 440px; margin: 0; font-size: 20px; line-height: 1.45; }
  .flow-home-editorial .wp-block-column > p:last-child { position: absolute; right: 0; bottom: 0; margin: 0; font-size: 18px; font-weight: 600; }

  .flow-newsletter { height: 331px; padding: 68px 48px 0 !important; }
  .flow-newsletter > .wp-block-columns { width: 100%; max-width: none !important; gap: 72px; align-items: flex-start; }
  .flow-newsletter .flow-kicker { margin-bottom: 49px; }
  .flow-newsletter h2 { margin: 0 0 31px; font-size: 58px !important; line-height: 1; }
  .flow-newsletter h2 + p { width: 680px; margin: 0; font-size: 21px; line-height: 1.43; }
  .flow-newsletter-form { padding-top: 5px; }

  .flow-footer { height: 335px; min-height: 335px; padding: 49px 48px 0 !important; }
  .flow-footer > .alignwide { width: 100%; max-width: none !important; }
  .flow-footer-grid { height: 190px; gap: 48px; margin: 0; }
  .flow-footer .flow-wordmark { width: 330px !important; height: 70px !important; }
  .flow-footer .flow-wordmark img { width: 438px !important; left: -81px; top: -136px; }
  .flow-footer-grid > .wp-block-column:first-child > p { margin: 23px 0 0; font-size: 20px; }
  .flow-footer-grid .flow-kicker { margin: 0 0 28px; font-size: 14px; }
  .flow-footer-grid .wp-block-column > p:last-child { margin: 0; font-size: 18px; line-height: 1.78; }
  .flow-footer-bottom { height: 78px; margin-top: 18px !important; padding-top: 25px; border-top: 1px solid #93aa88; }
  .flow-footer-bottom p { margin: 0; font-size: 16px; }
}

.flow-newsletter-form label { display: block; font-size: 20px; }
.flow-newsletter-form input[type="email"] { width: 100%; height: 32px; border: 0; border-bottom: 1px solid #4b6041; border-radius: 0; background: transparent; }
.flow-newsletter-consent { display: flex; gap: 11px; align-items: flex-start; margin: 22px 0 25px; }
.flow-newsletter-consent input { width: 16px; height: 16px; margin-top: 2px; }
.flow-newsletter-consent span { font-size: 17px; line-height: 1.45; }
.flow-newsletter-form button { min-width: 226px; height: 50px; padding: 0 24px; border: 0; border-radius: 999px; background: #4b6041; color: #faf7f1; font: inherit; font-weight: 600; text-align: left; }
.flow-newsletter-form button::after { content: "→"; float: right; }

@media (max-width: 781px) {
  .flow-header { height: 78px; padding: 0 !important; }
  .flow-header > .alignwide { width: 100%; height: 78px; padding: 0 20px !important; }
  .flow-header .flow-wordmark { width: 202px !important; height: 43px !important; flex-basis: 202px; }
  .flow-header .flow-wordmark img { width: 268px !important; left: -50px; top: -83px; }
  .flow-header-navigation { gap: 22px; }
  .flow-header .wp-block-navigation__responsive-container-open svg { display: none; }
  .flow-header .wp-block-navigation__responsive-container-open::after { font-size: 16px; }
  .flow-header-utilities a::after { font-size: 16px; }

  .flow-home-hero { height: 810px; display: block; }
  .flow-home-hero > .wp-block-column { height: auto; }
  .flow-home-hero > .wp-block-column:first-child { height: 370px; }
  .flow-home-hero-image,
  .flow-home-hero-image img { width: 100%; height: 370px; aspect-ratio: auto; object-fit: cover; }
  .flow-home-hero-copy { height: 440px; min-height: 440px; padding: 38px 24px 0 !important; }
  .flow-home-hero .flow-home-copy { width: 342px; }
  .flow-home-hero .flow-kicker { margin-bottom: 55px; font-size: 12px; }
  .flow-home-hero h1 { width: 342px; margin: 0 0 49px; font-size: 52px !important; line-height: 1.075; }
  .flow-home-hero .has-medium-font-size { width: 342px; margin: 0 0 27px; font-size: 17px !important; line-height: 1.41; }
  .flow-home-hero .wp-block-buttons { gap: 0; }
  .flow-home-hero .wp-block-button:first-child { width: 300px; }
  .flow-home-hero .wp-block-button:first-child .wp-block-button__link { width: 300px; height: 50px; padding: 12px 24px; font-size: 17px; }
  .flow-home-hero .wp-block-button.is-style-outline { display: none; }

  .flow-home > :nth-child(2) { width: 100%; max-width: none !important; height: 852px; padding: 54px 24px 0 !important; }
  .flow-home > :nth-child(2) > .flow-kicker { margin-bottom: 47px; font-size: 12px; }
  .flow-home > :nth-child(2) > h2 { width: 342px; margin: 0 0 45px; font-size: 44px !important; line-height: 1.09; }
  .flow-home > :nth-child(2) > .wp-block-columns { display: block; }
  .flow-home-card { height: 200px; min-height: 200px; padding-top: 20px; flex-wrap: nowrap !important; gap: 0 !important; }
  .flow-home-card .has-small-font-size { margin-bottom: 31px; font-size: 13px !important; }
  .flow-home-card h3 { margin: 0 0 17px; font-size: 30px !important; line-height: 1; }
  .flow-home-card > p:not(.has-small-font-size):not(:last-child) { width: 330px; margin: 0; font-size: 18px; line-height: 1.39; }
  .flow-home-card > p:last-child { position: absolute; bottom: 20px; margin: 0; font-size: 17px; font-weight: 600; }

  .flow-home > :nth-child(3) { height: 1210px; padding: 43px 24px 0 !important; }
  .flow-home > :nth-child(3) > .alignwide { width: 100%; max-width: none !important; }
  .flow-home > :nth-child(3) .alignwide > .flow-kicker { margin-bottom: 44px; font-size: 12px; }
  .flow-home > :nth-child(3) .alignwide > .wp-block-group { display: block; margin-bottom: 38px; }
  .flow-home > :nth-child(3) h2 { width: 342px; margin: 0; font-size: 44px !important; line-height: 1.11; }
  .flow-home > :nth-child(3) .alignwide > .wp-block-group > p { display: none; }
  .flow-home-products { display: block; }
  .flow-home-products > .wp-block-column { height: 463px; }
  .flow-home-products .wp-block-image,
  .flow-home-products .wp-block-image img { width: 342px; height: 300px; aspect-ratio: auto; object-fit: cover; }
  .flow-home-products .flow-kicker { margin: 26px 0 24px; font-size: 12px; }
  .flow-home-products h3 { margin: 0 0 16px; font-size: 30px !important; line-height: 1.1; }
  .flow-home-products h3 + p { margin: 0; font-size: 17px; }
  .flow-home-products .wp-block-column > p:last-child { position: absolute; left: 0; bottom: 10px; margin: 0; font-size: 17px; }

  .flow-home-essence { height: 777px; display: block; }
  .flow-home-essence > .wp-block-column { height: auto; }
  .flow-home-essence > .wp-block-column:first-child { height: 330px; }
  .flow-home-essence-image,
  .flow-home-essence-image img { width: 100%; height: 330px; aspect-ratio: auto; object-fit: cover; }
  .flow-home-essence-copy { height: 447px; min-height: 447px; padding: 39px 24px 0 !important; }
  .flow-home-essence .flow-home-copy { width: 342px; }
  .flow-home-essence .flow-kicker { margin-bottom: 53px; font-size: 12px; }
  .flow-home-essence h2 { width: 342px; margin: 0 0 49px; font-size: 46px !important; line-height: 1.11; }
  .flow-home-essence h2 + p { width: 342px; margin: 0 0 51px; font-size: 18px; line-height: 1.5; }
  .flow-home-essence p:last-child { font-size: 18px; }

  .flow-home > :nth-child(5) { width: 100%; max-width: none !important; height: 1133px; padding: 54px 24px 0 !important; }
  .flow-home > :nth-child(5) > .flow-kicker { margin-bottom: 46px; font-size: 12px; }
  .flow-home > :nth-child(5) > .wp-block-group { display: block; margin-bottom: 40px; }
  .flow-home > :nth-child(5) h2 { width: 342px; margin: 0; font-size: 44px !important; line-height: 1.11; }
  .flow-home > :nth-child(5) > .wp-block-group > p { display: none; }
  .flow-home-editorial { display: block; }
  .flow-home-editorial > .wp-block-column { height: 454px; }
  .flow-home-editorial .wp-block-image,
  .flow-home-editorial .wp-block-image img { width: 342px; height: 270px; aspect-ratio: auto; object-fit: cover; }
  .flow-home-editorial .flow-kicker { margin: 27px 0 27px; font-size: 12px; }
  .flow-home-editorial h3 { margin: 0; font-size: 32px !important; line-height: 1.12; }
  .flow-home-editorial h3 + p { display: none; }
  .flow-home-editorial .wp-block-column > p:last-child { position: absolute; left: 0; bottom: 13px; margin: 0; font-size: 17px; }

  .flow-newsletter { height: 490px; padding: 52px 24px 0 !important; }
  .flow-newsletter > .wp-block-columns { display: block; width: 342px; }
  .flow-newsletter .flow-kicker { margin-bottom: 47px; font-size: 12px; }
  .flow-newsletter h2 { width: 342px; margin: 0 0 28px; font-size: 46px !important; line-height: 1.07; }
  .flow-newsletter h2 + p { width: 342px; margin: 0 0 31px; font-size: 18px; line-height: 1.45; }
  .flow-newsletter-form { padding: 0; }
  .flow-newsletter-form label { font-size: 18px; }
  .flow-newsletter-consent { margin: 18px 0 23px; }
  .flow-newsletter-consent span { font-size: 14px; }

  .flow-footer { height: 410px; min-height: 410px; padding: 40px 24px 0 !important; }
  .flow-footer > .alignwide { width: 100%; max-width: none !important; }
  .flow-footer .flow-wordmark { width: 266px !important; height: 57px !important; }
  .flow-footer .flow-wordmark img { width: 353px !important; left: -65px; top: -109px; }
  .flow-footer-grid { display: block; height: 235px; margin: 0; }
  .flow-footer-grid > .wp-block-column:first-child > p { margin: 25px 0 29px; font-size: 17px; }
  .flow-footer-grid > .wp-block-column:not(:first-child) { display: inline; }
  .flow-footer-grid .flow-kicker { display: none; }
  .flow-footer-grid .wp-block-column:not(:first-child) p { display: inline; margin: 0; font-size: 17px; line-height: 1.94; }
  .flow-footer-grid .wp-block-column:not(:first-child) br { display: none; }
  .flow-footer-grid .wp-block-column:not(:first-child) a { display: inline-block; margin-right: 20px; }
  .flow-footer-bottom { display: block; margin-top: 7px !important; padding-top: 26px; border-top: 1px solid #93aa88; }
  .flow-footer-bottom p { margin: 0 0 11px; font-size: 15px; }
  .flow-footer-bottom p:last-child { display: none; }
}
