/* ==========================================================================
   PC Zone 2000 — styles du thème
   Couleurs et polices : theme.json. Ici : mise en page, sections, détails.
   ========================================================================== */

:root {
	--pcz-blue: var(--wp--preset--color--primary, #2F6CB0);
	--pcz-blue-dark: var(--wp--preset--color--primary-dark, #235189);
	--pcz-sky: var(--wp--preset--color--sky, #0B84F3);
	--pcz-navy: var(--wp--preset--color--navy, #062536);
	--pcz-ink: var(--wp--preset--color--ink, #1C2733);
	--pcz-muted: var(--wp--preset--color--muted, #4A5565);
	--pcz-line: var(--wp--preset--color--line, #E3E8EF);
	--pcz-soft: var(--wp--preset--color--soft, #F3F6FA);
	--pcz-tint: #E8F0FA;
	--pcz-radius: 20px;
	--pcz-slant: clamp(28px, 5vw, 80px);
	--pcz-section: clamp(4rem, 8vw, 7rem);
	--pcz-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Les grandes sections s'enchaînent sans espace. */
.wp-site-blocks > *,
.pcz-main .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.pcz-main { margin-block-start: 0; }

:where(a, button, input, textarea, select):focus-visible {
	outline: 3px solid var(--pcz-sky);
	outline-offset: 2px;
	border-radius: 6px;
}

/* --------------------------------------------------------------------------
   En-tête
   -------------------------------------------------------------------------- */
.pcz-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 60;
	background: rgba(255, 255, 255, .86);
	backdrop-filter: saturate(1.4) blur(14px);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color .25s, box-shadow .25s;
}
.pcz-header.is-scrolled {
	border-bottom-color: var(--pcz-line);
	box-shadow: 0 6px 24px rgba(6, 37, 54, .07);
}
.pcz-header__inner {
	max-width: 1200px;
	margin-inline: auto;
	padding: .7rem clamp(1rem, 4vw, 2rem);
	gap: 1.5rem;
}
.pcz-brand { gap: .75rem; }
.pcz-brand__logo img { width: 48px; height: auto; display: block; }
.pcz-brand__title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 800;
	letter-spacing: -.01em;
	white-space: nowrap;
}
.pcz-brand__title a { color: var(--pcz-navy); text-decoration: none; }

.pcz-nav { gap: 1.25rem; }
.pcz-menu .wp-block-navigation-item__content {
	color: var(--pcz-navy);
	text-decoration: none;
	padding: .5rem .2rem;
	position: relative;
}
.pcz-menu .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: .2rem; right: .2rem; bottom: .2rem;
	height: 2px;
	background: var(--pcz-blue);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s var(--pcz-ease);
}
.pcz-menu .wp-block-navigation-item__content:hover::after,
.pcz-menu .current-menu-item > .wp-block-navigation-item__content::after,
.pcz-menu [aria-current="page"]::after { transform: scaleX(1); }
.pcz-menu .current-menu-item > .wp-block-navigation-item__content,
.pcz-menu [aria-current="page"] { color: var(--pcz-blue); }
.pcz-menu .wp-block-navigation__container { gap: 1.6rem; }

.pcz-header__cta .wp-block-button__link {
	padding: .65rem 1.2rem;
	font-size: .875rem;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}
.pcz-header__cta .wp-block-button__link::before {
	content: "";
	width: 18px; height: 18px;
	background: currentColor;
	-webkit-mask: var(--pcz-i-headset) center / contain no-repeat;
	mask: var(--pcz-i-headset) center / contain no-repeat;
}
/* Logo Facebook officiel : rond bleu, « f » blanc */
.pcz-social .wp-social-link-facebook { background-color: #0866FF !important; color: #fff !important; }
.pcz-social .wp-social-link { transition: transform .2s var(--pcz-ease), box-shadow .2s; }
.pcz-social .wp-social-link:hover { transform: translateY(-2px) scale(1.06); box-shadow: 0 6px 16px rgba(8, 102, 255, .35); }

/* Menu mobile */
.wp-block-navigation__responsive-container.is-menu-open {
	background: #fff !important;
	color: var(--pcz-navy) !important;
	padding: 1.5rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.5rem;
	font-weight: 700;
	padding: .5rem 0;
}
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }

@media (max-width: 900px) {
	.pcz-header__cta { display: none !important; }
}
@media (max-width: 600px) {
	.pcz-brand__title { font-size: 1rem; }
	.pcz-header .pcz-social { display: none !important; }
}

/* --------------------------------------------------------------------------
   Boutons
   -------------------------------------------------------------------------- */
.wp-element-button,
.wp-block-button__link {
	transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--pcz-ease), box-shadow .2s;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(47, 108, 176, .28);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--pcz-navy);
	border: 2px solid var(--pcz-navy);
	padding-top: calc(.95rem - 2px);
	padding-bottom: calc(.95rem - 2px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--pcz-navy);
	color: #fff;
}
.wp-block-button.is-style-light .wp-block-button__link {
	background: #fff;
	color: var(--pcz-navy);
}
.wp-block-button.is-style-light .wp-block-button__link:hover {
	background: var(--pcz-tint);
	color: var(--pcz-navy);
}

/* --------------------------------------------------------------------------
   Utilitaires de texte
   -------------------------------------------------------------------------- */
.pcz-center { text-align: center; }
.pcz-center-flex { justify-content: center; }
.pcz-lead { font-size: var(--wp--preset--font-size--large); color: var(--pcz-muted); line-height: 1.6; }
.pcz-small { font-size: var(--wp--preset--font-size--small); color: var(--pcz-muted); }
.pcz-eyebrow {
	margin: 0 auto .75rem;
	text-align: center;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pcz-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .75rem;
}
.pcz-eyebrow::before,
.pcz-eyebrow::after {
	content: "";
	width: 28px;
	height: 2px;
	background: currentColor;
	opacity: .5;
}
.pcz-eyebrow--left { justify-content: flex-start; text-align: left; }
.pcz-eyebrow--left::after { display: none; }

.pcz-section { padding-block: var(--pcz-section); }
.pcz-section > h2,
.pcz-section > .wp-block-heading { margin-block-start: 0; }

/* --------------------------------------------------------------------------
   Icônes (masques SVG : la couleur suit le contexte)
   -------------------------------------------------------------------------- */
.pcz-ico--check   { --icon: var(--pcz-i-check); }
.pcz-ico--devices { --icon: var(--pcz-i-devices); }
.pcz-ico--star    { --icon: var(--pcz-i-star); }
.pcz-ico--gear    { --icon: var(--pcz-i-gear); }
.pcz-ico--laptop  { --icon: var(--pcz-i-laptop); }
.pcz-ico--wrench  { --icon: var(--pcz-i-wrench); }
.pcz-ico--shield  { --icon: var(--pcz-i-shield); }
.pcz-ico--headset { --icon: var(--pcz-i-headset); }
.pcz-ico--printer { --icon: var(--pcz-i-printer); }
.pcz-ico--pin     { --icon: var(--pcz-i-pin); }
.pcz-ico--phone   { --icon: var(--pcz-i-phone); }
.pcz-ico--mail    { --icon: var(--pcz-i-mail); }
.pcz-ico--clock   { --icon: var(--pcz-i-clock); }
.pcz-ico--bug     { --icon: var(--pcz-i-bug); }
.pcz-ico--broom   { --icon: var(--pcz-i-broom); }
.pcz-ico--archive { --icon: var(--pcz-i-archive); }
.pcz-ico--doc     { --icon: var(--pcz-i-doc); }
.pcz-ico--cloud   { --icon: var(--pcz-i-cloud); }

.pcz-ico { position: relative; padding-top: 70px; }
.pcz-ico::before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	width: 54px; height: 54px;
	border-radius: 16px;
	background: var(--pcz-tint);
}
.pcz-ico::after {
	content: "";
	position: absolute;
	top: 14px; left: 14px;
	width: 26px; height: 26px;
	background: var(--pcz-blue);
	-webkit-mask: var(--icon) center / contain no-repeat;
	mask: var(--icon) center / contain no-repeat;
}

/* --------------------------------------------------------------------------
   Héros (accueil)
   -------------------------------------------------------------------------- */
.pcz-hero {
	position: relative;
	isolation: isolate;
	min-height: min(86vh, 760px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: clamp(4rem, 9vw, 7rem) calc(clamp(4rem, 9vw, 7rem) + var(--pcz-slant));
	background: var(--pcz-soft) var(--pcz-bg-hero) right center / cover no-repeat;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--pcz-slant)), 0 100%);
}
.pcz-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .82) 36%, rgba(255, 255, 255, 0) 64%);
}
.pcz-hero > .pcz-hero__content { max-width: 1200px !important; width: 100%; margin-inline: auto !important; }
.pcz-hero__content > * { max-width: 600px; }
.pcz-hero__logo { margin-bottom: 1.5rem; }
.pcz-hero__logo img { width: clamp(150px, 18vw, 230px); height: auto; filter: drop-shadow(0 10px 24px rgba(6, 37, 54, .12)); }
.pcz-hero__title {
	margin: 0 0 1.25rem;
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	line-height: 1.04;
}
.pcz-hero__lead {
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	color: var(--pcz-muted);
	line-height: 1.6;
	margin: 0 0 2rem;
}
.pcz-hero__actions { gap: .85rem; }

@media (max-width: 860px) {
	.pcz-hero { background-position: 70% center; min-height: 0; }
	.pcz-hero::before { background: rgba(255, 255, 255, .86); }
}

/* --------------------------------------------------------------------------
   Qui sommes-nous + partenaires
   -------------------------------------------------------------------------- */
.pcz-about { padding-block-start: clamp(2.5rem, 5vw, 4rem); }
.pcz-about .wp-block-heading { margin-bottom: 1.5rem; }
.pcz-partners { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
.pcz-partners img {
	width: 100%;
	max-width: 860px;
	height: auto;
	filter: grayscale(1);
	opacity: .7;
	transition: filter .35s, opacity .35s;
}
.pcz-partners img:hover { filter: none; opacity: 1; }

/* --------------------------------------------------------------------------
   Bande bleue (4 forces)
   -------------------------------------------------------------------------- */
.pcz-band {
	background: var(--pcz-blue);
	color: #fff;
	padding-block: calc(var(--pcz-section) + var(--pcz-slant));
	clip-path: polygon(0 var(--pcz-slant), 100% 0, 100% calc(100% - var(--pcz-slant)), 0 100%);
}
.pcz-band__grid { gap: clamp(2rem, 4vw, 3rem) !important; }
.pcz-feature { text-align: center; }
.pcz-feature h3 {
	color: #fff;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0 0 .6rem;
	padding-top: 76px;
}
.pcz-feature h3::before {
	left: 50%;
	transform: translateX(-50%);
	width: 60px; height: 60px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .14);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28);
}
.pcz-feature h3::after {
	left: 50%;
	top: 15px;
	transform: translateX(-50%);
	width: 30px; height: 30px;
	background: #fff;
}
.pcz-feature p { margin: 0; color: rgba(255, 255, 255, .92); }

/* --------------------------------------------------------------------------
   Cartes
   -------------------------------------------------------------------------- */
.pcz-cards { gap: 1.25rem !important; margin-top: clamp(2rem, 4vw, 3rem) !important; }
.pcz-card {
	background: #fff;
	border: 1px solid var(--pcz-line);
	border-radius: var(--pcz-radius);
	padding: 2rem;
	transition: transform .3s var(--pcz-ease), box-shadow .3s var(--pcz-ease), border-color .3s;
}
.pcz-card:hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: 0 2px 4px rgba(6, 37, 54, .05), 0 22px 44px rgba(6, 37, 54, .12);
}
.pcz-card h3 { margin: 0 0 .5rem; font-size: 1.1875rem; }
.pcz-card p { margin: 0; color: var(--pcz-muted); }
.pcz-card > * + * { margin-block-start: .6rem; }
.pcz-card--accent {
	background: var(--pcz-navy);
	border-color: var(--pcz-navy);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.pcz-card--accent h3 { color: #fff; font-size: 1.5rem; }
.pcz-card--accent p { color: rgba(255, 255, 255, .85); }
.pcz-card--accent .wp-block-buttons { margin-top: 1.25rem; }
.pcz-card__note { font-size: .9375rem; }

/* Liste de liens (téléchargements) */
.pcz-links { list-style: none; padding: 0; margin: 1rem 0 0; }
.pcz-links li { border-top: 1px solid var(--pcz-line); }
.pcz-links li:last-child { border-bottom: 1px solid var(--pcz-line); }
.pcz-links a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: .8rem 0;
	color: var(--pcz-navy);
	font-weight: 600;
	text-decoration: none;
	min-height: 44px;
}
.pcz-links a::after {
	content: "";
	flex: none;
	width: 18px; height: 18px;
	background: currentColor;
	-webkit-mask: var(--pcz-i-arrow) center / contain no-repeat;
	mask: var(--pcz-i-arrow) center / contain no-repeat;
	transition: transform .2s var(--pcz-ease);
}
.pcz-links a:hover { color: var(--pcz-blue); }
.pcz-links a:hover::after { transform: translate(2px, -2px); }

/* --------------------------------------------------------------------------
   Bande photo « Techno simplifiée »
   -------------------------------------------------------------------------- */
.pcz-parallax {
	position: relative;
	isolation: isolate;
	padding-block: calc(var(--pcz-section) * 1.15 + var(--pcz-slant));
	background: var(--pcz-soft) var(--pcz-bg-techno) center / cover no-repeat fixed;
	clip-path: polygon(0 var(--pcz-slant), 100% 0, 100% 100%, 0 100%);
}
.pcz-parallax::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, .55);
}
.pcz-parallax__title {
	font-size: clamp(2.25rem, 5.5vw, 4rem);
	font-weight: 300;
	letter-spacing: -.03em;
	margin-bottom: .75rem;
}
@media (hover: none), (max-width: 860px) {
	.pcz-parallax { background-attachment: scroll; }
}

/* --------------------------------------------------------------------------
   Bandeaux de titre des pages intérieures
   -------------------------------------------------------------------------- */
.pcz-pagehead {
	position: relative;
	isolation: isolate;
	padding-block: clamp(4rem, 9vw, 7rem) calc(clamp(3.5rem, 7vw, 5.5rem) + var(--pcz-slant));
	background: var(--pcz-soft) center / cover no-repeat;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--pcz-slant)), 0 100%);
}
.pcz-pagehead--contact { background-image: var(--pcz-bg-contact); }
.pcz-pagehead--telechargement { background-image: var(--pcz-bg-telechargement); }
.pcz-pagehead--contact::before,
.pcz-pagehead--telechargement::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .8) 45%, rgba(255, 255, 255, .35) 100%);
}
.pcz-pagehead > .pcz-pagehead__title,
.pcz-pagehead > .pcz-pagehead__lead {
	margin-left: max(0px, calc((100% - 1200px) / 2)) !important;
	margin-right: auto !important;
}
.pcz-pagehead__title { margin-block: 0; max-width: 760px; }
.pcz-pagehead__lead {
	max-width: 640px;
	margin-top: 1rem;
	font-size: var(--wp--preset--font-size--large);
	color: var(--pcz-muted);
	line-height: 1.6;
}
.pcz-pagehead--plain { padding-block: clamp(3rem, 7vw, 5rem) calc(clamp(2.5rem, 5vw, 3.5rem) + var(--pcz-slant)); }
.pcz-pagehead--plain .pcz-pagehead__title { font-size: var(--wp--preset--font-size--xx-large); }
.pcz-404 .wp-block-buttons { margin-top: 2rem; }

/* Pages de texte (politique, etc.) */
.pcz-prose h2 { margin-top: 2.5rem; font-size: 1.5rem; }
.pcz-prose h3 { margin-top: 1.75rem; }
.pcz-prose ul { padding-left: 1.25rem; }
.pcz-prose li + li { margin-top: .35rem; }

/* --------------------------------------------------------------------------
   Contact
   -------------------------------------------------------------------------- */
.pcz-contact { gap: clamp(2rem, 5vw, 4rem) !important; }
.pcz-info { margin-bottom: 2rem; }
.pcz-info h3 {
	padding: 0 0 0 52px;
	min-height: 40px;
	display: flex;
	align-items: center;
	margin: 0 0 .5rem;
	font-size: 1.0625rem;
}
.pcz-info h3::before { width: 40px; height: 40px; border-radius: 12px; top: 0; }
.pcz-info h3::after { top: 10px; left: 10px; width: 20px; height: 20px; }
.pcz-info p, .pcz-info .pcz-hours { margin: 0 0 0 52px; color: var(--pcz-muted); }
.pcz-info a { font-weight: 600; }

.pcz-formcard {
	background: #fff;
	border: 1px solid var(--pcz-line);
	border-radius: 24px;
	padding: clamp(1.5rem, 4vw, 2.75rem);
	box-shadow: 0 2px 4px rgba(6, 37, 54, .04), 0 24px 48px rgba(6, 37, 54, .08);
}
.pcz-formcard h2 { margin-top: 0; font-size: 1.75rem; }

.pcz-form { display: grid; gap: 1.1rem; margin-top: 1.25rem; }
.pcz-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.1rem; }
.pcz-field { margin: 0; display: grid; gap: .4rem; }
.pcz-field label { font-weight: 700; font-size: .9375rem; color: var(--pcz-navy); }
.pcz-field label span { color: var(--pcz-blue); }
.pcz-field input,
.pcz-field textarea {
	font: inherit;
	width: 100%;
	box-sizing: border-box;
	padding: .85rem 1rem;
	min-height: 50px;
	border: 1px solid #C9D2DE;
	border-radius: 12px;
	background: #fff;
	color: var(--pcz-ink);
	transition: border-color .2s, box-shadow .2s;
}
.pcz-field textarea { resize: vertical; min-height: 150px; }
.pcz-field input:focus,
.pcz-field textarea:focus {
	outline: none;
	border-color: var(--pcz-blue);
	box-shadow: 0 0 0 4px rgba(47, 108, 176, .16);
}
.pcz-form__consent { margin: 0; font-size: .875rem; color: var(--pcz-muted); }
.pcz-form__actions { margin: 0; }
.pcz-form button { border: 0; cursor: pointer; min-height: 50px; }
.pcz-notice {
	border-radius: 14px;
	padding: 1rem 1.25rem;
	background: #E7F6EE;
	color: #0E5A35;
	border: 1px solid #BFE5D0;
	margin-bottom: 1rem;
}

/* Heures */
.pcz-hours { margin: 0; display: grid; gap: .3rem; }
.pcz-hours > div { display: flex; justify-content: space-between; gap: 1rem; max-width: 300px; }
.pcz-hours dt { font-weight: 400; }
.pcz-hours dd { margin: 0; font-weight: 700; color: var(--pcz-navy); text-align: right; }

/* --------------------------------------------------------------------------
   Support à distance (sur toutes les pages)
   -------------------------------------------------------------------------- */
.pcz-support {
	position: relative;
	isolation: isolate;
	padding-block: calc(var(--pcz-section) + var(--pcz-slant)) var(--pcz-section);
	background: var(--pcz-soft) var(--pcz-bg-support) center / cover no-repeat;
	clip-path: polygon(0 var(--pcz-slant), 100% 0, 100% 100%, 0 100%);
}
.pcz-support::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(243, 246, 250, .9);
}
.pcz-support__inner { gap: clamp(2rem, 5vw, 4rem) !important; }
.pcz-support h2 { margin-top: 0; }
.pcz-support p { color: var(--pcz-muted); }
.pcz-assist {
	background: #fff;
	border-radius: 24px;
	padding: 1.5rem;
	box-shadow: 0 2px 4px rgba(6, 37, 54, .05), 0 24px 48px rgba(6, 37, 54, .1);
}
.pcz-assist iframe { display: block; width: 100%; height: 160px; border: 0; }

/* --------------------------------------------------------------------------
   Pied de page
   -------------------------------------------------------------------------- */
.pcz-footer {
	background: #fff;
	border-top: 1px solid var(--pcz-line);
	/* Espace sous le pied de page pour les boutons flottants (témoins, clavardage). */
	padding-block: clamp(3rem, 6vw, 4.5rem) 5.5rem;
	font-size: .9375rem;
	color: var(--pcz-muted);
}
.pcz-footer__grid { gap: 2.5rem !important; }
.pcz-footer__brand .wp-block-site-logo img { width: 110px; height: auto; }
.pcz-footer__brand p { max-width: 260px; margin-top: 1rem; }
.pcz-footer__title {
	font-size: .8125rem !important;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pcz-navy);
	margin: 0 0 1rem;
}
.pcz-footer p { margin: 0 0 .75rem; }
.pcz-footer a { color: var(--pcz-navy); text-decoration: none; }
.pcz-footer a:hover { color: var(--pcz-blue); text-decoration: underline; }
.pcz-footer__links { list-style: none; padding: 0; margin: 0; }
.pcz-footer__links li + li { margin-top: .5rem; }
.pcz-footer__bottom {
	margin-top: 3rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid var(--pcz-line);
	font-size: .875rem;
}
.pcz-footer__bottom p { margin: 0; }

/* --------------------------------------------------------------------------
   Apparition au défilement (seulement si JavaScript est actif)
   -------------------------------------------------------------------------- */
.pcz-js .pcz-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .7s var(--pcz-ease), transform .7s var(--pcz-ease);
	transition-delay: var(--pcz-delay, 0s);
}
.pcz-js .pcz-reveal.is-visible { opacity: 1; transform: none; }
.pcz-hero__content > * { animation: pcz-up .8s var(--pcz-ease) both; }
.pcz-hero__content > *:nth-child(2) { animation-delay: .08s; }
.pcz-hero__content > *:nth-child(3) { animation-delay: .16s; }
.pcz-hero__content > *:nth-child(4) { animation-delay: .24s; }
@keyframes pcz-up {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.pcz-js .pcz-reveal { opacity: 1; transform: none; }
	.pcz-parallax { background-attachment: scroll; }
}

/* 3CX : la bulle reste au-dessus du contenu, sans masquer le pied de page sur mobile */
call-us-selector { position: relative; z-index: 70; }
