:root {
 --border-width: 2px;
 --border-color-footer: rgba(242, 233, 219, 0.35);
 --border-color-header: rgba(85, 80, 37, 0.18);
 --border-color-social: rgba(242, 233, 219, 0.6);
 --color-beige: #F2E9DB;
 --color-beige-2: #EDE1CF;
 --color-green: #555025;
 --color-ink: #211F20;
 --color-pink: #F4B4CD;
 --color-rose: #C96871;
 --color-white: #FFFFFF;
 --color-wine: #6F2C3F;
 --color-yellow: #FFC037;
 --font-brand: "Max Mila", "Trebuchet MS", sans-serif;
 --font-brand-cond: "Max Mila Cond", "Arial Narrow", sans-serif;
 --header-background: rgba(242, 233, 219, 0.97);
 --header-height: 8.25rem;
 --navbar-brand-width: clamp(17rem, 22vw, 19rem);
 --radius-lg: clamp(1.5rem, 3vw, 3rem);
 --radius-sm: 1rem;
 --shadow-card: 0 1rem 2.5rem rgba(33, 31, 32, 0.18);
 --shadow-focus: 0 0 0 0.25rem rgba(255, 192, 55, 0.45);
 --shadow-modal: 0 1.5rem 4rem rgba(33, 31, 32, 0.3);
 --shadow-soft: 0 1.25rem 3.5rem rgba(79, 45, 29, 0.12);
 --shadow-subtle: 0 0.75rem 2rem rgba(79, 45, 29, 0.08);
}
@font-face {
 font-display: swap;
 font-family: "Max Mila";
 font-style: normal;
 font-weight: 400;
 src: url("../fonts/max-mila-regular.woff2") format("woff2");
}
@font-face {
 font-display: swap;
 font-family: "Max Mila";
 font-style: normal;
 font-weight: 700;
 src: url("../fonts/max-mila-bold.woff2") format("woff2");
}
@font-face {
 font-display: swap;
 font-family: "Max Mila Cond";
 font-style: normal;
 font-weight: 400;
 src: url("../fonts/max-mila-cond-regular.woff2") format("woff2");
}
@font-face {
 font-display: swap;
 font-family: "Max Mila Cond";
 font-style: normal;
 font-weight: 700;
 src: url("../fonts/max-mila-cond-bold.woff2") format("woff2");
}
html {
 background: var(--color-beige);
 scroll-behavior: smooth;
 scroll-padding-top: calc(var(--header-height) + 1.25rem);
}
body {
 background: var(--color-beige);
 color: var(--color-ink);
 font-family: var(--font-brand);
 font-size: 1.05rem;
 line-height: 1.55;
 margin: 0;
 overflow-x: hidden;
}
h1, h2, h3, .eyebrow, .nav-link, .navbar-toggler-label, .btn, .lead, .hero-lead, .welcome-headline, .welcome-callout, .brand-signoff, .registration-facts strong, .gdpr-btn {
 font-family: var(--font-brand-cond);
}
img, svg {
 display: block;
 height: auto;
 max-width: 100%;
}
a {
 color: var(--color-green);
}
a:hover {
 color: var(--color-wine);
}
:focus-visible {
 outline: 3px solid var(--color-yellow);
 outline-offset: 4px;
}
.skip-link {
 background: var(--color-ink);
 color: var(--color-white);
 left: 1rem;
 padding: 0.75rem 1rem;
 position: fixed;
 top: -8rem;
 z-index: 1100;
}
.skip-link:focus {
 color: var(--color-white);
 top: 1rem;
}
.site-header {
 background: var(--header-background);
 border-bottom: 1px solid var(--border-color-header);
 min-height: var(--header-height);
 transition: min-height 180ms ease-out;
}
.site-header.is-scrolled {
 --header-height: 6.75rem;
}
.site-header::after {
 background: var(--color-rose);
 bottom: -3px;
 content: "";
 height: 3px;
 left: 0;
 position: absolute;
 transition: width 180ms ease-out;
 width: clamp(11.5rem, 24vw, 21rem);
}
.site-header.is-scrolled::after {
 width: clamp(11.5rem, 18vw, 16rem);
}
.navbar {
 min-height: var(--header-height);
 padding-block: 0.5rem;
 transition: min-height 180ms ease-out;
}
.navbar > .container-xl {
 min-height: calc(var(--header-height) - 1rem);
 position: relative;
 transition: min-height 180ms ease-out;
}
.navbar-brand {
 align-self: flex-start;
 display: block;
 flex: 0 0 var(--navbar-brand-width);
 height: calc(var(--header-height) - 1rem);
 margin-right: 1rem;
 padding: 0;
 position: relative;
 transition: height 180ms ease-out;
 width: var(--navbar-brand-width);
 z-index: 2;
}
.navbar-brand img {
 left: 0;
 max-width: none;
 position: absolute;
 top: 0;
 transition: width 180ms ease-out;
 width: 100%;
}
.site-header.is-scrolled .navbar-brand img {
 width: 12.5rem;
}
.navbar-toggler {
 align-items: center;
 border: var(--border-width) solid var(--color-green);
 border-radius: 999px;
 color: var(--color-green);
 display: inline-flex;
 gap: 0.45rem;
 min-height: 2.75rem;
 padding: 0.45rem 0.8rem;
}
.navbar-toggler:focus {
 box-shadow: var(--shadow-focus);
}
.navbar-toggler-icon {
 background-image: var(--bs-navbar-toggler-icon-bg);
 height: 1.25rem;
 width: 1.25rem;
}
.navbar-toggler-label {
 font-size: 0.9rem;
 font-weight: 700;
 text-transform: uppercase;
}
.navbar-collapse {
 padding: 0;
}
.navbar-collapse-inner {
 display: flex;
 flex: 1 1 auto;
 padding-top: 1rem;
 width: 100%;
}
.nav-link {
 border-radius: 999px;
 color: var(--color-green);
 font-size: clamp(1.05rem, 0.95rem + 0.35vw, 1.25rem);
 font-weight: 700;
 padding: 0.7rem 1rem !important;
}
.nav-link-icon {
 display: none;
}
.navbar .nav-item-cta .btn {
 font-size: clamp(1.05rem, 0.95rem + 0.35vw, 1.25rem);
}
.nav-link.active, .nav-link.show {
 background: var(--color-beige-2);
 color: var(--color-green);
}
@media (hover: hover) and (pointer: fine) {
 .nav-link:hover {
  background: var(--color-beige-2);
  color: var(--color-green);
 }
}
.dropdown-menu {
 border: 0;
 border-radius: var(--radius-sm);
 box-shadow: var(--shadow-soft);
 padding: 0.5rem;
}
.dropdown-item {
 align-items: center;
 border-radius: 0.65rem;
 color: var(--color-green);
 display: flex;
 gap: 0.65rem;
 font-weight: 700;
 padding: 0.65rem 0.8rem;
}
.dropdown-item .bi {
 flex: 0 0 1.2rem;
 font-size: 1.05rem;
 text-align: center;
}
.dropdown-item:hover, .dropdown-item:focus {
 background: var(--color-beige-2);
 color: var(--color-green);
}
#percurso, #programa, #kit-caominhada, #condicoes-participacao, #app-lidl-plus {
 scroll-margin-top: calc(var(--header-height) + 1rem);
}
.nav-item-cta {
 margin-top: 0.5rem;
}
.btn {
 align-items: center;
 border: var(--border-width) solid transparent;
 border-radius: 999px;
 display: inline-flex;
 font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem);
 font-weight: 700;
 gap: 0.5rem;
 justify-content: center;
 min-height: 3.25rem;
 padding: 0.75rem 1.35rem;
 text-decoration: none;
 transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.btn:hover {
 transform: translateY(-2px);
}
.btn-primary {
 --bs-btn-active-bg: var(--color-ink);
 --bs-btn-active-border-color: var(--color-ink);
 --bs-btn-active-color: var(--color-white);
 --bs-btn-bg: var(--color-green);
 --bs-btn-border-color: var(--color-green);
 --bs-btn-color: var(--color-beige);
 --bs-btn-focus-shadow-rgb: 85, 80, 37;
 --bs-btn-hover-bg: var(--color-ink);
 --bs-btn-hover-border-color: var(--color-ink);
 --bs-btn-hover-color: var(--color-white);
 background: var(--color-green);
 border-color: var(--color-green);
 color: var(--color-beige);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
 background: var(--color-ink);
 border-color: var(--color-ink);
 color: var(--color-white);
}
.btn-secondary {
 --bs-btn-active-bg: var(--color-green);
 --bs-btn-active-border-color: var(--color-green);
 --bs-btn-active-color: var(--color-beige);
 --bs-btn-bg: transparent;
 --bs-btn-border-color: var(--color-green);
 --bs-btn-color: var(--color-green);
 --bs-btn-focus-shadow-rgb: 85, 80, 37;
 --bs-btn-hover-bg: var(--color-green);
 --bs-btn-hover-border-color: var(--color-green);
 --bs-btn-hover-color: var(--color-beige);
 background: transparent;
 border-color: var(--color-green);
 color: var(--color-green);
}
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active {
 background: var(--color-green);
 border-color: var(--color-green);
 color: var(--color-beige);
}
.hero {
 background: var(--color-beige-2);
 overflow: hidden;
 padding-block: clamp(1.75rem, 3.5vw, 3.125rem);
}
.hero-stage {
 position: relative;
}
.hero-picture {
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-soft);
 display: block;
 overflow: hidden;
}
.hero-picture img {
 aspect-ratio: 16 / 9;
 object-fit: cover;
 width: 100%;
}
.hero-card {
 background: var(--color-white);
 border: var(--border-width) solid var(--color-green);
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-soft);
 margin: 1rem 0.75rem 0;
 padding: clamp(1.5rem, 5vw, 2.5rem);
 position: relative;
 z-index: 1;
}
.eyebrow {
 color: var(--color-wine);
 font-size: clamp(1.15rem, 1.05rem + 0.45vw, 1.4rem);
 font-weight: 700;
 letter-spacing: 0.08em;
 margin-bottom: 0.65rem;
 text-transform: uppercase;
}
.hero-card .eyebrow {
 font-size: clamp(1.15rem, 1rem + 0.7vw, 1.5rem);
 line-height: 1.1;
 margin-bottom: 0.8rem;
}
.hero h1, h2, h3 {
 color: var(--color-green);
 font-weight: 700;
 letter-spacing: -0.025em;
}
.hero h1 {
 font-size: clamp(2.75rem, 8vw, 4.25rem);
 line-height: 0.9;
 margin: 0;
 text-wrap: balance;
}
.hero-lead {
 font-size: clamp(1.15rem, 2.5vw, 1.45rem);
 margin: 1rem 0 0;
 max-width: 30rem;
}
.hero-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 justify-content: center;
 margin-top: 1.5rem;
}
.section-pad {
 padding-block: clamp(4rem, 8vw, 7rem);
}
.content-narrow {
 max-width: 52rem;
}
.section-heading {
 margin: 0 auto 2rem;
 max-width: 50rem;
 text-align: center;
}
h2 {
 font-size: clamp(2.35rem, 6vw, 4.5rem);
 line-height: 0.95;
 text-wrap: balance;
}
h3 {
 font-size: clamp(1.7rem, 4vw, 2.35rem);
 line-height: 1;
}
.lead {
 font-size: clamp(1.2rem, 2.4vw, 1.55rem);
 line-height: 1.45;
}
.welcome {
 background-color: var(--color-yellow);
 background-image: url("../img/patterns/pattern-beige.svg"), url("../img/patterns/pattern-beige.svg");
 background-position: left -8rem top 5rem, right -7rem bottom -7rem;
 background-repeat: no-repeat;
 background-size: 18rem, 22rem;
 overflow: hidden;
}
.welcome > .container-xl {
 position: relative;
 z-index: 1;
}
.welcome-heading-grid {
 align-items: end;
 display: grid;
 gap: 1.25rem;
 margin-bottom: clamp(2rem, 5vw, 3.75rem);
}
.welcome-heading-lockup h2 {
 margin: 0 0 0.85rem;
}
.welcome-intro {
 justify-self: end;
 max-width: 46rem;
 width: 100%;
}
.welcome-intro .lead {
 margin: 0;
 margin-left: auto;
 max-width: 43rem;
}
.welcome-event-note {
 margin: 0.85rem 0 0 auto;
 max-width: 43rem;
}
.welcome-headline {
 color: var(--color-green);
 font-size: clamp(1.9rem, 4vw, 2.75rem);
 font-weight: 700;
 letter-spacing: -0.03em;
 line-height: 1;
 margin: 0;
 text-wrap: balance;
}
.welcome-scene {
 display: grid;
 gap: 1rem;
}
.welcome-illustration {
 aspect-ratio: 26919.96 / 15600;
 background: var(--color-beige);
 border: var(--border-width) solid var(--color-green);
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-soft);
 display: grid;
 margin: 0;
 overflow: hidden;
 place-items: center;
}
.welcome-illustration img {
 display: block;
 height: calc(100% - clamp(2rem, 5vw, 4rem));
 object-fit: contain;
 width: calc(100% - clamp(2rem, 5vw, 4rem));
}
.welcome-fact {
 align-items: center;
 background: var(--color-beige);
 border: var(--border-width) solid var(--color-green);
 border-radius: var(--radius-sm);
 box-shadow: var(--shadow-soft);
 display: grid;
 gap: 1rem;
 grid-template-columns: auto minmax(0, 1fr);
 padding: clamp(1.15rem, 3vw, 1.65rem);
}
.welcome-fact-capacity {
 background: var(--color-pink);
 border-radius: var(--radius-lg);
 display: block;
}
.welcome-fact-content {
 display: grid;
 gap: clamp(1rem, 2vw, 1.5rem);
}
.welcome-fact-copy {
 min-width: 0;
}
.welcome-fact-product {
 margin: 0 auto;
 max-width: 13rem;
 width: 100%;
}
.welcome-fact-product img {
 aspect-ratio: 1803 / 1871;
 height: auto;
 object-fit: cover;
 width: 100%;
}
.welcome-fact p {
 margin: 0;
}
.welcome-fact .lead {
 color: var(--color-green);
}
.welcome-fact .lead strong {
 font-weight: 700;
}
.welcome-fact .welcome-fact-support {
 margin-top: 0.85rem;
}
.welcome-impact {
 align-items: center;
 background: var(--color-white);
 border: 0;
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-card);
 color: var(--color-ink);
 display: grid;
 gap: 1.25rem;
 margin-top: clamp(1.5rem, 4vw, 2.5rem);
 padding: clamp(1.5rem, 4vw, 2.75rem);
}
.welcome-impact-icon {
 align-items: center;
 background: var(--color-green);
 border-radius: 50%;
 display: inline-flex;
 height: 5.25rem;
 justify-content: center;
 overflow: hidden;
 width: 5.25rem;
}
.welcome-impact-icon img {
 height: 100%;
 object-fit: contain;
 transform: scale(4.5);
 width: 100%;
}
.welcome-cta {
 border-top: 0;
 padding-top: 1.25rem;
}
.welcome-callout {
 color: var(--color-green);
 font-size: clamp(1.55rem, 3vw, 2.25rem);
 font-weight: 700;
 line-height: 1.05;
 margin: 0;
}
.btn-welcome {
 background: var(--color-green);
 border-color: var(--color-green);
 color: var(--color-beige);
 white-space: nowrap;
}
.btn-welcome:hover, .btn-welcome:focus {
 background: var(--color-ink);
 border-color: var(--color-ink);
 color: var(--color-white);
}
.event-cards {
 background: var(--color-green);
 position: relative;
 z-index: 1;
}
.event-scroll-cue {
 align-items: center;
 background: var(--color-beige);
 border-radius: 50%;
 bottom: 0;
 display: flex;
 height: 5rem;
 justify-content: center;
 left: 50%;
 position: absolute;
 transform: translate(-50%, 50%);
 width: 5rem;
 z-index: 2;
}
.event-scroll-cue img {
 height: 58%;
 transition: transform 180ms ease;
 width: auto;
}
.event-scroll-cue:hover img, .event-scroll-cue:focus img {
 transform: translateY(0.25rem);
}
.event-card {
 background: var(--color-beige);
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-card);
 display: flex;
 flex-direction: column;
 padding: clamp(1.5rem, 4vw, 2.5rem);
}
.event-card h2 {
 font-size: clamp(1.7rem, 4vw, 2.35rem);
 line-height: 1;
}
.event-card .btn {
 align-self: flex-start;
 margin-top: auto;
}
.event-card-pink {
 background: var(--color-pink);
}
.event-card-yellow {
 background: var(--color-yellow);
}
.event-card-icon {
 align-items: center;
 background: var(--color-green);
 border-radius: 50%;
 display: inline-flex;
 height: 5rem;
 justify-content: center;
 margin-bottom: 1rem;
 overflow: hidden;
 padding: 0.9rem;
 width: 5rem;
}
.event-card-icon img {
 height: 100%;
 object-fit: contain;
 transform: scale(1.25);
 transform-origin: center;
 width: 100%;
}
.event-card-icon img[src$="wayfinding.svg"] {
 transform: scale(1.65);
}
.event-card-icon img[src$="paws.svg"] {
 transform: scale(5.5);
}
.event-card-icon img[src$="event-kit.svg"] {
 transform: scale(1.55);
}
.brand-story-grid, .registration-note-grid {
 align-items: center;
 display: grid;
 gap: clamp(2rem, 6vw, 5rem);
}
.pet-care-intro {
 background: var(--color-beige);
}
.pet-care-intro-grid {
 display: grid;
 gap: clamp(2rem, 6vw, 5rem);
}
.pet-care-intro-heading h2 {
 margin: 0;
}
.pet-care-intro-copy {
 background: var(--color-white);
 border-left: 0.4rem solid var(--color-rose);
 border-radius: var(--radius-sm);
 box-shadow: var(--shadow-subtle);
 padding: clamp(1.5rem, 4vw, 3rem);
}
.pet-care-intro-copy p:first-child {
 margin-top: 0;
}
.pet-care-intro-copy p:last-child {
 margin-bottom: 0;
}
.supports {
 background: var(--color-pink);
 padding-bottom: clamp(7rem, 11vw, 9rem);
}
.support-grid {
 display: grid;
 gap: 1rem;
}
.support-card {
 background: var(--color-white);
 border: 0;
 border-radius: var(--radius-lg);
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 min-height: 18rem;
 padding: clamp(1.5rem, 4vw, 3rem);
 text-align: center;
}
.support-card h3 {
 color: var(--color-wine);
 font-size: 0.9rem;
 font-weight: 700;
 letter-spacing: 0.08em;
 margin-bottom: 2rem;
 text-transform: uppercase;
}
.support-card a {
 align-items: center;
 display: flex;
 flex: 1;
 justify-content: center;
}
.support-logo {
 max-height: 8rem;
 object-fit: contain;
 width: auto;
}
.support-logo-lidl {
 max-height: 7rem;
}
.support-logo-hms {
 max-width: min(100%, 18rem);
}
.page-hero {
 background: var(--color-beige-2);
 min-height: min(30rem, calc(100svh - var(--header-height)));
 overflow: hidden;
 position: relative;
}
.page-hero::before {
 background-image: url("../img/patterns/pattern-beige.svg");
 background-position: center;
 background-repeat: no-repeat;
 background-size: contain;
 content: "";
 height: 25rem;
 opacity: 0.6;
 position: absolute;
 right: -8rem;
 top: -8rem;
 width: 25rem;
}
.page-hero-grid {
 align-items: center;
 display: grid;
 gap: 1.5rem;
 min-height: inherit;
 padding-block: 2rem;
 position: relative;
 z-index: 1;
}
.page-hero h1 {
 color: var(--color-green);
 font-size: clamp(3.5rem, 14vw, 8rem);
 font-weight: 700;
 letter-spacing: -0.055em;
 line-height: 0.8;
 margin-bottom: 1.5rem;
 overflow-wrap: anywhere;
}
.page-hero .lead {
 max-width: 42rem;
}
.page-hero img {
 justify-self: center;
 max-height: 22rem;
 width: auto;
}
.page-hero-info img {
 max-height: clamp(25rem, 42vw, 32rem);
}
.page-hero-register {
 background: var(--color-pink);
}
.page-hero-register img {
 margin-bottom: 0;
 max-height: 26rem;
}
.page-hero-rules {
 background: var(--color-yellow);
}
.conditions {
 background: var(--color-beige);
}
.condition-feature {
 background: var(--color-beige-2);
 border-left: var(--border-width) solid var(--color-rose);
 border-radius: var(--radius-sm);
 display: grid;
 gap: 1rem;
 margin: 1.25rem auto;
 max-width: 64rem;
 padding: clamp(1.5rem, 4vw, 2.75rem);
}
.condition-icon, .rule-card > i {
 color: var(--color-green);
 font-size: 2.4rem;
}
.condition-feature h3, .rule-card h3, .vet-note h3 {
 font-size: clamp(1.55rem, 3.5vw, 2.15rem);
}
.check-list {
 list-style: none;
 margin: 0;
 padding: 0;
}
.check-list li {
 margin-bottom: 0.45rem;
 padding-left: 1.75rem;
 position: relative;
}
.check-list li::before {
 color: var(--color-green);
 content: "✓";
 font-weight: 700;
 left: 0;
 position: absolute;
}
.section-heading-spaced {
 margin-top: clamp(4rem, 8vw, 7rem);
}
.rules-grid {
 display: grid;
 gap: 1rem;
}
.rule-card {
 background: var(--color-white);
 border-radius: var(--radius-sm);
 box-shadow: var(--shadow-subtle);
 padding: 1.5rem;
}
.vet-note {
 background: var(--color-green);
 border-radius: var(--radius-lg);
 color: var(--color-beige);
 display: grid;
 gap: 1rem;
 margin-top: 2rem;
 padding: clamp(1.5rem, 5vw, 3.5rem);
}
.vet-note i {
 color: var(--color-yellow);
 font-size: 3rem;
}
.vet-note h3 {
 color: var(--color-beige);
}
.brand-story {
 background: var(--color-pink);
}
.brand-story-grid {
 align-items: start;
}
.brand-story-heading h2 {
 margin: 0;
}
.brand-story-copy p:first-child {
 margin-top: 0;
}
.brand-story-copy p:last-child {
 margin-bottom: 0;
}
.brand-story-visual {
 background: var(--color-beige);
 border-radius: var(--radius-lg);
 margin: 0;
 overflow: hidden;
 padding: clamp(0.75rem, 2vw, 1.5rem);
}
.brand-story-visual img {
 margin-inline: auto;
 width: 100%;
}
.brand-details {
 background: var(--color-beige);
 border-radius: var(--radius-lg);
 display: grid;
 gap: clamp(1.5rem, 3vw, 2.5rem);
 margin-top: clamp(2rem, 5vw, 4rem);
 max-width: 74rem;
 padding: clamp(1.5rem, 5vw, 4rem);
}
.brand-details > p {
 margin: 0;
}
.brand-audience-intro {
 font-weight: 700;
 margin: 0 0 1.25rem;
}
.brand-profiles {
 display: grid;
 gap: 1.5rem;
}
.brand-profile {
 border-left: 0.3rem solid var(--color-wine);
 padding-left: 1.25rem;
}
.brand-profile h3 {
 font-size: clamp(1.35rem, 2vw, 1.7rem);
 line-height: 1.05;
 margin: 0 0 0.65rem;
}
.brand-profile p {
 margin: 0;
}
.brand-signoff {
 color: var(--color-wine);
 font-size: clamp(1.4rem, 3vw, 2rem);
 font-weight: 700;
 margin: 0;
 text-align: center;
}
.lidl-plus {
 background: var(--color-yellow);
}
.lidl-plus-card {
 background: var(--color-green);
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-card);
 color: var(--color-beige);
 display: grid;
 gap: clamp(2rem, 5vw, 4rem);
 padding: clamp(1.75rem, 5vw, 4rem);
}
.lidl-plus-card .eyebrow {
 color: var(--color-yellow);
 margin-bottom: 1rem;
}
.lidl-plus-card h2 {
 color: var(--color-beige);
 margin: 0;
}
.lidl-plus-copy {
 align-content: center;
 display: grid;
 justify-items: start;
}
.lidl-plus-copy .lead {
 margin: 0 0 1.75rem;
}
.btn-lidl-plus {
 background: var(--color-yellow);
 border-color: var(--color-yellow);
 color: var(--color-ink);
}
.btn-lidl-plus:hover, .btn-lidl-plus:focus, .btn-lidl-plus:active {
 background: var(--color-beige);
 border-color: var(--color-beige);
 color: var(--color-green);
}
.solidarity {
 background: var(--color-beige);
}
.solidarity-banner {
 align-items: center;
 background: var(--color-pink);
 border: var(--border-width) solid var(--color-green);
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-card);
 display: grid;
 gap: clamp(1.5rem, 5vw, 4rem);
 overflow: hidden;
 padding: clamp(1.5rem, 5vw, 4rem);
}
.solidarity-product {
 margin: 0 auto;
 max-width: 17rem;
 width: 100%;
}
.solidarity-product img {
 aspect-ratio: 1803 / 1871;
 object-fit: contain;
 width: 100%;
}
.solidarity-copy .lead {
 color: var(--color-green);
}
.solidarity-copy p:last-child {
 margin-bottom: 0;
}
.registration {
 background: var(--color-beige);
}
.registration-facts {
 display: grid;
 gap: 1rem;
 margin-block: 2rem;
}
.registration-facts > div {
 align-items: flex-end;
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-subtle);
 display: flex;
 isolation: isolate;
 min-height: clamp(19rem, 54vw, 21rem);
 overflow: hidden;
 padding: 1rem;
 position: relative;
 text-align: left;
}
.registration-facts img {
 height: 18rem;
 object-fit: contain;
 pointer-events: none;
 position: absolute;
 right: -1rem;
 top: -2.25rem;
 transform: scale(1.55) rotate(5deg);
 width: 18rem;
 z-index: -1;
}
.registration-fact::before {
 aspect-ratio: 1;
 background: rgba(255, 255, 255, 0.42);
 border-radius: 50%;
 content: "";
 position: absolute;
 right: -5rem;
 top: -5.5rem;
 width: 21rem;
 z-index: -2;
}
.registration-fact-date {
 background: var(--color-beige-2);
}
.registration-fact-route {
 background: var(--color-pink);
}
.registration-fact-capacity {
 background: var(--color-yellow);
}
.registration-fact-route img {
 left: -1rem;
 right: auto;
 transform: scale(1.55) rotate(-6deg);
}
.registration-fact-route::before {
 left: -5rem;
 right: auto;
}
.registration-fact-capacity img {
 right: -0.5rem;
 top: -1.75rem;
 transform: scale(1.55) rotate(9deg);
}
.registration-fact-copy {
 background: rgba(255, 255, 255, 0.9);
 border-radius: clamp(1.2rem, 2.25vw, 2rem);
 box-shadow: 0 0.5rem 1.5rem rgba(79, 45, 29, 0.1);
 display: grid;
 padding: 0.85rem 1rem;
 position: relative;
 width: 100%;
 z-index: 1;
}
.registration-facts strong {
 color: var(--color-green);
 font-size: clamp(1.45rem, 3vw, 1.8rem);
 line-height: 1;
 margin-bottom: 0.25rem;
}
.btn-large {
 font-size: clamp(1.3rem, 1.15rem + 0.5vw, 1.55rem);
 min-height: 3.75rem;
}
.registration-cta {
 align-items: center;
 animation: registration-cta-float 2.8s ease-in-out infinite;
 background: var(--color-green);
 border: var(--border-width) solid var(--color-green);
 border-radius: 999px;
 box-shadow: 0 1rem 2.25rem rgba(85, 80, 37, 0.28);
 color: var(--color-white);
 display: inline-flex;
 font-family: var(--font-brand-cond);
 font-size: clamp(1.35rem, 3vw, 1.75rem);
 font-weight: 700;
 gap: 1rem;
 justify-content: center;
 margin: 1rem auto 1.5rem;
 min-height: 4.75rem;
 overflow: hidden;
 padding: 0.85rem 1rem 0.85rem 1.75rem;
 position: relative;
 text-decoration: none;
 transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.registration-cta::before {
 background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.28) 48%, transparent 76%);
 content: "";
 inset: 0;
 position: absolute;
 transform: translateX(-120%);
 animation: registration-cta-shine 2.8s ease-in-out infinite;
}
.registration-cta > span {
 line-height: 1;
 position: relative;
 z-index: 1;
}
.registration-cta-arrow {
 align-items: center;
 background: var(--color-yellow);
 border-radius: 50%;
 color: var(--color-ink);
 display: inline-flex;
 flex: 0 0 3rem;
 font-size: 1.5rem;
 height: 3rem;
 justify-content: center;
 transition: transform 180ms ease;
}
a.registration-cta:hover, a.registration-cta:focus {
 background: var(--color-ink);
 color: var(--color-white);
}
a.registration-cta:hover .registration-cta-arrow {
 transform: rotate(8deg) scale(1.08);
}
.registration-cta-pending {
 cursor: default;
}
@keyframes registration-cta-float {
 0%, 100% {
  box-shadow: 0 1rem 2.25rem rgba(85, 80, 37, 0.25);
  transform: translateY(0);
 }
 50% {
  box-shadow: 0 1.4rem 2.75rem rgba(85, 80, 37, 0.36);
  transform: translateY(-0.3rem);
 }
}
@keyframes registration-cta-shine {
 0%, 55% {
  transform: translateX(-120%);
 }
 85%, 100% {
  transform: translateX(120%);
 }
}
.registration-note {
 background: var(--color-pink);
}
.registration-note img {
 justify-self: center;
 max-height: 14rem;
 width: auto;
}
.rules-placeholder {
 background: var(--color-beige);
}
.regulations {
 background: var(--color-beige);
}
.regulations-list {
 counter-reset: regulation;
 margin-inline: auto;
 max-width: 78rem;
}
.regulation-block {
 counter-increment: regulation;
 display: grid;
 gap: clamp(1.5rem, 4vw, 4rem);
 grid-template-columns: minmax(0, 1fr);
 margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
 padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
 position: relative;
}
.regulation-block::after {
 border-top: var(--border-width) dashed var(--color-rose);
 bottom: 0;
 content: "";
 left: 0;
 opacity: 0.55;
 position: absolute;
 right: 0;
 transform: skew(-24deg);
}
.regulation-block:last-child {
 margin-bottom: 0;
 padding-bottom: 0;
}
.regulation-block:last-child::after {
 content: none;
}
.regulation-title {
 align-items: flex-start;
 display: flex;
 font-size: clamp(1.45rem, 3vw, 2rem);
 gap: 0.8rem;
 line-height: 1;
 margin: 0;
 text-transform: uppercase;
}
.regulation-title::before {
 color: var(--color-rose);
 content: counter(regulation, decimal-leading-zero) ".";
 flex: 0 0 auto;
 font-size: clamp(2.85rem, 6vw, 4.5rem);
 font-weight: 400;
 line-height: 0.75;
}
.regulation-title span {
 flex: 1 1 auto;
 overflow-wrap: anywhere;
 padding-top: 0.1rem;
}
.regulation-body {
 min-width: 0;
}
em {
 padding-right: 0.08em;
}
.regulation-body > :first-child {
 margin-top: 0;
}
.regulation-body > :last-child {
 margin-bottom: 0;
}
.regulation-body p, .regulation-body li, .regulation-body dd {
 max-width: 48rem;
}
.regulation-body ul, .regulation-body ol {
 padding-left: 1.35rem;
}
.regulation-body li {
 margin-bottom: 0.65rem;
 padding-left: 0.25rem;
}
.regulation-body li::marker {
 color: var(--color-rose);
 font-weight: 700;
}
.regulation-body ul ul {
 margin-top: 0.65rem;
}
.regulation-body h3, .regulation-note h3 {
 color: var(--color-wine);
 font-size: clamp(1.35rem, 2.5vw, 1.75rem);
 margin: 2rem 0 0.85rem;
}
.regulation-facts {
 display: grid;
 gap: 0.65rem;
 margin: 0 0 1.5rem;
}
.regulation-facts > div {
 align-items: baseline;
 border-bottom: 1px solid rgba(85, 80, 37, 0.2);
 display: grid;
 gap: 0.5rem;
 grid-template-columns: 5.5rem minmax(0, 1fr);
 padding-bottom: 0.65rem;
}
.regulation-facts dt, .regulation-contact strong {
 color: var(--color-green);
 font-family: var(--font-brand-cond);
 font-weight: 700;
}
.regulation-facts dd {
 margin: 0;
}
.size-list {
 display: grid;
 gap: 0.5rem;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 list-style: none;
 margin-block: 1.25rem 1.75rem;
 padding: 0 !important;
}
.size-list li {
 align-items: center;
 background: var(--color-beige-2);
 border-radius: 0.75rem;
 display: flex;
 justify-content: space-between;
 margin: 0;
 padding: 0.75rem 1rem;
}
.alpha-list {
 list-style-type: lower-alpha;
}
.regulation-note {
 background: var(--color-yellow);
 border-left: 0.4rem solid var(--color-rose);
 border-radius: var(--radius-sm);
 margin-block: 2rem;
 max-width: 48rem;
 padding: clamp(1.25rem, 3vw, 2rem);
}
.regulation-note h3 {
 margin-top: 0;
}
.regulation-contact {
 background: var(--color-beige-2);
 border-radius: var(--radius-sm);
 font-style: normal;
 margin-block: 1.5rem;
 max-width: 48rem;
 padding: clamp(1.25rem, 3vw, 2rem);
}
.regulation-contact p {
 display: grid;
 gap: 0.15rem;
 margin-bottom: 0.8rem;
}
.regulation-contact p:last-child {
 margin-bottom: 0;
}
.placeholder-card {
 background: var(--color-beige-2);
 border: var(--border-width) dashed var(--color-green);
 border-radius: var(--radius-lg);
 padding: clamp(2.5rem, 6vw, 4rem);
}
.placeholder-card h2 {
 margin-bottom: 1.5rem;
}
.social-links {
 display: flex;
 flex-wrap: wrap;
 gap: 0.65rem;
 list-style: none;
 margin: 1.5rem 0 0;
 padding: 0;
}
.social-links a {
 align-items: center;
 border: var(--border-width) solid var(--border-color-social);
 border-radius: 50%;
 display: inline-flex;
 height: 2.8rem;
 justify-content: center;
 text-decoration: none;
 width: 2.8rem;
}
.site-footer .social-links a:hover, .site-footer .social-links a:focus {
 background: var(--color-beige);
 color: var(--color-green);
}
.footer-contact address {
 font-style: normal;
}
.footer-contact-items {
 margin: 0;
 padding-left: clamp(0.35rem, 1vw, 0.9rem);
}
.footer-contact-item {
 align-items: start;
 display: grid;
 gap: 0.5rem;
 grid-template-columns: 2.25rem minmax(0, 1fr);
 margin-bottom: 0.75rem;
}
.footer-contact-item p {
 margin: 0;
}
.footer-contact-icon {
 align-items: center;
 color: var(--color-yellow);
 display: inline-flex;
 font-size: 1.25rem;
 justify-content: center;
 min-height: 1.65rem;
 text-align: center;
 width: 2.25rem;
}
.site-footer {
 background: var(--color-green);
 color: var(--color-beige);
 padding-block: 4rem 1.5rem;
 position: relative;
}
.site-footer-home {
 padding-top: clamp(7rem, 11vw, 9rem);
}
.footer-characters {
 inset: 0 0 auto;
 pointer-events: none;
 position: absolute;
 z-index: 1;
}
.footer-character {
 height: auto;
 position: absolute;
 top: 0;
 transform: translateY(-50%);
 width: clamp(6rem, 9vw, 8.5rem);
}
.footer-character-max {
 left: clamp(1rem, 5vw, 4.5rem);
}
.footer-character-mila {
 right: clamp(1rem, 5vw, 4.5rem);
}
.footer-grid {
 display: grid;
 gap: 2.5rem;
}
.footer-info {
 display: flex;
 flex-direction: column;
 gap: 1.75rem;
}
.footer-logo {
 max-width: 15rem;
}
.site-footer h2 {
 color: var(--color-beige);
 font-size: 1.5rem;
 font-weight: 700;
}
.site-footer a {
 color: var(--color-beige);
 text-underline-offset: 0.2em;
}
.site-footer a:hover {
 color: var(--color-yellow);
}
.footer-bottom {
 border-top: 1px solid var(--border-color-footer);
 display: flex;
 flex-wrap: wrap;
 gap: 0.45rem 1rem;
 justify-content: center;
 margin-top: 3rem;
 padding-top: 1.5rem;
 text-align: center;
}
.gdpr-panel {
 background: var(--color-white);
 border: var(--border-width) solid var(--color-green);
 border-radius: var(--radius-sm);
 bottom: 1.25rem;
 box-shadow: none;
 color: var(--color-ink);
 max-width: 28rem;
 padding: 1.1rem;
 position: fixed;
 right: 1.25rem;
 width: min(28rem, calc(100vw - 2.5rem));
 z-index: 1200;
}
.gdpr-title {
 align-items: center;
 display: flex;
 font-size: clamp(1.6rem, 4vw, 2.15rem);
 justify-content: space-between;
 line-height: 1.2;
 margin: 0 0 0.75rem;
}
.gdpr-close {
 align-items: center;
 background: transparent;
 border: var(--border-width) solid var(--color-green);
 border-radius: 50%;
 color: var(--color-green);
 display: inline-flex;
 flex: 0 0 auto;
 height: 2.75rem;
 justify-content: center;
 width: 2.75rem;
}
.gdpr-panel a {
 font-weight: 700;
}
.gdpr-text {
 font-size: 0.95rem;
 line-height: 1.45;
 margin: 0 0 0.75rem;
}
.gdpr-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem;
 justify-content: flex-end;
 margin-top: 1.5rem;
}
.gdpr-btn {
 border: var(--border-width) solid var(--color-green);
 border-radius: 999px;
 font-weight: 700;
 min-height: 3rem;
 padding: 0.65rem 1.4rem;
}
.gdpr-btn-reject {
 background: transparent;
 color: var(--color-green);
}
.gdpr-btn-accept {
 background: var(--color-green);
 color: var(--color-beige);
}
.gdpr-btn-text {
 color: inherit;
 position: relative;
 z-index: 1;
}
.gdpr-btn:hover, .gdpr-btn:focus {
 background: var(--color-ink);
 border-color: var(--color-ink);
 color: var(--color-white);
}
@media (max-width: 767.98px) {
 .gdpr-panel {
  bottom: calc(1.5rem + env(safe-area-inset-bottom));
  left: 1.5rem;
  max-height: calc(100dvh - 3rem - env(safe-area-inset-bottom));
  max-width: none;
  overflow-y: auto;
  padding: 1rem;
  right: 1.5rem;
  width: auto;
 }
 .gdpr-btn {
  flex: 1;
  min-width: 0;
 }
}
@media (min-width: 768px) {
 .welcome-heading-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.9fr);
 }
 .welcome-scene {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
 .welcome-illustration {
  grid-column: 1 / -1;
 }
 .welcome-fact-capacity {
  grid-column: 1 / -1;
 }
 .footer-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
 }
 .brand-story-grid {
  grid-template-columns: minmax(13rem, 0.65fr) minmax(0, 1.35fr);
 }
 .pet-care-intro-grid {
  grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 1.25fr);
 }
 .lidl-plus-card {
  grid-template-columns: minmax(0, 0.95fr) minmax(20rem, 1.05fr);
 }
 .brand-profiles {
  grid-template-columns: repeat(3, minmax(0, 1fr));
 }
 .registration-note-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
 .support-grid, .registration-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
 .solidarity-banner {
  grid-template-columns: minmax(11rem, 0.35fr) minmax(0, 1.65fr);
 }
 .registration-fact-capacity {
  grid-column: 1 / -1;
 }
 .condition-feature, .vet-note {
  grid-template-columns: auto minmax(0, 1fr);
 }
 .rules-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
 .regulation-contact p {
  grid-template-columns: 7rem minmax(0, 1fr);
 }
}
@media (min-width: 992px) {
 .page-hero {
  height: 30rem;
  min-height: 30rem;
 }
 .page-hero-grid {
  height: 100%;
  min-height: 0;
  padding-block: 0.5rem;
 }
 .page-hero img {
  max-height: 29rem;
 }
 .registration-note img {
  max-height: 20rem;
 }
 .welcome-heading-grid {
  margin-inline: clamp(5.5rem, 9vw, 8rem);
 }
 .welcome-scene {
  display: block;
 }
 .welcome-illustration {
  aspect-ratio: auto;
  grid-column: auto;
  height: 100%;
  margin: 0;
  min-width: 0;
  width: 100%;
 }
 .welcome-fact {
  position: static;
  width: auto;
 }
 .welcome-fact-capacity {
  grid-column: auto;
 }
 .welcome-fact-content {
  align-content: center;
  height: 100%;
 }
 .welcome-fact-product {
  max-width: 13.5rem;
 }
 .welcome-fact .lead {
  font-size: clamp(1.15rem, 1.4vw, 1.35rem);
 }
 .welcome-impact {
  gap: clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: auto minmax(0, 1fr) auto;
  margin-inline: clamp(5.5rem, 9vw, 8rem);
 }
 .welcome-cta {
  border-left: 0;
  border-top: 0;
  min-width: 14rem;
  padding-left: clamp(1.25rem, 3vw, 2.5rem);
  padding-top: 0;
 }
 .hero-card {
  bottom: clamp(2.75rem, 4vw, 3.5rem);
  margin: 0;
  max-width: 31rem;
  padding: clamp(1.25rem, 2.4vw, 2.25rem);
  position: absolute;
  right: clamp(1.25rem, 2.5vw, 2.5rem);
  width: 39%;
 }
 .hero h1 {
  font-size: clamp(2.6rem, 3.75vw, 3.6rem);
 }
 .hero-lead {
  font-size: clamp(1rem, 1.55vw, 1.3rem);
  line-height: 1.3;
 }
 .hero-actions {
  margin-top: 1rem;
 }
 .page-hero-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.65fr);
 }
 .navbar-collapse-inner {
  padding-top: 0;
 }
 .navbar-nav {
  gap: 0.2rem;
 }
 .nav-item-cta {
  margin-left: 0.75rem;
  margin-top: 0;
 }
 .footer-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
 }
 .rules-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
 }
 .regulation-block {
  grid-template-columns: minmax(14rem, 0.7fr) minmax(0, 1.3fr);
 }
 .regulation-title span {
  text-align: right;
 }
 .registration-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
 }
 .registration-fact-capacity {
  grid-column: auto;
 }
}
@media (max-width: 991.98px) {
 .navbar-collapse {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
 }
 .navbar-collapse-inner {
  display: block;
  padding-top: 2rem;
 }
 .navbar-nav .dropdown-menu {
  left: 0;
  position: absolute;
  right: 0;
  top: 100%;
 }
 .navbar-nav {
  background: var(--color-beige);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-soft);
  gap: 0.55rem;
  padding: 1rem;
 }
 .navbar-nav > .nav-item:not(.nav-item-cta) > .nav-link {
  align-items: center;
  display: flex;
  font-size: 1.35rem;
  gap: 0.8rem;
  justify-content: flex-start;
  line-height: 1.2;
  min-height: 3.6rem;
  padding: 0.85rem 1rem !important;
  text-align: left;
 }
 .navbar-nav > .nav-item > .dropdown-toggle::after {
  margin-left: auto;
 }
 .nav-link-icon {
  display: inline-flex;
  flex: 0 0 1.5rem;
  font-size: 1.15em;
  justify-content: center;
  line-height: 1;
 }
 .nav-link, .nav-item-cta .btn {
  min-height: 3rem;
  width: 100%;
 }
 .navbar .nav-item-cta .btn {
  font-size: 1.35rem;
 }
}
@media (max-width: 767.98px) {
 .hero {
  padding-top: clamp(0.875rem, 1.75vw, 1.5625rem);
 }
 .hero-card {
  margin-top: -1.5rem;
 }
 .welcome {
  background-image: url("../img/patterns/pattern-beige.svg");
  background-position: right -8rem top -5rem;
  background-size: 18rem;
 }
 .welcome-impact {
  justify-items: center;
  text-align: center;
 }
 .welcome-cta {
  width: 100%;
 }
 .support-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }
 .support-card {
  min-height: 11rem;
  padding: clamp(0.85rem, 3.5vw, 1.25rem);
 }
 .support-card h3 {
  font-size: 0.75rem;
  line-height: 1.2;
  margin-bottom: 1rem;
 }
 .support-logo {
  max-height: 4.5rem;
  max-width: 100%;
 }
 .support-logo-lidl {
  max-height: 4rem;
 }
 .support-logo-hms {
  max-width: min(100%, 7.5rem);
 }
}
@media (max-width: 575.98px) {
 :root {
  --header-height: 6.5rem;
  --navbar-brand-width: 13.5rem;
 }
 .site-header.is-scrolled {
  --header-height: 5.75rem;
 }
 .site-header.is-scrolled .navbar-brand img {
  width: 10.75rem;
 }
 .hero-picture img {
  aspect-ratio: 1707 / 1920;
  object-fit: contain;
 }
}
@media (max-width: 420px) {
 body {
  font-size: 1rem;
 }
 .navbar-toggler-label {
  display: none;
 }
 .hero-actions .btn {
  width: 100%;
 }
 .hero-card {
  margin-inline: 0;
 }
 .gdpr-panel {
  bottom: calc(0.75rem + env(safe-area-inset-bottom));
  left: 0.75rem;
  max-height: calc(100dvh - 1.5rem - env(safe-area-inset-bottom));
  right: 0.75rem;
 }
 .welcome-fact {
  grid-template-columns: 1fr;
 }
 .welcome-impact-icon {
  height: 4.5rem;
  width: 4.5rem;
 }
 .welcome-cta .btn {
  width: 100%;
 }
 .gdpr-actions, .gdpr-btn {
  width: 100%;
 }
}
@media (prefers-reduced-motion: reduce) {
 html {
  scroll-behavior: auto;
 }
 *, *::before, *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: 0.01ms !important;
 }
}
