*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--border,#e5e7eb)}body{margin:0;background-color:var(--background,#fff);color:var(--foreground,#111);font-family:var(--font-body,sans-serif);font-weight:var(--body-weight,400);-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}.bg-primary{background-color:var(--primary)!important}.bg-primary\/5{background-color:color-mix(in srgb,var(--primary) 5%,transparent)!important}.bg-primary\/10{background-color:color-mix(in srgb,var(--primary) 10%,transparent)!important}.bg-primary\/20{background-color:color-mix(in srgb,var(--primary) 20%,transparent)!important}.bg-secondary{background-color:var(--secondary)!important}.bg-background{background-color:var(--background)!important}.bg-background-subtle,.bg-muted{background-color:var(--background-subtle,var(--muted))!important}.bg-card{background-color:var(--card)!important}.bg-popover{background-color:var(--popover)!important}.bg-accent{background-color:var(--accent)!important}.bg-destructive{background-color:var(--destructive)!important}.bg-primary-foreground{background-color:var(--primary-foreground)!important}.bg-accent-foreground{background-color:var(--accent-foreground)!important}.bg-secondary-foreground{background-color:var(--secondary-foreground)!important}.text-primary{color:var(--primary)!important}.text-primary-foreground{color:var(--primary-foreground)!important}.text-secondary-foreground{color:var(--secondary-foreground)!important}.text-foreground{color:var(--foreground)!important}.text-muted-foreground{color:var(--muted-foreground)!important}.text-card-foreground{color:var(--card-foreground)!important}.text-popover-foreground{color:var(--popover-foreground)!important}.text-accent{color:var(--accent)!important}.text-accent-foreground{color:var(--accent-foreground)!important}.text-destructive{color:var(--destructive)!important}.border-border{border-color:var(--border)!important}.border-input{border-color:var(--input)!important}.border-primary{border-color:var(--primary)!important}.border-secondary{border-color:var(--secondary)!important}.outline-ring\/50,.ring-ring{--tw-ring-color:var(--ring);outline-color:var(--ring)}.hover\:bg-primary:hover{background-color:var(--primary)!important}.hover\:bg-primary\/80:hover{background-color:color-mix(in srgb,var(--primary) 80%,transparent)!important}.hover\:bg-primary\/90:hover{background-color:color-mix(in srgb,var(--primary) 90%,transparent)!important}.hover\:bg-accent:hover{background-color:var(--accent)!important}.hover\:text-primary:hover{color:var(--primary)!important}.hover\:text-primary\/80:hover{color:color-mix(in srgb,var(--primary) 80%,transparent)!important}.hover\:text-accent:hover{color:var(--accent)!important}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)!important}.font-sans{font-family:var(--font-body,sans-serif)!important}.font-heading{font-family:var(--font-heading,serif)!important;font-weight:var(--heading-weight,700)!important}.rounded-sm{border-radius:var(--radius-sm,.25rem)}.rounded,.rounded-md{border-radius:var(--radius,.375rem)}.rounded-lg{border-radius:var(--radius-lg,.5rem)}.rounded-xl{border-radius:calc(var(--radius-lg, .5rem) * 1.4)}.rounded-2xl{border-radius:calc(var(--radius-lg, .5rem) * 1.8)}.rounded-full{border-radius:var(--radius-full,9999px)}.py-\[var\(--section-y\)\]{padding-top:var(--section-y);padding-bottom:var(--section-y)}.gap-\[var\(--grid-gap\)\]{gap:var(--grid-gap)}.max-w-\[var\(--container-max\)\]{max-width:var(--container-max)}.shadow-card{box-shadow:var(--card-shadow)}.hover\:shadow-card-hover:hover{box-shadow:var(--card-shadow-hover)}.transition-colors{transition-property:color,background-color,border-color;transition-duration:var(--duration,.2s);transition-timing-function:var(--easing,ease-out)}.bg-price-badge{background-color:var(--price-badge)!important}.text-price-badge-foreground{color:var(--price-badge-foreground)!important}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}img{max-width:100%;height:auto}.pro-section-dim{transition:opacity .3s ease,filter .3s ease}.pro-section-lock{display:none}body[data-plan=essentiel] .pro-section-dim{opacity:.4;filter:saturate(0);pointer-events:none}body[data-plan=essentiel] .pro-section-lock{display:flex}