/*
 * CCU design system
 * Tokens and components are deliberately centralized here. Pages only compose
 * components and choose documented ACF variants.
 */
:root {
  --ccu-green: #034e31;
  --ccu-green-bright: #57b847;
  --ccu-green-deep: #004d32;
  --ccu-yellow: #fab700;
  --ccu-blue: #0085c9;
  --ccu-burgundy: #ae0a3b;
  --ccu-white: #fff;
  --ccu-surface: #f8f8f8;
  --ccu-ink: #333;
  --ccu-muted: #a0a0a0;
  --ccu-line: #e5e5e5;
  --ccu-content: 1200px;
  --ccu-gutter: clamp(20px, 4vw, 48px);
  --ccu-quote-size: 275px;
  --ccu-quote-gradient: linear-gradient(54deg, var(--ccu-green) 0%, var(--ccu-green-bright) 100%);
	--font-display: "Montserrat", Arial, sans-serif;
	--font-copy: "Open Sans", Arial, sans-serif;
	--font-condensed: "Barlow Condensed", "Arial Narrow", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background: var(--ccu-surface); }
html:has(body.home:not(.hero-collapsed)) { background: #111; }
body { margin: 0; color: var(--ccu-ink); background: var(--ccu-surface); font-family: var(--font-copy); font-size: 16px; line-height: 1.6; }
body.home:not(.hero-collapsed) { background: #111; }
body.home.hero-collapsed { background: var(--ccu-surface); }
html.ccu-ios-safari:has(body.home:not(.hero-collapsed)),
html.ccu-ios-safari body.home:not(.hero-collapsed) { background: #111; }
html.ccu-ios-safari:has(body.home.hero-collapsed),
html.ccu-ios-safari body.home.hero-collapsed { background: var(--ccu-surface); }
html.ccu-ios-safari body.home:not(.hero-collapsed) .home-hero__video,
html.ccu-ios-safari body.home:not(.hero-collapsed) .home-hero__poster,
html.ccu-ios-safari body.home:not(.hero-collapsed) .home-hero__overlay {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: var(--ccu-hero-h, 100vh);
  min-height: 100vh;
  min-height: -webkit-fill-available;
}
html.ccu-ios-safari .home-hero__content { z-index: 2; }
html.ccu-ios-safari body.home.has-scrolled .home-news { position: relative; z-index: 3; }
img { max-width: 100%; }
a { color: inherit; }
.container { width: min(calc(100% - (var(--ccu-gutter) * 2)), var(--ccu-content)); margin-inline: auto; }
.site-main { min-height: 60vh; overflow-x: clip; margin-top: 0; }
.site-main:has(.ccu-editorial--theme-green-gradient),
.site-main:has(.ccu-editorial--theme-green),
.site-main:has(.home-feature--theme-green-gradient) { overflow: visible; background: #fff; }
html:has(.ccu-editorial--theme-green-gradient),
html:has(.ccu-editorial--theme-green),
body:has(.ccu-editorial--theme-green-gradient),
body:has(.ccu-editorial--theme-green) { background: #fff; }
body.home .site-main { margin-top: 0; overflow: visible; background: var(--ccu-white); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { width: auto; height: auto; clip: auto; padding: 1rem; top: 1rem; left: 1rem; z-index: 100; color: #fff; background: var(--ccu-green); }

/* Typography primitives */
.eyebrow {
  margin: 0 0 15px;
  color: var(--ccu-green-bright);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2.88px;
  line-height: 1.2;
  text-transform: uppercase;
}
.display-title {
  margin: 0;
  color: var(--ccu-green);
  font-family: var(--font-display);
  font-size: clamp(32px, 3.34vw, 40px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
}
figcaption,
.wp-element-caption,
.wp-caption-text {
  font-family: var(--font-copy);
  font-weight: 300;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ccu-green-bright);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.88px;
  text-decoration: none;
  text-transform: uppercase;
}
.text-link:hover { text-decoration: none; }
.text-link__arrow {
  display: inline-flex;
  flex: none;
  width: 14px;
  height: 14px;
  color: var(--ccu-green);
  transition: transform 180ms ease;
}
.text-link__arrow svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.text-link:hover .text-link__arrow, .text-link:focus-visible .text-link__arrow { transform: translateX(4px); }

/* Inline links in copy: dark → bright green, underline fades in instead of snapping on. */
.page-copy__content a:not(.text-link),
.ccu-editorial__richtext a:not(.text-link),
.ccu-timeline__content a,
.news-single__content a:not(.text-link),
.ccu-legal__content a,
.brand-modal__description a,
.brand-modal__site a,
.site-footer__text a,
.content-section article a {
  color: var(--ccu-green);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-position: under;
  text-underline-offset: 0.18em;
  text-decoration-color: transparent;
  transition: color 240ms ease, text-decoration-color 240ms ease;
}
.page-copy__content a:not(.text-link):hover,
.page-copy__content a:not(.text-link):focus-visible,
.ccu-editorial__richtext a:not(.text-link):hover,
.ccu-editorial__richtext a:not(.text-link):focus-visible,
.ccu-timeline__content a:hover,
.ccu-timeline__content a:focus-visible,
.news-single__content a:not(.text-link):hover,
.news-single__content a:not(.text-link):focus-visible,
.ccu-legal__content a:hover,
.ccu-legal__content a:focus-visible,
.brand-modal__description a:hover,
.brand-modal__description a:focus-visible,
.brand-modal__site a:hover,
.brand-modal__site a:focus-visible,
.site-footer__text a:hover,
.site-footer__text a:focus-visible,
.content-section article a:hover,
.content-section article a:focus-visible {
  color: var(--ccu-green-bright);
  text-decoration-color: currentColor;
}
body.home .home-news.content-section article a,
body.home .home-news.content-section article a:hover,
body.home .home-news.content-section article a:focus-visible {
  color: inherit;
  text-decoration: none;
}
.ccu-editorial--theme-green .ccu-editorial__richtext a:not(.text-link),
.ccu-editorial--theme-green-gradient .ccu-editorial__richtext a:not(.text-link) {
  color: #fff;
}
.ccu-editorial--theme-green .ccu-editorial__richtext a:not(.text-link):hover,
.ccu-editorial--theme-green .ccu-editorial__richtext a:not(.text-link):focus-visible,
.ccu-editorial--theme-green-gradient .ccu-editorial__richtext a:not(.text-link):hover,
.ccu-editorial--theme-green-gradient .ccu-editorial__richtext a:not(.text-link):focus-visible {
  color: #fff;
}
.news-single__content figure a,
.news-single__content .wp-block-image a {
  text-decoration: none;
}

/* Motion is additive: no JavaScript and reduced-motion users see all content normally. */
.ccu-motion-ready:not(.ccu-motion-enabled) [data-reveal] { opacity: 1; transform: none; }
.ccu-motion-enabled [data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity 560ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms), transform 560ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms); }
.ccu-motion-enabled [data-reveal].is-revealed { opacity: 1; transform: translateY(0); }

/* Header */
.site-colorbar { position: relative; display: grid; grid-template-columns: 15fr 35fr 20fr 10fr 20fr; height: 10px; overflow: hidden; }
.site-colorbar::after { position: absolute; inset: 0; background: linear-gradient(90deg, var(--ccu-green) 0 15%, var(--ccu-green-bright) 15% 50%, var(--ccu-yellow) 50% 70%, var(--ccu-blue) 70% 80%, var(--ccu-burgundy) 80%); content: ''; opacity: .75; transform: translateX(-105%); }
.site-colorbar span:nth-child(1) { background: var(--ccu-green); }
.site-colorbar span:nth-child(2) { background: var(--ccu-green-bright); }
.site-colorbar span:nth-child(3) { background: var(--ccu-yellow); }
.site-colorbar span:nth-child(4) { background: var(--ccu-blue); }
.site-colorbar span:nth-child(5) { background: var(--ccu-burgundy); }
.utility-navigation { display: block; height: 50px; background: var(--ccu-surface); font-family: var(--font-display); font-size: 10px; font-weight: 500; letter-spacing: 2.4px; line-height: 30px; text-transform: none; }
.utility-navigation__inner { display: flex; min-height: 50px; align-items: center; justify-content: flex-end; gap: 2rem; padding-right: 15px; }
.utility-navigation ul { display: flex; gap: 1.15rem; margin: 0; padding: 0; list-style: none; }
.utility-navigation a { color: var(--ccu-muted); text-decoration: none; }
.utility-navigation a:hover { text-decoration: underline; text-underline-offset: .25rem; }
.utility-navigation__login { margin-left: .5rem; font-weight: 600; letter-spacing: 2.4px; text-transform: uppercase; }
.site-header { position: sticky; z-index: 40; top: 0; background: #fff; border-bottom: 0; transition: border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease; }
.site-header::after { position: absolute; right: 0; bottom: -3px; left: 0; height: 3px; background: linear-gradient(90deg, var(--ccu-green), var(--ccu-green-bright), var(--ccu-yellow), var(--ccu-blue), var(--ccu-burgundy)); content: ''; opacity: 0; transform: scaleX(0); transform-origin: left; }
.site-header__inner { display: flex; min-height: 102px; align-items: center; justify-content: space-between; gap: 2rem; padding: 0; transition: min-height 220ms ease, padding 220ms ease; }
.custom-logo { display: block; width: 120px; height: auto; }
.site-branding__fallback { display: block; }
.site-branding__fallback img { display: block; width: 120px; height: auto; }
.site-branding__text { color: var(--ccu-green); font-family: var(--font-display); font-size: 1.8rem; font-weight: 800; text-decoration: none; }
.primary-navigation { font-family: var(--font-display); font-size: 12px; font-weight: 500; letter-spacing: 2.88px; text-transform: uppercase; }
.primary-navigation ul, .footer-navigation ul { display: flex; gap: 0; padding: 0; margin: 0; list-style: none; }
.primary-navigation li { position: relative; }
.primary-navigation a { display: block; padding: 10px 15px; color: var(--ccu-green); text-decoration: none; }
.primary-navigation > ul > li > a { position: relative; }
.primary-navigation > ul > li > a::before { position: absolute; right: 15px; bottom: 3px; left: 15px; height: 1px; background: var(--ccu-green-bright); content: ''; transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.primary-navigation > ul > li > a:hover::before, .primary-navigation > ul > li > a:focus-visible::before, .primary-navigation > ul > li.current-menu-item > a::before, .primary-navigation > ul > li.current-menu-ancestor > a::before { transform: scaleX(1); }
.primary-navigation .sub-menu { position: absolute; z-index: 20; top: 100%; left: 0; display: grid; min-width: 14rem; gap: .75rem; padding: 1rem; background: #fff; box-shadow: 0 .75rem 2rem rgb(0 0 0 / 12%); opacity: 0; pointer-events: none; transform: translateY(-4px); transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 160ms; visibility: hidden; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { opacity: 1; pointer-events: auto; transform: translateY(0); transition-delay: 0s; visibility: visible; }
.primary-navigation .sub-menu a {
  padding: 0;
  color: #494c4f;
  font-size: 13px;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
}
.primary-navigation .sub-menu a:hover,
.primary-navigation .sub-menu a:focus-visible {
  color: #57b847;
  text-decoration: underline;
}
.primary-navigation .menu-item-has-children > a::after { display: inline-block; width: 5px; height: 5px; margin: 0 0 .2em .55rem; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; content: ''; transform: rotate(45deg); vertical-align: middle; }
.primary-navigation .nav-accordion { display: none; }
.primary-navigation__utility { display: none; }
.site-menu-toggle { display: none; border: 0; background: transparent; }
body.has-scrolled .site-header { border-bottom: 1px solid var(--ccu-line); box-shadow: 0 6px 20px rgb(3 78 49 / 8%); }
body.has-scrolled .site-header__inner { min-height: 76px; padding-block: 0; }
body.has-scrolled .site-branding__fallback img, body.has-scrolled .custom-logo { width: 108px; }

/* Overlay chrome: video/hero runs under the bar; the white header returns on scroll. */
.site-colorbar--overlay,
.utility-navigation--overlay,
.site-header--overlay { z-index: 50; }
.utility-navigation--overlay {
  position: relative;
  background: rgb(40 40 40 / 10%);
  color: #fff;
  backdrop-filter: blur(10px);
}
.utility-navigation--overlay a,
.utility-navigation--overlay .utility-navigation__login { color: #fff; }
.site-header--overlay { background: transparent; }
.site-header--overlay::after { content: none; }
.site-header--overlay .primary-navigation a { color: #fff; }
.site-header--overlay .primary-navigation > ul > li > a::before { background: #fff; }
.site-header--overlay .primary-navigation .sub-menu { background: #fff; }
.site-header--overlay .primary-navigation .sub-menu a { color: #494c4f; }
.site-header--overlay .primary-navigation .sub-menu a:hover,
.site-header--overlay .primary-navigation .sub-menu a:focus-visible { color: #57b847; }
.site-branding__fallback--light { display: none; }
body:not(.has-scrolled) .site-header--overlay .site-branding__fallback--light { display: block; }
body:not(.has-scrolled) .site-header--overlay .custom-logo-link,
body:not(.has-scrolled) .site-header--overlay .site-branding__fallback--dark { display: none; }
body.has-scrolled .site-header--overlay { background: #fff; }
body.has-scrolled .site-header--overlay .primary-navigation a { color: var(--ccu-green); }
body.has-scrolled .site-header--overlay .primary-navigation > ul > li > a::before { background: var(--ccu-green-bright); }
body.has-scrolled .site-header--overlay .primary-navigation .sub-menu a { color: #494c4f; }

/* Footer */
.site-colorbar--footer { height: 11px; }
.site-footer { padding: 0; background: var(--ccu-surface); color: #707070; }
.site-footer__content { background: var(--ccu-surface); padding: 50px 0 calc(30px + env(safe-area-inset-bottom, 0px)); }
.site-footer__head, .site-footer__grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 2rem; }
.site-footer__head { align-items: center; }
.site-footer__logo { display: block; width: 77px; height: auto; }
.site-footer h2 { margin: 0; color: #707070; font-family: var(--font-display); font-size: 12px; font-weight: 400; letter-spacing: 2.88px; line-height: 1.2; text-transform: uppercase; }
.site-footer__grid { padding-top: 30px; }
.site-footer__text { color: var(--ccu-muted); font-family: var(--font-copy); font-size: 13px; line-height: 27px; }
.site-footer__text p { margin: 0 0 1rem; }
.site-footer__socials { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.site-footer__socials a { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: rgb(204 204 204 / 40%); color: #707070; font-family: var(--font-display); font-size: 9px; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.site-footer__socials a svg { width: 25px; height: 25px; fill: currentColor; }
.site-footer__socials a:hover { background: rgb(204 204 204 / 70%); color: var(--ccu-green); }

/* Age gate */
html:has([data-age-gate]),
html:has(body.age-gate-open),
body:has([data-age-gate]),
body.age-gate-open {
  overflow: hidden;
  overscroll-behavior: none;
}
.age-gate { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 1.25rem; overflow: auto; }
.age-gate__backdrop { position: absolute; inset: 0; background: rgb(17 17 17 / 88%); }
.age-gate__panel { position: relative; width: min(100%, 25.5rem); padding: 2rem 1.1rem 2.25rem; border-radius: 1rem; background: #fff; text-align: center; box-shadow: 0 1.25rem 3.75rem rgb(0 0 0 / 25%); }
.age-gate__logo { display: block; width: 8.5rem; height: auto; margin: 0 auto 1.75rem; }
.age-gate h1 { margin: 0 auto .75rem; max-width: 20rem; color: #333; font-family: var(--font-display); font-size: 1.3rem; line-height: 1.2; }
.age-gate p { margin: .25rem auto 1.25rem; color: #656565; font-size: .9rem; }
.age-gate__fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.age-gate input { width: 100%; min-width: 0; border: 1px solid #bbb; border-radius: .2rem; padding: .7rem .55rem; color: #333; font: inherit; }
.age-gate input:focus { outline: 3px solid rgb(87 184 71 / 30%); border-color: var(--ccu-green-bright); }
.age-gate button { width: 100%; margin-top: 1.1rem; border: 0; border-radius: .2rem; background: var(--ccu-green-bright); color: #fff; padding: .75rem 1rem; font-family: var(--font-display); font-size: .85rem; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.age-gate button:hover, .age-gate button:focus { background: #469e3b; }
.age-gate__error { min-height: 1.25rem; margin: .5rem 0 0 !important; color: var(--ccu-burgundy) !important; font-size: .78rem !important; }
.age-gate__underage p { margin: 0; color: #333; font-weight: 700; }
.age-gate[hidden] { display: none; }

/* Home: reusable editorial modules */
.home-hero { position: relative; display: grid; min-height: 100vh; min-height: 100lvh; min-height: var(--ccu-hero-h, 100lvh); height: 100vh; height: 100lvh; height: var(--ccu-hero-h, 100lvh); place-items: center; overflow: hidden; background: #111; color: #f3ecec; }
body.home .home-hero { min-height: 100vh; min-height: 100lvh; min-height: var(--ccu-hero-h, 100lvh); height: 100vh; height: 100lvh; height: var(--ccu-hero-h, 100lvh); margin-top: -162px; padding-top: 162px; }
.ccu-motion-enabled body.home .home-hero {
  transition: height 780ms cubic-bezier(.22, 1, .36, 1), min-height 780ms cubic-bezier(.22, 1, .36, 1);
}
body.home.hero-collapsed .home-hero {
  min-height: 52vh;
  min-height: 52lvh;
  height: 52vh;
  height: 52lvh;
}
.home-hero__video, .home-hero__poster, .home-hero__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero__video { object-fit: cover; object-position: center; }
.home-hero__poster { background-position: center; background-size: cover; }
.home-hero__overlay { background: linear-gradient(180deg, rgb(0 0 0 / 18%) 0%, rgb(0 0 0 / 30%) 48%, rgb(0 0 0 / 26%) 100%); pointer-events: none; }
.home-hero__content { position: relative; z-index: 1; text-align: center; text-shadow: 0 1px 16px rgb(0 0 0 / 40%); }
.home-hero h1 { margin: 0 auto; max-width: 60rem; color: #f3ecec; font-family: var(--font-display); font-size: clamp(40px, 5vw, 60px); font-weight: 400; letter-spacing: 2.88px; line-height: 1.2; }
.home-hero__lead {
	margin: 18px auto 0;
	max-width: 36rem;
	color: #f3ecec;
	font-family: var(--font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2.88px;
	line-height: 1.2;
	text-transform: uppercase;
}
.home-hero__lead-rest::before { content: " "; }
.home-hero__cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 30px; padding: 20px 40px; border: 2px solid #fff; border-radius: 35px; background: transparent; color: #fff; font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: 2.88px; line-height: 12px; text-decoration: none; text-transform: uppercase; text-shadow: none; transition: background-color .3s ease, color .3s ease; }
.home-hero__cta-icon { display: grid; width: 14px; height: 14px; place-items: center; }
.home-hero__cta-icon svg { display: block; width: 14px; height: 14px; }
body.home .home-hero__cta:hover,
body.home .home-hero__cta:focus-visible { background: #fff; color: var(--ccu-green-bright); text-decoration: none; }
/* Live inner pages: news band is 55px with 80px above. Home cards keep 30/120
 * and pull 27px into the hero, matching Elementor. */
.home-news { padding: 55px 0; background: var(--ccu-surface); }
.home-news.ccu-latest-news { margin-top: 0; padding: 80px 0 55px; }
body.home .home-news.content-section { margin-top: 0; padding: 40px 0 120px; }
.section-heading { margin-bottom: 50px; }
.section-heading h2 { margin: 0; color: var(--ccu-green); font-family: var(--font-display); font-size: 40px; font-weight: 400; line-height: 1.2; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.news-card { background: var(--ccu-white); }
.news-card__link { display: flex; min-height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.news-card { overflow: hidden; transition: transform 220ms ease, box-shadow 220ms ease; }
.news-card img { display: block; width: 100%; height: 225px; object-fit: cover; transition: transform 500ms cubic-bezier(.22, 1, .36, 1); }
.news-card__body { display: flex; min-height: 177px; flex: 1; flex-direction: column; padding: 22px; }
.news-card h3 { margin: 0; color: var(--ccu-green); font-family: var(--font-display); font-size: 19px; font-weight: 600; line-height: 30px; }
.news-card__date { display: inline-flex; align-items: center; gap: 5px; margin: auto 0 0; color: var(--ccu-muted); font-family: var(--font-copy); font-size: 13px; font-weight: 400; line-height: 1.2; }
.news-card__date svg { width: 12px; height: 12px; fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.news-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgb(3 78 49 / 10%); }
.news-card:hover img { transform: scale(1.025); }
/* Editorial: one reusable component for Home and internal pages.
 * Variants are intentionally limited to orientation, density and surface.
 * No page receives a bespoke section class. */
.ccu-editorial { padding: 55px 0; background: #fff; }
.ccu-editorial--theme-soft { background: var(--ccu-surface); }
.ccu-editorial__grid { display: grid; align-items: center; gap: clamp(2.5rem, 6vw, 7rem); }
.ccu-editorial--image-right .ccu-editorial__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.ccu-editorial--image-left .ccu-editorial__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.ccu-editorial__content { max-width: 25rem; }
.ccu-editorial--image-right .ccu-editorial__content { grid-column: 1; }
.ccu-editorial--image-right .ccu-editorial__image { grid-column: 2; grid-row: 1; }
.ccu-editorial--image-left .ccu-editorial__image { grid-column: 1; }
.ccu-editorial--image-left .ccu-editorial__content { grid-column: 2; grid-row: 1; }
.ccu-editorial h2 { margin: 0; color: var(--ccu-green); font-family: var(--font-display); font-size: 40px; font-weight: 400; line-height: 1.2; }
.ccu-editorial h2 a { text-decoration: none; }
.ccu-editorial__text, .ccu-editorial__richtext { margin: 25px 0 0; color: var(--ccu-muted); font-size: 16px; line-height: 1.7; }
.ccu-editorial__richtext > :first-child { margin-top: 0; }
.ccu-editorial__richtext > :last-child { margin-bottom: 0; }
.ccu-editorial__richtext h3 { margin: 28px 0 8px; color: var(--ccu-muted); font-family: var(--font-copy); font-size: 17px; font-weight: 700; line-height: 1.3; }
.ccu-editorial__richtext h3:first-child { margin-top: 0; }
.ccu-editorial .text-link { margin-top: 35px; }
.ccu-editorial__stat { display: flex; align-items: baseline; gap: 10px; margin-top: 26px; color: var(--ccu-green); font-family: var(--font-display); }
.ccu-editorial__stat strong { font-size: clamp(38px, 4vw, 56px); font-weight: 400; line-height: 1; }
.ccu-editorial__stat span { max-width: 12rem; font-size: 12px; font-weight: 600; letter-spacing: 1.5px; line-height: 1.35; text-transform: uppercase; }
.ccu-editorial__image { position: relative; overflow: hidden; }
.ccu-editorial__image img { display: block; width: 100%; height: auto; transition: transform 600ms cubic-bezier(.22, 1, .36, 1); }
.ccu-editorial:hover .ccu-editorial__image img { transform: scale(1.015); }
.ccu-editorial--150-anos-de-tradicion-cervecera:hover .ccu-editorial__image img,
.ccu-editorial--nuestras-marcas-nos-inspiran:hover .ccu-editorial__image img,
.ccu-editorial--conoce-nuestras-plantas:hover .ccu-editorial__image img { transform: none; }
.ccu-editorial__media { position: relative; display: block; width: 100%; padding: 0; border: 0; background: transparent; appearance: none; -webkit-appearance: none; isolation: isolate; cursor: pointer; }
.ccu-editorial__media:focus-visible { outline: 3px solid var(--ccu-green-bright); outline-offset: 4px; }
/* Roomy is the Home scale; internal pages use the compact default. */
.ccu-editorial--density-roomy { display: flex; align-items: center; min-height: 560px; padding: 80px 0; }
.ccu-editorial--density-roomy.ccu-editorial--theme-soft { min-height: 640px; }
/* Green-gradient editorial is the Latinoamérica map band: a 560px strip
 * whose 670px dotted map hangs 40px above and 70px below, over neighbouring modules. */
.ccu-editorial--theme-green-gradient { position: relative; z-index: 3; min-height: 560px; margin-top: 40px; margin-bottom: 40px; padding: 0; overflow: visible; isolation: isolate; background: linear-gradient(180deg, #57b847 0%, #004d32 100%); color: #fff; }
.ccu-editorial--theme-green-gradient::before { position: absolute; z-index: 0; inset: 0; background: radial-gradient(circle at 20% 25%, rgb(255 255 255 / 16%), transparent 25%), radial-gradient(circle at 75% 65%, rgb(250 183 0 / 12%), transparent 28%); content: ''; opacity: .7; pointer-events: none; }
.ccu-motion-enabled .ccu-editorial--theme-green-gradient::before { animation: ccu-gradient-drift 18s ease-in-out infinite alternate; }
.ccu-editorial--theme-green-gradient .ccu-editorial__grid { position: relative; z-index: 1; min-height: 560px; }
.ccu-editorial--theme-green-gradient .ccu-editorial__content { position: relative; z-index: 1; }
.ccu-editorial--theme-green-gradient .ccu-editorial__image { position: absolute; z-index: 1; top: -40px; right: 0; left: auto; width: auto; height: 670px; margin: 0; overflow: visible; }
.ccu-editorial--theme-green-gradient .ccu-editorial__image[data-reveal] { opacity: 1; transform: none; }
.ccu-editorial--theme-green-gradient .ccu-editorial__image img { width: auto; height: 670px; max-width: none; }
.ccu-editorial--theme-green-gradient:hover .ccu-editorial__image img { transform: none; }
.ccu-editorial--theme-green-gradient h2, .ccu-editorial--theme-green-gradient .ccu-editorial__text, .ccu-editorial--theme-green-gradient .ccu-editorial__richtext { color: #fff; }
.ccu-editorial--theme-green-gradient .ccu-editorial__stat { color: #fff; }
.ccu-editorial--theme-green-gradient .text-link { color: var(--ccu-green-bright); }
.ccu-editorial--theme-green-gradient .text-link__arrow { color: #fff; }
.ccu-editorial--theme-green-gradient .eyebrow { color: #fff; }

/* Home editorial features: Home has four deliberate media compositions.
 * Each section remains independent, but shares the same container midpoint. */
.home-feature { position: relative; background: #fff; }
.home-feature__grid { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; column-gap: 30px; row-gap: 0; }
.home-feature__content { max-width: none; }
.home-feature--image-right .home-feature__content { grid-column: 1; }
.home-feature--image-right .home-feature__image { grid-column: 2; grid-row: 1; }
.home-feature--image-left .home-feature__image { grid-column: 1; }
.home-feature--image-left .home-feature__content { grid-column: 2; grid-row: 1; }
.home-feature h2 { max-width: 400px; margin: 0; }
.home-feature h2 a { text-decoration: none; }
.home-feature__text { margin: 25px 0 0; color: var(--ccu-muted); font-size: 16px; line-height: 1.7; }
.home-feature .text-link { margin-top: 35px; }
.home-feature__stat { display: flex; align-items: baseline; gap: 10px; margin-top: 26px; color: var(--ccu-green); font-family: var(--font-display); }
.home-feature__stat strong { font-size: clamp(38px, 4vw, 56px); font-weight: 400; line-height: 1; }
.home-feature__stat span { max-width: 12rem; font-size: 12px; font-weight: 600; letter-spacing: 1.5px; line-height: 1.35; text-transform: uppercase; }
.home-feature__image { position: relative; overflow: visible; }
.home-feature__image img { display: block; width: 100%; height: auto; transition: transform 600ms cubic-bezier(.22, 1, .36, 1); }
.home-feature:hover .home-feature__image img { transform: scale(1.015); }
.home-feature--media-offset-left:hover .home-feature__image img,
.home-feature--theme-green-gradient:hover .home-feature__image img { transform: none; }
.home-feature__media { position: relative; display: block; width: 100%; padding: 0; border: 0; background: transparent; appearance: none; -webkit-appearance: none; isolation: isolate; cursor: pointer; }
.home-feature__media:focus-visible { outline: 3px solid var(--ccu-green-bright); outline-offset: 4px; }
.home-feature__play,
.ccu-editorial__play {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  display: grid;
  width: 100px;
  height: 100px;
  place-items: center;
  border-radius: 50%;
  background: rgb(0 0 0 / 55%);
  color: #fff;
  pointer-events: none;
  transform: translate(-50%, -50%);
  filter: drop-shadow(1px 0 6px rgb(0 0 0 / 30%));
}
.home-feature__play svg,
.ccu-editorial__play svg { display: block; overflow: visible; width: 100px; height: 100px; opacity: .8; transition: opacity 500ms ease; }
.home-feature__media:hover .home-feature__play svg, .home-feature__media:focus-visible .home-feature__play svg,
.ccu-editorial__media:hover .ccu-editorial__play svg, .ccu-editorial__media:focus-visible .ccu-editorial__play svg { opacity: 1; }
.home-feature__quote {
  display: flex;
  flex-direction: column;
  width: var(--ccu-quote-size);
  min-width: var(--ccu-quote-size);
  height: var(--ccu-quote-size);
  min-height: var(--ccu-quote-size);
  margin: 0;
  padding: 50px;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  background-image: var(--ccu-quote-gradient);
  color: #fff;
  font-family: var(--font-copy);
  font-size: 16px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}
.home-feature__quote,
.page-statement blockquote,
.brands-archive__hero blockquote { quotes: none; }
.home-feature__quote::before,
.brands-archive__hero blockquote::before {
  display: block;
  margin-bottom: 10px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  font-style: italic;
  font-weight: 400;
  line-height: .8;
  content: "”";
}
.page-statement blockquote::before {
  display: block;
  margin-bottom: 10px;
  color: #fff;
  font-family: "Trebuchet MS", sans-serif;
  font-size: 80px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
  content: "”";
}
.home-feature__quote {
  position: absolute;
  z-index: 3;
  top: -70px;
  right: -10px;
}
body.home .home-feature__quote { top: -45px; }
/* 1. Somos: video-like media protrudes above and below its own section. */
.home-feature--media-overflow { min-height: 470px; padding: 60px 0 0; }
.home-feature--media-overflow .home-feature__image { z-index: 1; margin: -110px 0 -80px; }
/* 2. Marcas: product still starts outside the left edge; the section keeps air below. */
.home-feature--media-offset-left { padding: 0 0 80px; background: var(--ccu-surface); overflow: visible; }
.home-feature--media-offset-left .home-feature__grid {
	min-height: 640px;
	grid-template-columns: 600px 600px;
	column-gap: 0;
	align-items: center;
}
.home-feature--media-offset-left .home-feature__content { padding: 10px; }
.home-feature--media-offset-left .home-feature__image {
	position: absolute;
	z-index: 1;
	top: -9px;
	left: auto;
	right: calc(100% - 520px);
	width: auto;
	height: 660px;
	overflow: visible;
}
.home-feature--media-offset-left .home-feature__image img {
	display: block;
	width: auto;
	max-width: none;
	height: 660px;
	object-fit: contain;
}
/* 3. Región: the map has priority over the following white section. */
.home-feature--theme-green-gradient { z-index: 3; min-height: 560px; margin-bottom: 90px; padding: 0; overflow: visible; background: linear-gradient(180deg, #57b847 0%, #004d32 100%); color: #fff; isolation: isolate; }
.home-feature--theme-green-gradient::before { position: absolute; z-index: -1; inset: -25% 0; background: radial-gradient(circle at 20% 25%, rgb(255 255 255 / 16%), transparent 25%), radial-gradient(circle at 75% 65%, rgb(250 183 0 / 12%), transparent 28%); content: ''; opacity: .7; }
.ccu-motion-enabled .home-feature--theme-green-gradient::before { animation: ccu-gradient-drift 18s ease-in-out infinite alternate; }
.home-feature--theme-green-gradient .home-feature__grid { min-height: 560px; }
.home-feature--theme-green-gradient .home-feature__content { position: relative; z-index: 1; }
.home-feature--theme-green-gradient .home-feature__image { position: absolute; z-index: 1; top: -55px; right: clamp(10px, 6vw, 100px); left: auto; width: auto; height: 670px; margin: 0; overflow: visible; }
.home-feature--theme-green-gradient .home-feature__image img { width: auto; height: 670px; max-width: none; filter: drop-shadow(0 18px 24px rgb(0 50 33 / 18%)); }
.home-feature--theme-green-gradient h2, .home-feature--theme-green-gradient .home-feature__text { color: #fff; }
.home-feature--theme-green-gradient .home-feature__stat { color: #fff; }
.home-feature--theme-green-gradient .text-link { color: var(--ccu-green-bright); }
.home-feature--theme-green-gradient .text-link__arrow { color: #fff; }
.home-feature--theme-green-gradient .eyebrow { color: #fff; }
/* 4. Sustentabilidad: contained circular visual, right column, generous white space. */
.home-feature--media-contained { min-height: 470px; margin: 0; padding: 24px 0 96px; }
.home-feature--media-contained .home-feature__grid { min-height: 460px; }
.home-feature--media-contained .home-feature__image { width: min(100%, 410px); margin-inline: auto; }
/* The regional module uses the same content data shape, but never the contained-media geometry. */
.home-feature--theme-green-gradient.home-feature--media-contained { min-height: 560px; margin: 0 0 90px; padding: 0; }
.home-feature--theme-green-gradient.home-feature--media-contained .home-feature__grid { min-height: 560px; }
.home-feature--theme-green-gradient.home-feature--media-contained .home-feature__image { width: auto; margin: 0; }

/* Brand archive and single */
.content-section { padding: clamp(3rem, 8vw, 7rem) 0; }
.ccu-placeholder-hero { background: var(--ccu-green); color: #fff; padding: clamp(5rem, 12vw, 10rem) 0; }
.ccu-placeholder-hero h1, .brand-single__hero h1, .archive-header h1 { font-family: var(--font-condensed); font-weight: 600; text-transform: uppercase; }
.ccu-placeholder-hero h1 { margin: .5rem 0; font-size: clamp(2.8rem, 7vw, 6rem); line-height: 1; }
.brand-filters { display: flex; flex-wrap: wrap; gap: .75rem; margin: 2rem 0; }
.brand-filters a, .button { display: inline-block; border: 1px solid var(--ccu-green); border-radius: 99rem; padding: .6rem 1rem; color: var(--ccu-green); font-weight: 700; text-decoration: none; }
.button { background: var(--ccu-green); color: #fff; }
.brand-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 1.25rem; }
.brand-card { overflow: hidden; border: 1px solid var(--ccu-line); background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.brand-card:hover { transform: translateY(-.25rem); box-shadow: 0 .75rem 2rem rgb(16 24 40 / 12%); }
.brand-card__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.brand-card__media { display: grid; place-items: center; min-height: 13rem; padding: 1.5rem; background: var(--ccu-surface); }
.brand-card__media img { display: block; width: 100%; height: 10rem; object-fit: contain; }
.brand-card__category { margin: 1.25rem 1.25rem 0; color: var(--ccu-green-bright); font-family: var(--font-display); font-weight: 700; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.brand-card__title { margin: .4rem 1.25rem 1.4rem; font-size: 1.15rem; }
.brand-single { --brand-accent: var(--ccu-green-bright); }
.brand-single .eyebrow { color: var(--brand-accent); }
.brand-single__hero { padding: clamp(4rem, 10vw, 8rem) 0; background: var(--ccu-surface); }
.brand-single__hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .75fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.brand-single__hero h1 { margin: .5rem 0 1.5rem; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1; }
.brand-single__logo img { width: auto; max-width: 15rem; max-height: 6rem; object-fit: contain; }
.brand-single__description { max-width: 48rem; font-size: 1.15rem; }
.brand-single__description p { margin-block: 0 1rem; }
.brand-single__featured img { display: block; width: 100%; max-height: 38rem; object-fit: contain; }
.brand-single__details { background: var(--ccu-ink); color: #fff; }
.brand-single__details-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.brand-single__details h2 { margin: 0 0 .75rem; font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; }
.brand-single__details p { margin: 0; }
.brand-socials { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.brand-socials a { color: #fff; text-underline-offset: .25em; }

@keyframes ccu-nav-item-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 1024px) {
  .utility-navigation { display: none; }
  .site-header { z-index: 50; }
  .site-header__inner { min-height: 72px; padding: 0; }
  .site-branding__fallback img, .custom-logo { width: 105px; }
  .site-menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0;
  }
  .site-menu-toggle span[aria-hidden] {
    display: block;
    width: 22px;
    height: 2px;
    background: #232323;
    transform-origin: center;
    transition: transform 280ms cubic-bezier(.22, 1, .36, 1), opacity 180ms ease;
  }
  .site-menu-toggle[aria-expanded="true"] span[aria-hidden]:nth-child(2) { transform: translateY(7px) rotate(45deg); }
  .site-menu-toggle[aria-expanded="true"] span[aria-hidden]:nth-child(3) { opacity: 0; }
  .site-menu-toggle[aria-expanded="true"] span[aria-hidden]:nth-child(4) { transform: translateY(-7px) rotate(-45deg); }
  .primary-navigation {
    position: absolute;
    z-index: 50;
    top: 100%;
    right: 0;
    left: 0;
    display: block;
    max-height: calc(100dvh - 72px);
    overflow-x: hidden;
    overflow-y: auto;
    background: #232323;
    visibility: hidden;
    pointer-events: none;
    clip-path: inset(0 0 100% 0);
    transition: clip-path 320ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 320ms;
  }
  .primary-navigation.is-open {
    visibility: visible;
    pointer-events: auto;
    clip-path: inset(0);
    transition: clip-path 320ms cubic-bezier(.22, 1, .36, 1);
  }
  .primary-navigation ul, .footer-navigation ul { flex-direction: column; gap: 0; }
  .primary-navigation > ul { padding: 0; }
  .primary-navigation > ul > li { border-bottom: 1px solid #444; }
  .primary-navigation.is-open > ul > li {
    animation: ccu-nav-item-in 340ms cubic-bezier(.22, 1, .36, 1) both;
  }
  .primary-navigation.is-open > ul > li:nth-child(1) { animation-delay: 40ms; }
  .primary-navigation.is-open > ul > li:nth-child(2) { animation-delay: 70ms; }
  .primary-navigation.is-open > ul > li:nth-child(3) { animation-delay: 100ms; }
  .primary-navigation.is-open > ul > li:nth-child(4) { animation-delay: 130ms; }
  .primary-navigation.is-open > ul > li:nth-child(5) { animation-delay: 160ms; }
  .primary-navigation.is-open > ul > li:nth-child(6) { animation-delay: 190ms; }
  .primary-navigation > ul > li.menu-item-has-children {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
  }
  .primary-navigation > ul > li.menu-item-has-children > a {
    grid-column: 1;
    grid-row: 1;
  }
  .primary-navigation a {
    display: flex;
    min-height: 40px;
    align-items: center;
    padding: 0 16px;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2.88px;
    transition: color 180ms ease;
  }
  .primary-navigation a:hover,
  .primary-navigation a:focus-visible { color: #57b847; }
  .primary-navigation > ul > li > a::before,
  .primary-navigation .menu-item-has-children > a::after { display: none; }
  .primary-navigation .is-expanded > a { color: #57b847; }
  .primary-navigation .nav-accordion {
    display: grid;
    grid-column: 2;
    grid-row: 1;
    width: 40px;
    min-height: 40px;
    place-items: center;
    padding: 0;
    border: 0;
    border-left: 1px solid #444;
    background: transparent;
    color: #fff;
    cursor: pointer;
  }
  .primary-navigation .nav-accordion::before {
    display: block;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    content: '';
    transform: rotate(45deg);
    transition: transform 240ms cubic-bezier(.22, 1, .36, 1);
  }
  .primary-navigation .is-expanded > .nav-accordion { color: #57b847; }
  .primary-navigation .is-expanded > .nav-accordion::before { transform: rotate(225deg); }
  .primary-navigation li:hover > .sub-menu,
  .primary-navigation li:focus-within > .sub-menu {
    opacity: 0;
    pointer-events: none;
    transform: none;
    visibility: visible;
  }
  .primary-navigation .sub-menu {
    position: static;
    display: grid;
    grid-column: 1 / -1;
    min-width: 0;
    max-height: 0;
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: #fff;
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
    transform: none;
    transition: max-height 320ms cubic-bezier(.22, 1, .36, 1), opacity 220ms ease;
    visibility: visible;
  }
  .primary-navigation li.is-expanded > .sub-menu,
  .primary-navigation li.is-expanded:hover > .sub-menu,
  .primary-navigation li.is-expanded:focus-within > .sub-menu {
    max-height: 70vh;
    opacity: 1;
    pointer-events: auto;
  }
  .primary-navigation .sub-menu a {
    min-height: 40px;
    padding-left: 26px;
    color: #494c4f;
    font-size: 13px;
    letter-spacing: normal;
    text-transform: none;
  }
  .primary-navigation .sub-menu a:hover,
  .primary-navigation .sub-menu a:focus-visible {
    color: #57b847;
    text-decoration: underline;
  }
  .primary-navigation .sub-menu li { border-top: 1px solid var(--ccu-line); }
  .primary-navigation__utility {
    display: block;
    padding: 10px 0 24px;
    border-top: 1px solid #444;
  }
  .primary-navigation__utility ul {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .primary-navigation__utility a {
    min-height: 36px;
    color: #bdbdbd;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.8px;
  }
  .primary-navigation__utility a:hover,
  .primary-navigation__utility a:focus-visible { color: #57b847; }
  .primary-navigation__utility .primary-navigation__login { color: #fff; font-weight: 600; }
  .site-footer__content { padding: 30px 0 calc(30px + env(safe-area-inset-bottom, 0px)); }
  .site-footer__head, .site-footer__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .site-footer__head h2 { display: none; }
  .site-footer__grid { padding-top: 1.5rem; }
  .site-footer__grid > div:nth-child(2)::before,
  .site-footer__grid > div:last-child::before {
    display: block;
    margin-bottom: .75rem;
    color: #707070;
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 2.88px;
    text-transform: uppercase;
    content: 'Seguinos';
  }
  .site-footer__grid > div:nth-child(2)::before { content: 'Contactanos'; }
  .home-hero { min-height: 100vh; min-height: 100lvh; min-height: var(--ccu-hero-h, 100lvh); height: 100vh; height: 100lvh; height: var(--ccu-hero-h, 100lvh); padding: 28px 0 0; }
  body.home .home-hero { min-height: 100vh; min-height: 100lvh; min-height: var(--ccu-hero-h, 100lvh); height: 100vh; height: 100lvh; height: var(--ccu-hero-h, 100lvh); margin-top: -82px; padding: 82px 0 0; }
  body.home.hero-collapsed .home-hero { min-height: 46vh; min-height: 46lvh; height: 46vh; height: 46lvh; padding: 82px 0 20px; }
  body:not(.has-scrolled) .site-header--overlay .site-menu-toggle span[aria-hidden] { background: #fff; }
  body.has-scrolled .site-header--overlay .site-menu-toggle span[aria-hidden] { background: #232323; }
  .site-header--overlay .primary-navigation a { color: #fff; }
  body.has-scrolled .site-header--overlay .primary-navigation a { color: #fff; }
  .home-hero h1 { max-width: 16ch; font-size: clamp(28px, 8vw, 36px); letter-spacing: .4px; line-height: 1.18; }
  .home-hero__cta { margin-top: 22px; }
  .home-news { padding: 55px 0; }
  .home-news.ccu-latest-news { margin-top: 0; padding: 80px 0 55px; }
  body.home .home-news.content-section { margin-top: 0; padding: 40px 0 120px; }
  .section-heading { margin-bottom: 28px; }
  .section-heading h2, .ccu-editorial h2, .home-feature h2 { max-width: none; font-size: 30px; }
  .news-grid, .ccu-editorial__grid, .brand-single__hero-inner, .brand-single__details-grid { grid-template-columns: 1fr; }
  .news-grid { gap: 22px; }
  .news-card img { height: 190px; }
  .text-link { max-width: 100%; flex-wrap: wrap; letter-spacing: 1.5px; line-height: 1.45; }
  .ccu-editorial, .ccu-editorial--density-roomy { min-height: auto; padding: 55px 0; }
  .ccu-editorial--image-right .ccu-editorial__grid, .ccu-editorial--image-left .ccu-editorial__grid { grid-template-columns: 1fr; }
  .ccu-editorial--image-right .ccu-editorial__content, .ccu-editorial--image-left .ccu-editorial__content, .ccu-editorial--image-right .ccu-editorial__image, .ccu-editorial--image-left .ccu-editorial__image { grid-column: auto; grid-row: auto; }
  .ccu-editorial__content { max-width: none; }
  .ccu-editorial__image { order: -1; }
  .ccu-editorial:not(.ccu-editorial--theme-green-gradient):not(.ccu-editorial--theme-green):not(.ccu-editorial--nuestras-marcas-nos-inspiran) .ccu-editorial__image,
  .home-feature:not(.home-feature--theme-green-gradient):not(.home-feature--media-offset-left):not(.home-feature--media-contained) .home-feature__image {
    overflow: hidden;
    aspect-ratio: 16 / 9;
  }
  .ccu-editorial:not(.ccu-editorial--theme-green-gradient):not(.ccu-editorial--theme-green) .ccu-editorial__media,
  .home-feature:not(.home-feature--theme-green-gradient) .home-feature__media {
    display: block;
    width: 100%;
    height: 100%;
  }
  .ccu-editorial:not(.ccu-editorial--theme-green-gradient):not(.ccu-editorial--theme-green):not(.ccu-editorial--nuestras-marcas-nos-inspiran) .ccu-editorial__image img,
  .ccu-editorial:not(.ccu-editorial--theme-green-gradient):not(.ccu-editorial--theme-green):not(.ccu-editorial--nuestras-marcas-nos-inspiran) .ccu-editorial__media img,
  .home-feature:not(.home-feature--theme-green-gradient):not(.home-feature--media-offset-left):not(.home-feature--media-contained) .home-feature__image img,
  .home-feature:not(.home-feature--theme-green-gradient):not(.home-feature--media-offset-left):not(.home-feature--media-contained) .home-feature__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .page-statement--image .container.page-statement__inner { width: 100%; }
  .page-statement--image .page-statement__media { position: relative; height: 375px; aspect-ratio: auto; }
  .page-statement--image .page-statement__media::before {
    height: 100%;
    background-size: cover;
    background-position: center;
    transform: none;
  }
  .page-template-page-contactoccuargentina-php .page-statement--image .page-statement__media {
    height: auto;
    aspect-ratio: 1198 / 362;
  }
  .page-template-page-contactoccuargentina-php .page-statement__media::before {
    height: 100%;
    background-size: cover;
    background-position: center;
    transform: none;
  }
  .ccu-editorial--theme-green-gradient { min-height: auto; margin-top: 0; margin-bottom: min(240px, 52vw); padding: 92px 0 0; overflow: visible; }
  .ccu-editorial--theme-green-gradient .ccu-editorial__grid { min-height: auto; }
  .ccu-editorial--theme-green-gradient .ccu-editorial__content { order: -1; }
  .ccu-editorial--theme-green-gradient .ccu-editorial__image { position: static; order: 0; width: 100%; height: auto; margin-bottom: calc(-1 * min(240px, 52vw)); overflow: visible; }
  .ccu-editorial--theme-green-gradient .ccu-editorial__image img { width: 100%; height: auto; max-width: 100%; object-fit: contain; }
  .home-feature, .home-feature--media-overflow, .home-feature--media-offset-left, .home-feature--media-contained { min-height: auto; margin: 0; padding: 48px 0; }
  .home-feature__grid, .home-feature--media-offset-left .home-feature__grid, .home-feature--media-contained .home-feature__grid { min-height: auto; grid-template-columns: 1fr; row-gap: 28px; }
  .home-feature--image-right .home-feature__content, .home-feature--image-left .home-feature__content, .home-feature--image-right .home-feature__image, .home-feature--image-left .home-feature__image { position: static; grid-column: auto; grid-row: auto; width: auto; margin: 0; }
  .home-feature__content { max-width: none; }
  .home-feature__image { order: -1; overflow: hidden; }
  .home-feature--media-offset-left .home-feature__image,
  .home-feature--media-contained .home-feature__image { overflow: visible; aspect-ratio: auto; }
  .home-feature--media-offset-left .home-feature__image {
    top: auto;
    right: auto;
    left: auto;
    width: auto;
    height: auto;
    margin: 0;
  }
  .home-feature--media-offset-left .home-feature__image img,
  .home-feature--media-contained .home-feature__image img { width: 100%; max-width: 100%; height: auto; object-fit: contain; }
  .home-feature--media-overflow .home-feature__image img,
  .home-feature--media-overflow .home-feature__media img { max-height: none; }
  .home-feature--theme-green-gradient { min-height: auto; margin: 0 0 min(240px, 52vw); padding: 92px 0 0; overflow: visible; }
  .home-feature--theme-green-gradient.home-feature--media-contained { min-height: auto; margin: 0 0 min(240px, 52vw); padding: 92px 0 0; }
  .home-feature--theme-green-gradient .home-feature__grid { min-height: auto; }
  .home-feature--theme-green-gradient .home-feature__content { order: -1; }
  .home-feature--theme-green-gradient .home-feature__image,
  .home-feature--theme-green-gradient.home-feature--media-contained .home-feature__image { order: 0; width: 100%; height: auto; margin-bottom: calc(-1 * min(240px, 52vw)); overflow: visible; }
  .home-feature--theme-green-gradient .home-feature__image img { width: 100%; height: auto; max-width: 100%; max-height: none; object-fit: contain; object-position: center; }
  .home-feature__quote,
  .page-statement blockquote,
  .brands-archive__hero blockquote { display: none; }
  .page-statement:not(.page-statement--image),
  .page-statement--banner { display: none; }
  .home-feature__play, .home-feature__play svg,
  .ccu-editorial__play, .ccu-editorial__play svg { width: 72px; height: 72px; }
  .brand-single__featured { order: -1; }
  .brand-single__featured img { max-height: 24rem; }
}
@media (max-width: 760px) {
  body.home .home-hero { padding: 0; place-items: center; }
  .home-hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    padding: 0 24px;
    text-align: center;
  }
  .home-hero h1 { margin: 0 auto; text-align: center; font-size: 48px; line-height: 1.15; }
  .home-hero__lead { margin: 18px auto 0; text-align: center; line-height: 1.5; }
  .home-hero__lead-rest { display: block; }
  .home-hero__lead-rest::before { content: none; }
  .home-hero__cta { margin-top: 28px; }
}
@keyframes ccu-gradient-drift { from { transform: translate3d(0, -2%, 0); } to { transform: translate3d(0, 3%, 0); } }
@keyframes ccu-colorbar-sweep { from { transform: translateX(-105%); } to { transform: translateX(105%); } }
@keyframes ccu-navigation-line { 0% { opacity: 1; transform: scaleX(0); } 75%, 100% { opacity: 1; transform: scaleX(1); } }
html.ccu-is-leaving .site-colorbar::after { animation: ccu-colorbar-sweep 260ms linear both; }
html.ccu-is-leaving .site-header::after { animation: ccu-navigation-line 260ms cubic-bezier(.22, 1, .36, 1) both; }

@media (max-width: 420px) {
  .age-gate__panel { padding: 1.75rem 1rem; }
  .age-gate h1 { font-size: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .ccu-motion-ready [data-reveal] { opacity: 1; transform: none; }
  .ccu-location-card__image img { transform: none !important; }
  [data-parallax] .page-statement__media::before { transform: translate3d(0, -126px, 0); transition: none; }
  .primary-navigation, .primary-navigation .sub-menu, .site-menu-toggle span[aria-hidden], .primary-navigation .nav-accordion::before { transition: none !important; }
  .primary-navigation.is-open > ul > li { animation: none; }
}

/* Flexible internal-page modules — heading + quote match live at 1440. */
.page-heading { padding: 48px 0 40px; background: #fff; }
.page-heading__breadcrumb { display: flex; gap: 8px; align-items: center; margin: 0 0 12px; color: var(--ccu-green-bright); font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: 2.88px; line-height: 1.3; text-transform: uppercase; }
.page-heading__breadcrumb a {
  position: relative;
  color: var(--ccu-green);
  text-decoration: none;
  transition: color 240ms ease;
}
.page-heading__breadcrumb a::after {
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: '';
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms ease;
}
.page-heading__breadcrumb a:hover,
.page-heading__breadcrumb a:focus-visible { color: var(--ccu-green-bright); }
.page-heading__breadcrumb a:hover::after,
.page-heading__breadcrumb a:focus-visible::after { transform: scaleX(1); }
.page-heading__breadcrumb [aria-current="page"] { color: var(--ccu-green-bright); }
.page-heading h1,
.page-heading .display-title { margin: 0; color: var(--ccu-green); font-family: var(--font-display); font-size: 40px; font-weight: 400; letter-spacing: 0; line-height: 1.2; }
.page-statement { padding: 48px 0; background: #fff; }
.page-statement__inner { display: flex; min-height: 375px; align-items: flex-end; }
.page-statement blockquote { display: flex; flex-direction: column; width: var(--ccu-quote-size); min-width: var(--ccu-quote-size); height: var(--ccu-quote-size); min-height: var(--ccu-quote-size); max-width: var(--ccu-quote-size); margin: 0; padding: 50px; align-items: center; justify-content: center; background-color: transparent; background-image: var(--ccu-quote-gradient); color: #fff; font-family: var(--font-copy); font-size: 16px; font-style: italic; font-weight: 400; line-height: 1.4; text-align: center; }
.page-statement--image { padding: 0; }
.page-statement--image .page-statement__inner { position: relative; display: block; overflow: visible; height: 375px; min-height: 375px; }
.page-statement__media { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: #fff; }
.page-statement__media::before { position: absolute; top: 0; width: 100%; height: 171%; background-image: var(--ccu-statement-image); background-position: center center; background-repeat: no-repeat; background-size: cover; content: ''; transform: translate3d(0, var(--ccu-parallax-y, -126px), 0); will-change: transform; }
.page-statement--image blockquote {
	position: absolute;
	top: 50%;
	right: -40px;
	z-index: 1;
	width: var(--ccu-quote-size);
	min-width: var(--ccu-quote-size);
	max-width: var(--ccu-quote-size);
	height: var(--ccu-quote-size);
	min-height: var(--ccu-quote-size);
	padding: 50px;
	transform: translateY(-50%);
}
.page-statement--image.page-statement--hang blockquote {
	top: 50%;
	right: -40px;
	z-index: 2;
	width: var(--ccu-quote-size);
	min-width: var(--ccu-quote-size);
	height: var(--ccu-quote-size);
	min-height: var(--ccu-quote-size);
	padding: 50px;
	transform: translateY(-50%);
}
.page-statement--banner {
	position: relative;
	margin-top: 80px;
	padding: 0;
	overflow: hidden;
	background: #fff;
}
.page-statement--banner .page-statement__media {
	position: absolute;
	z-index: 0;
	inset: 0;
	overflow: hidden;
}
.page-statement--banner .page-statement__media::before {
	top: 0;
	width: 100%;
	height: 100%;
	background-position: 0 0;
	background-size: cover;
	transform: none;
	will-change: auto;
}
.page-statement--banner .page-statement__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 470px;
	min-height: 470px;
	overflow: visible;
}
.page-statement--banner .page-statement__panel {
	display: flex;
	width: var(--ccu-quote-size);
	height: var(--ccu-quote-size);
	min-height: var(--ccu-quote-size);
	flex: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	align-self: center;
	padding: 50px;
	background-image: var(--ccu-quote-gradient);
}
.page-statement--banner blockquote {
	position: static;
	top: auto;
	right: auto;
	z-index: auto;
	display: block;
	width: auto;
	min-width: 0;
	max-width: 100%;
	min-height: 0;
	height: auto;
	margin: 0;
	padding: 0;
	background: none;
	color: #fff;
	font-family: var(--font-copy);
	font-size: 16px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	transform: none;
}
.page-statement--banner .text-link {
	margin-top: 16px;
	color: #fff;
	line-height: 1.4;
}
.page-statement--banner .text-link__arrow { color: var(--ccu-green-bright); }
.page-statement--hang + .page-copy--wide { padding: 0 0 20px; }
.page-statement--hang + .page-copy--wide .page-copy__content { width: 816px; max-width: 68%; }
.page-statement-caption { padding: 28px 0 4px; background: #fff; }
.page-statement-caption + .page-copy,
.page-statement-caption + .page-copy--wide { padding-top: 28px; }
.page-statement-caption p { max-width: 880px; margin: 0; color: #8a8a8a; font-family: var(--font-copy); font-size: 16px; font-style: italic; font-weight: 300; line-height: 1.55; }
.page-copy { padding: 90px 0 100px; background: #fff; }
.page-copy__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 8vw, 9rem); }
.page-copy--wide .page-copy__grid { grid-template-columns: minmax(0, 1fr); }
.page-copy__lead { max-width: 26rem; margin: 0; color: var(--ccu-green); font-family: var(--font-display); font-size: clamp(25px, 2.6vw, 38px); font-weight: 400; line-height: 1.25; }
.page-copy__content { max-width: 42rem; color: var(--ccu-muted); }
.page-copy--wide { padding: 0 0 20px; }
.page-copy--wide .page-copy__content { width: 75%; max-width: 75%; padding: 10px 0; font-family: var(--font-copy); font-size: 17px; font-weight: 400; line-height: 27.2px; }
.page-copy__content > :first-child { margin-top: 0; }
.page-copy__content > :last-child { margin-bottom: 0; }
.ccu-graphic { padding: 70px 0; background: var(--ccu-surface); }
.ccu-graphic__inner { width: min(100%, 1080px); margin: 0 auto; }
.ccu-graphic__inner img { display: block; width: 100%; height: auto; }
.ccu-graphic--embed { margin: 0; padding: 70px 0; overflow: hidden; }
.ccu-graphic--embed .container { overflow: hidden; }
.ccu-graphic--embed iframe { display: block; width: 100%; max-width: none; height: 750px; border: 0; background: var(--ccu-surface); }
.ccu-timeline { padding: 80px 0; background: #fff; }
.ccu-timeline__track { position: relative; display: grid; gap: 0; }
.ccu-timeline__track::before { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--ccu-line); content: ''; }
.ccu-timeline__item { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 8rem); min-height: 340px; padding: 45px 0; }
.ccu-timeline__item--reverse .ccu-timeline__image { grid-column: 2; }
.ccu-timeline__item--reverse .ccu-timeline__content { grid-column: 1; grid-row: 1; text-align: right; }
.ccu-timeline__image { display: flex; align-items: center; justify-content: center; }
.ccu-timeline__image img { display: block; max-width: min(100%, 460px); max-height: 300px; object-fit: contain; }
.ccu-timeline__content { align-self: center; max-width: 28rem; color: var(--ccu-muted); }
.ccu-timeline__item--reverse .ccu-timeline__content { justify-self: end; }
.ccu-timeline__year { margin: 0 0 8px; color: var(--ccu-green-bright); font-family: var(--font-display); font-size: 16px; font-weight: 700; letter-spacing: 1.5px; }
.ccu-timeline h2 { margin: 0 0 18px; color: var(--ccu-green); font-family: var(--font-display); font-size: clamp(28px, 2.7vw, 40px); font-weight: 400; line-height: 1.15; }
.ccu-timeline__content > p:last-child { margin: 0; font-size: 16px; line-height: 1.7; }
@media (max-width: 900px) {
  .page-statement--image blockquote { right: -24px; width: min(275px, 42vw); min-width: 0; height: min(275px, 42vw); min-height: 0; padding: clamp(24px, 6vw, 50px); }
  .page-statement--image.page-statement--hang blockquote { right: -24px; width: min(275px, 42vw); min-width: 0; height: min(275px, 42vw); min-height: 0; padding: clamp(24px, 6vw, 50px); }
  .page-statement--banner .page-statement__panel { width: var(--ccu-quote-size); height: var(--ccu-quote-size); min-height: var(--ccu-quote-size); }
  .page-statement--hang + .page-copy--wide .page-copy__content { width: 100%; max-width: none; }
}
@media (max-width: 760px) {
  .page-heading h1,
  .page-heading .display-title { font-size: 32px; line-height: 1.12; }
  .page-heading__breadcrumb { flex-wrap: wrap; letter-spacing: 1.6px; }
  .page-statement { padding: 36px 0; }
  .page-statement__inner { min-height: 260px; }
  .page-statement blockquote { padding: 25px; font-size: 22px; line-height: 1.3; }
  .page-statement--image { padding: 0; }
  .page-statement--image .page-statement__inner { height: auto; min-height: 0; }
  .page-statement__media { position: relative; height: 375px; }
  .page-statement--image blockquote,
  .page-statement--image.page-statement--hang blockquote,
  .brands-archive__hero blockquote { display: none; }
  .page-statement--banner { display: none; }
  .ccu-graphic--embed { margin: 0; padding: 48px 0; }
  .ccu-graphic--embed iframe { width: 100%; height: min(2300px, 560vw); }
  .page-statement--hang + .page-copy--wide { padding: 16px 0 20px; }
  .page-statement--hang + .page-copy--wide .page-copy__content { width: 100%; max-width: none; }
  .page-copy { padding: 55px 0; }
  .page-copy--wide { padding: 16px 0 20px; }
  .page-copy__grid { grid-template-columns: 1fr; gap: 26px; }
  .page-copy__lead { max-width: none; font-size: 24px; }
  .page-copy--wide .page-copy__content { width: 100%; max-width: none; padding: 0; }
  .ccu-timeline { padding: 48px 0; }
  .ccu-timeline__track::before { left: 16px; }
  .ccu-timeline__item,
  .ccu-timeline__item--reverse { grid-template-columns: 1fr; min-height: 0; gap: 18px; padding: 28px 0 28px 36px; }
  .ccu-timeline__item--reverse .ccu-timeline__image,
  .ccu-timeline__item--reverse .ccu-timeline__content { grid-column: auto; grid-row: auto; text-align: left; justify-self: start; }
  .ccu-timeline h2 { font-size: 26px; }
  .ccu-404 { padding: 72px 0; }
  .ccu-404 h1 { font-size: 32px; }
}
/* Reusable location grid: plants, offices and distribution points. */
.ccu-locations { padding: 80px 0 100px; background: #fff; }
.ccu-locations--plants { padding: 56px 0; }
.ccu-locations__header { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; margin: 0 0 42px; }
.ccu-locations h2 { margin: 0; color: var(--ccu-green); font-family: var(--font-display); font-size: clamp(30px, 3vw, 42px); font-weight: 400; line-height: 1.15; }
.ccu-locations__intro { max-width: 42rem; color: var(--ccu-muted); }
.ccu-locations__intro > :first-child { margin-top: 0; }
.ccu-locations__intro > :last-child { margin-bottom: 0; }
.ccu-locations__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 30px; }
.ccu-locations--plants .ccu-locations__grid { padding-top: 60px; }
.ccu-plants-map { width: 100%; height: 580px; background: #dcdcdc; }
.ccu-plants-map .leaflet-container { width: 100%; height: 100%; background: #dcdcdc; font-family: var(--font-copy); }
.ccu-plants-map .leaflet-tile-pane { filter: grayscale(1) contrast(.92) brightness(1.04); }
.ccu-plants-map .leaflet-control-attribution { font-size: 10px; }
.ccu-plants-map .leaflet-popup-content-wrapper {
  padding: 0;
  border-radius: 0;
  box-shadow: 0 18px 40px rgba(3, 78, 49, .18);
}
.ccu-plants-map .leaflet-popup-content { margin: 0; width: 320px !important; }
.ccu-plants-map .leaflet-popup-tip { box-shadow: none; }
.ccu-plants-popup { background: #fff; }
.ccu-plants-popup__photo {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #e9ecea;
  cursor: zoom-in;
}
.ccu-plants-popup__photo:focus-visible { outline: 3px solid var(--ccu-green-bright); outline-offset: -3px; }
.ccu-plants-popup img { display: block; width: 100%; height: 168px; object-fit: cover; }
.ccu-plants-popup__body { padding: 28px 32px 32px; }
.ccu-plants-popup__place {
  margin: 0 0 12px;
  color: var(--ccu-green-bright);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2.88px;
  line-height: 12px;
  text-transform: uppercase;
}
.ccu-plants-popup h3 {
  margin: 0 0 14px;
  color: var(--ccu-green);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.2;
}
.ccu-plants-popup__copy {
  margin: 0;
  color: var(--ccu-muted);
  font-family: var(--font-copy);
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
}
.ccu-location-card { background: transparent; overflow: hidden; }
.ccu-location-card__image {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  aspect-ratio: 370 / 247;
  overflow: hidden;
  background: #e9ecea;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: zoom-in;
  appearance: none;
}
.ccu-location-card__image:focus-visible { outline: 3px solid var(--ccu-green-bright); outline-offset: 3px; }
.ccu-location-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms cubic-bezier(.22,1,.36,1); }
.ccu-location-card:hover img { transform: scale(1.025); }
.ccu-location-card__body { padding: 0; }
.ccu-location-card__place {
  margin: 20px 0;
  color: var(--ccu-green-bright);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2.88px;
  line-height: 12px;
  text-transform: uppercase;
}
.ccu-location-card h3 {
  margin: 0 0 30px;
  color: var(--ccu-green);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.15;
}
.ccu-location-card__copy {
  margin: 0;
  color: var(--ccu-muted);
  font-family: var(--font-copy);
  font-size: 17px;
  font-weight: 400;
  line-height: 27.2px;
}
.ccu-location-card .text-link { margin-top: 20px; }
.ccu-motion-enabled .ccu-location-card[data-reveal] {
  opacity: 0;
  transform: translateY(64px) scale(.88);
  transition: opacity 780ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms), transform 880ms cubic-bezier(.16, 1, .3, 1) var(--reveal-delay, 0ms);
}
.ccu-motion-enabled .ccu-location-card[data-reveal].is-revealed { opacity: 1; transform: none; }
.ccu-motion-enabled .ccu-location-card[data-reveal] .ccu-location-card__image img {
  transform: scale(1.18);
  transition: transform 1100ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms);
}
.ccu-motion-enabled .ccu-location-card[data-reveal].is-revealed .ccu-location-card__image img { transform: none; }
.ccu-motion-enabled .ccu-location-card[data-reveal].is-revealed:hover .ccu-location-card__image img { transform: scale(1.04); }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(1) { --reveal-delay: 0ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(2) { --reveal-delay: 200ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(3) { --reveal-delay: 400ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(4) { --reveal-delay: 600ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(5) { --reveal-delay: 800ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(6) { --reveal-delay: 1000ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(7) { --reveal-delay: 1200ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(8) { --reveal-delay: 1400ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(9) { --reveal-delay: 1600ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(10) { --reveal-delay: 1800ms; }
.ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal]:nth-child(11) { --reveal-delay: 2000ms; }
@media (max-width: 900px) {
  .ccu-locations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ccu-plants-map { height: min(68dvh, 680px); min-height: 620px; }
}
@media (max-width: 760px) {
  .ccu-locations { padding: 55px 0; }
  .ccu-locations--plants { padding: 32px 0; }
  .ccu-locations__header { grid-template-columns: 1fr; gap: 20px; margin-bottom: 30px; }
  .ccu-locations h2 { font-size: 28px; }
  .ccu-locations__grid { grid-template-columns: 1fr; gap: 36px; }
  .ccu-locations--plants .ccu-locations__grid { padding-top: 32px; }
  .ccu-plants-map { height: min(78dvh, 740px); min-height: 680px; }
  .ccu-plants-map .leaflet-popup { max-width: calc(100vw - 32px); }
  .ccu-plants-map .leaflet-popup-content { width: min(280px, calc(100vw - 80px)) !important; }
  .ccu-location-card h3 { font-size: 19px; line-height: 1.2; }
  .ccu-motion-enabled .ccu-locations__grid .ccu-location-card[data-reveal] { --reveal-delay: 0ms; }
}
/* Reusable data and editorial-card modules. */
.ccu-metrics { padding: 80px 0; background: var(--ccu-green); color: #fff; }
.ccu-metrics .eyebrow { color: var(--ccu-green-bright); }
.ccu-metrics h2 { margin: 0 0 38px; color: #fff; font-family: var(--font-display); font-size: clamp(30px, 3vw, 42px); font-weight: 400; line-height: 1.15; }
.ccu-metrics__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgb(255 255 255 / 28%); }
.ccu-metric { min-height: 180px; padding: 34px clamp(20px,4vw,48px); border-right: 1px solid rgb(255 255 255 / 28%); }
.ccu-metric:first-child { padding-left: 0; } .ccu-metric:last-child { border-right: 0; }
.ccu-metric strong { display: block; font-family: var(--font-display); font-size: clamp(46px,5vw,72px); font-weight: 400; line-height: 1; }
.ccu-metric p { max-width: 19rem; margin: 14px 0 0; font-size: 13px; font-weight: 600; letter-spacing: .8px; line-height: 1.5; text-transform: uppercase; }
.ccu-cards { padding: 90px 0 110px; background: #fff; }
.ccu-cards h2 { margin: 0 0 42px; color: var(--ccu-green); font-family: var(--font-display); font-size: clamp(30px,3vw,42px); font-weight: 400; line-height: 1.15; }
.ccu-cards__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
.ccu-content-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 30px; }
.ccu-content-card__image { overflow: hidden; } .ccu-content-card__image img { display:block; width:100%; height:auto; transition:transform 600ms cubic-bezier(.22,1,.36,1); } .ccu-content-card:hover img { transform:scale(1.02); }
.ccu-content-card h3 { margin: 0 0 14px; color:var(--ccu-green); font-family:var(--font-display); font-size:28px; font-weight:400; line-height:1.15; }
.ccu-content-card__copy { color:var(--ccu-muted); font-size:15px; line-height:1.65; } .ccu-content-card__copy > :first-child { margin-top:0; } .ccu-content-card__copy > :last-child { margin-bottom:0; }
@media (max-width:760px) { .ccu-metrics,.ccu-cards { padding:55px 0; } .ccu-metrics h2, .ccu-cards h2 { font-size:28px; margin-bottom:28px; } .ccu-metrics__grid,.ccu-cards__grid,.ccu-content-card { grid-template-columns:1fr; } .ccu-metric { min-height:0; padding:26px 0; border-right:0; border-bottom:1px solid rgb(255 255 255 / 28%); } .ccu-metric strong { font-size:40px; } .ccu-content-card { gap:18px; } .ccu-content-card h3 { font-size:22px; } }
/* Standard corporate-green editorial treatment, distinct from the map-overflow module. */
.ccu-editorial--theme-green { background: linear-gradient(180deg, #57b847 0%, #004d32 100%); color: #fff; }
.ccu-editorial--theme-green h2, .ccu-editorial--theme-green .ccu-editorial__text, .ccu-editorial--theme-green .ccu-editorial__richtext { color: #fff; }
.ccu-editorial--theme-green .eyebrow, .ccu-editorial--theme-green .text-link { color: #fff; }
.ccu-editorial--theme-green .text-link__arrow { color: #fff; }
.ccu-editorial--theme-green .ccu-editorial__image img { filter: drop-shadow(0 18px 24px rgb(0 50 33 / 18%)); }
.ccu-graphic--contained { padding: 95px 0; }
.ccu-graphic--contained .ccu-graphic__inner { width: min(100%, 440px); }
/* Interactive model: SVG is semantic UI, not a decorative image. */
.ccu-sustainability-model { padding: 84px 0 96px; background: #fff; text-align: center; }
.ccu-sustainability-model__header h2 { margin: 0; color: var(--ccu-green); font-family: var(--font-display); font-size: clamp(30px, 3vw, 42px); font-weight: 400; }
.ccu-sustainability-model__wheel { width: min(100%, 575px); aspect-ratio: 1; margin: 32px auto 0; }
.ccu-sustainability-model__wheel svg { display: block; width: 100%; height: auto; overflow: visible; }
.ccu-model__target { cursor: pointer; outline: none; transition: opacity 180ms ease, filter 180ms ease; }
.ccu-model__target:hover, .ccu-model__target:focus { opacity: .82; filter: brightness(1.08); }
.ccu-sustainability-model__hint { margin: 12px 0 0; color: var(--ccu-muted); font-size: 14px; }
@media (max-width:760px) {
  .ccu-sustainability-model { padding: 55px 0; }
  .ccu-sustainability-model__wheel { width: min(100%, 360px); overflow: hidden; }
  .ccu-sustainability-model__wheel svg { overflow: hidden; }
}
/* Outset: the photo may sit above its own band. The section still owns
 * the bottom of the image, so the next module does not start underneath it. */
.ccu-editorial--media-outset { position: relative; min-height: 560px; padding: 0 0 70px; }
.ccu-editorial--media-outset .ccu-editorial__grid { min-height: 560px; }
.ccu-editorial--media-outset .ccu-editorial__image { position: relative; z-index: 2; margin: -90px 0 0; overflow: visible; }
.ccu-editorial--media-outset .ccu-editorial__image img { box-shadow: 0 20px 42px rgb(0 38 25 / 14%); }
.ccu-editorial:has(+ .ccu-editorial--media-outset) { padding-bottom: 170px; }
.ccu-editorial--theme-green.ccu-editorial--media-outset { min-height: 560px; }
.ccu-editorial--theme-green.ccu-editorial--media-outset .ccu-editorial__grid { min-height: 560px; }
@media (max-width:760px) {
	.ccu-editorial--media-outset { padding: 55px 0; min-height: auto; }
	.ccu-editorial--media-outset .ccu-editorial__grid { min-height: auto; }
	.ccu-editorial--media-outset .ccu-editorial__image { margin: 0; overflow: hidden; }
	.ccu-editorial:has(+ .ccu-editorial--media-outset) { padding-bottom: 55px; }
}

/* Sustainability model dialogs — Elementor popup 11755 scale at 1440. */
.ccu-model-dialog {
	width: min(1310px, calc(100vw - 48px));
	max-width: min(1310px, calc(100vw - 48px));
	max-height: none;
	margin: auto;
	padding: 20px 0 0;
	overflow: visible;
	border: 0;
	background: transparent;
	color: #f7f7f7;
	box-shadow: none;
	opacity: 0;
	transform: translateY(22px) scale(.975);
	transition: opacity 420ms cubic-bezier(.22,1,.36,1), transform 480ms cubic-bezier(.22,1,.36,1);
}
.ccu-model-dialog.is-open { opacity: 1; transform: none; }
.ccu-model-dialog.is-closing { opacity: 0; transform: translateY(14px) scale(.985); }
.ccu-model-dialog::backdrop {
	background: rgb(0 0 0 / 0);
	transition: background 420ms ease;
}
.ccu-model-dialog.is-open::backdrop {
	background: rgb(0 0 0 / 80%);
}
.ccu-model-dialog__inner {
	position: relative;
	display: grid;
	grid-template-columns: 416px minmax(0, 1fr);
	gap: 70px;
	align-items: stretch;
	min-height: 680px;
	padding: 70px 114px 57px 68px;
	overflow: visible;
	border-radius: 40px;
	background: var(--ccu-blue);
	box-shadow: 0 24px 64px rgb(0 0 0 / 36%);
	text-align: left;
}
.ccu-model-dialog:not(.ccu-model-dialog--with-media) .ccu-model-dialog__inner {
	display: block;
	min-height: 0;
	padding: 70px 80px 60px;
}
.ccu-model-dialog__media {
	min-width: 0;
	overflow: hidden;
}
.ccu-model-dialog__media img {
	display: block;
	width: 416px;
	max-width: 100%;
	height: 100%;
	min-height: 480px;
	object-fit: cover;
}
.ccu-model-dialog__body { min-width: 0; }
.ccu-model-dialog .eyebrow {
	margin: 0;
	color: #35b0e3;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 12px;
}
.ccu-model-dialog h2 {
	margin: 8px 0 50px;
	color: #f7f7f7;
	font-family: var(--font-display);
	font-size: 48px;
	font-weight: 400;
	line-height: 48px;
}
.ccu-model-dialog__content {
	max-width: none;
	color: #f7f7f7;
	font-family: var(--font-copy);
	font-size: 17px;
	font-weight: 400;
	line-height: 25.5px;
}
.ccu-model-dialog__content p { margin: 0; }
.ccu-model-dialog__content p + p { margin-top: 20px; }
.ccu-model-dialog__content strong { font-weight: 700; }
.ccu-model-dialog__metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 301px));
	gap: 20px;
	margin-top: 25px;
}
.ccu-model-dialog__metric {
	display: flex;
	min-height: 176px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 30px 40px;
	border-radius: 9px;
	background: #07699b;
	color: #f7f7f7;
	text-align: center;
}
.ccu-model-dialog__metric strong {
	display: block;
	margin: 0 0 20px;
	color: #f7f7f7;
	font-family: var(--font-display);
	font-size: 48px;
	font-weight: 400;
	line-height: 32px;
}
.ccu-model-dialog__metric span {
	max-width: 14em;
	color: #f7f7f7;
	font-family: var(--font-copy);
	font-size: 17px;
	font-weight: 400;
	line-height: 21.25px;
}
.ccu-model-dialog__close {
	position: absolute;
	z-index: 2;
	top: -17px;
	right: 7px;
	display: grid;
	width: 25px;
	height: 25px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: var(--ccu-blue);
	font-family: Arial, sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}
.ccu-model-dialog__close span { display: block; transform: translateY(-1px); }
.ccu-model-dialog__close:hover,
.ccu-model-dialog__close:focus-visible { background: #e6f5fc; outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 1280px) {
	.ccu-model-dialog__inner { grid-template-columns: minmax(280px, 416px) minmax(0, 1fr); gap: 48px; padding: 56px 64px 48px 48px; min-height: 0; }
	.ccu-model-dialog__media img { width: 100%; min-height: 360px; }
}
@media (max-width: 960px) {
	.ccu-model-dialog { width: calc(100vw - 36px); max-width: calc(100vw - 36px); max-height: calc(100dvh - 56px); overflow: auto; }
	.ccu-model-dialog__inner { grid-template-columns: 1fr; gap: 22px; min-height: 0; padding: 36px 28px 28px; border-radius: 24px; }
	.ccu-model-dialog__media img { width: 100%; min-height: 0; max-height: 240px; }
	.ccu-model-dialog h2 { margin-bottom: 16px; font-size: 32px; line-height: 1.1; }
	.ccu-model-dialog__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
	.ccu-model-dialog__metric { min-height: 120px; padding: 20px 16px; }
	.ccu-model-dialog__metric strong { font-size: 32px; line-height: 1; margin-bottom: 10px; }
	.ccu-model-dialog__close { top: 12px; right: 12px; }
}
@media (max-width: 560px) {
	.ccu-model-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); }
	.ccu-model-dialog__inner { padding: 28px 18px 20px; border-radius: 18px; }
	.ccu-model-dialog h2 { font-size: 26px; }
	.ccu-model-dialog__content { font-size: 15px; line-height: 1.45; }
	.ccu-model-dialog__metrics { grid-template-columns: 1fr; }
	.ccu-model-dialog__metric strong { font-size: 28px; }
	.ccu-model-dialog__metric span { font-size: 15px; }
}

/* Nuestras Marcas — layout taken from ccu.com.ar/nuestras-marcas/ at 1440. */
.brands-archive { background: #fff; }
.brands-archive__intro { padding: 0 0 20px; }
.brands-archive__hero { position: relative; overflow: visible; height: 375px; }
.brands-archive__hero-media { overflow: hidden; height: 375px; }
.brands-archive__hero img { display: block; width: 100%; height: 375px; object-fit: cover; transform: scale(1.04); transition: transform 1.4s cubic-bezier(.22,1,.36,1); }
.ccu-motion-enabled .brands-archive__hero.is-revealed img { transform: none; }
.brands-archive__hero blockquote {
	position: absolute;
	top: 50%;
	right: -40px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: var(--ccu-quote-size);
	min-width: var(--ccu-quote-size);
	height: var(--ccu-quote-size);
	min-height: var(--ccu-quote-size);
	margin: 0;
	padding: 50px;
	align-items: center;
	justify-content: center;
	background-color: transparent;
	background-image: var(--ccu-quote-gradient);
	color: #fff;
	font-family: var(--font-copy);
	font-size: 16px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	transform: translateY(-50%);
}
.brands-archive__copy { max-width: 880px; padding: 10px 0 12px; }
.brands-archive__copy p { margin: 0 0 20px; color: var(--ccu-muted); font-family: var(--font-copy); font-size: 17px; line-height: 27.2px; }
.brands-portfolio { padding: 28px 0 118px; }
.brands-filter { display: flex; flex-wrap: wrap; justify-content: left; gap: 8px 28px; padding: 0 0 18px; border-bottom: 1px solid #e6e6e6; }
.brands-filter button { position: relative; padding: 8px 0 12px; border: 0; background: transparent; color: var(--ccu-muted); font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: 2.4px; line-height: 1.2; text-transform: uppercase; cursor: pointer; transition: color 180ms ease; }
.brands-filter button::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--ccu-green-bright); content: ''; transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.brands-filter button:hover { color: var(--ccu-green); }
.brands-filter button.is-active { color: var(--ccu-green); }
.brands-filter button.is-active::after,
.brands-filter button:hover::after { transform: scaleX(1); }
.brands-filter button:focus-visible { outline: 3px solid var(--ccu-green-bright); outline-offset: 3px; }
.brands-group { padding: 48px 0 0; transition: opacity 320ms ease, transform 420ms cubic-bezier(.22,1,.36,1); }
.brands-group.is-filtered-out { opacity: 0; transform: translateY(10px); pointer-events: none; }
.brands-group[hidden] { display: none; }
.brands-group h2 { margin: 0 0 24px; color: var(--ccu-green-bright); font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: 2.88px; line-height: 1.2; text-transform: uppercase; }
.brands-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 15px; }
.brands-card { min-width: 0; }
.brands-card[hidden] { display: none; }
.brands-card button { display: grid; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.brands-card button:focus-visible { outline: 3px solid var(--ccu-green-bright); outline-offset: 4px; }
.brands-card__media { position: relative; display: grid; overflow: hidden; aspect-ratio: 224 / 291; background: #f3f3f3; place-items: center; }
.brands-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 640ms cubic-bezier(.22,1,.36,1); }
.brands-card button:hover img, .brands-card button:focus-visible img { transform: scale(1.1); }
.brands-card__name {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: -webkit-box;
	padding: 28px 10px 11px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	background: linear-gradient(180deg, rgb(51 51 51 / 0) 0%, rgb(51 51 51 / .7) 100%);
	color: #fff;
	font-family: var(--font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.25;
	text-align: center;
	transform: translateY(100%);
	transition: transform 320ms cubic-bezier(.22,1,.36,1);
	pointer-events: none;
}
.brands-card:hover .brands-card__name,
.brands-card button:hover .brands-card__name,
.brands-card button:focus-visible .brands-card__name { transform: translateY(0); }
@media (max-width: 1100px) {
  .brands-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .brands-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .brands-archive__hero blockquote { right: -24px; width: min(275px, 42vw); min-width: 0; height: min(275px, 42vw); min-height: 0; padding: clamp(24px, 6vw, 50px); }
}
@media (max-width: 640px) {
  .brands-archive__hero { height: auto; }
  .brands-archive__hero-media, .brands-archive__hero img { height: 320px; }
  .brands-archive__hero blockquote { display: none; }
  .brands-archive__copy { padding-top: 22px; }
  .brands-portfolio { padding: 12px 0 68px; }
  .brands-filter { gap: 6px 18px; }
  .brands-filter button { padding: 8px 0 10px; font-size: 11px; letter-spacing: 1.6px; }
  .brands-group { padding-top: 36px; }
  .brands-group h2 { font-size: 12px; }
  .brands-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .brands-card__name { transform: none; font-size: 11px; padding: 20px 8px 8px; }
}

.brand-modal { width: min(1240px, calc(100vw - 48px)); max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: visible; border: 0; background: transparent; color: var(--ccu-green); opacity: 0; transform: translateY(22px) scale(.975); transition: opacity 420ms cubic-bezier(.22,1,.36,1), transform 480ms cubic-bezier(.22,1,.36,1); }
.brand-modal.is-open { opacity: 1; transform: none; }
.brand-modal.is-closing { opacity: 0; transform: translateY(14px) scale(.985); }
.brand-modal::backdrop { background: rgb(8 18 14 / 0); transition: background 420ms ease; }
.brand-modal.is-open::backdrop { background: rgb(8 18 14 / 62%); }
.brand-modal__panel { position: relative; display: grid; grid-template-columns: minmax(280px, 440px) minmax(0, 1fr); align-items: center; column-gap: 40px; max-height: calc(100dvh - 32px); overflow: auto; padding: 56px 48px 40px; border-radius: 18px; background: #f7f7f7; box-shadow: 0 28px 80px rgb(0 0 0 / 28%); }
.brand-modal__close { position: absolute; z-index: 4; top: 22px; right: 22px; display: grid; width: 36px; height: 36px; padding: 0; place-items: center; border: 0; background: transparent; color: #8a8a8a; font-family: Arial, sans-serif; font-size: 28px; font-weight: 300; line-height: 1; cursor: pointer; transition: color 200ms ease, transform 200ms ease; }
.brand-modal__close span { transform: translateY(-1px); }
.brand-modal__close:hover, .brand-modal__close:focus-visible { color: var(--ccu-green); transform: rotate(90deg); }
.brand-modal__media { position: relative; display: grid; min-width: 0; align-self: center; align-items: center; justify-items: center; padding: 0 44px; overflow: visible; }
.brand-modal__slides { position: relative; width: fit-content; max-width: 100%; min-width: 200px; min-height: min(420px, 58vh); }
.brand-modal__slide { position: absolute; inset: 0; display: grid; margin: 0; place-items: center; opacity: 0; visibility: hidden; transition: opacity 480ms cubic-bezier(.22,1,.36,1), visibility 480ms; }
.brand-modal__slide.is-active { position: relative; opacity: 1; visibility: visible; }
.brand-modal__slide img { display: block; width: auto; height: auto; max-height: min(520px, 68vh); max-width: min(416px, 100%); object-fit: contain; object-position: center center; }
.brand-modal__nav { position: absolute; top: 50%; z-index: 2; display: grid; width: 35px; height: 35px; padding: 0; place-items: center; border: 0; background: transparent; cursor: pointer; transform: translateY(-50%); transition: opacity 200ms ease; }
.brand-modal__nav svg { display: block; width: 35px; height: 35px; }
.brand-modal__nav:hover, .brand-modal__nav:focus-visible { opacity: .72; }
.brand-modal__nav:focus-visible { outline: 2px solid #5aae34; outline-offset: 3px; }
.brand-modal__nav--prev { left: -42px; }
.brand-modal__nav--next { right: -42px; transform: translateY(-50%) scaleX(-1); }
.brand-modal__dots { position: absolute; right: 0; bottom: 10px; left: 0; z-index: 2; display: flex; justify-content: center; align-items: center; gap: 6px; pointer-events: none; }
.brand-modal__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #706f6f; opacity: .2; pointer-events: auto; cursor: pointer; transition: background 220ms ease, opacity 220ms ease, transform 220ms ease; }
.brand-modal__dots button.is-active { width: 7px; height: 7px; background: #0083c5; opacity: 1; }
.brand-modal__content { display: flex; flex-direction: column; padding: 0; }
.brand-modal.is-open .brand-modal__content { animation: ccu-brand-copy-in 560ms cubic-bezier(.22,1,.36,1) both; }
.brand-modal__content .eyebrow { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 2px; line-height: 32px; }
.brand-modal__content h2 { max-width: none; margin: 25px 0 45px; color: #074e31; font-family: var(--font-display); font-size: 48px; font-weight: 600; line-height: 1.1; }
.brand-modal__description { max-width: 34rem; color: #000; font-family: var(--font-copy); font-size: 17px; line-height: 32px; }
.brand-modal__description p { margin: 0 0 20px; }
.brand-modal__description p:last-child { margin-bottom: 0; }
.brand-modal__description a, .brand-modal__site a { font-family: var(--font-copy); font-size: 17px; font-weight: 400; line-height: 32px; }
.brand-modal__site { margin: 0; }
.brand-modal__details { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; margin-top: auto; padding-top: 28px; }
.brand-modal__social { grid-column: 1 / -1; }
.brand-modal__details h3 { margin: 0 0 13px; color: var(--ccu-green-bright); font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: 2px; line-height: 32px; text-transform: uppercase; }
.brand-modal__details p { margin: 0; color: #000; font-family: var(--font-copy); font-size: 17px; line-height: 27.2px; }
.brand-modal__social ul { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.brand-modal__social a { display: grid; width: 22px; height: 22px; place-items: center; color: #000; }
.brand-modal__social a svg { display: block; width: 22px; height: 22px; fill: currentColor; }
.brand-modal__social a:hover, .brand-modal__social a:focus-visible { color: var(--ccu-green); }
@keyframes ccu-brand-copy-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (max-width: 980px) {
  .brand-modal { width: calc(100vw - 32px); max-height: calc(100dvh - 24px); }
  .brand-modal__panel { grid-template-columns: 1fr; padding: 40px 28px 28px; }
  .brand-modal__media { padding: 0 42px 12px; }
  .brand-modal__slide img { height: auto; max-height: min(42vh, 340px); }
  .brand-modal__nav--prev { left: -36px; }
  .brand-modal__nav--next { right: -36px; transform: translateY(-50%) scaleX(-1); }
  .brand-modal__content { min-height: 0; padding: 8px 0 0; }
  .brand-modal__content h2 { margin: 12px 0 28px; font-size: 36px; }
  .brand-modal__details { margin-top: 36px; padding-top: 0; }
}
@media (max-width: 480px) {
  .brand-modal__panel { padding: 32px 18px 24px; }
  .brand-modal__details { grid-template-columns: 1fr; }
  .brand-modal__content h2 { font-size: 28px; }
  .brand-modal__media { padding: 0 36px 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-modal, .brand-modal::backdrop, .brands-card img, .brands-group, .brands-filter button, .brands-archive__hero img, .video-modal__stage, .plant-lightbox__stage, .ccu-model-dialog, .ccu-model-dialog::backdrop { transition: none !important; }
  .brand-modal.is-open .brand-modal__content, .video-modal__stage, .plant-lightbox__stage, .ccu-model-dialog { animation: none; opacity: 1; transform: none; }
}

.video-modal {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}
.video-modal[open] { display: grid; place-items: center; }
.video-modal::backdrop { background: rgb(8 18 14 / 78%); }
.video-modal__stage {
  position: relative;
  opacity: 0;
  transform: translateY(14px) scale(.975);
  animation: ccu-video-in 360ms cubic-bezier(.22, 1, .36, 1) forwards;
}
.video-modal__close {
  position: absolute;
  z-index: 2;
  top: -12px;
  right: -12px;
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgb(3 78 49 / 92%);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 22px rgb(0 0 0 / 28%);
  transition: background 200ms ease, transform 200ms ease;
}
.video-modal__close:hover, .video-modal__close:focus-visible { background: var(--ccu-green-bright); transform: rotate(90deg); }
.video-modal__frame {
  overflow: hidden;
  background: #000;
  box-shadow: 0 28px 64px rgb(0 0 0 / 38%);
}
.video-modal--landscape .video-modal__frame {
  width: min(960px, calc(100vw - 48px), calc((100dvh - 96px) * 16 / 9));
  aspect-ratio: 16 / 9;
  border-radius: 16px;
}
.video-modal--portrait .video-modal__frame {
  width: min(420px, calc(100vw - 40px), calc((100dvh - 72px) * 9 / 16));
  aspect-ratio: 9 / 16;
  border-radius: 28px;
}
.video-modal__frame iframe,
.video-modal__frame video { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 560px) {
  .video-modal__close { top: -8px; right: -8px; width: 36px; height: 36px; font-size: 22px; }
  .video-modal--portrait .video-modal__frame { border-radius: 22px; }
}
@keyframes ccu-video-in { to { opacity: 1; transform: none; } }

.plant-lightbox {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}
.plant-lightbox[open] { display: grid; place-items: center; }
.plant-lightbox::backdrop { background: rgb(8 18 14 / 92%); }
.plant-lightbox__stage {
  position: relative;
  width: fit-content;
  max-width: min(1080px, calc(100vw - 48px));
  opacity: 0;
  transform: translateY(16px) scale(.98);
  animation: ccu-video-in 360ms cubic-bezier(.22, 1, .36, 1) forwards;
}
.plant-lightbox__close {
  position: absolute;
  z-index: 3;
  top: -14px;
  right: -14px;
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgb(3 78 49 / 94%);
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 22px rgb(0 0 0 / 28%);
  transition: background 200ms ease, transform 200ms ease;
}
.plant-lightbox__close:hover,
.plant-lightbox__close:focus-visible { background: var(--ccu-green-bright); transform: rotate(90deg); }
.plant-lightbox__figure { position: relative; display: block; width: fit-content; max-width: 100%; margin: 0; }
.plant-lightbox__figure img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(100dvh - 72px);
  height: auto;
  margin: 0;
  object-fit: contain;
  background: #111;
  box-shadow: 0 28px 80px rgb(0 0 0 / 42%);
}
.plant-lightbox__figure figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 56px 22px 18px;
  background: linear-gradient(180deg, transparent 0%, rgb(8 18 14 / 72%) 100%);
  text-align: left;
}
.plant-lightbox__figure .eyebrow {
  margin: 0 0 6px;
  color: var(--ccu-green-bright);
}
.plant-lightbox__title {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
}
@media (max-width: 760px) {
  .plant-lightbox__stage { max-width: calc(100vw - 28px); }
  .plant-lightbox__close { top: -8px; right: -4px; width: 36px; height: 36px; font-size: 22px; }
  .plant-lightbox__figure img { max-height: calc(100dvh - 96px); }
  .plant-lightbox__figure figcaption { padding: 40px 16px 14px; }
  .plant-lightbox__title { font-size: 18px; }
}

/* Noticias: native posts, one quiet archive and one focused reading experience. */
.news-archive { padding: 12px 0 80px; background: #fff; }
.news-archive__layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 30px; align-items: start; }
.news-archive__list { min-width: 0; }
.news-listing { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 20px; align-items: stretch; padding: 0 0 40px; margin: 0 0 0; border-bottom: 0; }
.news-listing__image {
	display: block;
	position: relative;
	overflow: hidden;
	background: #eef1ef;
	height: 100%;
	min-height: 160px;
}
.news-listing__image img, .news-listing__placeholder {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 520ms cubic-bezier(.22,1,.36,1);
}
.news-listing:hover .news-listing__image img { transform: scale(1.025); }
.news-listing__date, .news-single__date { margin: 0 0 8px; color: #9d9d9d; font-family: var(--font-copy); font-size: 13px; line-height: 1.4; }
.news-listing h2 { margin: 0 0 20px; font-family: var(--font-display); font-size: 19px; font-weight: 600; line-height: 24px; }
.news-listing h2 a { color: var(--ccu-green); text-decoration: none; transition: color 240ms ease; }
.news-listing h2 a:hover, .news-listing h2 a:focus-visible { color: var(--ccu-green-bright); }
.news-listing__excerpt { max-width: 39rem; margin-bottom: 0; color: var(--ccu-muted); font-family: var(--font-copy); font-size: 17px; line-height: 1.6; }
.news-popular { padding-top: 2px; }
.news-popular h2 { margin: 0 0 20px; color: #707070; font-family: var(--font-display); font-size: 24px; font-weight: 400; line-height: 1; }
.news-popular ol { margin: 0; padding: 0; list-style: none; counter-reset: popular; }
.news-popular li { display: grid; grid-template-columns: 34px 1fr; gap: 13px; padding: 14px 0; border-top: 1px solid #e3e8e5; }
.news-popular li:last-child { border-bottom: 1px solid #e3e8e5; }
.news-popular li > span { color: var(--ccu-green-bright); font-family: var(--font-display); font-size: 12px; font-weight: 600; letter-spacing: 1.4px; }
.news-popular a { color: #707070; font-family: var(--font-display); font-size: 17px; font-weight: 400; line-height: 22px; text-decoration: none; transition: color 240ms ease; }
.news-popular a:hover, .news-popular a:focus-visible { color: var(--ccu-green-bright); }
.news-pagination { margin: 40px 0 0; }
.news-pagination ul { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.news-pagination a, .news-pagination span { display: grid; width: 34px; height: 34px; padding: 0; overflow: hidden; place-items: center; border: 1px solid #dbe4de; color: var(--ccu-green); font-family: var(--font-display); font-size: 14px; line-height: 1; text-decoration: none; }
.news-pagination .prev,
.news-pagination .next { font-size: 18px; }
.news-pagination .current { border-color: var(--ccu-green); background: var(--ccu-green); color: #fff; }
.news-archive__empty { color: var(--ccu-muted); font-family: var(--font-copy); }
.news-single { padding: 30px 0 40px; background: #fff; color: var(--ccu-muted); font-family: var(--font-copy); }
.news-single__inner { max-width: 840px; padding-inline: 15px; }
.news-single__title { margin: 0 0 16px; color: var(--ccu-green); font-family: var(--font-display); font-size: 40px; font-weight: 400; letter-spacing: 0; line-height: 1; text-align: left; }
.news-single__date { margin: 0 0 20px; color: #272829; font-family: var(--font-copy); font-size: 14px; line-height: 1.4; text-align: left; }
.news-single__featured { margin: 0 0 20px; overflow: hidden; }
.news-single__featured img { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; object-position: center; }
.news-single__featured figcaption,
.news-single__content figcaption,
.news-single__content .wp-element-caption,
.news-single__content .wp-caption-text {
	margin: 10px 0 0;
	color: #a0a0a0;
	font-family: var(--font-copy);
	font-size: 14px;
	font-style: italic;
	font-weight: 300;
	line-height: 1.5;
	text-align: left;
}
.news-single__content .wp-caption {
	text-align: left;
}
.news-single__content p.has-text-align-center,
.news-single__content p[style*="text-align:center"],
.news-single__content p[style*="text-align: center"] {
	color: #a0a0a0;
	font-family: var(--font-copy);
	font-style: italic;
	font-weight: 300;
	text-align: left !important;
}
.news-single__content { color: var(--ccu-muted); font-family: var(--font-copy); font-size: 17px; line-height: 1.6; }
.news-single__content > :first-child { margin-top: 0; }
.news-single__content p, .news-single__content ul, .news-single__content ol { margin: 0 0 20px; }
.news-single__content ul, .news-single__content ol { padding-left: 20px; }
.news-single__content li { margin: 0 0 .35em; }
.news-single__content h2, .news-single__content h3 { margin: 1.4em 0 .55em; color: var(--ccu-green); font-family: var(--font-display); font-weight: 400; line-height: 1.2; }
.news-single__content h2 { font-size: 28px; }
.news-single__content h3 { font-size: 22px; }
.news-single__content img, .news-single__content video { display: block; max-width: 100%; height: auto; }
.news-single__content figure { margin: 1.5em 0; }
.news-single__content .wp-block-image { margin: 1.5em 0; }
.news-single__content .wp-block-image img { margin: 0; }
.news-single__content .wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 1.5em 0;
	padding: 0;
	list-style: none;
}
.news-single__content .wp-block-gallery .wp-block-image,
.news-single__content .wp-block-gallery .blocks-gallery-item {
	flex: 1 1 calc(33.333% - 8px);
	margin: 0;
	min-width: 140px;
}
.news-single__content .wp-block-gallery.columns-2 .wp-block-image,
.news-single__content .wp-block-gallery.columns-2 .blocks-gallery-item { flex-basis: calc(50% - 8px); }
.news-single__content .wp-block-gallery.columns-4 .wp-block-image,
.news-single__content .wp-block-gallery.columns-4 .blocks-gallery-item { flex-basis: calc(25% - 8px); }
.news-single__content .wp-block-video video { width: 100%; background: #111; }
.news-single__content .wp-block-embed,
.news-single__content .wp-block-embed__wrapper { margin: 1.5em 0; }
.news-single__content iframe { display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.news-single__content .alignleft { float: left; max-width: 48%; margin: 0 1.2em .8em 0; }
.news-single__content .alignright { float: right; max-width: 48%; margin: 0 0 .8em 1.2em; }
.news-single__content .aligncenter { margin-inline: auto; }
.news-single__content::after { content: ""; display: block; clear: both; }
.news-single__footer { margin-top: 28px; padding-top: 22px; border-top: 1px solid #dfe6e1; }
@media (max-width: 1100px) {
  .news-archive__layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; }
  .news-listing { grid-template-columns: 200px minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 760px) {
  .news-archive { padding: 0 0 72px; }
  .news-archive__layout { grid-template-columns: 1fr; gap: 36px; }
  .news-listing { grid-template-columns: 1fr; gap: 18px; padding-bottom: 28px; }
  .news-listing__image { max-width: none; height: auto; min-height: 180px; aspect-ratio: 16 / 10; }
  .news-single { padding: 22px 0 36px; }
  .news-single__inner { padding-inline: 0; }
  .news-single__title { font-size: 28px; line-height: 1.2; }
  .news-single__featured { margin-bottom: 16px; }
  .news-single__content h2 { font-size: 24px; }
  .news-single__content h3 { font-size: 20px; }
  .news-single__content .alignleft,
  .news-single__content .alignright { float: none; max-width: 100%; margin: 1em 0; }
  .news-single__content .wp-block-gallery .wp-block-image,
  .news-single__content .wp-block-gallery .blocks-gallery-item { flex-basis: calc(50% - 8px); }
  .news-popular h2 { font-size: 24px; }
  .news-popular a { font-size: 17px; }
  .news-pagination { margin-top: 32px; }
}

/* Useful error state: visually consistent while retaining a real HTTP 404. */
.ccu-404 { display: grid; min-height: 55vh; padding: clamp(90px, 13vw, 180px) 0; place-items: center; background: linear-gradient(135deg, #f8faf8, #fff); }
.ccu-404 .container { max-width: 880px; }
.ccu-404 h1 { max-width: 14ch; margin: 0 0 24px; color: var(--ccu-green); font-family: var(--font-display); font-size: clamp(42px, 5vw, 72px); font-weight: 400; line-height: 1.02; }
.ccu-404 p:not(.eyebrow) { max-width: 38rem; color: var(--ccu-muted); font-family: var(--font-copy); font-size: 18px; }
.ccu-404 div { display: flex; flex-wrap: wrap; gap: 22px 32px; margin-top: 36px; }

/* Contacto: the live hero image is letterboxed (contain), not cropped. */
.page-template-page-contactoccuargentina-php .page-statement__media::before { background-size: contain; }
.contact-page { margin-top: 20px; padding: 60px 0; background: var(--ccu-surface); }
.contact-page__form-wrap .eyebrow { margin: 0 0 15px; }
.contact-page__form-wrap h2 { margin: 0 0 60px; color: var(--ccu-green); font-family: var(--font-display); font-size: 40px; font-weight: 400; line-height: 1; }
.contact-notice { margin: -36px 0 28px; padding: 15px 18px; font-family: var(--font-copy); font-size: 15px; line-height: 1.5; }
.contact-notice--success { border-left: 4px solid var(--ccu-green-bright); background: #eff8ed; color: #14532d; }
.contact-notice--error { border-left: 4px solid var(--ccu-burgundy); background: #fff3f5; color: #7d1837; }
.ccu-contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 47px; }
.ccu-contact-form__field { margin: 0; padding: 10px 0; }
.ccu-contact-form__field--full { grid-column: 1 / -1; }
.ccu-contact-form label { display: block; margin: 0 0 4px; color: var(--ccu-muted); font-family: var(--font-display); font-size: 12px; font-weight: 500; letter-spacing: 2.88px; line-height: 1.3; text-transform: uppercase; }
.ccu-contact-form label span[aria-hidden] { color: #f00; }
.ccu-contact-form input, .ccu-contact-form textarea {
	display: block;
	width: 100%;
	border: 0;
	border-bottom: 2px solid #ddd;
	border-radius: 2px;
	background: transparent;
	color: var(--ccu-ink);
	font: 400 16px/1.45 var(--font-copy);
	transition: border-color 160ms ease;
}
.ccu-contact-form input { height: 38px; min-height: 38px; padding: 6px 10px; }
.ccu-contact-form textarea { min-height: 120px; padding: 6px 10px; resize: vertical; }
.ccu-contact-form input:hover, .ccu-contact-form textarea:hover { border-bottom-color: #bbb; }
.ccu-contact-form input:focus, .ccu-contact-form textarea:focus { border-bottom-color: var(--ccu-green-bright); outline: 0; }
.ccu-contact-form__submit {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 168px;
	min-height: 48px;
	margin-top: 18px;
	padding: 14px 32px;
	border: 0;
	background: var(--ccu-green);
	color: #fff;
	font-family: var(--font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.88px;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 180ms ease;
}
.ccu-contact-form__submit:hover, .ccu-contact-form__submit:focus-visible { background: var(--ccu-green-bright); }
.ccu-contact-form.is-submitting .ccu-contact-form__submit {
	color: transparent;
	pointer-events: none;
}
.ccu-contact-form.is-submitting .ccu-contact-form__submit::after {
	position: absolute;
	width: 18px;
	height: 18px;
	border: 2px solid rgb(255 255 255 / 35%);
	border-top-color: #fff;
	border-radius: 50%;
	content: '';
	animation: ccu-submit-spin .7s linear infinite;
}
@keyframes ccu-submit-spin { to { transform: rotate(360deg); } }
.ccu-contact-form__honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
@media (max-width: 1024px) {
  .page-template-page-contactoccuargentina-php .page-statement__media::before {
    height: 100%;
    background-size: cover;
    background-position: center;
    transform: none;
  }
  .contact-page { margin-top: 12px; padding: 42px 0 56px; }
  .contact-page__form-wrap h2 { margin-bottom: 36px; font-size: 28px; line-height: 1.15; }
  .ccu-contact-form__grid { grid-template-columns: 1fr; column-gap: 0; }
  .ccu-contact-form__field--full { grid-column: auto; }
}

/* Legal pages: long-form content remains editable in the native editor. */
.ccu-legal { padding: 20px 0 110px; background: #fff; }
.ccu-legal__inner { max-width: 970px; }
.ccu-legal__content { max-width: 860px; color: var(--ccu-muted); font-family: var(--font-copy); font-size: 16px; line-height: 1.72; }
.ccu-legal__content > :first-child { margin-top: 0; }
.ccu-legal__content h2 { margin: 54px 0 16px; color: var(--ccu-green); font-family: var(--font-display); font-size: clamp(25px, 2.4vw, 34px); font-weight: 400; line-height: 1.18; }
.ccu-legal__content h2:first-child { margin-top: 0; }
.ccu-legal__content p { margin: 0 0 20px; }
.ccu-legal__content ul { margin: 0 0 24px; padding-left: 1.3em; }
.ccu-legal__content li { margin: 0 0 10px; padding-left: 4px; }
.ccu-legal__content strong { color: var(--ccu-green); font-weight: 700; }
@media (max-width: 640px) { .ccu-legal { padding: 8px 0 68px; } .ccu-legal__content { font-size: 16px; } .ccu-legal__content h2 { margin-top: 42px; font-size: 24px; } }

/* /sustentabilidad: section rhythm measured from live Elementor at 1440. */
.page-id-72 .page-copy--wide { padding: 0; }
.page-id-72 .page-copy--wide .page-copy__content p { margin: 0 0 20px; }
.page-id-72 .ccu-sustainability-model { position: relative; padding: 20px 0; }
.page-id-72 .ccu-sustainability-model__header,
.page-id-72 .ccu-sustainability-model__hint { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.page-id-72 .ccu-sustainability-model__wheel { width: min(100%, 530px); margin: 0 auto; }
.page-id-72 .ccu-editorial__content { max-width: none; }
.page-id-72 .ccu-editorial .text-link { margin-top: 20px; }
@media (min-width: 1025px) {
	.page-id-72 .page-copy--wide .page-copy__content { width: 880px; max-width: 880px; }
	.page-id-72 .ccu-editorial { padding: 0; }
	.page-id-72 .ccu-editorial h2 { font-size: 40px; line-height: 40px; }
	.page-id-72 .ccu-editorial .eyebrow { line-height: 12px; }
	.page-id-72 .ccu-editorial__text,
	.page-id-72 .ccu-editorial__richtext { margin-top: 60px; font-size: 17px; line-height: 27.2px; }
	.page-id-72 section.ccu-editorial--reccupero-recuperadores,
	.page-id-72 section.ccu-editorial--recuperadores {
		margin-top: 15px;
		padding: 30px 0 48px;
		background: var(--ccu-surface);
	}
	.page-id-72 section.ccu-editorial--reccupero-recuperadores:has(+ .ccu-editorial--media-outset),
	.page-id-72 section.ccu-editorial--recuperadores:has(+ .ccu-editorial--media-outset),
	.page-id-72 section.ccu-editorial--reccupero-recuperadores:has(+ .ccu-editorial--theme-green),
	.page-id-72 section.ccu-editorial--recuperadores:has(+ .ccu-editorial--theme-green) {
		padding-bottom: 125px;
	}
	.page-id-72 section.ccu-editorial--theme-green,
	.page-id-72 section.ccu-editorial--academia-ccu,
	.page-id-72 section.ccu-editorial--academia-ccu-jovenes {
		height: 560px;
		min-height: 560px;
		overflow: visible;
		padding: 0;
	}
	.page-id-72 section.ccu-editorial--conoce-full-responsable { margin: 110px 0 90px; }
	.page-id-72 section.ccu-editorial--theme-green + section.ccu-editorial--conoce-full-responsable { margin-top: 150px; }
	.page-id-72 section.ccu-editorial--programa-de-voluntariado-deja-huella { padding: 0; }
	.page-id-72 section.ccu-editorial--aguas-de-origen-y-su-impacto-positivo { min-height: 0; margin: 110px 0 110px; padding: 0; }
	.page-id-72 .ccu-editorial__grid { gap: 0; align-items: start; }
	.page-id-72 .ccu-editorial--reccupero-recuperadores .ccu-editorial__grid,
	.page-id-72 .ccu-editorial--recuperadores .ccu-editorial__grid { grid-template-columns: 480px 720px; }
	.page-id-72 .ccu-editorial--reccupero-recuperadores .ccu-editorial__content,
	.page-id-72 .ccu-editorial--recuperadores .ccu-editorial__content { max-width: 430px; padding: 10px 40px 10px 10px; }
	.page-id-72 .ccu-editorial--reccupero-recuperadores .ccu-editorial__image,
	.page-id-72 .ccu-editorial--recuperadores .ccu-editorial__image { overflow: hidden; }
	.page-id-72 .ccu-editorial--reccupero-recuperadores .ccu-editorial__image img,
	.page-id-72 .ccu-editorial--recuperadores .ccu-editorial__image img { width: 100%; height: 438px; object-fit: cover; }
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__grid,
	.page-id-72 .ccu-editorial--academia-ccu .ccu-editorial__grid,
	.page-id-72 .ccu-editorial--academia-ccu-jovenes .ccu-editorial__grid {
		grid-template-columns: 600px 600px;
		min-height: 560px;
		align-items: start;
	}
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__content,
	.page-id-72 .ccu-editorial--academia-ccu .ccu-editorial__content,
	.page-id-72 .ccu-editorial--academia-ccu-jovenes .ccu-editorial__content {
		max-width: 400px;
		padding: 10px;
		margin-top: 60px;
	}
	.page-id-72 .ccu-editorial--academia-ccu .ccu-editorial__richtext,
	.page-id-72 .ccu-editorial--academia-ccu-jovenes .ccu-editorial__richtext { max-width: 350px; }
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__image,
	.page-id-72 .ccu-editorial--academia-ccu .ccu-editorial__image,
	.page-id-72 .ccu-editorial--academia-ccu-jovenes .ccu-editorial__image {
		margin: -55px 0 0;
		overflow: visible;
	}
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__media {
		width: auto;
	}
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__image img,
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__media img,
	.page-id-72 .ccu-editorial--academia-ccu .ccu-editorial__image img,
	.page-id-72 .ccu-editorial--academia-ccu-jovenes .ccu-editorial__image img {
		width: auto;
		height: 670px;
		max-width: none;
		object-fit: contain;
		object-position: center top;
		box-shadow: none;
	}
	.page-id-72 .ccu-editorial--theme-green:hover .ccu-editorial__image img { transform: none; }
	.page-id-72 .ccu-editorial--conoce-full-responsable .ccu-editorial__grid { grid-template-columns: 779px 420px; }
	.page-id-72 .ccu-editorial--conoce-full-responsable .ccu-editorial__content { max-width: 390px; padding: 10px 0 10px 30px; }
	.page-id-72 .ccu-editorial--conoce-full-responsable .ccu-editorial__image img { width: 100%; height: 438px; object-fit: cover; }
	.page-id-72 .ccu-editorial--programa-de-voluntariado-deja-huella .ccu-editorial__grid { grid-template-columns: 600px 600px; align-items: center; }
	.page-id-72 .ccu-editorial--programa-de-voluntariado-deja-huella .ccu-editorial__content { max-width: 570px; padding: 0 0 0 30px; }
	.page-id-72 .ccu-editorial--programa-de-voluntariado-deja-huella .ccu-editorial__image { margin: 0; padding-right: 30px; overflow: hidden; }
	.page-id-72 .ccu-editorial--programa-de-voluntariado-deja-huella .ccu-editorial__image img { width: 570px; max-width: 100%; height: 321px; object-fit: cover; object-position: center; box-shadow: none; }
	.page-id-72 .ccu-editorial--aguas-de-origen-y-su-impacto-positivo .ccu-editorial__grid { grid-template-columns: 479px 720px; min-height: 0; align-items: start; }
	.page-id-72 .ccu-editorial--aguas-de-origen-y-su-impacto-positivo .ccu-editorial__content { max-width: 439px; padding: 10px 40px 10px 0; }
	.page-id-72 .ccu-editorial--aguas-de-origen-y-su-impacto-positivo .ccu-editorial__image { margin: 0; overflow: hidden; }
	.page-id-72 .ccu-editorial--aguas-de-origen-y-su-impacto-positivo .ccu-editorial__image img { width: 100%; height: 405px; object-fit: cover; box-shadow: none; }
	.page-id-72 section.ccu-editorial--stacked {
		min-height: 0;
		margin: 110px 0;
		padding: 0;
	}
	.page-id-72 section.ccu-editorial--stacked .ccu-editorial__grid {
		min-height: 0;
		align-items: center;
	}
	.page-id-72 section.ccu-editorial--stacked.ccu-editorial--image-right .ccu-editorial__grid {
		grid-template-columns: minmax(280px, 480px) minmax(0, 1fr);
	}
	.page-id-72 section.ccu-editorial--stacked.ccu-editorial--image-left .ccu-editorial__grid {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 480px);
	}
	.page-id-72 section.ccu-editorial--stacked.ccu-editorial--image-right .ccu-editorial__content {
		max-width: 440px;
		padding: 10px 48px 10px 0;
	}
	.page-id-72 section.ccu-editorial--stacked.ccu-editorial--image-left .ccu-editorial__content {
		max-width: 440px;
		padding: 10px 0 10px 48px;
	}
	.page-id-72 section.ccu-editorial--stacked .ccu-editorial__image,
	.page-id-72 section.ccu-editorial--stacked.ccu-editorial--media-outset .ccu-editorial__image {
		position: relative;
		z-index: auto;
		margin: 0;
		overflow: hidden;
	}
	.page-id-72 section.ccu-editorial--stacked .ccu-editorial__image img,
	.page-id-72 section.ccu-editorial--stacked .ccu-editorial__media,
	.page-id-72 section.ccu-editorial--stacked .ccu-editorial__media img {
		width: 100%;
		height: 405px;
		max-width: 100%;
		object-fit: cover;
		object-position: center;
		box-shadow: none;
	}
}
@media (max-width: 1024px) {
	.page-id-72 .page-copy--wide .page-copy__content { width: 100%; max-width: none; }
	.page-id-72 .ccu-editorial h2 { font-size: 28px; line-height: 1.2; }
	.page-id-72 .ccu-editorial .eyebrow { line-height: 1.3; }
	.page-id-72 .ccu-editorial__text,
	.page-id-72 .ccu-editorial__richtext { margin-top: 18px; }
	.page-id-72 section.ccu-editorial--reccupero-recuperadores,
	.page-id-72 section.ccu-editorial--recuperadores { margin-top: 0; padding: 48px 0; background: var(--ccu-surface); }
	.page-id-72 section.ccu-editorial--conoce-full-responsable { margin: 0; padding: 48px 0; }
	.page-id-72 section.ccu-editorial--aguas-de-origen-y-su-impacto-positivo { margin: 0; padding: 48px 0; min-height: 0; }
	.page-id-72 section.ccu-editorial--academia-ccu,
	.page-id-72 section.ccu-editorial--academia-ccu-jovenes,
	.page-id-72 section.ccu-editorial--theme-green {
		height: auto;
		min-height: 0;
		padding: 48px 0 0;
		overflow: visible;
		margin-bottom: min(140px, 32vw);
	}
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__image,
	.page-id-72 .ccu-editorial--academia-ccu .ccu-editorial__image,
	.page-id-72 .ccu-editorial--academia-ccu-jovenes .ccu-editorial__image {
		margin: 0 0 calc(-1 * min(140px, 32vw));
		overflow: visible;
	}
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__image img,
	.page-id-72 .ccu-editorial--theme-green .ccu-editorial__media img,
	.page-id-72 .ccu-editorial--academia-ccu .ccu-editorial__image img,
	.page-id-72 .ccu-editorial--academia-ccu-jovenes .ccu-editorial__image img {
		width: 100%;
		height: auto;
		max-width: 100%;
		object-fit: contain;
	}
	.page-id-72 section.ccu-editorial--programa-de-voluntariado-deja-huella { min-height: 0; padding: 48px 0; }
	.page-id-72 .ccu-editorial--programa-de-voluntariado-deja-huella .ccu-editorial__image,
	.page-id-72 .ccu-editorial--aguas-de-origen-y-su-impacto-positivo .ccu-editorial__image { margin: 0; }
	.page-id-72 .ccu-editorial--conoce-full-responsable .ccu-editorial__image img { height: 100%; }
	.page-id-72 section.ccu-editorial--stacked {
		min-height: 0;
		margin: 0;
		padding: 48px 0;
	}
	.page-id-72 section.ccu-editorial--stacked .ccu-editorial__image,
	.page-id-72 section.ccu-editorial--stacked.ccu-editorial--media-outset .ccu-editorial__image {
		margin: 0;
		overflow: hidden;
	}
	.page-id-72 section.ccu-editorial--stacked .ccu-editorial__image img,
	.page-id-72 section.ccu-editorial--stacked .ccu-editorial__media img {
		width: 100%;
		height: auto;
		max-width: 100%;
		object-fit: cover;
	}
}

/* /somos-ccu: section rhythm measured from live Elementor at 1813/1200. */
.page-id-19 .ccu-latest-news { margin-top: 0; }
.page-id-19 .site-main { overflow: visible; background: #fff; }
body.page-id-19 { background: #fff; }
@media (min-width: 1025px) {
	.page-id-19 .ccu-editorial h2 { font-size: 40px; line-height: 40px; }
	.page-id-19 .ccu-editorial .eyebrow { margin-bottom: 15px; line-height: 12px; }
	.page-id-19 .ccu-editorial__text,
	.page-id-19 .ccu-editorial__richtext { margin-top: 60px; font-size: 17px; line-height: 27.2px; }
	.page-id-19 .ccu-editorial .text-link { margin-top: 80px; line-height: 27.2px; }
	.page-id-19 .ccu-editorial--cervecerias-y-sidrerias .text-link { margin-top: 20px; }
	.page-id-19 section.ccu-editorial--ser-ccu { padding: 90px 0; }
	.page-id-19 section.ccu-editorial--una-compania-regional { padding: 0; margin-top: 0; }
	.page-id-19 section.ccu-editorial--150-anos-de-tradicion-cervecera { margin: 110px 0 90px; padding: 0; }
	.page-id-19 section.ccu-editorial--nuestras-marcas-nos-inspiran { min-height: 640px; padding: 0; }
	.page-id-19 section.ccu-editorial--cervecerias-y-sidrerias { min-height: 473px; padding: 70px 0 60px; }
	.page-id-19 .ccu-editorial__grid { gap: 0; align-items: start; }
	.page-id-19 .ccu-editorial--ser-ccu .ccu-editorial__grid { grid-template-columns: 480px 720px; }
	.page-id-19 .ccu-editorial--ser-ccu .ccu-editorial__content { max-width: none; padding: 10px 60px 10px 10px; }
	.page-id-19 .ccu-editorial--ser-ccu .ccu-editorial__image img { width: 720px; max-width: none; height: 391px; object-fit: cover; }
	.page-id-19 .ccu-editorial--una-compania-regional .ccu-editorial__grid { grid-template-columns: 600px 600px; min-height: 560px; }
	.page-id-19 .ccu-editorial--una-compania-regional .ccu-editorial__content { max-width: none; padding: 116px 10px 10px 10px; }
	.page-id-19 .ccu-editorial--una-compania-regional h2 { max-width: 400px; }
	.page-id-19 .ccu-editorial--150-anos-de-tradicion-cervecera .ccu-editorial__grid { grid-template-columns: 779px 420px; min-height: 397px; }
	.page-id-19 .ccu-editorial--150-anos-de-tradicion-cervecera .ccu-editorial__content { max-width: none; padding: 10px 0 10px 30px; }
	.page-id-19 .ccu-editorial--150-anos-de-tradicion-cervecera .ccu-editorial__image { overflow: hidden; }
	.page-id-19 .ccu-editorial--150-anos-de-tradicion-cervecera .ccu-editorial__image img { width: 768px; max-width: none; height: 397px; object-fit: cover; object-position: center; }
	.page-id-19 .ccu-editorial--nuestras-marcas-nos-inspiran .ccu-editorial__grid { grid-template-columns: 600px 600px; min-height: 640px; }
	.page-id-19 .ccu-editorial--nuestras-marcas-nos-inspiran .ccu-editorial__content { max-width: none; padding: 128px 10px 10px 10px; }
	.page-id-19 .ccu-editorial--nuestras-marcas-nos-inspiran h2 { max-width: 400px; }
	.page-id-19 .ccu-editorial--nuestras-marcas-nos-inspiran .ccu-editorial__image { padding: 50px 10px 10px 10px; overflow: visible; }
	.page-id-19 .ccu-editorial--nuestras-marcas-nos-inspiran .ccu-editorial__image img { width: 580px; max-width: none; height: auto; object-fit: contain; }
	.page-id-19 .ccu-editorial--cervecerias-y-sidrerias .ccu-editorial__grid { grid-template-columns: 828px 371px; min-height: 343px; }
	.page-id-19 .ccu-editorial--cervecerias-y-sidrerias .ccu-editorial__content { max-width: none; padding: 10px 0 10px 30px; }
	.page-id-19 .ccu-editorial--cervecerias-y-sidrerias .ccu-editorial__image img { width: 828px; max-width: none; height: 322px; object-fit: cover; }
}
@media (max-width: 1024px) {
	.page-id-19 .ccu-editorial h2 { font-size: 28px; line-height: 1.2; }
	.page-id-19 .ccu-editorial .eyebrow { line-height: 1.3; }
	.page-id-19 .ccu-editorial__text,
	.page-id-19 .ccu-editorial__richtext { margin-top: 18px; }
	.page-id-19 .ccu-editorial .text-link { margin-top: 24px; }
	.page-id-19 section.ccu-editorial--ser-ccu,
	.page-id-19 section.ccu-editorial--cervecerias-y-sidrerias { padding: 48px 0; min-height: 0; }
  .page-id-19 section.ccu-editorial--una-compania-regional { padding: 92px 0 0; min-height: 0; overflow: visible; margin-bottom: min(240px, 52vw); }
	.page-id-19 section.ccu-editorial--150-anos-de-tradicion-cervecera,
	.page-id-19 section.ccu-editorial--nuestras-marcas-nos-inspiran { margin: 0; min-height: 0; padding: 48px 0; }
	.page-id-19 .ccu-editorial--ser-ccu .ccu-editorial__image img,
	.page-id-19 .ccu-editorial--150-anos-de-tradicion-cervecera .ccu-editorial__image img,
	.page-id-19 .ccu-editorial--cervecerias-y-sidrerias .ccu-editorial__image img { width: 100%; max-width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
	.page-id-19 .ccu-editorial--nuestras-marcas-nos-inspiran .ccu-editorial__image { overflow: visible; }
	.page-id-19 .ccu-editorial--nuestras-marcas-nos-inspiran .ccu-editorial__image img { width: 100%; max-width: 100%; height: auto; object-fit: contain; }
}

.page-id-72,
.page-id-72 .site-main { overflow-x: hidden; background: #fff; }
.page-id-72:has(.ccu-editorial--theme-green) .site-main { overflow: visible; }
body.page-id-72 { background: #fff; }
.page-id-72 .ccu-sustainability-model__wheel svg { overflow: hidden; }

.page-ser-ccu .page-heading,
.page-ccu-en-latam .page-heading,
.page-nuestras-plantas .page-heading,
.page-id-30 .page-heading,
.page-id-19 .page-heading { padding-bottom: 56px; }
.page-ser-ccu .ccu-editorial--sobre-nosotros,
.page-ser-ccu .ccu-latest-news,
.page-id-30 .ccu-editorial--sobre-nosotros,
.page-id-30 .ccu-latest-news { background: var(--ccu-surface); }
.page-ser-ccu .ccu-latest-news,
.page-id-30 .ccu-latest-news { margin-top: 0; }
.page-ser-ccu .site-main,
.page-id-30 .site-main { background: var(--ccu-surface); }

@media (min-width: 1025px) {
	.page-ccu-en-latam section.ccu-editorial--conoce-nuestras-plantas {
		margin: 100px 0 0;
		padding: 0 0 48px;
	}
	.page-ccu-en-latam .ccu-editorial--conoce-nuestras-plantas .ccu-editorial__grid {
		grid-template-columns: 720px 480px;
		gap: 0;
		align-items: start;
		min-height: 396px;
	}
	.page-ccu-en-latam .ccu-editorial--conoce-nuestras-plantas .ccu-editorial__content {
		max-width: none;
		padding: 10px 50px 0;
	}
	.page-ccu-en-latam .ccu-editorial--conoce-nuestras-plantas .ccu-editorial__image { overflow: hidden; }
	.page-ccu-en-latam .ccu-editorial--conoce-nuestras-plantas .ccu-editorial__image img {
		width: 720px;
		max-width: none;
		height: auto;
		object-fit: contain;
	}
}

@media (max-width: 760px) {
  .page-ser-ccu .ccu-latest-news,
  .page-id-30 .ccu-latest-news { display: none; }
  .page-ser-ccu .ccu-editorial--sobre-nosotros,
  .page-id-30 .ccu-editorial--sobre-nosotros { padding-bottom: 64px; }
  .page-ser-ccu .page-heading,
  .page-id-30 .page-heading,
  .page-ccu-en-latam .page-heading,
  .page-nuestras-plantas .page-heading { padding-bottom: 64px; }
  .page-id-30 .ccu-editorial__image img,
  .page-ccu-en-latam .ccu-editorial:not(.ccu-editorial--theme-green-gradient) .ccu-editorial__image img,
  .page-id-72 .ccu-editorial:not(.ccu-editorial--theme-green) .ccu-editorial__image img { width: 100%; max-width: 100%; height: 100%; object-fit: cover; }
  .news-listing__image { min-height: 180px; }
}
