/* Estilos do site — vindos do protótipo em Vue (client/src/index.css). Ajustes do WordPress no fim. */

:root {
  --cream: #f8f3eb;
  --paper: #fffdf9;
  --paper-2: #f2eadf;
  --ink: #29579e;
  --ink-soft: #4e6fa8;
  --brick: #eb503e;
  --brick-deep: #c83d31;
  --gold: #e2b34d;
  --gold-pale: #f3d88a;
  --green: #29579e;
  --plum: #23477f;
  --line: #ded6ca;
  --white: #ffffff;
  --shadow: 0 22px 60px rgba(36, 35, 26, .1);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 10px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
button, input, textarea, select { font: inherit; }
button { border: 0; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--gold-pale); color: var(--ink); }

.app-shell { overflow: hidden; }
.container { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--brick); font-size: 10px; line-height: 1.2; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; }
.eyebrow::before { content: ""; display: inline-block; width: 19px; height: 1px; background: currentColor; }
.eyebrow-light { color: var(--gold-pale); }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,253,249,.96); border-bottom: 1px solid rgba(23,44,43,.08); backdrop-filter: blur(18px); }
.header-inner { width: min(1240px, calc(100% - 48px)); height: 82px; margin: 0 auto; display: flex; align-items: center; gap: 34px; }
.brand-mark { display: inline-flex; width: 92px; height: 74px; align-items: center; flex: 0 0 auto; }
.brand-logo-image { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.brand-seal { position: relative; display: inline-flex; width: 43px; height: 43px; align-items: center; justify-content: center; border-radius: 50%; background: var(--brick); transform: rotate(-12deg); box-shadow: 3px 3px 0 var(--gold); }
.brand-seal::after { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; }
.brand-seal span { display: block; width: 12px; height: 19px; border-radius: 100% 0 100% 0; background: var(--gold-pale); transform: rotate(-38deg) translate(2px, -2px); }
.brand-seal span + span { position: absolute; background: #f5d99e; transform: rotate(40deg) translate(-3px, 1px); }
.brand-copy { display: flex; flex-direction: column; gap: 1px; line-height: 1; }
.brand-copy strong { color: var(--brick); font-family: Georgia, serif; font-size: 24px; letter-spacing: -.055em; font-style: italic; }
.brand-copy small { color: var(--ink-soft); font-size: 7px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; }
.desktop-nav { display: flex; align-self: stretch; align-items: center; gap: 3px; flex: 1; }
.nav-home, .nav-link, .nav-trigger { position: relative; display: inline-flex; align-items: center; gap: 7px; height: 100%; padding: 0 12px; color: var(--ink); background: transparent; font-size: 12px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.nav-home::after, .nav-link::after, .nav-trigger::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 17px; height: 2px; background: var(--brick); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.nav-home:hover::after, .nav-link:hover::after, .nav-trigger:hover::after, .nav-home.is-active::after, .nav-link.is-active::after, .nav-trigger.is-active::after { transform: scaleX(1); }
.nav-dropdown { position: relative; align-self: stretch; }
.dropdown-panel { position: absolute; top: calc(100% - 1px); left: -14px; min-width: 285px; padding: 18px; background: var(--white); border: 1px solid rgba(23,44,43,.08); border-radius: 0 0 22px 22px; box-shadow: 0 18px 38px rgba(23,44,43,.14); animation: dropIn .2s ease-out both; }
.dropdown-intro { padding: 4px 9px 15px; border-bottom: 1px solid var(--line); }
.dropdown-intro .eyebrow { font-size: 8px; margin-bottom: 7px; }
.dropdown-intro strong { display: block; font-family: Georgia, serif; font-size: 22px; letter-spacing: -.03em; }
.dropdown-list { display: flex; flex-direction: column; gap: 4px; padding-top: 11px; }
.dropdown-link { display: flex; align-items: center; justify-content: space-between; padding: 11px 9px; color: var(--ink-soft); border-radius: 8px; font-size: 12px; font-weight: 700; transition: background .15s ease, color .15s ease, padding .15s ease; }
.dropdown-link:hover { color: var(--brick); background: var(--cream); padding-left: 13px; }
.dropdown-link svg { opacity: .45; }
.header-actions { display: flex; align-items: center; gap: 13px; }
.header-instagram { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; color: var(--ink); border: 1px solid var(--line); border-radius: 50%; transition: all .2s ease; }
.header-instagram:hover { color: var(--brick); border-color: var(--brick); transform: rotate(-8deg); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; min-height: 47px; padding: 0 20px; border: 1px solid transparent; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .01em; transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-small { min-height: 39px; padding: 0 16px; font-size: 11px; }
.button-brick { color: var(--white); background: var(--brick); box-shadow: 0 9px 20px rgba(164,58,44,.2); }
.button-brick:hover { background: var(--brick-deep); box-shadow: 0 13px 26px rgba(164,58,44,.28); }
.button-dark { color: var(--white); background: var(--ink); }
.button-dark:hover { background: #21477f; }
.button-gold { color: var(--ink); background: var(--gold); }
.button-gold:hover { background: var(--gold-pale); }
.button-outline { color: var(--ink); background: transparent; border-color: rgba(23,44,43,.3); }
.button-outline:hover { color: var(--brick); border-color: var(--brick); }
.mobile-menu-button, .mobile-nav { display: none; }

/* Shared section styles */
.section-heading { max-width: 650px; }
.section-heading-center { margin: 0 auto; text-align: center; }
.section-heading-center .eyebrow { justify-content: center; }
.section-heading h2, .section-heading-row h2 { margin: 14px 0 11px; color: var(--ink); font-family: Georgia, serif; font-size: clamp(36px, 4.2vw, 60px); line-height: .98; letter-spacing: -.055em; }
.section-heading p { max-width: 520px; margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }
.section-heading-center p { margin-left: auto; margin-right: auto; }
.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 35px; }

/* Home */
.hero-section { position: relative; min-height: 614px; color: var(--white); background: var(--ink); overflow: hidden; }
.hero-grain { position: absolute; inset: 0; opacity: .2; background-image: radial-gradient(rgba(255,255,255,.18) .7px, transparent .7px); background-size: 7px 7px; mask-image: linear-gradient(90deg, black, transparent 75%); }
.hero-section::after { content: ""; position: absolute; right: -11%; top: -26%; width: 61%; height: 105%; border-radius: 50%; background: var(--brick); opacity: .95; transform: rotate(-13deg); }
.hero-grid { position: relative; z-index: 2; min-height: 565px; display: grid; grid-template-columns: 1.02fr .98fr; gap: 46px; align-items: center; }
.hero-copy { padding: 54px 0 75px; }
.hero-copy .hero-title { max-width: 650px; margin: 17px 0 20px; font-family: Georgia, serif; font-size: clamp(48px, 6.3vw, 83px); line-height: .93; letter-spacing: -.07em; }
.hero-copy .hero-title em { color: var(--gold); font-style: normal; }
.hero-copy > p { max-width: 480px; margin: 0 0 27px; color: rgba(255,255,255,.78); font-size: 16px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.hero-copy .button-outline { color: var(--white); border-color: rgba(255,255,255,.38); }
.hero-copy .button-outline:hover { color: var(--gold-pale); border-color: var(--gold-pale); }
.hero-note { display: flex; align-items: center; gap: 8px; margin-top: 28px; color: rgba(255,255,255,.56); font-size: 10px; letter-spacing: .02em; }
.note-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(226,179,77,.14); }
.hero-art-wrap { position: relative; z-index: 2; align-self: stretch; display: flex; align-items: center; justify-content: center; }
.hero-stamp { position: absolute; z-index: 4; top: 110px; right: 34px; width: 92px; height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--ink); background: var(--gold); border-radius: 50%; text-align: center; font-size: 9px; line-height: 1.1; font-weight: 800; transform: rotate(9deg); box-shadow: 5px 7px 0 rgba(23,44,43,.25); }
.product-visual { position: relative; width: min(490px, 100%); height: 410px; isolation: isolate; }
.product-visual::after { content: ""; position: absolute; z-index: -1; left: 13%; right: 6%; bottom: 32px; height: 25px; border-radius: 50%; background: rgba(0,0,0,.23); filter: blur(13px); }
.visual-sun { position: absolute; width: 285px; height: 285px; right: 3%; top: 39px; border-radius: 46% 54% 48% 52%; background: var(--gold); transform: rotate(19deg); }
.visual-leaf { position: absolute; z-index: 1; width: 102px; height: 56px; border-radius: 100% 0 100% 0; background: var(--gold-pale); transform: rotate(-34deg); opacity: .94; }
.visual-leaf-one { left: 2%; top: 87px; }
.visual-leaf-two { left: 12%; top: 156px; width: 67px; height: 37px; background: var(--brick); transform: rotate(22deg); }
.visual-package { position: absolute; z-index: 3; left: 24%; top: 54px; display: flex; width: 196px; height: 285px; align-items: center; flex-direction: column; padding: 28px 18px 17px; color: var(--paper); background: var(--brick); border-radius: 17px 17px 25px 25px; transform: rotate(-8deg); box-shadow: 15px 19px 0 rgba(23,44,43,.28); }
.visual-package::before, .visual-package::after { content: ""; position: absolute; left: 0; right: 0; height: 8px; background: var(--gold); }
.visual-package::before { top: 11px; border-radius: 50%; }
.visual-package::after { bottom: 10px; opacity: .8; }
.package-mini { color: var(--gold-pale); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.visual-package strong { margin-top: 46px; color: var(--gold-pale); font-family: Georgia, serif; font-size: 39px; line-height: .85; letter-spacing: -.07em; text-align: center; }
.package-note { max-width: 110px; margin-top: 16px; color: rgba(255,255,255,.75); font-size: 8px; line-height: 1.2; text-align: center; text-transform: uppercase; letter-spacing: .1em; }
.package-seal { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; margin-top: 18px; color: var(--brick); background: var(--gold-pale); border-radius: 50%; }
.visual-peanut { position: absolute; z-index: 2; width: 38px; height: 26px; border: 3px solid var(--brick-deep); border-radius: 52% 42% 49% 45%; background: #e8bd6e; box-shadow: 0 3px 0 rgba(72,32,22,.16); }
.peanut-one { right: 8%; bottom: 73px; transform: rotate(28deg); }
.peanut-two { right: 24%; bottom: 24px; transform: rotate(-25deg) scale(.75); }
.peanut-three { left: 7%; bottom: 66px; transform: rotate(17deg) scale(.65); }
.visual-caption { position: absolute; right: 4%; bottom: 4px; color: rgba(255,255,255,.63); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.hero-bottom-ribbon { position: absolute; z-index: 3; bottom: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: center; gap: 19px; height: 48px; color: var(--ink); background: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-bottom-ribbon i { width: 5px; height: 5px; border-radius: 50%; background: var(--brick); }
.quick-rail { position: relative; z-index: 5; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: -31px; padding: 0; background: var(--paper); box-shadow: var(--shadow); }
.quick-card { min-height: 104px; display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-right: 1px solid var(--line); transition: background .2s ease, transform .2s ease; }
.quick-card:last-child { border-right: 0; }
.quick-card:hover { background: var(--cream); transform: translateY(-3px); }
.quick-card-featured { background: var(--gold); }
.quick-number { align-self: flex-start; color: rgba(23,44,43,.5); font-family: Georgia, serif; font-size: 12px; }
.quick-card > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 5px; }
.quick-card strong { font-family: Georgia, serif; font-size: 19px; letter-spacing: -.03em; }
.quick-card small { color: var(--ink-soft); font-size: 11px; }
.quick-card > svg { color: var(--brick); }
.lines-section { padding-top: 130px; padding-bottom: 120px; }
.line-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 44px; }
.line-card { position: relative; min-height: 293px; display: flex; flex-direction: column; padding: 27px 27px 22px; overflow: hidden; border-radius: var(--radius-md); transition: transform .25s ease, box-shadow .25s ease; }
.line-card:hover { transform: translateY(-6px); box-shadow: 0 18px 35px rgba(23,44,43,.13); }
.line-card .eyebrow { position: relative; z-index: 1; margin-top: auto; color: currentColor; opacity: .72; font-size: 8px; }
.line-card h3 { position: relative; z-index: 1; margin: 9px 0 6px; font-family: Georgia, serif; font-size: 30px; letter-spacing: -.05em; }
.line-card p { position: relative; z-index: 1; max-width: 230px; margin: 0; color: inherit; opacity: .77; font-size: 12px; line-height: 1.5; }
.line-index { position: absolute; top: 23px; right: 25px; opacity: .6; font-family: Georgia, serif; font-size: 12px; }
.line-icon { position: absolute; top: 23px; left: 25px; display: flex; width: 50px; height: 50px; align-items: center; justify-content: center; border: 1px solid currentColor; border-radius: 50%; opacity: .76; }
.line-link { position: relative; z-index: 1; display: flex; align-items: center; gap: 6px; margin-top: 17px; font-size: 11px; font-weight: 800; }
.line-card-gold { color: var(--ink); background: #e9c76e; }
.line-card-brick { color: var(--white); background: var(--brick); }
.line-card-green { color: var(--white); background: var(--green); }
.line-card-plum { color: var(--white); background: var(--plum); }
.line-card-sand { color: var(--ink); background: #e9deca; }
.line-card-ink { color: var(--white); background: var(--ink); }
.story-section { background: var(--cream); }
.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; padding-top: 100px; padding-bottom: 100px; }
.story-visual { position: relative; min-height: 435px; }
.story-vertical { position: absolute; left: 0; top: 64px; color: var(--brick); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
.story-card-main { position: absolute; left: 70px; top: 0; width: min(360px, 70%); height: 365px; display: flex; flex-direction: column; padding: 28px; color: var(--paper); background: var(--brick); border-radius: 28px; box-shadow: 22px 23px 0 var(--gold); transform: rotate(-4deg); }
.story-card-main::before { content: ""; position: absolute; width: 94px; height: 94px; right: -23px; bottom: 56px; border: 2px dashed rgba(255,255,255,.45); border-radius: 50%; }
.story-card-main > span { color: var(--gold-pale); font-family: Georgia, serif; font-size: 22px; font-style: italic; }
.story-card-main strong { margin-top: auto; font-family: Georgia, serif; font-size: 53px; line-height: .87; letter-spacing: -.07em; }
.story-card-main em { color: var(--gold-pale); font-style: normal; }
.story-card-main small { max-width: 180px; margin-top: 27px; color: rgba(255,255,255,.67); font-size: 10px; line-height: 1.4; }
.story-card-small { position: absolute; right: 0; bottom: 14px; width: 138px; height: 138px; display: flex; flex-direction: column; justify-content: space-between; padding: 21px; color: var(--ink); background: var(--gold); border-radius: 20px; transform: rotate(8deg); }
.story-card-small span { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.story-card-small svg { align-self: end; }
.story-copy h2 { max-width: 540px; margin: 16px 0 17px; font-family: Georgia, serif; font-size: clamp(36px, 4vw, 59px); line-height: .94; letter-spacing: -.065em; }
.story-copy > p { max-width: 490px; color: var(--ink-soft); font-size: 15px; line-height: 1.7; }
.story-stats { display: flex; gap: 56px; margin: 31px 0 30px; }
.story-stats > div { display: flex; align-items: center; gap: 11px; }
.story-stats strong { color: var(--brick); font-family: Georgia, serif; font-size: 37px; letter-spacing: -.06em; }
.story-stats span { color: var(--ink-soft); font-size: 10px; line-height: 1.25; text-transform: uppercase; letter-spacing: .08em; }
.featured-section { padding-top: 120px; padding-bottom: 120px; }
.featured-grid, .products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.product-card { display: flex; min-width: 0; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 22px 38px rgba(23,44,43,.11); }
.product-card .product-visual { width: 100%; height: 245px; }
.product-visual.is-compact .visual-sun { width: 200px; height: 200px; right: 9%; top: 28px; }
.product-visual.is-compact .visual-package { left: 33%; top: 29px; width: 134px; height: 203px; padding: 18px 12px 12px; border-radius: 12px 12px 18px 18px; }
.product-visual.is-compact .visual-package strong { margin-top: 31px; font-size: 28px; }
.product-visual.is-compact .package-note { margin-top: 10px; font-size: 6px; }
.product-visual.is-compact .package-seal { width: 29px; height: 29px; margin-top: 9px; }
.product-visual.is-compact .package-seal svg { width: 13px; }
.product-visual.is-compact .visual-leaf { transform: scale(.75) rotate(-34deg); }
.product-visual.is-compact .visual-caption { font-size: 8px; }
.product-card-copy { position: relative; padding: 19px 21px 21px; }
.product-line-label { color: var(--brick); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.product-card h3 { max-width: 240px; margin: 8px 0 5px; font-family: Georgia, serif; font-size: 22px; line-height: 1.02; letter-spacing: -.04em; }
.product-card p { margin: 0; color: var(--ink-soft); font-size: 12px; }
.card-arrow { position: absolute; right: 19px; bottom: 18px; display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; color: var(--brick); border: 1px solid var(--line); border-radius: 50%; transition: color .2s ease, background .2s ease; }
.product-card:hover .card-arrow { color: var(--white); background: var(--brick); border-color: var(--brick); }
.clients-section { padding-bottom: 125px; }
.clients-logo-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 54px; padding: 33px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.client-logo-placeholder { min-height: 105px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--ink); text-align: center; }
.client-logo-mark { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid currentColor; border-radius: 50%; font-family: Georgia, serif; font-size: 20px; }
.client-logo-placeholder strong { font-family: Georgia, serif; font-size: 18px; letter-spacing: -.04em; }
.client-logo-placeholder small { color: #9a948b; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.client-logo-0 { color: #3d7a39; }.client-logo-1 { color: #2f5b91; }.client-logo-2 { color: var(--brick); }.client-logo-3 { color: var(--plum); }
.partner-section { display: grid; grid-template-columns: .95fr 1.05fr; gap: 80px; align-items: center; padding-bottom: 128px; }
.partner-copy h2 { max-width: 560px; margin: 15px 0; font-family: Georgia, serif; font-size: clamp(37px, 4.1vw, 61px); line-height: .94; letter-spacing: -.065em; }
.partner-copy p { max-width: 450px; margin: 0 0 26px; color: var(--ink-soft); font-size: 15px; line-height: 1.7; }
.partner-art { position: relative; min-height: 325px; background: var(--paper-2); border-radius: 42% 21% 42% 21%; overflow: hidden; }
.partner-art::before { content: ""; position: absolute; width: 210px; height: 210px; top: 57px; left: 20%; border: 1px solid rgba(23,44,43,.14); border-radius: 50%; }
.partner-orbit { position: absolute; width: 170px; height: 170px; border: 1px dashed rgba(164,58,44,.4); border-radius: 50%; }
.orbit-one { top: 77px; left: 24%; }.orbit-two { top: 95px; left: 31%; width: 135px; height: 135px; border-color: rgba(226,179,77,.65); }
.partner-note { position: absolute; z-index: 2; top: 110px; left: 36%; display: flex; align-items: center; gap: 12px; padding: 16px 20px; color: var(--white); background: var(--green); border-radius: 15px; box-shadow: 9px 10px 0 rgba(23,44,43,.13); transform: rotate(-6deg); }
.partner-note span { font-size: 11px; line-height: 1.1; }.partner-note strong { color: var(--gold-pale); font-family: Georgia, serif; font-size: 19px; }
.partner-petal { position: absolute; width: 88px; height: 49px; border-radius: 100% 0 100% 0; background: var(--brick); }.petal-one { right: 13%; top: 35px; transform: rotate(34deg); }.petal-two { left: 9%; bottom: 38px; width: 65px; height: 37px; background: var(--gold); transform: rotate(-32deg); }
.social-banner { color: var(--white); background: var(--ink); }.social-banner-inner { min-height: 158px; display: flex; align-items: center; gap: 18px; }.social-icon { display: flex; width: 54px; height: 54px; align-items: center; justify-content: center; color: var(--ink); background: var(--gold); border-radius: 50%; }.social-banner h2 { margin: 5px 0 0; font-family: Georgia, serif; font-size: 35px; letter-spacing: -.06em; }.social-banner .button { margin-left: auto; }

/* Inner pages */
.page-hero { position: relative; overflow: hidden; }.page-hero::after { content: ""; position: absolute; right: -7%; bottom: -60%; width: 43%; height: 230%; border-radius: 50%; background: rgba(226,179,77,.3); transform: rotate(24deg); }.page-hero-inner { position: relative; z-index: 1; min-height: 330px; display: flex; align-items: center; justify-content: space-between; gap: 50px; padding-top: 54px; padding-bottom: 54px; }.page-hero h1 { max-width: 720px; margin: 16px 0 16px; color: var(--ink); font-family: Georgia, serif; font-size: clamp(48px, 6vw, 76px); line-height: .91; letter-spacing: -.07em; }.page-hero p { max-width: 580px; margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.65; }.page-hero-cream { background: var(--cream); }.page-hero-gold { color: var(--ink); background: var(--gold); }.page-hero-brick { color: var(--white); background: var(--brick); }.page-hero-brick h1, .page-hero-brick p { color: var(--white); }.page-hero-brick p { color: rgba(255,255,255,.76); }.page-hero-ink { color: var(--white); background: var(--ink); }.page-hero-ink h1 { color: var(--white); }.page-hero-ink p { color: rgba(255,255,255,.72); }.page-hero-mark { position: relative; z-index: 2; width: 205px; height: 205px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 13px; color: var(--brick); border: 1px solid currentColor; border-radius: 48% 52% 45% 55%; transform: rotate(8deg); }.page-hero-mark span { font-family: Georgia, serif; font-size: 30px; letter-spacing: -.07em; font-style: italic; }.page-hero-mark svg { color: var(--gold); }.page-hero-ink .page-hero-mark { color: var(--gold-pale); }.page-hero-brick .page-hero-mark { color: var(--gold-pale); }.page-hero-actions { display: flex; gap: 11px; margin-top: 24px; }.products-main { padding-top: 72px; padding-bottom: 120px; }.products-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }.filter-tabs { display: flex; gap: 4px; flex-wrap: wrap; }.filter-tabs button { padding: 10px 13px; color: var(--ink-soft); background: transparent; border: 1px solid transparent; border-radius: 99px; font-size: 11px; font-weight: 800; cursor: pointer; }.filter-tabs button:hover, .filter-tabs button.is-selected { color: var(--brick); background: var(--cream); border-color: var(--line); }.search-box { display: flex; min-width: 218px; align-items: center; gap: 8px; padding: 0 13px; color: var(--ink-soft); border-bottom: 1px solid var(--line); }.search-box input { width: 100%; height: 38px; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 12px; }.results-caption { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; color: var(--ink-soft); border-top: 1px solid var(--line); font-size: 11px; }.results-caption-note { color: #9a948b; font-style: italic; }.products-grid { margin-top: 17px; }.breadcrumb { display: flex; gap: 9px; align-items: center; padding-top: 24px; color: var(--ink-soft); font-size: 10px; }.breadcrumb a { color: var(--brick); font-weight: 800; }.breadcrumb strong { max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.product-detail-main { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: start; padding-top: 45px; padding-bottom: 100px; }.detail-visual-column { position: sticky; top: 110px; }.detail-visual-column .product-visual { width: 100%; height: 460px; background: var(--cream); border-radius: 26px; overflow: hidden; }.detail-visual-column .visual-sun { width: 320px; height: 320px; }.detail-visual-caption { display: flex; align-items: center; justify-content: space-between; padding-top: 14px; }.detail-visual-caption strong { color: var(--brick); font-family: Georgia, serif; font-size: 23px; }.detail-visual-caption small { max-width: 210px; color: #9a948b; font-size: 10px; line-height: 1.35; text-align: right; }.detail-copy { padding: 28px 0; }.detail-copy h1 { max-width: 560px; margin: 13px 0 11px; font-family: Georgia, serif; font-size: clamp(42px, 4.5vw, 67px); line-height: .91; letter-spacing: -.07em; }.detail-pack { margin: 0; color: var(--ink-soft); font-size: 14px; }.detail-divider { width: 100%; height: 1px; margin: 26px 0; background: var(--line); }.detail-label { color: var(--brick); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; font-weight: 800; }.detail-copy > p:not(.detail-pack):not(.allergen-line) { max-width: 530px; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }.allergen-line { margin-top: 18px; color: var(--brick) !important; font-size: 11px !important; line-height: 1.4; font-weight: 800; }.nutrition-card { margin: 27px 0; padding: 19px; border: 1px solid var(--line); border-radius: 14px; }.nutrition-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }.nutrition-heading > div { display: flex; flex-direction: column; gap: 8px; }.nutrition-heading .eyebrow { font-size: 8px; }.nutrition-heading strong, .nutrition-heading > span { font-size: 10px; }.nutrition-heading > span { color: var(--ink-soft); }.nutrition-table-wrap { overflow-x: auto; }.nutrition-card table { width: 100%; border-collapse: collapse; font-size: 10px; }.nutrition-card th, .nutrition-card td { padding: 7px 5px; border-top: 1px solid var(--line); text-align: right; }.nutrition-card th:first-child, .nutrition-card td:first-child { text-align: left; }.nutrition-card thead th { color: var(--brick); border-top: 0; font-size: 9px; }.nutrition-card tbody th { color: var(--ink-soft); font-weight: 600; }.nutrition-card small { display: block; margin-top: 12px; color: #9a948b; font-size: 9px; }.pending-box { display: flex; gap: 13px; align-items: flex-start; padding: 16px; color: var(--ink-soft); background: var(--cream); border-radius: 12px; }.pending-box svg { flex: 0 0 auto; color: var(--brick); }.pending-box strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: 12px; }.pending-box p { margin: 0; font-size: 11px; line-height: 1.5; }.pending-box-small { margin: 25px 0; }.detail-related { padding-bottom: 120px; }.detail-related .section-heading { margin-bottom: 30px; }

/* Catalog */
.catalog-main { padding-top: 76px; padding-bottom: 120px; }.catalog-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 50px; }.catalog-intro h2 { max-width: 550px; margin: 15px 0 0; font-family: Georgia, serif; font-size: clamp(36px, 4.4vw, 57px); line-height: .95; letter-spacing: -.07em; }.catalog-intro p { max-width: 430px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.7; }.catalog-viewer { position: relative; display: grid; grid-template-columns: 1fr 1fr; width: min(810px, calc(100% - 100px)); min-height: 480px; margin: 0 auto; box-shadow: 0 25px 60px rgba(23,44,43,.14); }.catalog-page { position: relative; overflow: hidden; }.catalog-page-left { display: flex; flex-direction: column; justify-content: end; padding: 33px; color: var(--white); background: var(--brick); border-radius: 18px 0 0 18px; }.catalog-page-right { display: flex; min-height: 480px; flex-direction: column; padding: 33px; color: var(--ink); background: #faf4e9; border-radius: 0 18px 18px 0; }.catalog-page-number { position: absolute; top: 25px; right: 28px; color: rgba(23,44,43,.38); font-size: 10px; letter-spacing: .13em; }.catalog-page-left .catalog-page-number { color: rgba(255,255,255,.58); left: 28px; right: auto; }.catalog-page-left::after { content: ""; position: absolute; right: -30px; top: 72px; width: 185px; height: 185px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; }.catalog-page-left strong { position: relative; z-index: 1; margin-bottom: 26px; font-family: Georgia, serif; font-size: 48px; line-height: .87; letter-spacing: -.07em; }.catalog-page-left em { color: var(--gold-pale); font-style: normal; }.catalog-page-left small { max-width: 170px; color: rgba(255,255,255,.67); font-size: 10px; line-height: 1.4; }.decoration-left { position: absolute; top: 111px; left: 47px; width: 64px; height: 37px; border-radius: 100% 0 100% 0; background: var(--gold); transform: rotate(35deg); }.catalog-page-content { max-width: 270px; margin: auto 0; }.catalog-page-content h3 { margin: 17px 0 12px; font-family: Georgia, serif; font-size: 39px; line-height: .94; letter-spacing: -.06em; }.catalog-page-content p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }.catalog-placeholder { display: flex; align-items: center; gap: 11px; margin-top: 28px; padding: 14px; color: var(--brick); background: #f1e7d6; border-radius: 10px; font-size: 10px; line-height: 1.3; }.catalog-placeholder strong { color: var(--ink); font-size: 11px; }.catalog-page-foot { display: flex; justify-content: space-between; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--line); color: #9a948b; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }.catalog-control { position: absolute; z-index: 2; top: 50%; display: flex; width: 43px; height: 43px; align-items: center; justify-content: center; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 7px 17px rgba(23,44,43,.14); transform: translateY(-50%); cursor: pointer; transition: all .2s ease; }.catalog-control:hover { color: var(--white); background: var(--brick); border-color: var(--brick); }.catalog-prev { left: -61px; }.catalog-next { right: -61px; }.catalog-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 29px; }.catalog-controls > span { color: #9a948b; font-size: 10px; }.catalog-dots { display: flex; align-items: center; gap: 7px; }.catalog-dots button { width: 7px; height: 7px; padding: 0; background: var(--line); border-radius: 50%; cursor: pointer; }.catalog-dots button.is-active { width: 22px; background: var(--brick); border-radius: 99px; }

/* Company / reseller / contact / content */
.company-main, .reseller-main, .where-main, .representatives-main, .contact-main, .careers-main, .recipes-main, .faq-main, .policy-main { padding-top: 90px; padding-bottom: 120px; }.principles-section { padding-bottom: 116px; }.principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 45px; }.principle-card { min-height: 238px; display: flex; flex-direction: column; padding: 25px; background: var(--cream); border-radius: var(--radius-md); }.principle-card > span { align-self: end; color: var(--brick); font-family: Georgia, serif; font-size: 13px; }.principle-card > svg { margin: auto 0 17px; color: var(--brick); }.principle-card h3 { margin: 0 0 6px; font-family: Georgia, serif; font-size: 26px; letter-spacing: -.05em; }.principle-card p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }.timeline-section { display: grid; grid-template-columns: .77fr 1.23fr; gap: 100px; padding: 104px 0; border-top: 1px solid var(--line); }.timeline-heading h2 { max-width: 430px; margin: 15px 0; font-family: Georgia, serif; font-size: 47px; line-height: .95; letter-spacing: -.06em; }.timeline-heading p { max-width: 350px; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }.timeline-list { display: flex; flex-direction: column; gap: 35px; padding-left: 35px; border-left: 1px solid var(--line); }.timeline-item { position: relative; display: grid; grid-template-columns: 110px 1fr; gap: 20px; }.timeline-dot { position: absolute; left: -41px; top: 4px; width: 11px; height: 11px; border: 3px solid var(--paper); border-radius: 50%; background: var(--brick); box-shadow: 0 0 0 1px var(--brick); }.timeline-year { color: var(--brick); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }.timeline-item h3 { margin: 7px 0; font-family: Georgia, serif; font-size: 25px; letter-spacing: -.04em; }.timeline-item p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }.transparency-section { display: flex; align-items: center; gap: 23px; padding: 29px; color: var(--white); background: var(--ink); border-radius: var(--radius-md); }.transparency-icon { display: flex; width: 58px; height: 58px; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--ink); background: var(--gold); border-radius: 50%; }.transparency-section h2 { margin: 8px 0; font-family: Georgia, serif; font-size: 26px; letter-spacing: -.04em; }.transparency-section p { max-width: 580px; margin: 0; color: rgba(255,255,255,.67); font-size: 12px; line-height: 1.5; }.transparency-section .button { margin-left: auto; flex: 0 0 auto; color: var(--white); border-color: rgba(255,255,255,.35); }.reseller-intro { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 45px; }.reseller-intro p { max-width: 360px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }.resource-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.resource-card { scroll-margin-top: 110px; min-height: 337px; display: flex; flex-direction: column; padding: 25px; background: var(--cream); border-radius: var(--radius-md); }.resource-card:nth-child(2) { color: var(--white); background: var(--brick); }.resource-card:nth-child(2) .eyebrow, .resource-card:nth-child(2) .resource-icon { color: var(--gold-pale); }.resource-card:nth-child(2) .resource-empty { color: rgba(255,255,255,.63); border-color: rgba(255,255,255,.22); }.resource-icon { display: flex; width: 55px; height: 55px; align-items: center; justify-content: center; margin-bottom: 25px; color: var(--brick); border: 1px solid currentColor; border-radius: 50%; }.resource-card h3 { margin: 12px 0 8px; font-family: Georgia, serif; font-size: 29px; letter-spacing: -.05em; }.resource-card p { min-height: 39px; margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }.resource-card:nth-child(2) p { color: rgba(255,255,255,.7); }.resource-empty { display: flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 13px; color: #9a948b; border-top: 1px solid var(--line); font-size: 10px; }.resource-action { display: flex; align-items: center; gap: 7px; width: fit-content; margin-top: 14px; padding: 0; color: var(--ink); background: transparent; font-size: 11px; font-weight: 800; }.resource-card:nth-child(2) .resource-action { color: var(--white); }.resource-action:disabled { cursor: not-allowed; opacity: .6; }.campaign-format-section { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-top: 85px; padding-top: 50px; border-top: 1px solid var(--line); }.campaign-format-section h2 { margin: 14px 0; font-family: Georgia, serif; font-size: 45px; line-height: .95; letter-spacing: -.06em; }.campaign-format-section p { max-width: 360px; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }.format-list { display: grid; grid-template-columns: 1fr 1fr; align-self: center; gap: 10px; }.format-list div { display: flex; align-items: center; gap: 9px; padding: 13px 14px; color: var(--ink-soft); border: 1px solid var(--line); border-radius: 9px; font-size: 11px; }.format-list svg { color: var(--brick); }.where-search { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-bottom: 29px; border-bottom: 1px solid var(--line); }.where-search h2 { margin: 13px 0 0; font-family: Georgia, serif; font-size: 46px; letter-spacing: -.06em; }.where-search .search-box { min-width: 290px; }.region-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; padding: 35px 0 75px; }.region-card { position: relative; min-height: 145px; display: flex; flex-direction: column; gap: 9px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; transition: all .2s ease; }.region-card:hover { border-color: var(--brick); transform: translateY(-4px); }.region-card svg:first-child { color: var(--brick); }.region-card strong { font-family: Georgia, serif; font-size: 19px; }.region-card span { margin-top: auto; color: #9a948b; font-size: 9px; line-height: 1.3; }.region-card svg:last-child { position: absolute; top: 18px; right: 16px; color: var(--brick); }.where-callout { display: flex; align-items: center; gap: 20px; padding: 25px; color: var(--white); background: var(--green); border-radius: var(--radius-md); }.where-callout > svg { color: var(--gold-pale); }.where-callout h3 { margin: 7px 0; font-family: Georgia, serif; font-size: 27px; }.where-callout p { margin: 0; color: rgba(255,255,255,.7); font-size: 12px; }.where-callout .button { margin-left: auto; }.representatives-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-bottom: 42px; }.representatives-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }.representative-card { min-height: 207px; display: flex; flex-direction: column; padding: 21px; border: 1px solid var(--line); border-radius: 14px; }.rep-index { align-self: end; color: var(--brick); font-family: Georgia, serif; font-size: 12px; }.representative-card > svg { margin: 27px 0 15px; color: var(--brick); }.representative-card h3 { margin: 0 0 5px; font-family: Georgia, serif; font-size: 22px; }.representative-card p { margin: 0; color: var(--ink-soft); font-size: 11px; }.rep-status { display: flex; align-items: center; gap: 5px; margin-top: auto; color: #9a948b; font-size: 9px; }.rep-status span { width: 6px; height: 6px; background: var(--gold); border-radius: 50%; }.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }.contact-info h2, .careers-grid h2, .recipe-feature h2 { max-width: 490px; margin: 15px 0; font-family: Georgia, serif; font-size: 48px; line-height: .94; letter-spacing: -.065em; }.contact-info > p { max-width: 430px; margin: 0 0 27px; color: var(--ink-soft); font-size: 14px; line-height: 1.7; }.contact-channel { display: flex; align-items: center; gap: 13px; padding: 16px 0; border-top: 1px solid var(--line); }.contact-channel svg:first-child { color: var(--brick); }.contact-channel > span { display: flex; flex: 1; flex-direction: column; gap: 4px; }.contact-channel small { color: #9a948b; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }.contact-channel strong { font-size: 13px; }.contact-channel > svg:last-child { color: var(--brick); }.contact-address { display: flex; gap: 10px; margin-top: 30px; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }.contact-address svg { color: var(--brick); flex: 0 0 auto; }.contact-form-card { padding: 32px; background: var(--cream); border-radius: var(--radius-md); }.contact-form-card h2 { margin: 13px 0 26px; font-family: Georgia, serif; font-size: 39px; letter-spacing: -.06em; }.contact-form-card form { display: grid; gap: 16px; }.contact-form-card label { display: flex; flex-direction: column; gap: 7px; color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.contact-form-card input, .contact-form-card textarea, .contact-form-card select { width: 100%; padding: 12px 13px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; outline: none; font-size: 12px; font-weight: 400; letter-spacing: 0; text-transform: none; resize: vertical; }.contact-form-card input:focus, .contact-form-card textarea:focus, .contact-form-card select:focus { border-color: var(--brick); box-shadow: 0 0 0 3px rgba(164,58,44,.1); }.form-note { color: #9a948b; font-size: 10px; line-height: 1.4; }.careers-grid { display: grid; grid-template-columns: 1fr .75fr; gap: 105px; align-items: center; }.careers-grid p { max-width: 460px; color: var(--ink-soft); font-size: 15px; line-height: 1.7; }.career-perks { display: flex; flex-direction: column; gap: 10px; margin: 26px 0 29px; color: var(--ink-soft); font-size: 12px; }.career-perks span { display: flex; align-items: center; gap: 7px; }.career-perks svg { color: var(--brick); }.careers-card { min-height: 316px; display: flex; flex-direction: column; padding: 28px; color: var(--white); background: var(--ink); border-radius: var(--radius-md); }.careers-icon { display: flex; width: 54px; height: 54px; align-items: center; justify-content: center; color: var(--ink); background: var(--gold); border-radius: 50%; }.careers-card .eyebrow { margin-top: auto; color: var(--gold-pale); }.careers-card h3 { margin: 12px 0 5px; font-family: Georgia, serif; font-size: 28px; }.careers-card p { margin: 0; color: rgba(255,255,255,.65); font-size: 12px; }.careers-card .resource-empty { border-color: rgba(255,255,255,.2); }.recipe-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 75px; align-items: center; margin-bottom: 110px; }.recipe-feature-art { position: relative; min-height: 320px; display: flex; align-items: center; justify-content: center; color: var(--white); background: var(--brick); border-radius: 28px 8px 28px 8px; transform: rotate(-2deg); }.recipe-feature-art::after { content: ""; position: absolute; inset: 25px; border: 1px dashed rgba(255,255,255,.45); border-radius: 50%; }.recipe-feature-art > span { position: relative; z-index: 1; font-size: 11px; line-height: 1.1; text-align: center; text-transform: uppercase; letter-spacing: .15em; }.recipe-feature-art strong { color: var(--gold-pale); font-family: Georgia, serif; font-size: 29px; letter-spacing: -.05em; }.recipe-art-bowl { position: absolute; width: 110px; height: 58px; top: 77px; right: 74px; border: 3px solid var(--gold-pale); border-radius: 50%; transform: rotate(25deg); }.recipe-feature h2 { font-size: 57px; }.recipe-feature p { max-width: 420px; margin: 0 0 25px; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }.recipes-main > .section-heading { margin-bottom: 34px; }.recipes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.recipe-card { position: relative; min-height: 236px; display: flex; flex-direction: column; padding: 23px; border: 1px solid var(--line); border-radius: 13px; }.recipe-card:nth-child(2) { color: var(--white); background: var(--green); border-color: var(--green); }.recipe-card:nth-child(2) .eyebrow { color: var(--gold-pale); }.recipe-card:nth-child(2) p { color: rgba(255,255,255,.7); }.recipe-card-number { align-self: end; color: var(--brick); font-family: Georgia, serif; font-size: 12px; }.recipe-card h3 { max-width: 240px; margin: 15px 0 9px; font-family: Georgia, serif; font-size: 27px; line-height: .96; letter-spacing: -.05em; }.recipe-card p { max-width: 260px; margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }.recipe-card-link { display: flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 17px; color: var(--brick); font-size: 10px; font-weight: 800; }.recipe-card:nth-child(2) .recipe-card-link { color: var(--gold-pale); }.faq-intro { display: flex; align-items: center; gap: 16px; padding-bottom: 29px; border-bottom: 1px solid var(--line); }.faq-intro > svg { color: var(--brick); }.faq-intro h2 { margin: 7px 0 0; font-family: Georgia, serif; font-size: 35px; letter-spacing: -.06em; }.faq-list { max-width: 800px; margin: 35px auto 0; }.faq-item { border-bottom: 1px solid var(--line); }.faq-item button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; color: var(--ink); background: transparent; text-align: left; font-family: Georgia, serif; font-size: 22px; letter-spacing: -.035em; cursor: pointer; }.faq-item button svg { color: var(--brick); flex: 0 0 auto; }.faq-item p { max-width: 680px; margin: -3px 0 22px; color: var(--ink-soft); font-size: 13px; line-height: 1.65; }.faq-footer { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 49px; color: var(--ink-soft); font-size: 12px; }.policy-main { display: flex; justify-content: center; }.policy-card { width: min(660px, 100%); padding: 43px; background: var(--cream); border-radius: var(--radius-md); }.policy-icon { display: flex; width: 58px; height: 58px; align-items: center; justify-content: center; color: var(--white); background: var(--ink); border-radius: 50%; }.policy-card h2 { margin: 22px 0 11px; font-family: Georgia, serif; font-size: 42px; letter-spacing: -.06em; }.policy-card p { max-width: 480px; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }.policy-meta { display: flex; justify-content: space-between; margin: 29px 0; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 10px; }.policy-meta span { color: #9a948b; }.empty-page { min-height: 510px; display: flex; align-items: flex-start; flex-direction: column; justify-content: center; }.empty-page h1 { margin: 15px 0; font-family: Georgia, serif; font-size: 58px; letter-spacing: -.07em; }.empty-page p { max-width: 420px; color: var(--ink-soft); line-height: 1.6; }

/* Footer + floating CTA */
.site-footer { background: var(--cream); border-top: 1px solid var(--line); }.footer-top { display: grid; grid-template-columns: 1.4fr .75fr .75fr 1.2fr; gap: 48px; padding-top: 70px; padding-bottom: 56px; }.footer-brand p { max-width: 230px; margin: 18px 0; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }.footer-social { display: inline-flex; align-items: center; gap: 8px; color: var(--brick); font-size: 11px; font-weight: 800; }.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; color: var(--ink-soft); font-size: 11px; }.footer-column a:hover { color: var(--brick); }.footer-heading { margin-bottom: 5px; color: var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.footer-contact span:not(.footer-heading), .footer-contact a { display: flex; align-items: flex-start; gap: 7px; line-height: 1.4; }.footer-contact svg { flex: 0 0 auto; color: var(--brick); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 17px; padding-bottom: 20px; color: #9a948b; border-top: 1px solid var(--line); font-size: 9px; }.footer-bottom a { color: var(--brick); font-weight: 800; }.whatsapp-float { position: fixed; z-index: 40; right: 23px; bottom: 24px; display: flex; width: 54px; height: 54px; align-items: center; justify-content: center; color: var(--white); background: var(--green); border: 4px solid var(--paper); border-radius: 50%; box-shadow: 0 8px 23px rgba(23,44,43,.25); transition: transform .2s ease, background .2s ease; }.whatsapp-float:hover { background: #376db4; transform: scale(1.07); }.whatsapp-pulse { position: absolute; inset: -5px; border: 1px solid var(--green); border-radius: 50%; opacity: .5; animation: pulse 2.5s ease-in-out infinite; }.whatsapp-tooltip { position: absolute; right: 63px; padding: 8px 11px; color: var(--white); background: var(--ink); border-radius: 7px; opacity: 0; pointer-events: none; transform: translateX(4px); transition: all .2s ease; white-space: nowrap; font-size: 10px; }.whatsapp-float:hover .whatsapp-tooltip { opacity: 1; transform: translateX(0); }

@keyframes dropIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pulse { 0%, 100% { transform: scale(.92); opacity: .4; } 50% { transform: scale(1.12); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

@media (max-width: 1080px) {
  .header-inner { gap: 18px; }.desktop-nav { gap: 0; }.nav-home, .nav-link, .nav-trigger { padding: 0 8px; font-size: 11px; }.nav-home::after, .nav-link::after, .nav-trigger::after { left: 8px; right: 8px; }.header-instagram { display: none; }.header-actions { margin-left: auto; }.partner-section { gap: 45px; }.footer-top { gap: 28px; }
}
@media (max-width: 820px) {
  .container { width: min(100% - 40px, 650px); }.header-inner { width: calc(100% - 40px); height: 72px; }.desktop-nav, .header-actions { display: none; }.mobile-menu-button { display: inline-flex; margin-left: auto; padding: 8px; color: var(--ink); background: transparent; cursor: pointer; }.mobile-nav { display: flex; flex-direction: column; gap: 0; max-height: calc(100vh - 72px); padding: 7px 20px 22px; overflow-y: auto; background: var(--paper); border-top: 1px solid var(--line); }.mobile-nav-home, .mobile-nav-link, .mobile-nav-trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 16px 0; color: var(--ink); background: transparent; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 800; text-align: left; }.mobile-submenu { display: flex; flex-direction: column; gap: 3px; padding: 7px 0 12px 14px; border-bottom: 1px solid var(--line); }.mobile-submenu a { padding: 9px 0; color: var(--ink-soft); font-size: 12px; }.mobile-cta { margin-top: 19px; }.hero-grid { grid-template-columns: 1fr; min-height: 0; padding-top: 55px; }.hero-copy { padding: 0; }.hero-copy .hero-title { max-width: 600px; font-size: clamp(48px, 11vw, 72px); }.hero-art-wrap { min-height: 350px; }.hero-stamp { top: 33px; right: 8%; }.hero-section::after { right: -32%; top: 48%; width: 110%; height: 68%; }.quick-rail { grid-template-columns: 1fr; margin-top: 0; box-shadow: none; }.quick-card { min-height: 80px; border-right: 0; border-bottom: 1px solid var(--line); }.quick-card-featured { background: var(--gold); }.lines-section { padding-top: 86px; padding-bottom: 86px; }.line-grid, .featured-grid, .products-grid { grid-template-columns: repeat(2, 1fr); }.story-grid, .partner-section, .catalog-intro, .timeline-section, .campaign-format-section, .contact-layout, .careers-grid, .recipe-feature { grid-template-columns: 1fr; gap: 42px; }.story-grid { padding-top: 80px; padding-bottom: 80px; }.story-visual { max-width: 520px; width: 100%; }.partner-art { min-height: 300px; }.clients-logo-row { grid-template-columns: repeat(2, 1fr); }.page-hero-inner { min-height: 280px; }.page-hero-mark { width: 150px; height: 150px; }.page-hero-mark span { font-size: 24px; }.products-toolbar { align-items: flex-start; flex-direction: column; }.search-box { width: 100%; }.filter-tabs { flex-wrap: nowrap; max-width: 100%; padding-bottom: 5px; overflow-x: auto; }.filter-tabs button { flex: 0 0 auto; }.product-detail-main { grid-template-columns: 1fr; gap: 34px; }.detail-visual-column { position: static; }.detail-visual-column .product-visual { max-width: 580px; }.detail-copy { padding-top: 0; }.catalog-viewer { width: calc(100% - 74px); min-height: 420px; }.catalog-page-right { min-height: 420px; }.catalog-page-left strong { font-size: 37px; }.catalog-prev { left: -49px; }.catalog-next { right: -49px; }.representatives-grid { grid-template-columns: repeat(3, 1fr); }.region-grid { grid-template-columns: repeat(3, 1fr); }.footer-top { grid-template-columns: repeat(2, 1fr); }.footer-brand { grid-column: span 2; }.footer-bottom { flex-wrap: wrap; }
}
@media (max-width: 540px) {
  .container { width: calc(100% - 32px); }.brand-mark { width: 82px; height: 68px; }.brand-seal { width: 37px; height: 37px; }.brand-copy strong { font-size: 21px; }.hero-copy .hero-title { font-size: 48px; }.hero-copy > p { font-size: 14px; }.hero-actions { align-items: stretch; flex-direction: column; }.hero-actions .button { width: 100%; }.hero-art-wrap { min-height: 300px; }.product-visual { transform: scale(.86); transform-origin: center; }.hero-stamp { right: 0; transform: scale(.82) rotate(9deg); }.hero-bottom-ribbon { gap: 10px; justify-content: flex-start; padding: 0 16px; overflow: hidden; white-space: nowrap; font-size: 8px; }.quick-card { padding-left: 17px; padding-right: 17px; }.section-heading h2, .section-heading-row h2 { font-size: 43px; }.section-heading-row { align-items: flex-start; flex-direction: column; }.line-grid, .featured-grid, .products-grid, .principles-grid, .resource-grid, .recipes-grid { grid-template-columns: 1fr; }.line-card { min-height: 250px; }.story-visual { min-height: 360px; }.story-card-main { left: 42px; width: calc(100% - 84px); height: 310px; }.story-card-main strong { font-size: 42px; }.story-card-small { width: 112px; height: 112px; }.story-stats { gap: 23px; }.story-stats strong { font-size: 31px; }.story-stats span { font-size: 8px; }.clients-logo-row { grid-template-columns: 1fr 1fr; gap: 0; }.client-logo-placeholder { min-height: 120px; }.partner-section { padding-bottom: 85px; }.partner-copy h2 { font-size: 46px; }.social-banner-inner { min-height: 190px; align-items: flex-start; flex-wrap: wrap; padding-top: 32px; padding-bottom: 32px; }.social-banner .button { width: 100%; margin-left: 0; }.page-hero-inner { align-items: flex-start; flex-direction: column; padding-top: 45px; padding-bottom: 45px; }.page-hero-mark { align-self: flex-end; width: 112px; height: 112px; }.page-hero-mark span { font-size: 19px; }.page-hero-mark svg { width: 28px; }.page-hero h1 { font-size: 50px; }.page-hero p { font-size: 14px; }.results-caption { align-items: flex-start; flex-direction: column; gap: 7px; }.detail-visual-column .product-visual { height: 360px; }.detail-visual-column .visual-sun { width: 260px; height: 260px; }.detail-visual-caption { align-items: flex-start; flex-direction: column; gap: 7px; }.detail-visual-caption small { max-width: 300px; text-align: left; }.detail-copy h1 { font-size: 48px; }.nutrition-heading { align-items: flex-start; flex-direction: column; }.catalog-intro { gap: 24px; }.catalog-intro h2 { font-size: 43px; }.catalog-viewer { display: block; width: calc(100% - 0px); min-height: 0; }.catalog-page-left { min-height: 230px; border-radius: 16px 16px 0 0; }.catalog-page-right { min-height: 310px; border-radius: 0 0 16px 16px; }.catalog-page-left strong { font-size: 32px; }.catalog-page-content { margin: 20px 0; }.catalog-page-content h3 { font-size: 32px; }.catalog-prev, .catalog-next { top: 25%; }.catalog-prev { left: 10px; }.catalog-next { right: 10px; }.catalog-controls { align-items: center; flex-wrap: wrap; gap: 13px; }.catalog-controls > span { width: 100%; order: 2; text-align: center; }.catalog-controls .button { order: 3; }.timeline-section { padding: 75px 0; }.timeline-heading h2 { font-size: 43px; }.timeline-list { padding-left: 23px; }.timeline-dot { left: -29px; }.timeline-item { grid-template-columns: 1fr; gap: 7px; }.transparency-section { align-items: flex-start; flex-direction: column; }.transparency-section .button { margin: 5px 0 0; }.reseller-intro, .representatives-intro, .where-search { align-items: flex-start; flex-direction: column; }.campaign-format-section { gap: 25px; }.campaign-format-section h2 { font-size: 43px; }.format-list { grid-template-columns: 1fr; }.region-grid, .representatives-grid { grid-template-columns: repeat(2, 1fr); }.where-search .search-box { min-width: 0; }.where-callout { align-items: flex-start; flex-direction: column; }.where-callout .button { margin-left: 0; }.contact-info h2, .careers-grid h2, .recipe-feature h2 { font-size: 45px; }.contact-form-card { padding: 22px; }.recipe-feature-art { min-height: 260px; }.faq-item button { font-size: 19px; }.faq-footer { align-items: center; flex-direction: column; }.policy-card { padding: 25px; }.policy-card h2 { font-size: 37px; }.footer-top { grid-template-columns: 1fr 1fr; gap: 35px 20px; padding-top: 50px; }.footer-brand { grid-column: span 2; }.footer-bottom { flex-direction: column; gap: 8px; }.whatsapp-float { right: 15px; bottom: 15px; }
}

/* ---------- Ajustes do WordPress (não existem no protótipo) ---------- */

/* Barra de administração (logado): o cabeçalho fixo desce junto. */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Filtros de produto são links (funcionam sem JS); mesmo visual dos botões. */
.filter-tabs a { padding: 10px 13px; color: var(--ink-soft); background: transparent; border: 1px solid transparent; border-radius: 99px; font-size: 11px; font-weight: 800; cursor: pointer; }
.filter-tabs a:hover, .filter-tabs a.is-selected { color: var(--brick); background: var(--cream); border-color: var(--line); }
@media (max-width: 820px) { .filter-tabs a { flex: 0 0 auto; } }
.search-box input[type="search"] { appearance: none; }

/* Foto do produto (quando cadastrada) no lugar da embalagem ilustrativa. */
.product-photo { display: flex; align-items: center; justify-content: center; width: 100%; height: 410px; background: var(--cream); overflow: hidden; }
.product-photo img { width: 100%; height: 100%; object-fit: contain; }
.product-photo.is-compact { height: 245px; }
.detail-visual-column .product-photo { height: 460px; border-radius: 26px; }
@media (max-width: 540px) { .detail-visual-column .product-photo { height: 360px; } }

/* Perguntas frequentes: a resposta vem do editor (pode ter vários parágrafos). */
.faq-answer p + p { margin-top: -10px; }

/* Ícone dentro de <span> (troca abrir/fechar) não pode virar bloco. */
[data-icone-abrir], [data-icone-fechar] { display: inline-flex; }

/* Texto escrito no editor: páginas comuns, posts e política. */
.content-main { padding-top: 72px; padding-bottom: 120px; max-width: 760px; }
.page-extra { max-width: 760px; margin-bottom: 72px; }
.content-cover { margin: 0 0 40px; }
.content-cover img { width: 100%; height: auto; border-radius: var(--radius-md); }
.content-back { margin-top: 48px; }
.entry-content { color: var(--ink-soft); font-size: 15px; line-height: 1.7; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin-top: 1.6em; color: var(--ink); font-family: Georgia, serif; line-height: 1.05; letter-spacing: -.04em; }
.entry-content h2 { font-size: 34px; }
.entry-content h3 { font-size: 26px; }
.entry-content h4 { font-size: 20px; }
.entry-content a { color: var(--brick); text-decoration: underline; text-underline-offset: 3px; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content li + li { margin-top: .35em; }
.entry-content strong { color: var(--ink); }
.entry-content blockquote { padding-left: 18px; border-left: 3px solid var(--gold); font-style: italic; }
.entry-content img { border-radius: var(--radius-sm); }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 13px; }
.entry-content th, .entry-content td { padding: 8px; border-top: 1px solid var(--line); text-align: left; }
.policy-card .entry-content { margin-bottom: 8px; }
.content-pagination { margin-top: 40px; font-size: 13px; }
.content-pagination .nav-links { display: flex; gap: 10px; }
.content-pagination .current { color: var(--brick); font-weight: 800; }
a.recipe-card { transition: transform .2s ease, box-shadow .2s ease; }
a.recipe-card:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(23,44,43,.1); }

/* Leitores de tela. */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Comentários (posts de receitas). */
.comments-area { margin-top: 72px; padding-top: 48px; border-top: 1px solid var(--line); }
.comments-title, .comment-reply-title { margin: 12px 0 24px; color: var(--ink); font-family: Georgia, serif; font-size: 32px; letter-spacing: -.04em; }
.comment-list { display: grid; gap: 18px; margin-bottom: 48px; }
.comment-list .children { margin: 18px 0 0 28px; display: grid; gap: 18px; }
.comment-body { padding: 18px; background: var(--cream); border-radius: var(--radius-sm); }
.comment-author { display: flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 800; font-size: 13px; }
.comment-author img { border-radius: 50%; }
.comment-author .says { display: none; }
.comment-metadata { margin: 4px 0 10px; font-size: 11px; color: #9a948b; }
.comment-content { color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.comment-content > * + * { margin-top: .8em; }
.reply { margin-top: 8px; font-size: 12px; font-weight: 800; color: var(--brick); }
.comment-awaiting-moderation { display: block; margin-top: 6px; font-size: 11px; color: var(--brick); }
.comment-form { display: grid; gap: 16px; padding: 28px; background: var(--cream); border-radius: var(--radius-md); }
.comment-form p { margin: 0; }
.comment-form label { display: block; margin-bottom: 6px; color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: 12px 13px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; font-size: 13px; }
.comment-form input:focus, .comment-form textarea:focus { outline: none; border-color: var(--brick); box-shadow: 0 0 0 3px rgba(164,58,44,.1); }
.comment-form .comment-form-cookies-consent { display: flex; align-items: center; gap: 8px; }
.comment-form .comment-form-cookies-consent label { margin: 0; text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 12px; }
.comment-notes, .comments-closed { color: var(--ink-soft); font-size: 12px; }

/* ---------- Movimento (Aparência → Personalizar → Movimento) ----------
   Cada caixinha marcada vira a classe mov-<peça> no <body>.
   Anima as propriedades `translate` e `rotate` (não `transform`): somam-se à
   inclinação que cada peça já tem no transform, em vez de apagá-la. Cada peça
   tem ritmo próprio — fora de compasso parece mais natural. Quem pediu
   "reduzir movimento" no sistema vê tudo parado (regra prefers-reduced-motion). */
@keyframes flutuar { 0%, 100% { translate: 0 0; } 50% { translate: 0 -14px; } }
@keyframes flutuar-inclinado { 0%, 100% { translate: 0 0; rotate: 0deg; } 50% { translate: 0 -12px; rotate: 1.6deg; } }
@keyframes balancar { 0%, 100% { rotate: -4deg; translate: 0 0; } 50% { rotate: 5deg; translate: 3px -6px; } }
@keyframes derivar-a { 0%, 100% { translate: 0 0; rotate: 0deg; } 33% { translate: 6px -10px; rotate: 12deg; } 66% { translate: -4px -4px; rotate: -6deg; } }
@keyframes derivar-b { 0%, 100% { translate: 0 0; rotate: 0deg; } 40% { translate: -8px -12px; rotate: -14deg; } 75% { translate: 3px -5px; rotate: 6deg; } }
@keyframes girar-devagar { from { rotate: 0deg; } to { rotate: 360deg; } }

.hero-visual { display: flex; width: min(490px, 100%); justify-content: center; }

.mov-embalagem .product-visual .visual-package { animation: flutuar-inclinado 7s ease-in-out infinite; }
.mov-imagem .hero-image { animation: flutuar 6s ease-in-out infinite; }
.mov-sol .product-visual .visual-sun { animation: girar-devagar 60s linear infinite; }
.mov-folhas .product-visual .visual-leaf-one, .mov-folhas .partner-petal { animation: balancar 5.5s ease-in-out infinite; }
.mov-folhas .product-visual .visual-leaf-two, .mov-folhas .petal-two { animation: balancar 6.5s ease-in-out infinite -2s; }
.mov-folhas .decoration-left { animation: balancar 6s ease-in-out infinite; }
.mov-amendoins .product-visual .peanut-one { animation: derivar-a 7s ease-in-out infinite; }
.mov-amendoins .product-visual .peanut-two { animation: derivar-b 8.5s ease-in-out infinite -3s; }
.mov-amendoins .product-visual .peanut-three { animation: derivar-a 9s ease-in-out infinite -5s; }
.mov-amendoins .recipe-art-bowl { animation: derivar-b 10s ease-in-out infinite; }
.mov-selo .hero-stamp { animation: flutuar 8s ease-in-out infinite -2s; }
.mov-cartoes .story-card-main { animation: flutuar-inclinado 9s ease-in-out infinite -1s; }
.mov-cartoes .story-card-small { animation: flutuar 8s ease-in-out infinite -2s; }
.mov-cartoes .partner-note { animation: flutuar 6s ease-in-out infinite; }
.mov-clientes .client-logo-mark { animation: flutuar 5s ease-in-out infinite; }
.mov-clientes .client-logo-placeholder:nth-child(2n) .client-logo-mark { animation-duration: 6.5s; animation-delay: -2s; }

/* Nos cartões da lista de produtos: só ao passar o mouse (lista grande parada é mais leve). */
.product-card .product-visual * { animation-play-state: paused; }
.product-card:hover .product-visual * { animation-play-state: running; }

/* ---------- Carrossel do banner principal ---------- */
.hero-slides { display: grid; }
.hero-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility 0s linear .7s; }
.hero-slide.is-active { opacity: 1; visibility: visible; transition: opacity .7s ease, visibility 0s; }
.hero-slide .hero-copy > * { transition: translate .7s ease; }
.hero-slide:not(.is-active) .hero-copy > * { translate: 0 18px; }
.hero-slide .hero-grid { position: relative; z-index: 2; }
.hero-image { width: min(490px, 100%); }
.hero-image img { width: 100%; max-height: 410px; height: auto; object-fit: contain; filter: drop-shadow(0 22px 26px rgba(0,0,0,.25)); }
.hero-section.is-carousel .hero-copy { padding-bottom: 110px; }
.hero-controls { position: absolute; z-index: 4; left: 0; right: 0; bottom: 70px; display: flex; align-items: center; gap: 12px; }
.hero-arrow { display: flex; width: 36px; height: 36px; align-items: center; justify-content: center; color: var(--white); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); border-radius: 50%; cursor: pointer; transition: background .2s ease; }
.hero-arrow:hover { background: rgba(255,255,255,.25); }
.hero-dots { display: flex; gap: 7px; }
.hero-dots button { width: 8px; height: 8px; padding: 0; background: rgba(255,255,255,.4); border-radius: 99px; cursor: pointer; transition: width .3s ease, background .3s ease; }
.hero-dots button.is-active { width: 26px; background: var(--gold); }
@media (max-width: 820px) {
  .hero-section.is-carousel .hero-copy { padding-bottom: 0; }
  .hero-controls { position: relative; bottom: auto; padding: 18px 0 70px; }
}

/* ---------- Nossos clientes ---------- */
.client-logo-placeholder img { max-width: 150px; max-height: 70px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .3s ease, opacity .3s ease; }
.client-logo-placeholder:hover img, a.client-logo-placeholder:focus img { filter: none; opacity: 1; }
/* Mais de 4 clientes: faixa contínua deslizando (a lista vem duplicada para emendar). */
.clients-marquee { overflow: hidden; margin-top: 54px; padding: 33px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.clients-track { display: flex; width: max-content; gap: 56px; animation: deslizar var(--duracao, 30s) linear infinite; }
.clients-marquee:hover .clients-track, .clients-marquee:focus-within .clients-track { animation-play-state: paused; }
.clients-track .client-logo-placeholder { min-width: 170px; }
@keyframes deslizar { from { translate: 0 0; } to { translate: -50% 0; } }

/* Linha do tempo (A empresa): ano numa coluna, texto na outra. No protótipo os
   dois ficavam num bloco só, que caía inteiro na coluna estreita do ano. */
.timeline-year { padding-top: 9px; }
.timeline-item h3 { margin-top: 0; }
@media (max-width: 540px) { .timeline-year { padding-top: 0; } }

/* ---------- Banner: imagem de fundo ----------
   O círculo vermelho saiu do .hero-section::after para dentro de cada banner
   (.hero-blob): banner com foto de fundo não tem círculo. */
.hero-section::after { display: none; }
.hero-slide { position: relative; }
.hero-blob { position: absolute; z-index: 0; right: -11%; top: -26%; width: 61%; height: 105%; border-radius: 50%; background: var(--brick); opacity: .95; transform: rotate(-13deg); pointer-events: none; }
.hero-fundo { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.hero-fundo img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: aproximar 24s ease-in-out infinite alternate; }
/* Camada azul: mais forte à esquerda (onde está o texto). */
.hero-fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(35,71,127,var(--escuro-a)) 0%, rgba(35,71,127,var(--escuro-a)) 35%, rgba(35,71,127,var(--escuro-b)) 100%); }
.escurecer-nenhum { --escuro-a: 0; --escuro-b: 0; }
.escurecer-leve { --escuro-a: .5; --escuro-b: .1; }
.escurecer-medio { --escuro-a: .72; --escuro-b: .3; }
.escurecer-forte { --escuro-a: .88; --escuro-b: .6; }
/* Fundo "respirando": aproxima bem devagar (efeito Ken Burns). */
@keyframes aproximar { from { scale: 1; } to { scale: 1.08; } }
.hero-slide.tem-fundo .hero-copy .hero-title, .hero-slide.tem-fundo .hero-copy > p { text-shadow: 0 2px 18px rgba(0,0,0,.25); }
@media (max-width: 820px) {
  .hero-blob { right: -32%; top: 48%; width: 110%; height: 68%; }
  .hero-fundo::after { background: linear-gradient(180deg, rgba(35,71,127,var(--escuro-a)) 0%, rgba(35,71,127,var(--escuro-a)) 60%, rgba(35,71,127,var(--escuro-b)) 100%); }
}

/* Imagem do banner no lugar da embalagem: mesma posição e inclinação, sem a
   "caixa" vermelha; o sol, as folhas e os amendoins continuam em volta. */
.product-visual .visual-package-imagem { padding: 0; background: none; box-shadow: none; width: 220px; height: 300px; left: 22%; top: 40px; }
.product-visual .visual-package-imagem::before, .product-visual .visual-package-imagem::after { display: none; }
.product-visual .visual-package-imagem img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(14px 18px 0 rgba(23,44,43,.22)); }
