/* ==========================================================================
   Landing Control One
   Maquette Figma : 1440 px de large. Breakpoints : 1199 / 1023 / 640.
   ========================================================================== */

/* Polices locales ---------------------------------------------------------- */
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/poppins-400.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/poppins-600.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/poppins-700.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/poppins-800.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/montserrat-300.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/montserrat-400.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/montserrat-500.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/montserrat-600.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/montserrat-700.woff2") format("woff2"); }

/* Design tokens ------------------------------------------------------------ */
:root {
	/* Couleurs de la maquette */
	--c1-primary: #00aeef;
	--c1-primary-2: #c0e0ff;       /* Colors/Primary/-2 */
	--c1-dark: #2d2d2d;            /* Colors/Dark */
	--c1-gray: #555555;            /* gray */
	--c1-neutral: #b5bdc7;         /* Colors / Neutral / 02 */
	--c1-white: #ffffff;
	--c1-black: #000000;

	/* Dérivées */
	--c1-primary-deep: #0468c6;
	--c1-primary-soft: rgba(0, 174, 239, 0.15);
	--c1-primary-tint: rgba(0, 174, 239, 0.05);
	--c1-ice: #e9f9ff;
	--c1-sky: #e8f5fb;
	--c1-muted: #6d6d6d;

	/* Variable Figma « bleu-gradiant » (vide dans la maquette) : dégradé du footer */
	--c1-bleu-gradient: linear-gradient(218deg, var(--c1-primary) 19%, var(--c1-primary-deep) 130%);

	/* Typographie */
	--c1-font-title: "Poppins", system-ui, sans-serif;
	--c1-font-text: "Montserrat", system-ui, sans-serif;

	/* Rayons */
	--c1-radius-xs: 7px;
	--c1-radius-sm: 9px;
	--c1-radius-md: 13px;
	--c1-radius-lg: 16px;
	--c1-radius-xl: 20px;
	--c1-radius-2xl: 23px;

	/* Ombres */
	--c1-shadow-header: 0 3px 12.5px #c6e1f3;
	--c1-shadow-header-scrolled: 0 8px 28px rgba(4, 104, 198, 0.16);
	--c1-shadow-card: 0 6px 30px rgba(0, 0, 0, 0.12);
	--c1-shadow-plan: 3.6px 3.6px 13.5px rgba(0, 0, 0, 0.2);
	--c1-shadow-plan-hover: 0 24px 50px rgba(0, 110, 180, 0.28);
	--c1-shadow-faq: 3px 3px 32.7px rgba(149, 149, 149, 0.25);
	--c1-shadow-btn: 0 5.9px 13.3px rgba(27, 34, 60, 0.16);
	--c1-shadow-news: 0 3.5px 3.5px rgba(0, 0, 0, 0.25);

	/* Mouvement */
	--c1-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--c1-dur: 0.6s;

	/* Mise en page */
	--c1-gutter: 20px;
	--c1-header-h: 66px;
}

/* Base --------------------------------------------------------------------- */
.c1-landing {
	margin: 0;
	background: var(--c1-white);
	color: var(--c1-dark);
	font-family: var(--c1-font-text);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
.c1-landing *,
.c1-landing *::before,
.c1-landing *::after { box-sizing: border-box; }
/* Resets en :where() pour ne jamais l'emporter sur les classes des composants. */
.c1-landing :where(img) { display: block; max-width: 100%; height: auto; }
.c1-landing :where(h1, h2, h3, p, ul, figure, address) { margin: 0; }
.c1-landing :where(ul) { padding: 0; list-style: none; }
.c1-landing :where(a) { color: inherit; text-decoration: none; }
.c1-landing :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.c1-landing :focus-visible { outline: 2px solid var(--c1-primary); outline-offset: 3px; border-radius: 4px; }
.c1-main:focus { outline: none; }
.c1-landing section[id] { scroll-margin-top: var(--c1-header-h); }

.c1-landing .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.c1-skip-link {
	position: fixed; top: 8px; left: 8px; z-index: 1000;
	padding: 10px 16px;
	background: var(--c1-dark); color: var(--c1-white);
	border-radius: var(--c1-radius-sm);
	transform: translateY(-150%);
	transition: transform 0.3s var(--c1-ease);
}
.c1-skip-link:focus { transform: none; }

/* Typographie commune ------------------------------------------------------ */
.c1-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; }
.c1-heading--center { align-items: center; text-align: center; }
.c1-title {
	font-family: var(--c1-font-title);
	font-weight: 500;
	font-size: clamp(28px, 2.2vw + 10px, 38px);
	line-height: 1.3;
	color: var(--c1-dark);
}
.c1-title--light { color: var(--c1-white); }
.c1-lead { font-size: 18px; line-height: 1.5; color: var(--c1-dark); }

/* Split texte (mots révélés ligne par ligne) */
.c1-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.c1-w__i { display: inline-block; will-change: transform; }

/* ==========================================================================
   Composants
   ========================================================================== */

/* Étiquette pilule */
.c1-pill {
	display: inline-flex; align-items: center; justify-content: center;
	height: 36px;
	padding: 0 14px;
	border: 0.8px solid var(--c1-primary);
	border-radius: var(--c1-radius-md);
	background: var(--c1-primary-tint);
	font-family: var(--c1-font-text);
	font-weight: 600;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--c1-black);
	white-space: nowrap;
}
.c1-pill--white { background: var(--c1-white); border-color: var(--c1-white); }

/* Boutons */
.c1-btn {
	--c1-btn-bg: var(--c1-white);
	--c1-btn-fg: var(--c1-black);
	--c1-btn-bd: var(--c1-black);
	position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	padding: 15px 20px;
	border: 2px solid var(--c1-btn-bd);
	border-radius: var(--c1-radius-xl);
	background: var(--c1-btn-bg);
	color: var(--c1-btn-fg);
	font-family: var(--c1-font-text);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	transition: background-color 0.4s var(--c1-ease), color 0.4s var(--c1-ease), border-color 0.4s var(--c1-ease), box-shadow 0.4s var(--c1-ease);
	will-change: transform;
}
.c1-btn__label { display: inline-block; pointer-events: none; }
.c1-btn--outline { min-width: 259px; }
.c1-btn--outline:hover { --c1-btn-bg: var(--c1-black); --c1-btn-fg: var(--c1-white); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18); }
.c1-btn--soft,
.c1-btn--primary { padding: 10px 20px; border: 0; }
.c1-btn--soft { --c1-btn-bg: var(--c1-primary-soft); --c1-btn-fg: var(--c1-primary); }
.c1-btn--soft:hover { --c1-btn-bg: rgba(0, 174, 239, 0.25); }
.c1-btn--primary { --c1-btn-bg: var(--c1-primary); --c1-btn-fg: var(--c1-white); }
.c1-btn--primary:hover { --c1-btn-bg: var(--c1-primary-deep); box-shadow: 0 8px 20px rgba(0, 174, 239, 0.35); }
.c1-btn--block { width: 100%; min-width: 0; }

/* Boutons des cartes de prix */
.c1-btn--plan-white,
.c1-btn--plan-primary,
.c1-btn--plan-dark {
	padding: 14px 24px;
	border-width: 0.75px;
	border-radius: var(--c1-radius-sm);
	font-weight: 500;
	font-size: 16px;
	box-shadow: var(--c1-shadow-btn);
}
.c1-btn--plan-white { --c1-btn-fg: var(--c1-primary); --c1-btn-bd: var(--c1-primary); }
.c1-btn--plan-white:hover { --c1-btn-bg: var(--c1-primary); --c1-btn-fg: var(--c1-white); }
.c1-btn--plan-primary { --c1-btn-bg: var(--c1-primary); --c1-btn-fg: var(--c1-white); --c1-btn-bd: var(--c1-primary); }
.c1-btn--plan-primary:hover { --c1-btn-bg: var(--c1-primary-deep); --c1-btn-bd: var(--c1-primary-deep); }
.c1-btn--plan-dark:hover { --c1-btn-bg: var(--c1-dark); --c1-btn-fg: var(--c1-white); --c1-btn-bd: var(--c1-dark); }

/* Zoom au survol (boutons, badges, réseaux) : grandit sur place, sans se
   déplacer vers ses voisins. « scale » ne gêne pas les transforms GSAP.
   Souris uniquement ; désactivé en mouvement réduit (voir fin de fichier). */
[data-zoom] { transition-property: background-color, color, border-color, box-shadow, opacity, scale; }
@media (hover: hover) and (pointer: fine) {
	[data-zoom]:hover { scale: 1.04; }
	.c1-badges--block [data-zoom]:hover { scale: 1.025; }
}

/* Badges stores */
.c1-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.c1-badge {
	display: flex; align-items: center; justify-content: center;
	background: var(--c1-black);
	border-radius: var(--c1-radius-xs);
	overflow: hidden;
	transition: box-shadow 0.4s var(--c1-ease);
	will-change: transform;
}
.c1-badge:hover { box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25); }
.c1-badge img { width: 127px; height: auto; }
.c1-badges--lg { gap: 20px; }
.c1-badges--lg .c1-badge img { width: 133px; }
.c1-badges--block { flex-wrap: nowrap; gap: 10px; }
.c1-badges--block > li { flex: 1 1 0; }
.c1-badges--block .c1-badge { height: 40px; }
.c1-badges--block .c1-badge img { width: 112px; }

/* Mockup iPhone : proportions reprises du composant Figma « iPhone 14 » */
.c1-iphone {
	position: relative;
	width: 100%;
	aspect-ratio: 283.92 / 575.14;
}
.c1-iphone__buttons {
	position: absolute;
	top: 20.2%; left: 0;
	width: 100% !important; height: 21.41% !important;
	max-width: none !important;
}
.c1-iphone__body {
	position: absolute;
	inset: 0 0.88%;
	border-radius: 17% / 8.4%;
	background: #000;
	border: 0.55px solid #285376;
	box-shadow:
		inset 0 0 0 1.3px #406d90,
		inset 0 0 0 3.6px #2b5b7c,
		inset 0 0 0 7.5px #34373e;
}
.c1-iphone__screen {
	position: absolute;
	top: 2.8%; bottom: 2.4%; left: 4.8%; right: 4.8%;
	border-radius: 11% / 5.1%;
	overflow: hidden;
	background: #fff;
	isolation: isolate;
}
.c1-iphone__screen > img,
.c1-iphone__screen > video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.c1-iphone__notch {
	position: absolute;
	top: 2.43%; left: 29.25%;
	width: 41.4% !important; height: auto;
	z-index: 2;
}
.c1-iphone--deep { filter: drop-shadow(14px 14px 14px rgba(38, 50, 56, 0.5)); }

/* Carte arrondie */
.c1-card {
	position: relative;
	background: var(--c1-white);
	border-radius: var(--c1-radius-xl);
	box-shadow: var(--c1-shadow-card);
}

/* Élément de liste avec icône */
.c1-item { display: flex; align-items: center; }
.c1-item--inline { gap: 13px; font-size: 14px; line-height: 19px; color: var(--c1-black); }
.c1-item__icon { flex: none; width: 23px !important; height: 23px; }

.c1-item--boxed { gap: 24px; }
.c1-item__box {
	flex: none;
	display: flex; align-items: center; justify-content: center;
	width: 64px; height: 64px;
	border: 1px solid #08b0f3;
	border-radius: var(--c1-radius-lg);
	background: var(--c1-ice);
	transition: transform 0.5s var(--c1-ease), box-shadow 0.5s var(--c1-ease);
}
.c1-item--boxed:hover .c1-item__box { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0, 174, 239, 0.2); }
.c1-item__box img { width: 24px; height: 24px; }
.c1-item__body { display: flex; flex-direction: column; gap: 8px; }
.c1-item__title { font-family: var(--c1-font-title); font-weight: 500; font-size: 20px; line-height: 1.5; color: var(--c1-black); }
.c1-item--boxed .c1-item__text { font-size: 16px; line-height: 1.5; color: var(--c1-muted); }

.c1-item--check { gap: 20px; font-weight: 500; font-size: 18px; line-height: 1.5; color: var(--c1-black); min-height: 32px; }
.c1-item__check {
	position: relative;
	flex: none;
	width: 20px; height: 20px;
	border-radius: 2px;
	box-shadow: inset 0 0 0 1.5px var(--c1-primary);
}
.c1-item__check img { position: absolute; inset: 0; width: 20px; height: 20px; }
.c1-item__note { font-weight: 300; }

/* ==========================================================================
   Header
   ========================================================================== */
.c1-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 100;
	background: var(--c1-white);
	box-shadow: var(--c1-shadow-header);
	transition: box-shadow 0.5s var(--c1-ease), background-color 0.5s var(--c1-ease);
}
.admin-bar .c1-header { top: var(--wp-admin--admin-bar--height, 32px); }
.c1-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	max-width: 1440px;
	height: var(--c1-header-h);
	margin: 0 auto;
	padding: 0 clamp(32px, 7.6vw - 10px, 110px) 0 clamp(32px, 7vw, 100px);
	gap: 24px;
	transition: height 0.5s var(--c1-ease);
}
.c1-header__logo { flex: none; }
.c1-header__logo img { width: 180px; height: 66px; transition: transform 0.5s var(--c1-ease); transform-origin: left center; }
.c1-header__menu { display: flex; align-items: center; gap: clamp(24px, 4.2vw, 60px); }
.c1-nav__list { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 32px); }
.c1-nav__link {
	position: relative;
	display: block;
	font-weight: 500;
	font-size: 14px;
	line-height: 24px;
	white-space: nowrap;
	color: var(--c1-gray);
	transition: color 0.3s var(--c1-ease);
}
.c1-nav__link::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: -2px;
	height: 2px;
	border-radius: 2px;
	background: var(--c1-primary);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.45s var(--c1-ease);
}
.c1-nav__link:hover,
.c1-nav__link.is-active { color: var(--c1-primary); }
.c1-nav__link:hover::after,
.c1-nav__link.is-active::after { transform: scaleX(1); transform-origin: left; }
.c1-header__actions { flex: none; display: flex; align-items: center; gap: clamp(12px, 1.4vw, 20px); }

.c1-header.is-scrolled { box-shadow: var(--c1-shadow-header-scrolled); background: rgba(255, 255, 255, 0.94); backdrop-filter: saturate(1.4) blur(10px); }
.c1-header.is-scrolled .c1-header__inner { height: 58px; }
.c1-header.is-scrolled .c1-header__logo { flex: none; }
.c1-header__logo img { transform: scale(0.88); }

.c1-burger { display: none; }

/* ==========================================================================
   Hero
   ========================================================================== */
.c1-hero { position: relative; background: var(--c1-sky); overflow: hidden; }
.c1-hero__inner {
	position: relative;
	display: flex; align-items: center;
	max-width: 1440px;
	min-height: 829px;
	margin: 0 auto;
	padding: 112px 0 0 111px;
}
.c1-hero__content { position: relative; z-index: 2; width: 527px; }
.c1-hero__title { display: flex; flex-direction: column; font-family: var(--c1-font-title); color: var(--c1-black); }
.c1-hero__brand { display: block; margin-bottom: 20px; }
.c1-hero__brand img { display: block; width: 420px; max-width: 100%; height: auto; }
.c1-hero__tagline { display: block; font-weight: 600; font-size: 48px; line-height: 1; }
.c1-hero__text { margin-top: 32px; font-size: 18px; line-height: 1.5; color: #272727; }
.c1-hero__cta { margin-top: 40px; }
.c1-hero__cta + div { margin-top: 20px; }

.c1-hero__visual {
	position: absolute;
	left: 45.14%;
	top: min(181px, 12.57vw);
	width: min(970px, 67.36vw);
	aspect-ratio: 970 / 687;
	pointer-events: none;
}
.c1-hero__blob { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.c1-hero__phone { position: absolute; }
.c1-hero__phone--front { left: 19.4%; top: 13.1%; width: 29.28%; z-index: 2; }
.c1-hero__phone--back { left: 46.5%; top: 22.3%; width: 27.3%; z-index: 1; filter: drop-shadow(14px 14px 11.5px rgba(0, 0, 0, 0.15)); }

/* ==========================================================================
   Sections
   ========================================================================== */
.c1-section { position: relative; }

/* À propos ----------------------------------------------------------------- */
.c1-about { padding: 154px var(--c1-gutter) 120px; }
.c1-about__inner {
	display: flex; align-items: center; justify-content: space-between;
	max-width: 1090px;
	margin: 0 auto;
	gap: 60px;
}
.c1-about__phone {
	flex: none;
	width: 321px;
	height: 529px;
	overflow: hidden;
}
.c1-about__content { width: 588px; display: flex; flex-direction: column; gap: 56px; }
.c1-about__content .c1-heading { gap: 32px; }
.c1-about__list { display: flex; flex-direction: column; gap: 40px; padding-left: 32px; }

/* Écran d'onboarding (en unités cqw : suit la taille du mockup) */
.c1-onboarding { position: absolute; inset: 0; container-type: inline-size; background: #fff; font-family: var(--c1-font-text); }
.c1-onboarding__status { position: absolute; inset: 0 0 auto; height: 12cqw; }
.c1-onboarding__time { position: absolute; left: 8cqw; top: 3.3cqw; font-family: -apple-system, "SF Pro Text", var(--c1-font-text); font-weight: 600; font-size: 4.3cqw; color: #010101; }
.c1-onboarding__icons { position: absolute; left: 73.5cqw; top: 4.8cqw; width: 19.7cqw !important; }
.c1-onboarding__art { position: absolute; left: 13.36cqw; top: 28.24cqw; width: 73.28cqw; aspect-ratio: 1; }
.c1-onboarding__layer { position: absolute; max-width: none !important; }
.c1-onboarding__layer--bg { left: 9.4%; top: 8.18%; width: 81.2% !important; height: 73.11% !important; }
.c1-onboarding__layer--shadow { left: 10.34%; top: 83.76%; width: 79.32% !important; height: 8.17% !important; }
.c1-onboarding__layer--floor { left: 9.4%; top: 81.19%; width: 81.2% !important; height: 0.2% !important; }
.c1-onboarding__layer--device { left: 29.67%; top: 12.38%; width: 40.66% !important; height: 76.57% !important; }
.c1-onboarding__layer--character { left: 65.47%; top: 16.29%; width: 23.71% !important; height: 74.07% !important; }
.c1-onboarding__layer--plant { left: 11.67%; top: 47.13%; width: 21.63% !important; height: 41.82% !important; }
.c1-onboarding__text { position: absolute; left: 6.87cqw; top: 120cqw; width: 86.5cqw; text-align: center; color: #000; }
.c1-onboarding__title { font-weight: 700; font-size: 5.09cqw; line-height: 1.25; }
.c1-onboarding__sub { margin-top: 5cqw; font-weight: 300; font-size: 3.56cqw; line-height: 1.3; opacity: 0.5; }
.c1-onboarding__dots { position: absolute; top: 159cqw; left: 0; right: 0; display: flex; justify-content: center; gap: 6.95cqw; }
.c1-onboarding__dots span {
	width: 4.8cqw; height: 1.92cqw;
	border-radius: 2cqw;
	background: #d9d9d9;
	transition: width 0.6s var(--c1-ease), background-color 0.6s var(--c1-ease);
}
.c1-onboarding__dots span.is-active { width: 8cqw; background: var(--c1-primary); }

/* Application -------------------------------------------------------------- */
.c1-app { margin-top: 0; padding: 52px var(--c1-gutter) 52px; background: var(--c1-primary); overflow: hidden; }
.c1-app__inner { max-width: 1145px; margin: 0 auto; }
.c1-app .c1-heading { gap: 42px; }
.c1-app .c1-title { max-width: 445px; }
.c1-app__cards { display: flex; flex-direction: column; gap: 40px; margin-top: 80px; }
.c1-card--app {
	display: flex; align-items: stretch; justify-content: space-between;
	gap: 40px;
	min-height: 361px;
	padding: 23px 20px;
	box-shadow: 0 10px 40px rgba(0, 60, 110, 0.22);
}
.c1-app-card__media {
	position: relative;
	flex: none;
	width: 615px;
	border-radius: var(--c1-radius-md);
	background: var(--c1-sky);
	box-shadow: inset 0 0 0 1px rgba(0, 174, 239, 0.08), 0 2px 10px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}
.c1-app-card--web .c1-app-card__media { order: -1; display: flex; align-items: center; justify-content: center; }
.c1-app-card__illustration { width: 275px; height: 275px; }
.c1-app-card__phone { position: absolute; left: 37%; top: 1px; width: 158.7px; }
.c1-app-card__body {
	flex: none;
	display: flex; flex-direction: column; align-items: center;
	width: 410px;
}
.c1-app-card__title {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 56px;
	border: 1px solid var(--c1-primary);
	border-radius: var(--c1-radius-xs);
	font-family: var(--c1-font-title);
	font-weight: 600;
	font-size: 19px;
	color: #263238;
	text-align: center;
}
.c1-app-card__list { display: flex; flex-direction: column; gap: 8.6px; align-self: stretch; padding: 24px 0 0 58px; }
.c1-app-card--mobile .c1-app-card__list { padding-left: 58px; }
.c1-app-card__cta { width: 100%; margin-top: auto; }
.c1-app-card__cta .c1-btn { padding: 9px 4px; border-width: 1.7px; border-radius: 11.5px; font-size: 14px; }

/* Tarifs ------------------------------------------------------------------- */
.c1-pricing { padding: 125px var(--c1-gutter) 110px; }
.c1-pricing__inner { max-width: 1209px; margin: 0 auto; }
.c1-pricing__title { max-width: 425px; }
.c1-pricing__list { display: flex; justify-content: center; gap: 63px; margin-top: 80px; }
.c1-card--plan {
	flex: 0 0 361px;
	height: 396px;
	border-radius: var(--c1-radius-2xl);
	box-shadow: var(--c1-shadow-plan);
	overflow: hidden;
	isolation: isolate;
	transition: translate 0.6s var(--c1-ease), box-shadow 0.6s var(--c1-ease);
}
/* « translate » (et non transform) : ne se bat pas avec les tweens GSAP d'entrée. */
.c1-card--plan:hover { translate: 0 -10px; box-shadow: var(--c1-shadow-plan-hover); }
.c1-plan__pattern {
	position: absolute;
	left: calc(50% - 39.34px);
	top: -434.81px;
	width: 918.37px !important; height: 1127.41px !important;
	max-width: none !important;
	transform: translateX(-50%);
	z-index: -1;
	transition: transform 0.9s var(--c1-ease), filter 0.9s var(--c1-ease);
}
.c1-plan--avec .c1-plan__pattern { left: calc(50% - 29.76px); top: -357.05px; width: 943.77px !important; height: 948.19px !important; }
.c1-card--plan:hover .c1-plan__pattern { transform: translateX(-50%) scale(1.06); filter: saturate(1.25) brightness(1.06); }
.c1-card--plan::after {
	content: "";
	position: absolute; inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5), inset 0 0 40px rgba(255, 255, 255, 0.35);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.6s var(--c1-ease);
}
.c1-card--plan:hover::after { opacity: 1; }
.c1-plan__inner { display: flex; flex-direction: column; justify-content: space-between; height: 100%; padding: 32px 15px; }
.c1-plan__top { display: flex; flex-direction: column; }
.c1-plan__icon {
	position: relative;
	width: 41.5px; height: 41.5px;
	border-radius: 10.4px;
	background: var(--c1-white);
	overflow: hidden;
}
.c1-plan__icon-pattern { position: absolute; left: calc(50% - 3.35px); top: -15.63px; width: 85px !important; height: 77px !important; max-width: none !important; transform: translateX(-50%) rotate(-0.4deg); }
.c1-plan__gem { position: absolute; left: 50%; top: 50%; width: 23.7px !important; height: 23.7px; transform: translate(-50%, -50%); }
.c1-plan__name {
	margin-top: 15px;
	font-family: var(--c1-font-title);
	font-weight: 500;
	font-size: 28px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--c1-white);
	white-space: nowrap;
}
.c1-plan__price {
	margin-top: 18px;
	font-family: var(--c1-font-title);
	font-weight: 800;
	font-size: 44px;
	line-height: 1.2;
	color: var(--c1-white);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.c1-plan__note { margin-top: 6px; font-family: var(--c1-font-title); font-weight: 500; font-size: 18px; line-height: 1.4; color: var(--c1-white); }
.c1-plan--avec .c1-plan__note { color: rgba(0, 0, 0, 0.8); }
.c1-plan__divider { width: 100%; height: 0; margin: 20px 0 0; border: 0; border-top: 0.75px solid rgba(255, 255, 255, 0.55); }

/* Partenaires -------------------------------------------------------------- */
.c1-partners { padding: 60px var(--c1-gutter) 120px; }
.c1-partners__inner {
	display: flex; align-items: center; justify-content: space-between;
	max-width: 1042px;
	margin: 0 auto;
	gap: 60px;
}
.c1-partners__content { width: 618px; display: flex; flex-direction: column; align-items: flex-start; gap: 60px; }
.c1-partners__body { display: flex; flex-direction: column; padding: 10px; }
.c1-partners__text { margin-top: 23px; font-weight: 300; font-size: 18px; line-height: 30px; color: var(--c1-black); }
.c1-partners__list { display: flex; flex-direction: column; gap: 10px; margin-top: 23px; padding-left: 30px; }
.c1-partners__body > div:last-child { margin-top: 60px; }
.c1-partners__phone { flex: none; width: 288px; }

/* Actualités --------------------------------------------------------------- */
.c1-news { padding: 0 var(--c1-gutter) 131px; }
.c1-news__inner { max-width: 1135px; margin: 0 auto; }
.c1-carousel { margin-top: 0; }
.c1-carousel__controls { display: flex; justify-content: flex-end; gap: 20px; margin-bottom: 40px; }
.c1-carousel__arrow {
	width: 71px; height: 70px;
	border-radius: var(--c1-radius-xl);
	transition: transform 0.4s var(--c1-ease), opacity 0.3s var(--c1-ease), background-color 0.3s var(--c1-ease);
}
.c1-carousel__arrow img { width: 71px; height: 70px; }
.c1-carousel__arrow:hover:not(:disabled) { transform: scale(1.06); background: rgba(0, 174, 239, 0.08); }
.c1-carousel__arrow:disabled { opacity: 0.35; cursor: default; }
.c1-carousel__track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding-bottom: 8px;
	-webkit-overflow-scrolling: touch;
}
.c1-carousel__track::-webkit-scrollbar { display: none; }
.c1-carousel__slide { flex: 0 0 365px; scroll-snap-align: start; }
.c1-news-card { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.c1-news-card__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 365 / 260;
	border-radius: 8.8px;
	overflow: hidden;
	box-shadow: var(--c1-shadow-news);
}
.c1-news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--c1-ease); }
.c1-news-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 174, 239, 0.4) 100%); }
.c1-news-card:hover .c1-news-card__media img { transform: scale(1.07); }
.c1-news-card__title { font-weight: 500; font-size: 21px; line-height: 26.4px; color: var(--c1-black); text-align: center; }
.c1-news .c1-heading { gap: 30px; margin-bottom: 100px; }

/* FAQ ---------------------------------------------------------------------- */
.c1-faq { padding: 0 var(--c1-gutter) 126px; }
.c1-faq__inner { max-width: 1149px; margin: 0 auto; }
.c1-faq__title { font-family: var(--c1-font-title); font-weight: 800; font-size: clamp(48px, 4vw + 12px, 70px); line-height: 1.5; color: var(--c1-dark); text-align: center; }
.c1-faq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 31px; align-items: start; margin-top: 32px; }
.c1-faq__col { display: flex; flex-direction: column; gap: 20px; }
.c1-card--faq { border-radius: var(--c1-radius-lg); box-shadow: var(--c1-shadow-faq); }
.c1-faq-item__button {
	display: flex; align-items: flex-start; gap: 34px;
	width: 100%;
	min-height: 100px;
	padding: 38px 36px;
	text-align: left;
}
.c1-faq-item.is-open .c1-faq-item__button { padding-bottom: 0; min-height: 0; }
.c1-faq-item__icon { position: relative; flex: none; width: 22px; height: 22px; }
.c1-faq-item__icon::before,
.c1-faq-item__icon::after {
	content: "";
	position: absolute; left: 2px; top: 9.5px;
	width: 18px; height: 3px;
	border-radius: 16px;
	background: #1b1139;
	opacity: 0.8;
	transition: transform 0.6s var(--c1-ease), background-color 0.4s var(--c1-ease), width 0.4s var(--c1-ease), left 0.4s var(--c1-ease);
}
.c1-faq-item__icon::after { transform: rotate(90deg); }
.c1-faq-item.is-open .c1-faq-item__icon::before,
.c1-faq-item.is-open .c1-faq-item__icon::after { left: 0; width: 22px; background: var(--c1-primary); }
.c1-faq-item.is-open .c1-faq-item__icon::after { transform: rotate(180deg); }
.c1-faq-item__question { font-family: var(--c1-font-title); font-weight: 600; font-size: 17px; line-height: 1.3; color: #1b1139; opacity: 0.88; }
.c1-faq-item__panel { overflow: hidden; }
.c1-faq-item__answer { max-width: 438px; padding: 28px 36px 44px 92px; font-size: 14px; line-height: 1.5; letter-spacing: 0.1px; color: #363049; opacity: 0.75; box-sizing: content-box; }

/* Footer ------------------------------------------------------------------- */
.c1-footer { background: var(--c1-bleu-gradient); color: var(--c1-white); }
.c1-footer__inner { max-width: 1120px; margin: 0 auto; padding: 26px 0 30px; }
.c1-footer__grid { display: flex; align-items: flex-start; gap: 80px; }
.c1-footer__brand { width: 297px; margin-right: 4px; }
.c1-footer__brand > img { width: 180px; height: 66px; }
.c1-footer__text { margin: 40px 0 24px; font-size: 14px; line-height: 24px; }
.c1-footer__col { padding-top: 22px; }
.c1-footer__col:nth-child(2) { width: 149px; margin-right: -40px; }
.c1-footer__col--contact { width: 248px; }
.c1-footer__heading { font-family: var(--c1-font-title); font-weight: 600; font-size: 18px; line-height: 1.3; }
.c1-footer__links { display: flex; flex-direction: column; gap: 16px; margin-top: 40px; font-size: 14px; }
.c1-footer__links a,
.c1-footer__contact a { transition: opacity 0.3s var(--c1-ease); }
.c1-footer__links a:hover,
.c1-footer__contact a:hover { opacity: 0.75; }
.c1-footer__contact { display: flex; flex-direction: column; gap: 16px; margin-top: 40px; font-style: normal; font-size: 14px; line-height: 24px; }
.c1-footer__contact-row { display: flex; align-items: flex-start; gap: 16px; }
.c1-footer__contact-row img { flex: none; width: 24px; height: 24px; }
.c1-footer__socials { display: flex; gap: 15px; margin-top: 40px; }
.c1-footer__social { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; transition: opacity 0.3s var(--c1-ease); }
.c1-footer__social:hover { opacity: 0.75; }
.c1-footer__copyright {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.5);
	font-size: 12px;
	line-height: 1.5;
	color: #e6e6e6;
}

/* ==========================================================================
   États initiaux des animations (uniquement si JS + mouvement autorisé)
   ========================================================================== */
.c1-anim [data-reveal],
.c1-anim [data-stagger] > [data-stagger-item],
.c1-anim [data-hero-item],
.c1-anim [data-hero-phone],
.c1-anim .c1-header { opacity: 0; }
.c1-anim [data-hero-title] [data-line] { opacity: 0; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
	.c1-hero__inner { padding-left: 48px; }
	.c1-hero__content { width: 460px; }
	.c1-hero__tagline { font-size: 42px; }
	.c1-hero__brand img { width: 370px; }
	.c1-about__content { width: auto; flex: 1; }
	.c1-app-card__media { width: auto; flex: 1 1 55%; }
	.c1-app-card__body { width: 380px; }
	.c1-pricing__list { gap: 24px; }
	.c1-card--plan { flex-basis: 340px; }
	.c1-partners__content { width: auto; flex: 1; }
	.c1-footer__inner { padding-left: 32px; padding-right: 32px; }
	.c1-footer__grid { gap: 48px; }
}

@media (max-width: 1023px) {
	:root { --c1-header-h: 64px; }
}

/* Header : burger dès 1180 px (le menu complet ne tient plus sur une ligne) */
@media (max-width: 1180px) {
	.c1-header__inner { padding: 0 var(--c1-gutter); }
	.c1-header__logo img { width: 150px; height: 55px; }
	.c1-burger {
		position: relative;
		display: flex; flex-direction: column; justify-content: center; gap: 5px;
		width: 44px; height: 44px;
		padding: 0 10px;
		border-radius: 12px;
		background: var(--c1-primary-soft);
		z-index: 2;
	}
	.c1-burger__bar {
		display: block;
		height: 2px;
		border-radius: 2px;
		background: var(--c1-primary);
		transition: transform 0.5s var(--c1-ease), opacity 0.3s var(--c1-ease);
	}
	.c1-burger[aria-expanded="true"] .c1-burger__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.c1-burger[aria-expanded="true"] .c1-burger__bar:nth-child(2) { opacity: 0; transform: scaleX(0.3); }
	.c1-burger[aria-expanded="true"] .c1-burger__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.c1-header__menu {
		position: fixed;
		top: calc(var(--c1-header-h) + var(--c1-admin-offset, 0px)); left: 0; right: 0;
		flex-direction: column; align-items: stretch; gap: 28px;
		max-height: calc(100vh - var(--c1-header-h));
		overflow-y: auto;
		padding: 28px var(--c1-gutter) 36px;
		background: var(--c1-white);
		box-shadow: 0 24px 40px rgba(4, 104, 198, 0.14);
		clip-path: inset(0 0 100% 0);
		visibility: hidden;
		transition: clip-path 0.6s var(--c1-ease), visibility 0s linear 0.6s;
	}
	.c1-header.is-open .c1-header__menu { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path 0.6s var(--c1-ease), visibility 0s; }
	.admin-bar { --c1-admin-offset: var(--wp-admin--admin-bar--height, 46px); }
	.c1-nav__list { flex-direction: column; align-items: flex-start; gap: 6px; }
	.c1-nav__link { padding: 8px 0; font-size: 18px; }
	.c1-header__actions { flex-wrap: wrap; }
	.c1-header__actions .c1-btn { flex: 1 1 160px; padding: 13px 20px; }
	.c1-header.is-scrolled .c1-header__inner { height: 58px; }
}

@media (max-width: 1023px) {
	/* Hero */
	.c1-hero__inner { flex-direction: column; align-items: stretch; min-height: 0; padding: calc(var(--c1-header-h) + 48px) var(--c1-gutter) 0; }
	.c1-hero__content { width: auto; max-width: 560px; }
	.c1-hero__visual { position: relative; left: auto; top: auto; width: min(620px, 100%); margin: 48px auto 0; aspect-ratio: 620 / 440; }
	.c1-hero__blob { inset: 0 -12%; width: 124% !important; }
	.c1-hero__phone--front { left: 18%; top: 4%; width: 36%; }
	.c1-hero__phone--back { left: 50%; top: 14%; width: 33%; }

	/* À propos */
	.c1-about { padding: 96px var(--c1-gutter) 88px; }
	.c1-about__inner { flex-direction: column; gap: 48px; }
	.c1-about__phone { width: 260px; height: 428px; }
	.c1-about__content { gap: 40px; }
	.c1-about__list { padding-left: 0; gap: 28px; }

	/* Application */
	.c1-app { padding: 64px var(--c1-gutter); }
	.c1-app__cards { margin-top: 48px; gap: 28px; }
	.c1-card--app { flex-direction: column; gap: 28px; padding: 20px; }
	.c1-app-card__media { order: -1; flex: none; width: 100%; aspect-ratio: 615 / 315; }
	.c1-app-card__body { width: 100%; max-width: 480px; margin: 0 auto; }
	.c1-app-card__list { padding: 24px 0 28px 16px; }
	.c1-app-card--mobile .c1-app-card__list { padding-left: 16px; }
	.c1-app-card__phone { left: 35%; width: 30%; }
	.c1-app-card__illustration { width: 60%; height: auto; }

	/* Tarifs */
	.c1-pricing { padding: 88px var(--c1-gutter); }
	.c1-pricing__list { flex-direction: column; align-items: center; gap: 28px; margin-top: 48px; }
	.c1-card--plan { flex: none; width: min(361px, 100%); }

	/* Partenaires */
	.c1-partners { padding: 40px var(--c1-gutter) 88px; }
	.c1-partners__inner { flex-direction: column; align-items: stretch; gap: 48px; }
	.c1-partners__content { gap: 32px; }
	.c1-partners__body { padding: 0; }
	.c1-partners__list { padding-left: 0; }
	.c1-partners__body > div:last-child { margin-top: 40px; }
	.c1-partners__phone { width: 240px; margin: 0 auto; }

	/* Actualités */
	.c1-news { padding-bottom: 88px; }
	.c1-news .c1-heading { margin-bottom: 40px; }
	.c1-carousel__controls { margin-bottom: 24px; }
	.c1-carousel__track { margin-right: calc(var(--c1-gutter) * -1); padding-right: var(--c1-gutter); scroll-padding-left: 0; }
	.c1-carousel__slide { flex-basis: min(365px, 78vw); }

	/* FAQ */
	.c1-faq { padding-bottom: 88px; }
	.c1-faq__grid { display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
	.c1-faq__col { display: contents; }

	/* Footer */
	.c1-footer__inner { padding: 36px var(--c1-gutter) 28px; }
	.c1-footer__grid { flex-wrap: wrap; gap: 36px 48px; }
	.c1-footer__brand { width: 100%; }
	.c1-footer__col { padding-top: 0; }
	.c1-footer__col:nth-child(2) { margin-right: 0; }
	.c1-footer__links,
	.c1-footer__contact,
	.c1-footer__socials { margin-top: 20px; }
}

@media (max-width: 640px) {
	.c1-hero__brand { margin-bottom: 14px; }
	.c1-hero__brand img { width: 280px; }
	.c1-hero__tagline { font-size: 32px; line-height: 1.1; }
	.c1-hero__text { margin-top: 24px; font-size: 16px; }
	.c1-hero__cta { margin-top: 28px; }
	.c1-hero__cta .c1-btn { width: 100%; min-width: 0; }
	.c1-hero__visual { aspect-ratio: 1 / 0.82; margin-top: 36px; }
	.c1-hero__phone--front { left: 12%; top: 6%; width: 44%; }
	.c1-hero__phone--back { left: 50%; top: 17%; width: 40%; }

	.c1-lead { font-size: 16px; }
	.c1-about__phone { width: 220px; height: 362px; }
	.c1-item--boxed { gap: 16px; align-items: flex-start; }
	.c1-item__box { width: 52px; height: 52px; border-radius: 13px; }
	.c1-item__title { font-size: 18px; }
	.c1-item--boxed .c1-item__text { font-size: 15px; }

	.c1-app-card__title { font-size: 17px; height: 50px; }
	.c1-badges--block { flex-wrap: wrap; }
	.c1-badges--block > li { flex-basis: 140px; }

	.c1-plan__name { font-size: 25px; }
	.c1-plan__price { font-size: 38px; }

	.c1-item--check { gap: 14px; font-size: 16px; align-items: flex-start; }
	.c1-item--check .c1-item__check { margin-top: 3px; }
	.c1-partners__text { font-size: 16px; line-height: 26px; }
	.c1-partners .c1-btn--outline,
	.c1-news-card__title { width: 100%; }
	.c1-news-card__title { font-size: 18px; }
	.c1-carousel__arrow,
	.c1-carousel__arrow img { width: 56px; height: 55px; }

	.c1-faq-item__button { gap: 18px; min-height: 0; padding: 24px 20px; }
	.c1-faq-item.is-open .c1-faq-item__button { padding-bottom: 0; }
	.c1-faq-item__question { font-size: 16px; }
	.c1-faq-item__answer { max-width: none; padding: 16px 20px 26px 60px; box-sizing: border-box; }

	.c1-footer__col,
	.c1-footer__col:nth-child(2),
	.c1-footer__col--contact { width: 100%; }
}

/* Mouvement réduit : aucune transformation ni transition décorative */
@media (prefers-reduced-motion: reduce) {
	.c1-landing *,
	.c1-landing *::before,
	.c1-landing *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; }
	.c1-card--plan:hover { translate: none; }
	[data-zoom]:hover { scale: none; }
	.c1-news-card:hover .c1-news-card__media img,
	.c1-card--plan:hover .c1-plan__pattern { transform: translateX(-50%); }
	.c1-news-card:hover .c1-news-card__media img { transform: none; }
}
