/*
Theme Name: ACCH
Theme URI: https://acchhypnose.fr
Author: ACCH
Description: Thème WordPress sur mesure pour l’Académie Clinique du Changement par l’Hypnose.
Version: 1.1.2
Text Domain: acch
*/

/* ESPACE CLIENT */
.acch-account {
	box-sizing: border-box;
	width: min(100% - 40px, 1180px);
	margin: 0 auto;
	padding: 88px 0 112px;
}

/* États exceptionnels des sessions */
.acch-session-status{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.5rem 1rem;
	margin:0 auto 1.5rem;
	padding:1rem 1.25rem;
	border:1px solid;
	border-radius:16px;
	font-size:1rem;
}

.acch-session-status--cancelled{
	color:#812c35;
	background:#fff2f2;
	border-color:#e9b5ba;
}

.acch-session-status--postponed{
	color:#76521a;
	background:#fff8e8;
	border-color:#e7cb8e;
}

.acch-session-card--cancelled{
	background:#fbf7f7;
	border-color:#e4c5c8;
}

.acch-session-card--cancelled .acch-session-card__badge{
	color:#9a3540;
}

.acch-session-card--postponed .acch-session-card__badge{
	color:#8a641f;
}

.acch-account__intro {
	max-width: 760px;
	margin-bottom: 56px;
}

.acch-account__notice {
	max-width: 760px;
	margin: 0 0 32px;
	padding: 16px 20px;
	border: 1px solid #b9e0d5;
	border-radius: 12px;
	background: #eefaf6;
	color: #175d4b;
	font-weight: 700;
}

.acch-account__intro h1 {
	margin: 12px 0 18px;
	font-size: clamp(2.6rem, 6vw, 5rem);
	line-height: .98;
}

.acch-account__intro > p:not(.acch-eyebrow) {
	max-width: 680px;
	color: var(--wp--preset--color--slate, #5f7388);
	font-size: 1.15rem;
}

.acch-account__logout {
	display: inline-block;
	margin-top: 10px;
	color: var(--acch-primary, #183b8c);
	font-weight: 700;
}

/* INSCRIPTION */
.acch-registration-page {
	box-sizing: border-box;
	width: min(100% - 40px, 1180px);
	margin: 0 auto;
	padding: 88px 0 112px;
}

.acch-registration-layout {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
	gap: clamp(40px, 8vw, 100px);
	align-items: start;
}

.acch-registration-copy {
	position: sticky;
	top: 145px;
}

.acch-registration-copy h1,
.acch-registration-state h1 {
	margin: 12px 0 22px;
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	line-height: 1;
}

.acch-registration-form,
.acch-registration-state {
	box-sizing: border-box;
	padding: clamp(28px, 5vw, 52px);
	border: 1px solid var(--acch-border);
	border-radius: 30px;
	background: var(--acch-surface);
	box-shadow: var(--acch-shadow-card);
}

.acch-registration-state {
	max-width: 860px;
	margin: 0 auto;
}

.acch-registration-form h2 {
	margin: 0 0 28px;
}

.acch-registration-form > label,
.acch-registration-form__grid label {
	display: grid;
	gap: 8px;
	margin-bottom: 20px;
	color: var(--acch-text);
	font-weight: 700;
}

.acch-registration-form input[type="text"],
.acch-registration-form input[type="email"],
.acch-registration-form input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 12px 15px;
	border: 1px solid #cad8e5;
	border-radius: 12px;
	background: #fff;
	color: var(--acch-text);
	font: inherit;
}

.acch-registration-form input:focus {
	border-color: var(--acch-primary);
	outline: 3px solid rgb(24 59 140 / 12%);
}

.acch-registration-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.acch-registration-form__options {
	display: grid;
	gap: 10px;
	margin: 4px 0 24px;
	padding: 0;
	border: 0;
}

.acch-registration-form__options legend {
	margin-bottom: 10px;
	font-weight: 800;
}

.acch-registration-form__options label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border: 1px solid #cad8e5;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
}

.acch-registration-form__options label:has(input:checked) {
	border-color: var(--acch-primary);
	box-shadow: 0 0 0 3px rgb(24 59 140 / 10%);
}

.acch-registration-form__options input {
	margin-top: 4px;
}

.acch-registration-form__consent {
	display: flex !important;
	grid-template-columns: none;
	flex-direction: row;
	align-items: flex-start;
	font-weight: 500 !important;
}

.acch-registration-form__consent input {
	margin-top: 4px;
}

.acch-registration-form__error {
	padding: 14px 16px;
	border-radius: 10px;
	background: #fff0ee;
	color: #8a2e25;
}

.acch-registration-form__trap {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 800px) {
	.acch-registration-page {
		width: min(100% - 28px, 1180px);
		padding: 56px 0 80px;
	}

	.acch-registration-layout {
		grid-template-columns: 1fr;
	}

	.acch-registration-copy {
		position: static;
	}
}

@media (max-width: 520px) {
	.acch-registration-form__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

.acch-account__content h2 {
	margin-bottom: 24px;
}

.acch-account__empty,
.acch-account-registration {
	box-sizing: border-box;
	padding: clamp(28px, 5vw, 48px);
	border: 1px solid #dce7f0;
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 18px 48px rgb(19 54 82 / 8%);
}

.acch-account__empty {
	max-width: 760px;
}

.acch-account__empty h3,
.acch-account-registration h3 {
	margin: 0 0 10px;
}

.acch-account__registrations {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.acch-account-registration__status {
	margin: 0 0 16px;
	color: #147d88;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.acch-account-registration__zoom-state {
	margin: 22px 0 0;
	padding: 13px 16px;
	border: 1px solid #d6e4ef;
	border-radius: 12px;
	background: #f4f8fb;
	color: var(--acch-text-light);
	font-weight: 700;
}

.acch-account-registration__formula {
	font-weight: 800;
	color: var(--acch-primary);
}

.acch-account-registration__day {
	margin: 1.25rem 0 .55rem;
	font-size: 1rem;
}

.acch-account--login .acch-account__intro {
	max-width: 620px;
	margin-inline: auto;
}

.acch-account-login {
	max-width: 460px;
	margin-top: 2rem;
}

.acch-account-login form {
	display: grid;
	gap: 1rem;
}

.acch-account-login form > p {
	margin: 0;
}

.acch-account-login .login-username label,
.acch-account-login .login-password label {
	display: grid;
	gap: .45rem;
	font-weight: 700;
}

.acch-account-login input[type="text"],
.acch-account-login input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 12px 15px;
	border: 1px solid #cad8e5;
	border-radius: 12px;
	font: inherit;
}

.acch-account-login .button-primary {
	padding: .85rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--acch-primary);
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.acch-account-login__lost {
	display: inline-block;
	margin-top: 1rem;
	color: var(--acch-primary);
	font-weight: 700;
}

@media (max-width: 700px) {
	.acch-account {
		width: min(100% - 28px, 1180px);
		padding: 56px 0 80px;
	}

	.acch-account__registrations {
		grid-template-columns: 1fr;
	}
}
/* ==========================================================
   DESIGN TOKENS
========================================================== */

:root{

	/* Brand */

	--acch-primary:#183B8C;
	--acch-primary-dark:#112B69;

	--acch-teal:#198FA5;
	--acch-teal-soft:#EAF8FB;

	--acch-sage:#718D67;
	--acch-sage-soft:#EEF3EA;

	--acch-terracotta:#B96B4F;
	--acch-terracotta-soft:#F7ECE8;

	--acch-gold:#C59B42;

	/* Surfaces */

	--acch-bg:#FAFBFC;
	--acch-surface:#FFFFFF;
	--acch-surface-alt:#F4F7F9;

	/* Typography */

	--acch-text:#17304A;
	--acch-text-light:#607487;

	/* Borders */

	--acch-border:#DCE6EF;

	/* Radius */

	--acch-radius-sm:14px;
	--acch-radius-md:24px;
	--acch-radius-lg:36px;

	/* Shadows */

	--acch-shadow-xs:
		0 8px 22px rgba(17,44,89,.05);

	--acch-shadow-card:
		0 12px 30px rgba(17,44,89,.07),
		0 30px 70px rgba(17,44,89,.04);

	--acch-shadow-hover:
		0 18px 40px rgba(17,44,89,.10),
		0 40px 90px rgba(17,44,89,.08);

	/* Layout */

	--acch-content-width:1280px;

	/* Motion */

	--acch-transition:.28s cubic-bezier(.2,.8,.2,1);

    /* Spacing */

    --space-1:.50rem;
	--space-2:.75rem;
	--space-3:1rem;
	--space-4:1.5rem;
	--space-5:2rem;
	--space-6:3rem;
	--space-7:4rem;
	--space-8:6rem;

}

/* ==========================================================
   DESIGN SYSTEM V2
   Couche commune de composants
========================================================== */


/* ==========================================================
   SECTION MODIFIERS
========================================================== */

.acch-section--sm{

	padding-block:4rem;

}

.acch-section--md{

	padding-block:6rem;

}

.acch-section--lg{

	padding-block:8rem;

}


/* ==========================================================
   GENERIC GRID
========================================================== */

.acch-grid{

	display:grid;

	gap:2rem;

}

.acch-grid--2{

	grid-template-columns:repeat(2,minmax(0,1fr));

}

.acch-grid--3{

	grid-template-columns:repeat(3,minmax(0,1fr));

}

.acch-grid--4{

	grid-template-columns:repeat(4,minmax(0,1fr));

}


/* ==========================================================
   GENERIC CARD
========================================================== */

.acch-card{

	position:relative;

	display:flex;

	flex-direction:column;

	background:var(--acch-surface);

	border:1px solid var(--acch-border);

	border-radius:var(--acch-radius-md);

	box-shadow:var(--acch-shadow-card);

	overflow:hidden;

	transition:
		transform var(--acch-transition),
		box-shadow var(--acch-transition),
		border-color var(--acch-transition);

}

.acch-card:hover{

	transform:translateY(-6px);

	border-color:rgba(24,59,140,.16);

	box-shadow:var(--acch-shadow-hover);

}

.acch-card--padded{

	padding:var(--space-5);

}

.acch-card--compact{

	padding:var(--space-4);

}

.acch-card--hero{

	padding:2.75rem;

}


/* ==========================================================
   TOP ACCENT
========================================================== */

.acch-card__accent{

	position:absolute;

	left:0;
	top:0;
	right:0;

	height:4px;

	background:var(--acch-primary);

}

.acch-card__accent--teal{

	background:var(--acch-teal);

}

.acch-card__accent--sage{

	background:var(--acch-sage);

}

.acch-card__accent--terra{

	background:var(--acch-terracotta);

}


/* ==========================================================
   BADGES
========================================================== */

.acch-badge{

	display:inline-flex;

	align-items:center;

	padding:.45rem .85rem;

	border-radius:999px;

	font-size:.72rem;

	font-weight:700;

	letter-spacing:.08em;

	text-transform:uppercase;

}

.acch-badge--primary{

	background:var(--acch-primary);

	color:white;

}

.acch-badge--soft{

	background:var(--acch-teal-soft);

	color:var(--acch-primary);

}


/* ==========================================================
   WP BLOCK NORMALISATION
========================================================== */

.wp-block-group{

	position:relative;

}

.wp-block-columns{

	align-items:stretch;

}

.wp-block-column{

	min-width:0;

}

.wp-block-image img{

	border-radius:20px;

}

.wp-block-buttons{

	gap:1rem;

}

.wp-block-button{

	margin:0;

}

.wp-block-heading{

	scroll-margin-top:120px;

}


/* ==========================================================
   FORMS
========================================================== */

input,
textarea,
select{

	font:inherit;

}

input:focus,
textarea:focus,
select:focus{

	outline:2px solid rgba(24,59,140,.20);

	outline-offset:2px;

}


/* ==========================================================
   ACCESSIBILITY
========================================================== */

:focus-visible{

	outline:2px solid var(--acch-primary);

	outline-offset:3px;

}


/* ==========================================================
   BASE
========================================================== */

html{

	scroll-behavior:smooth;

}

body{

	margin:0;

	background:
	radial-gradient(circle at top left,
	rgba(25,143,165,.05),
	transparent 34rem),
	var(--acch-bg);

	color:var(--acch-text);

	font-family:
	"Source Sans 3",
	system-ui,
	sans-serif;

	-webkit-font-smoothing:antialiased;

	text-rendering:optimizeLegibility;

}

main{

	min-height:60vh;

}

img{

	display:block;

	max-width:100%;

	height:auto;

}

p{

	line-height:1.72;

	text-wrap:pretty;

}

a{

	color:inherit;

	text-decoration:none;

	transition:
	color var(--acch-transition),
	transform var(--acch-transition);

}

a:hover{

	color:var(--acch-primary);

}

.wp-site-blocks{

	overflow:hidden;

}


/* ==========================================================
   TYPOGRAPHY
========================================================== */

h1,
h2,
h3,
h4,
.wp-block-heading{

	margin-top:0;

	font-family:
	"Playfair Display",
	serif;

	color:var(--acch-text);

	letter-spacing:-.03em;

	text-wrap:balance;

}

h1{

	font-size:clamp(3.3rem,6vw,5.7rem);

	line-height:1.02;

	font-weight:700;

}

h2{

	font-size:clamp(2.3rem,4vw,3.8rem);

	line-height:1.08;

}

h3{

	font-size:1.55rem;

}


/* ==========================================================
   LAYOUT
========================================================== */

.alignwide{

	width:
	min(
	calc(100% - 3rem),
	var(--acch-content-width)
	);

	margin-inline:auto;

}

.acch-section{

	padding-block:7rem;

}

.acch-section-heading{

	margin-bottom:4rem;

}

.acch-eyebrow{

	margin:0 0 1rem;

	color:var(--acch-primary);

	font-size:.76rem;

	font-weight:700;

	text-transform:uppercase;

	letter-spacing:.15em;

}

.acch-section-title{

	max-width:900px;

}

.acch-section-lead{

	max-width:820px;

	font-size:1.15rem;

	color:var(--acch-text-light);

}


/* ==========================================================
   BUTTONS
========================================================== */

.wp-element-button,
.wp-block-button__link{

	display:inline-flex;

	align-items:center;

	justify-content:center;

	gap:.65rem;

	min-height:54px;

	padding:0 1.6rem;

	border-radius:999px;

	font-weight:600;

	font-size:.95rem;

	transition:
	all var(--acch-transition);

}

.wp-element-button:hover,
.wp-block-button__link:hover{

	transform:translateY(-2px);

}

.acch-button-primary .wp-block-button__link{

	background:var(--acch-primary);

	border:1px solid var(--acch-primary);

	color:white;

	box-shadow:var(--acch-shadow-xs);

}

.acch-button-primary .wp-block-button__link:hover{

	box-shadow:var(--acch-shadow-hover);

}

.acch-button-secondary .wp-block-button__link{

	background:white;

	color:var(--acch-primary);

	border:1px solid var(--acch-border);

}

.acch-button-secondary .wp-block-button__link:hover{

	background:var(--acch-surface-alt);

}


/* ==========================================================
   ICON SYSTEM
========================================================== */

.acch-icon{

	display:flex;

	align-items:center;

	justify-content:center;

	width:64px;

	height:64px;

	border-radius:50%;

	background:
	linear-gradient(
	135deg,
	var(--acch-primary),
	var(--acch-teal)
	);

	color:white;

	box-shadow:var(--acch-shadow-xs);

}


/* ==========================================================
   HELPERS
========================================================== */

.acch-text-link{

	font-weight:700;

}

.acch-text-link a:hover{

	transform:translateX(3px);

}

/* ==========================================================
   HEADER
========================================================== */

.acch-header{

	position:fixed;

	top:0;
	left:0;
	right:0;
	width:100%;
	box-sizing:border-box;

	z-index:500;

	background:rgba(255,255,255,.82);

	border-bottom:1px solid rgba(22,48,74,.08);

	backdrop-filter:blur(22px);

	transition:
	background var(--acch-transition),
	box-shadow var(--acch-transition);

}

body{
	padding-top:93px;
}

.acch-header:hover{

	box-shadow:
	0 10px 35px rgba(17,44,89,.05);

}

.admin-bar .acch-header{

	top:32px;

}


/* ----------------------------------------------------------
   Layout
---------------------------------------------------------- */

.acch-header__inner{

	display:flex;

	align-items:center;

	justify-content:space-between;

	min-height:92px;

	gap:3rem;

}


/* ----------------------------------------------------------
   Branding
---------------------------------------------------------- */

.acch-brand{

	display:flex;

	align-items:center;

	gap:1rem;

	flex-shrink:0;

}

.acch-brand img,
.acch-brand__logo{

	display:block;

	height:60px;
	max-width:min(260px,24vw);

	width:auto;

	object-fit:contain;
	transform:translateY(-4px);

	transition:
	transform var(--acch-transition),
	opacity var(--acch-transition);

}

.acch-brand:hover img,
.acch-brand:hover .acch-brand__logo{

	transform:translateY(-6px);

	opacity:.92;

}


/* ----------------------------------------------------------
   Navigation
---------------------------------------------------------- */

.acch-header__nav{

	margin-left:auto;

	font-size:.96rem;

	font-weight:600;

}

.acch-header__nav .wp-block-navigation{

	gap:2rem;

}

.acch-header__nav .wp-block-navigation-item{

	position:relative;

}

.acch-header__nav .acch-mobile-account-link{
	display:none !important;
}

.acch-header__nav
.wp-block-navigation-item__content{

	position:relative;

	padding:.35rem 0;

	color:var(--acch-text);

	transition:
	color var(--acch-transition);

}

.acch-header__nav
.wp-block-navigation-item__content:hover{

	color:var(--acch-primary);

}

.acch-header__nav
.wp-block-navigation-item__content::after{

	content:"";

	position:absolute;

	left:0;

	bottom:-6px;

	width:100%;

	height:2px;

	background:
	linear-gradient(
	90deg,
	var(--acch-primary),
	var(--acch-teal)
	);

	transform:scaleX(0);

	transform-origin:left;

	transition:
	transform var(--acch-transition);

	border-radius:99px;

}

.acch-header__nav
.wp-block-navigation-item__content:hover::after{

	transform:scaleX(1);

}


/* ----------------------------------------------------------
   Active item
---------------------------------------------------------- */

.current-menu-item
.wp-block-navigation-item__content,

.current_page_item
.wp-block-navigation-item__content{

	color:var(--acch-primary);

}

.current-menu-item
.wp-block-navigation-item__content::after,

.current_page_item
.wp-block-navigation-item__content::after{

	transform:scaleX(1);

}


/* ----------------------------------------------------------
   CTA
---------------------------------------------------------- */

.acch-header__actions{

	display:flex;

	align-items:center;

	gap:1rem;

	flex-shrink:0;

}


/* ==========================================================
   HERO
========================================================== */

.acch-home-hero{

	position:relative;

	padding:
	clamp(2rem,4vw,3rem)
	1.5rem
	0;

}

.acch-home-hero::before{

	content:"";

	position:absolute;

	top:-12rem;
	left:-10rem;

	width:42rem;
	height:42rem;

	border-radius:50%;

	background:
	radial-gradient(
	circle,
	rgba(25,143,165,.08),
	transparent 70%
	);

	filter:blur(30px);

	pointer-events:none;

}


/* ----------------------------------------------------------
   Container
---------------------------------------------------------- */

.acch-home-hero__inner{

	position:relative;

	overflow:hidden;

	border-radius:40px;

	background:

	linear-gradient(
	180deg,
	rgba(255,255,255,.98),
	rgba(250,252,253,.95)
	);

	border:1px solid rgba(23,48,74,.07);

	box-shadow:

	0 18px 45px rgba(17,44,89,.05),

	0 50px 120px rgba(17,44,89,.05);

}


/* ----------------------------------------------------------
   Columns
---------------------------------------------------------- */

.acch-home-hero__columns{

	min-height:680px;

	margin:0;

	gap:0;

	align-items:stretch;

}


/* ----------------------------------------------------------
   Content
---------------------------------------------------------- */

.acch-home-hero__content{

	position:relative;

	z-index:3;

	display:flex;

	flex-direction:column;

	justify-content:center;

	padding:

	clamp(4rem,7vw,6rem);

}

.acch-home-hero__title{

	max-width:760px;

	margin-bottom:2rem;

	font-size:clamp(4rem,7vw,6.8rem);

	line-height:.95;

}

.acch-home-hero__title em{

	font-style:normal;

	color:var(--acch-primary);

}

.acch-home-hero__lead{

	max-width:620px;

	margin:0;

	font-size:1.22rem;

	line-height:1.8;

	color:var(--acch-text-light);

}

.acch-home-hero__buttons{

	display:flex;

	flex-wrap:wrap;

	gap:1rem;

	margin-top:2.5rem;

}


/* ----------------------------------------------------------
   Visual
---------------------------------------------------------- */

.acch-home-hero__visual{

	position:relative;

	min-height:680px;

}


/* fond */

.acch-hero-scene{

	position:absolute;

	inset:0;

	box-sizing:border-box;

	max-width:100%;

	overflow:hidden;

	background:
		radial-gradient(circle at 76% 26%,rgba(255,255,255,.92) 0 11%,transparent 32%),
		linear-gradient(155deg,#f2f7f9 0%,#e2eef2 52%,#c9dfe5 100%);

}


/* halo */

.acch-hero-scene::before{

	content:"";

	position:absolute;

	right:-8rem;

	top:-8rem;

	width:28rem;

	height:28rem;

	border-radius:50%;

	background:

	radial-gradient(

	circle,

	rgba(24,59,140,.18),

	transparent 72%

	);

}


/* second halo */

.acch-hero-scene::after{

	content:"";

	position:absolute;

	left:-8rem;

	bottom:-8rem;

	width:26rem;

	height:26rem;

	border-radius:50%;

	background:

	radial-gradient(

	circle,

	rgba(25,143,165,.12),

	transparent 72%

	);

}


/* éléphant */

.acch-hero-scene__elephant{

	position:absolute;
	right:5%;
	bottom:6%;
	width:74%;
	height:74%;
	opacity:0;
	pointer-events:none;

}


/* ----------------------------------------------------------
   Floating card
---------------------------------------------------------- */

.acch-next-event{

	position:absolute;

	top:2.5rem;

	right:2.5rem;

	width:280px;

	padding:1.7rem;

	border-radius:24px;

	background:

	rgba(255,255,255,.82);

	border:1px solid rgba(23,48,74,.08);

	backdrop-filter:blur(20px);

	box-shadow:

	0 18px 45px rgba(17,44,89,.08);

	transition:

	transform var(--acch-transition),

	box-shadow var(--acch-transition);

}

.acch-next-event:hover{

	transform:translateY(-6px);

	box-shadow:

	0 28px 70px rgba(17,44,89,.12);

}

.acch-next-event__header{

	display:flex;

	align-items:center;

	gap:.75rem;

}

.acch-next-event__icon{

	display:flex;

	align-items:center;

	justify-content:center;

	width:44px;

	height:44px;

	border-radius:14px;

	background:

	linear-gradient(

	135deg,

	var(--acch-primary),

	var(--acch-teal)

	);

	color:white;

}

.acch-next-event__label{

	margin:0;

	font-size:.72rem;

	font-weight:700;

	letter-spacing:.08em;

	text-transform:uppercase;

	color:var(--acch-primary);

}

.acch-next-event__title{

	margin:1.3rem 0 .6rem;

	font-size:1.55rem;

}

.acch-next-event__meta{

	margin:0;

	color:var(--acch-text-light);

	line-height:1.65;

}

.acch-next-event__link{

	margin-top:1.5rem;

	font-weight:700;

}

.acch-next-event__link a{

	display:flex;

	justify-content:space-between;

	align-items:center;

}

/* ==========================================================
   STATISTIQUES
========================================================== */

.acch-stats{

	position:relative;

	z-index:10;

	display:grid;

	grid-template-columns:repeat(4,minmax(0,1fr));

	gap:1rem;

	margin-top:-2rem;

}

.acch-stat{

	display:flex;

	align-items:center;

	gap:1rem;

	padding:1.6rem;

	background:white;

	border:1px solid var(--acch-border);

	border-radius:24px;

	box-shadow:var(--acch-shadow-card);

	transition:
	transform var(--acch-transition),
	box-shadow var(--acch-transition);

}

.acch-stat:hover{

	transform:translateY(-5px);

	box-shadow:var(--acch-shadow-hover);

}

.acch-stat__icon{

	flex:none;

	width:58px;

	height:58px;

	border-radius:18px;

	display:flex;

	align-items:center;

	justify-content:center;

	background:
	linear-gradient(
	135deg,
	var(--acch-primary),
	var(--acch-teal)
	);

	color:white;

	font-size:1.35rem;

}

.acch-stat__value{

	margin:0;

	font-family:"Playfair Display",serif;

	font-size:2rem;

	line-height:1;

}

.acch-stat__label{

	margin:.45rem 0 0;

	color:var(--acch-text-light);

	font-size:.78rem;

	line-height:1.45;

}


/* ==========================================================
   PROCHAINES SESSIONS
========================================================== */

.acch-session-grid{

	gap:1.75rem;

	margin-top:3rem;

}

.acch-session-grid>.wp-block-column{

	display:flex;

}

.acch-session-card{

	position:relative;

	display:flex;

	flex:1;

	flex-direction:column;

	padding:var(--space-5);

	border-radius:var(--acch-radius-md);

	border:1px solid var(--acch-border);

	background:white;

	box-shadow:var(--acch-shadow-card);

	transition:
	transform var(--acch-transition),
	box-shadow var(--acch-transition),
	border-color var(--acch-transition);

}

.acch-session-card:hover{

	transform:translateY(-8px);

	border-color:rgba(24,59,140,.18);

	box-shadow:var(--acch-shadow-hover);

}


/* Accent supérieur */

.acch-session-card::before{

	content:"";

	position:absolute;

	top:0;
	left:0;
	right:0;

	height:5px;

	border-radius:28px 28px 0 0;

	background:var(--acch-primary);

}

/* ==========================================================
   SESSION ARCHIVE — AGENDA
========================================================== */

.acch-agenda-page{
	padding-block:clamp(4.5rem,8vw,7.5rem);
}

.acch-agenda__header{
	max-width:780px;
}

.acch-agenda__title{
	margin:0;
	font-size:clamp(2.8rem,6vw,5.4rem);
	line-height:1;
}

.acch-agenda__lead{
	max-width:700px;
	margin:1.5rem 0 0;
	color:var(--acch-text-light);
	font-size:clamp(1.05rem,1.7vw,1.25rem);
	line-height:1.7;
}

.acch-agenda__filters{
	display:flex;
	flex-wrap:wrap;
	gap:.65rem;
	margin-top:2.75rem;
}

.acch-agenda__filter{
	display:inline-flex;
	align-items:center;
	min-height:44px;
	padding:.65rem 1.1rem;
	border:1px solid var(--acch-border);
	border-radius:999px;
	background:#fff;
	color:var(--acch-text);
	font-size:.88rem;
	font-weight:700;
	transition:all var(--acch-transition);
}

.acch-agenda__filter:hover,
.acch-agenda__filter.is-active{
	border-color:var(--acch-primary);
	background:var(--acch-primary);
	color:#fff;
	transform:translateY(-1px);
}

.acch-agenda .acch-session-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	margin-top:3rem;
}

.acch-agenda .acch-session-grid > .wp-block-column{
	min-width:0;
}

.acch-agenda__empty{
	margin-top:3rem;
	padding:clamp(2rem,5vw,4rem);
	border:1px solid var(--acch-border);
	border-radius:var(--acch-radius-md);
	background:var(--acch-surface-alt);
	text-align:center;
}

.acch-agenda__empty h2{
	margin:0;
	font-size:clamp(1.6rem,3vw,2.25rem);
}

.acch-agenda__empty p{
	margin:.75rem 0 0;
	color:var(--acch-text-light);
}

.acch-formations-card-link{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	margin-top:auto;
	padding-top:1.15rem;
	color:var(--acch-primary);
	font-size:.88rem;
	font-weight:700;
	line-height:1.4;
}

.acch-formations-card-link span{
	transition:transform var(--acch-transition);
}

.acch-formations-card-link:hover span{
	transform:translateX(4px);
}

/* ==========================================================
   ABOUT — L’ACCH
========================================================== */

.acch-about-hero{
	padding-block:clamp(5rem,9vw,8rem);
	background:linear-gradient(135deg,#f3f9fb 0%,#f8fafc 55%,#eef5fb 100%);
}

.acch-about-hero__inner{
	display:grid;
	grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
	align-items:center;
	gap:clamp(3rem,7vw,7rem);
}

.acch-about-hero__content h1{
	max-width:850px;
	margin:0;
	font-size:clamp(3.2rem,6.6vw,6.4rem);
	line-height:.98;
}

.acch-about-hero__lead{
	max-width:760px;
	margin:2rem 0 0;
	color:var(--acch-text-light);
	font-size:clamp(1.05rem,1.6vw,1.25rem);
	line-height:1.75;
}

.acch-about-hero__manifesto{
	position:relative;
	padding:clamp(2rem,4vw,3.5rem);
	overflow:hidden;
	border-radius:32px;
	background:linear-gradient(150deg,#172f72,#21499d 65%,#168aa0);
	color:#fff;
	box-shadow:var(--acch-shadow-card);
}

.acch-about-hero__manifesto-mark{
	position:absolute;
	top:-1.25rem;
	right:1rem;
	margin:0;
	font-family:"Playfair Display",serif;
	font-size:10rem;
	line-height:1;
	opacity:.1;
}

.acch-about-hero__manifesto blockquote{
	position:relative;
	margin:0;
	font-family:"Playfair Display",serif;
	font-size:clamp(1.8rem,3vw,2.65rem);
	line-height:1.18;
}

.acch-about-hero__manifesto > p:last-child{
	margin:2rem 0 0;
	padding-top:1.25rem;
	border-top:1px solid rgba(255,255,255,.25);
	font-size:.75rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.12em;
}

.acch-about-mission__heading{
	max-width:760px;
}

.acch-about-mission__grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:1rem;
	margin-top:3.5rem;
}

.acch-about-mission__grid article{
	padding:2rem;
	border:1px solid var(--acch-border);
	border-radius:24px;
	background:#fff;
}

.acch-about-mission__grid span,
.acch-about-commission__number{
	color:var(--acch-primary);
	font-family:"Playfair Display",serif;
	font-size:1.6rem;
	font-weight:700;
}

.acch-about-mission__grid h3{
	margin:2rem 0 .75rem;
	font-size:1.55rem;
}

.acch-about-mission__grid p{
	margin:0;
	color:var(--acch-text-light);
	line-height:1.65;
}

.acch-about-leadership{
	padding-block:clamp(5rem,8vw,7rem);
	background:var(--acch-surface-alt);
}

.acch-about-leadership__grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1.5rem;
	margin-top:3rem;
}

.acch-about-person{
	padding:clamp(2rem,4vw,3.5rem);
	border:1px solid var(--acch-border);
	border-radius:28px;
	background:#fff;
	box-shadow:var(--acch-shadow-card);
}

.acch-about-person__role,
.acch-about-commission__theme{
	margin:0;
	color:var(--acch-primary);
	font-size:.72rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.1em;
}

.acch-about-person__initials{
	display:grid;
	place-items:center;
	width:70px;
	height:70px;
	margin:2rem 0;
	border-radius:50%;
	background:linear-gradient(135deg,var(--acch-primary),var(--acch-teal));
	color:#fff;
	font-weight:800;
}

.acch-about-person--patron .acch-about-person__initials{
	background:linear-gradient(135deg,#49308f,#7954b3);
}

.acch-about-person h3,
.acch-about-commission h3{
	margin:0;
	font-size:clamp(1.65rem,2.5vw,2.25rem);
}

.acch-about-person__profession,
.acch-about-commission__profession{
	margin:.6rem 0 1.25rem;
	color:var(--acch-text-light);
	font-size:.9rem;
	font-weight:700;
}

.acch-about-person > p:last-child{
	margin-bottom:0;
	line-height:1.7;
}

.acch-about-council__grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1.25rem;
	margin-top:3.5rem;
}

.acch-about-commission{
	min-width:0;
	padding:2rem;
	border:1px solid var(--acch-border);
	border-radius:24px;
	background:#fff;
	box-shadow:0 12px 32px rgba(17,44,89,.05);
}

.acch-about-commission--featured{
	grid-column:span 2;
	background:linear-gradient(135deg,#f1fbfc,#fff 70%);
	border-color:rgba(17,137,155,.25);
}

.acch-about-commission__number{
	display:block;
	margin:0 0 1.75rem;
}

.acch-about-commission__theme{
	min-height:2.2em;
	margin-bottom:.75rem;
}

.acch-about-commission > p:last-child{
	margin-bottom:0;
	line-height:1.65;
}

.acch-about-cta{
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:2rem;
	margin-bottom:clamp(4rem,8vw,7rem);
	padding:clamp(2rem,5vw,4rem);
	border-radius:30px;
	background:linear-gradient(135deg,#172f72,#21499d 70%,#168aa0);
	color:#fff;
}

.acch-about-cta h2{
	max-width:700px;
	margin:0;
	color:#fff;
	font-size:clamp(2rem,4vw,3.75rem);
}

.acch-about-cta p:not(.acch-eyebrow){
	margin:1rem 0 0;
	opacity:.85;
}

.acch-about-cta .acch-eyebrow{
	color:#bfeaf0;
}

.acch-about-cta__actions{
	display:flex;
	align-items:center;
	flex-shrink:0;
	gap:1.25rem;
}

.acch-about-cta .wp-element-button{
	background:#fff;
	color:var(--acch-primary);
}

.acch-about-cta__link{
	color:#fff;
	font-weight:700;
}

@media (max-width:1000px){
	.acch-about-hero__inner{
		grid-template-columns:1fr;
	}

	.acch-about-hero__manifesto{
		max-width:680px;
	}

	.acch-about-mission__grid,
	.acch-about-council__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:700px){
	.acch-about-mission__grid,
	.acch-about-leadership__grid,
	.acch-about-council__grid{
		grid-template-columns:1fr;
	}

	.acch-about-commission--featured{
		grid-column:auto;
	}

	.acch-about-cta{
		align-items:flex-start;
		flex-direction:column;
	}

	.acch-about-cta__actions{
		align-items:flex-start;
		flex-direction:column;
	}
}

@media (max-width:900px){
	.acch-agenda .acch-session-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:620px){
	.acch-agenda-page{
		width:min(calc(100% - 2rem),var(--acch-content-width));
		padding-block:3.75rem;
	}

	.acch-agenda__filters{
		dis:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.acch-agenda__filter{
		justify-content:center;
		text-align:center;
	}

	.acch-agenda .acch-session-grid{
		grid-template-columns:1fr;
	}
}

.acch-session-card--conference::before{

	background:var(--acch-teal);

}

.acch-session-card--seminar::before{

	background:var(--acch-sage);

}

.acch-session-card--supervision::before{

	background:var(--acch-terracotta);

}


/* Badge */

.acch-session-card__badge{

	align-self:flex-start;

	margin-bottom:1.6rem;

	padding:.45rem .85rem;

	border-radius:999px;

	font-size:.68rem;

	font-weight:700;

	letter-spacing:.08em;

	text-transform:uppercase;

	color:white;

}

.acch-session-card--conference
.acch-session-card__badge{

	background:var(--acch-teal);

}

.acch-session-card--seminar
.acch-session-card__badge{

	background:var(--acch-sage);

}

.acch-session-card--supervision
.acch-session-card__badge{

	background:var(--acch-terracotta);

}


/* Texte */

.acch-session-card__title{

	margin-bottom:1rem;

	font-size:clamp(1.7rem,2vw,2.2rem);

	color:var(--acch-text);

}

.acch-session-card__meta{

	margin:0;

	color:var(--acch-text-light);

	line-height:1.7;

}


/* Footer */

.acch-session-card__footer{

	display:flex;

	align-items:center;

	justify-content:space-between;

	margin-top:auto;

	padding-top:1.5rem;

	border-top:1px solid var(--acch-border);

}

.acch-session-card__footer p{

	margin:0;

	font-size:.82rem;

	font-weight:600;

	color:var(--acch-text-light);

}

.acch-session-card__footer a{

	display:flex;

	align-items:center;

	justify-content:center;

	width:42px;

	height:42px;

	border-radius:50%;

	background:var(--acch-surface-alt);

	border:1px solid var(--acch-border);

	color:var(--acch-primary);

	transition:all var(--acch-transition);

}

.acch-session-card__footer a:hover{

	background:var(--acch-primary);

	color:white;

	transform:translateX(4px);

}


/* ==========================================================
   TROIS FORMATS
========================================================== */

.acch-formats{

	margin-top:3rem;

}

.acch-format-grid{

	gap:2rem;

}

.acch-format-grid>.wp-block-column{

	display:flex;

}

.acch-format-card{

	display:flex;

	flex:1;

	flex-direction:column;

	padding:2.5rem;

	border:1px solid var(--acch-border);

	border-radius:30px;

	background:linear-gradient(
	180deg,
	#ffffff,
	#fbfcfd
	);

	box-shadow:var(--acch-shadow-card);

	transition:
	transform var(--acch-transition),
	box-shadow var(--acch-transition);

}

.acch-format-card:hover{

	transform:translateY(-8px);

	box-shadow:var(--acch-shadow-hover);

}

.acch-format-card .acch-icon{

	margin-bottom:2rem;

}

.acch-format-card h3{

	margin-bottom:1rem;

	font-size:1.65rem;

}

.acch-format-card p{

	color:var(--acch-text-light);

	margin-bottom:1.8rem;

}

.acch-format-card ul{

	margin:0;

	padding-left:1.2rem;

	display:flex;

	flex-direction:column;

	gap:.8rem;

	color:var(--acch-text-light);

}

.acch-format-card li{

	line-height:1.65;

}

.acch-format-card .wp-block-button{

	margin-top:auto;

	padding-top:2rem;

}


/* ==========================================================
   NOTRE APPROCHE
========================================================== */

.acch-approach{

	position:relative;

	overflow:visible;

	isolation:isolate;

}

.acch-approach::before{

	content:"";

	position:absolute;

	z-index:-1;

	top:0;

	bottom:0;

	left:50%;

	width:100vw;

	transform:translateX(-50%);

	background:
		radial-gradient(
			circle at 75% 28%,
			rgba(24,59,140,.055),
			transparent 42%
		),
		linear-gradient(
			180deg,
			rgba(244,247,249,.45),
			rgba(250,251,252,.15)
		);

	pointer-events:none;

}

/* ==========================================================
   RESOURCES PAGE
========================================================== */

.acch-resources-hero{
	padding-block:clamp(5rem,9vw,8rem);
	background:linear-gradient(135deg,#f5fafc,#f8fafc 55%,#eef7f7);
}

.acch-resources-hero__inner{
	display:grid;
	grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
	align-items:center;
	gap:clamp(3rem,7vw,7rem);
}

.acch-resources-hero h1{
	max-width:900px;
	margin:0;
	font-size:clamp(3.25rem,6.5vw,6.25rem);
	line-height:.98;
}

.acch-resources-hero__lead{
	max-width:780px;
	margin:2rem 0 0;
	color:var(--acch-text-light);
	font-size:clamp(1.05rem,1.6vw,1.25rem);
	line-height:1.75;
}

.acch-resources-hero__visual{
	position:relative;
	display:flex;
	justify-content:flex-end;
}

.acch-resources-hero__visual::before{
	content:"";
	position:absolute;
	top:-2rem;
	right:-2rem;
	width:180px;
	height:180px;
	border-radius:50%;
	background:rgba(24,143,165,.1);
}

.acch-resources-hero__panel{
	position:relative;
	box-sizing:border-box;
	width:min(100%,410px);
	padding:clamp(2rem,4vw,3rem);
	overflow:hidden;
	border-radius:30px;
	background:linear-gradient(150deg,#172f72,#21499d 65%,#168aa0);
	color:#fff;
	box-shadow:0 30px 70px rgba(17,44,89,.18);
}

.acch-resources-hero__panel::after{
	content:"";
	position:absolute;
	top:-70px;
	right:-55px;
	width:190px;
	height:190px;
	border-radius:50%;
	background:rgba(255,255,255,.07);
}

.acch-resources-hero__panel-label{
	position:relative;
	z-index:1;
	margin:0;
	color:#bfeaf0;
	font-size:.7rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.12em;
}

.acch-resources-hero__panel h2{
	position:relative;
	z-index:1;
	margin:1.5rem 0 2rem;
	color:#fff;
	font-family:"Playfair Display",serif;
	font-size:clamp(2.4rem,4vw,3.5rem);
	line-height:1.08;
}

.acch-resources-hero__panel ul{
	position:relative;
	z-index:1;
	dis:grid;
	gap:0;
	margin:0;
	padding:0;
	border-top:1px solid rgba(255,255,255,.2);
	list-style:none;
}

.acch-resources-hero__panel li{
	display:flex;
	align-items:center;
	gap:1rem;
	padding:1rem 0;
	border-bottom:1px solid rgba(255,255,255,.16);
	font-size:.95rem;
	font-weight:600;
}

.acch-resources-hero__panel li:last-child{
	border-bottom:0;
}

.acch-resources-hero__panel li span{
	color:#bfeaf0;
	font-size:.7rem;
	font-weight:800;
	letter-spacing:.08em;
}

.acch-resources-paths__grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1.25rem;
	margin-top:3.5rem;
}

.acch-resources-path{
	dis:flex;
	min-width:0;
	min-height:330px;
	box-sizing:border-box;
	flex-direction:column;
	padding:2.25rem;
	border:1px solid var(--acch-border);
	border-radius:26px;
	background:#fff;
	color:var(--acch-text);
	box-shadow:var(--acch-shadow-card);
	transition:transform var(--acch-transition),box-shadow var(--acch-transition);
}

.acch-resources-path:hover{
	transform:translateY(-6px);
	box-shadow:var(--acch-shadow-hover);
}

.acch-resources-path__number{
	color:var(--acch-primary);
	font-family:"Playfair Display",serif;
	font-size:1.8rem;
	font-weight:700;
}

.acch-resources-path h3{
	margin:2.25rem 0 .8rem;
	font-size:clamp(1.75rem,2.5vw,2.35rem);
}

.acch-resources-path p{
	margin:0;
	color:var(--acch-text-light);
	line-height:1.7;
}

.acch-resources-path strong{
	margin-top:auto;
	padding-top:1.5rem;
	color:var(--acch-primary);
	font-size:.88rem;
}

.acch-resources-dossiers{
	padding-block:clamp(5rem,8vw,7rem);
	background:var(--acch-surface-alt);
}

.acch-resources-section-intro{
	display:grid;
	grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
	align-items:end;
	gap:3rem;
}

.acch-resources-section-intro > p{
	margin:0;
	color:var(--acch-text-light);
	font-size:1.05rem;
	line-height:1.75;
}

.acch-resources-dossiers__grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1.5rem;
	margin-top:3.5rem;
}

.acch-resources-video-card{
	position:relative;
	box-sizing:border-box;
	min-width:0;
	padding:clamp(2rem,4vw,3rem);
	overflow:hidden;
	border:1px solid var(--acch-border);
	border-radius:28px;
	background:#fff;
}

.acch-resources-video-card::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:5px;
	background:var(--acch-teal);
}

.acch-resources-video-card--purple::before{
	background:#6d47a6;
}

.acch-resources-video-card__icon{
	display:grid;
	place-items:center;
	width:62px;
	height:62px;
	border-radius:50%;
	background:linear-gradient(135deg,var(--acch-primary),var(--acch-teal));
	color:#fff;
}

.acch-resources-video-card__status,
.acch-resources-book__label{
	margin:2rem 0 .75rem;
	color:var(--acch-primary);
	font-size:.7rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.1em;
}

.acch-resources-video-card h3{
	margin:0;
	font-size:clamp(1.85rem,3vw,2.65rem);
}

.acch-resources-video-card > p:last-child{
	margin:1.25rem 0 0;
	color:var(--acch-text-light);
	line-height:1.7;
}

.acch-resources-coming-soon{
	dis:flex;
	align-items:center;
	gap:1rem;
	margin-top:1.5rem;
	padding:1.25rem 1.5rem;
	border:1px dashed rgba(24,59,140,.25);
	border-radius:18px;
	background:rgba(255,255,255,.6);
}

.acch-resources-coming-soon > span{
	color:var(--acch-teal);
	font-size:1.5rem;
}

.acch-resources-coming-soon p{
	margin:.25rem 0 0;
	color:var(--acch-text-light);
}

.acch-resources-reading{
	display:grid;
	grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);
	align-items:center;
	gap:clamp(3rem,7vw,7rem);
}

.acch-resources-book{
	display:grid;
	grid-template-columns:190px minmax(0,1fr);
	gap:2rem;
	box-sizing:border-box;
	padding:2rem;
	border:1px solid var(--acch-border);
	border-radius:28px;
	background:#fff;
	box-shadow:var(--acch-shadow-card);
}

.acch-resources-book__cover{
	display:block;
	position:relative;
	align-self:center;
	box-sizing:border-box;
	border-radius:8px 18px 18px 8px;
	box-shadow:12px 14px 28px rgba(17,44,89,.2);
	overflow:hidden;
	transition:transform var(--acch-transition),box-shadow var(--acch-transition);
}

.acch-resources-book__cover:hover{
	transform:translateY(-5px) rotate(-1deg);
	box-shadow:16px 20px 34px rgba(17,44,89,.25);
}

.acch-resources-book__cover img{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:400 / 559;
	object-fit:cover;
}

.acch-resources-book__content{
	align-self:center;
	min-width:0;
}

.acch-resources-book__content h3{
	margin:0;
	font-size:clamp(1.6rem,2.5vw,2.25rem);
}

.acch-resources-book__content > p:not(.acch-resources-book__label){
	color:var(--acch-text-light);
	line-height:1.7;
}

.acch-resources-book__content a{
	color:var(--acch-primary);
	font-size:.88rem;
	font-weight:700;
}

.acch-resources-book__actions{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.8rem 1.25rem;
	margin-top:1.5rem;
}

.acch-resources-book__actions .acch-resources-book__primary{
	display:inline-flex;
	align-items:center;
	gap:.55rem;
	padding:.8rem 1.1rem;
	border-radius:999px;
	background:var(--acch-primary);
	color:#fff;
	box-shadow:var(--acch-shadow-xs);
}

.acch-resources-book__actions .acch-resources-book__primary:hover{
	transform:translateY(-2px);
	box-shadow:var(--acch-shadow-card);
}

.acch-resources-book__actions .acch-resources-book__secondary{
	text-decoration:underline;
	text-decoration-color:rgba(24,59,140,.25);
	text-underline-offset:.25rem;
}

.acch-resources-lab{
	padding-block:clamp(5rem,8vw,7rem);
	background:linear-gradient(135deg,#142e70,#21499d 65%,#168aa0);
	color:#fff;
}

.acch-resources-lab__inner{
	display:grid;
	grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
	align-items:center;
	gap:clamp(3rem,7vw,7rem);
}

.acch-resources-lab .acch-eyebrow{
	color:#bfeaf0;
}

.acch-resources-lab h2{
	max-width:780px;
	margin:0;
	color:#fff;
	font-size:clamp(2.5rem,5vw,5rem);
	line-height:1.05;
}

.acch-resources-lab__content > p:not(.acch-eyebrow){
	max-width:740px;
	margin:1.5rem 0 0;
	font-size:1.05rem;
	line-height:1.75;
	opacity:.88;
}

.acch-resources-lab .wp-element-button{
	margin-top:2rem;
	background:#fff;
	color:var(--acch-primary);
}

.acch-resources-lab__principles{
	box-sizing:border-box;
	padding:2rem;
	border:1px solid rgba(255,255,255,.2);
	border-radius:26px;
	background:rgba(255,255,255,.09);
}

.acch-resources-lab__principles > p{
	margin:0 0 1.25rem;
	font-size:.72rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.1em;
}

.acch-resources-lab__principles ul{
	dis:grid;
	gap:1rem;
	margin:0;
	padding:0;
	list-style:none;
}

.acch-resources-lab__principles li{
	padding-bottom:1rem;
	border-bottom:1px solid rgba(255,255,255,.16);
	font-family:"Playfair Display",serif;
	font-size:1.35rem;
}

.acch-resources-lab__principles li:last-child{
	padding-bottom:0;
	border-bottom:0;
}

@media (max-width:960px){
	.acch-resources-hero__inner,
	.acch-resources-section-intro,
	.acch-resources-reading,
	.acch-resources-lab__inner{
		grid-template-columns:1fr;
	}

	.acch-resources-hero__visual{
		justify-content:start;
	}

	.acch-resources-paths__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:680px){
	.acch-resources-paths__grid,
	.acch-resources-dossiers__grid{
		grid-template-columns:1fr;
	}

	.acch-resources-path{
		min-height:0;
	}

	.acch-resources-path strong{
		margin-top:1.5rem;
	}

	.acch-resources-book{
		grid-template-columns:1fr;
	}

	.acch-resources-book__cover{
		width:min(100%,240px);
	}
}

/* ==========================================================
   CONTACT PAGE
========================================================== */

.acch-contact-hero{
	padding-block:clamp(5rem,9vw,8rem);
	background:linear-gradient(135deg,#f4f9fb,#f9fafc 55%,#edf6f7);
}

.acch-contact-hero__inner{
	display:grid;
	grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);
	align-items:center;
	gap:clamp(3rem,7vw,7rem);
}

.acch-contact-hero h1{
	max-width:900px;
	margin:0;
	font-size:clamp(3.25rem,6.4vw,6.1rem);
	line-height:.98;
}

.acch-contact-hero__lead{
	max-width:760px;
	margin:2rem 0 0;
	color:var(--acch-text-light);
	font-size:clamp(1.05rem,1.6vw,1.25rem);
	line-height:1.75;
}

.acch-contact-hero__card{
	box-sizing:border-box;
	padding:clamp(2rem,4vw,3rem);
	border-radius:30px;
	background:linear-gradient(150deg,#172f72,#21499d 65%,#168aa0);
	color:#fff;
	box-shadow:0 30px 70px rgba(17,44,89,.18);
}

.acch-contact-hero__card-label{
	margin:0 0 1.25rem;
	color:#bfeaf0;
	font-size:.7rem;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.12em;
}

.acch-contact-hero__card > a:first-of-type{
	display:block;
	overflow-wrap:anywhere;
	color:#fff;
	font-family:"Playfair Display",serif;
	font-size:clamp(1.15rem,1.75vw,1.5rem);
	line-height:1.2;
}

.acch-contact-hero__card > p:not(.acch-contact-hero__card-label){
	margin:1.5rem 0 0;
	padding-top:1.5rem;
	border-top:1px solid rgba(255,255,255,.2);
	line-height:1.7;
	opacity:.86;
}

.acch-contact-hero__card .wp-element-button{
	margin-top:1.5rem;
	background:#fff;
	color:var(--acch-primary);
	font-family:inherit;
	font-size:.9rem;
}

.acch-contact-reasons__grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1.25rem;
	margin-top:3.5rem;
}

.acch-contact-reason{
	dis:grid;
	box-sizing:border-box;
	grid-template-columns:56px minmax(0,1fr);
	column-gap:1.5rem;
	padding:2.25rem;
	border:1px solid var(--acch-border);
	border-radius:26px;
	background:#fff;
	color:var(--acch-text);
	box-shadow:var(--acch-shadow-card);
	transition:transform var(--acch-transition),box-shadow var(--acch-transition);
}

.acch-contact-reason:hover{
	transform:translateY(-5px);
	box-shadow:var(--acch-shadow-hover);
}

.acch-contact-reason > span{
	grid-row:1 / span 3;
	color:var(--acch-primary);
	font-family:"Playfair Display",serif;
	font-size:1.65rem;
	font-weight:700;
}

.acch-contact-reason h3{
	margin:0;
	font-size:clamp(1.65rem,2.6vw,2.25rem);
}

.acch-contact-reason p{
	margin:.75rem 0 0;
	color:var(--acch-text-light);
	line-height:1.65;
}

.acch-contact-reason strong{
	margin-top:1.25rem;
	color:var(--acch-primary);
	font-size:.88rem;
}

.acch-contact-guide{
	padding-block:clamp(5rem,8vw,7rem);
	background:var(--acch-surface-alt);
}

.acch-contact-guide__inner{
	display:grid;
	grid-template-columns:minmax(0,.8fr) minmax(400px,1.2fr);
	align-items:start;
	gap:clamp(3rem,7vw,7rem);
}

.acch-contact-guide__content h2{
	margin:0;
	font-size:clamp(2.5rem,4.7vw,4.5rem);
	line-height:1.05;
}

.acch-contact-guide__content > p:last-child{
	color:var(--acch-text-light);
	line-height:1.7;
}

.acch-contact-guide__steps{
	dis:grid;
	gap:1rem;
	margin:0;
	padding:0;
	list-style:none;
}

.acch-contact-guide__steps li{
	dis:grid;
	grid-template-columns:54px minmax(0,1fr);
	gap:1.25rem;
	box-sizing:border-box;
	padding:1.5rem;
	border:1px solid var(--acch-border);
	border-radius:20px;
	background:#fff;
}

.acch-contact-guide__steps span{
	color:var(--acch-teal);
	font-family:"Playfair Display",serif;
	font-size:1.35rem;
	font-weight:700;
}

.acch-contact-guide__steps h3{
	margin:0;
	font-size:1.25rem;
}

.acch-contact-guide__steps p{
	margin:.35rem 0 0;
	color:var(--acch-text-light);
}

.acch-contact-final{
	display:flex;
	box-sizing:border-box;
	align-items:center;
	justify-content:space-between;
	gap:2rem;
	margin-block:clamp(4rem,8vw,7rem);
	padding:clamp(2rem,5vw,4rem);
	border-radius:30px;
	background:linear-gradient(135deg,#172f72,#21499d 70%,#168aa0);
	color:#fff;
}

.acch-contact-final .acch-eyebrow{
	color:#bfeaf0;
}

.acch-contact-final h2{
	margin:0;
	color:#fff;
	font-size:clamp(2.1rem,4vw,3.75rem);
}

.acch-contact-final .wp-element-button{
	flex-shrink:0;
	background:#fff;
	color:var(--acch-primary);
}

@media (max-width:960px){
	.acch-contact-hero__inner,
	.acch-contact-guide__inner{
		grid-template-columns:1fr;
	}
}

@media (max-width:700px){
	.acch-contact-reasons__grid{
		grid-template-columns:1fr;
	}

	.acch-contact-reason{
		grid-template-columns:42px minmax(0,1fr);
		padding:1.5rem;
	}

	.acch-contact-final{
		align-items:flex-start;
		flex-direction:column;
	}

	.acch-contact-final .wp-element-button{
		max-width:100%;
		overflow-wrap:anywhere;
	}
}

/* ==========================================================
   FORMATIONS PAGE
========================================================== */

.acch-formations-page{

	overflow:hidden;

}

.acch-formations-hero{

	padding:clamp(3rem,6vw,6rem) 1.5rem;
	background:
		radial-gradient(circle at 12% 15%,rgba(25,143,165,.09),transparent 34%),
		linear-gradient(180deg,#f8fbfc 0%,#f2f7f9 100%);

}

.acch-formations-hero__inner{

	display:grid;
	grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
	gap:clamp(2rem,6vw,6rem);
	align-items:center;

}

.acch-formations-hero__content h1{

	max-width:850px;
	margin:0;
	font-size:clamp(3.2rem,6vw,5.8rem);
	line-height:.98;

}

.acch-formations-hero__lead{

	max-width:760px;
	margin:2rem 0 0;
	color:var(--acch-text-light);
	font-size:clamp(1.05rem,1.5vw,1.22rem);
	line-height:1.75;

}

.acch-formations-hero__actions{

	display:flex;
	margin-top:2.25rem;
	gap:1rem;

}

.acch-formations-hero__panel{

	position:relative;
	padding:clamp(1.75rem,3vw,2.5rem);
	overflow:hidden;
	border:1px solid rgba(255,255,255,.22);
	border-radius:var(--acch-radius-lg);
	background:linear-gradient(145deg,var(--acch-primary-dark),var(--acch-primary) 62%,var(--acch-teal));
	color:white;
	box-shadow:0 25px 65px rgba(17,44,89,.16);

}

.acch-formations-hero__panel::before{

	content:"";
	position:absolute;
	top:-120px;
	right:-100px;
	width:280px;
	height:280px;
	border-radius:50%;
	background:rgba(255,255,255,.08);

}

.acch-formations-hero__panel-label{

	position:relative;
	margin:0 0 1.2rem;
	font-size:.76rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;

}

.acch-formations-hero__panel h2{

	position:relative;
	margin:0;
	color:white;
	font-size:clamp(2rem,3vw,2.8rem);
	line-height:1.08;

}

.acch-formations-hero__panel ul{

	position:relative;
	display:grid;
	gap:.8rem;
	margin:1.75rem 0 0;
	padding:1.5rem 0 0;
	border-top:1px solid rgba(255,255,255,.2);
	list-style:none;

}

.acch-formations-hero__panel li{

	position:relative;
	padding-left:1.4rem;
	color:rgba(255,255,255,.84);

}

.acch-formations-hero__panel li::before{

	content:"";
	position:absolute;
	top:.62em;
	left:0;
	width:7px;
	height:7px;
	border-radius:50%;
	background:white;

}

.acch-formations-format-grid{

	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1.5rem;

}

.acch-formations-format-card{

	position:relative;
	display:flex;
	min-width:0;
	min-height:360px;
	flex-direction:column;
	padding:2rem;
	overflow:hidden;
	border:1px solid var(--acch-border);
	border-radius:var(--acch-radius-md);
	background:var(--acch-surface);
	box-shadow:var(--acch-shadow-card);

}

.acch-formations-format-card::before{

	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:4px;
	background:var(--acch-primary);

}

.acch-formations-format-card--seminar::before{background:var(--acch-teal);}
.acch-formations-format-card--meeting::before{background:var(--acch-sage);}
.acch-formations-format-card--supervision::before{background:var(--acch-terracotta);}

.acch-formations-format-card__number{

	margin:0 0 2.5rem;
	font-family:"Playfair Display",serif;
	font-size:2rem;
	color:var(--acch-primary);

}

.acch-formations-format-card__eyebrow{

	margin:0 0 .7rem;
	color:var(--acch-text-light);
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;

}

.acch-formations-format-card h3{

	margin:0 0 1rem;
	font-size:clamp(1.7rem,2.5vw,2.2rem);
	line-height:1.1;

}

.acch-formations-format-card > p:not([class]){

	margin:0 0 1.5rem;
	color:var(--acch-text-light);
	line-height:1.65;

}

.acch-formations-format-card__meta{

	margin:auto 0 0;
	padding-top:1.25rem;
	border-top:1px solid var(--acch-border);
	color:var(--acch-text);
	font-size:.88rem;
	font-weight:600;

}

.acch-formations-programme{

	padding-block:clamp(4.5rem,7vw,7rem);
	background:var(--acch-surface-alt);

}

.acch-formations-programme-grid{

	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1.25rem;

}

.acch-formations-programme-card{

	display:grid;
	grid-template-columns:120px minmax(0,1fr);
	gap:1.5rem;
	min-width:0;
	padding:1.5rem;
	border:1px solid var(--acch-border);
	border-radius:24px;
	background:var(--acch-surface);
	box-shadow:var(--acch-shadow-xs);

}

.acch-formations-programme-card__date{

	display:flex;
	align-items:center;
	justify-content:center;
	min-height:120px;
	flex-direction:column;
	border-radius:18px;
	background:var(--acch-teal-soft);
	color:var(--acch-primary);
	text-align:center;

}

.acch-formations-programme-card--blue .acch-formations-programme-card__date{background:#edf3ff;}
.acch-formations-programme-card--purple .acch-formations-programme-card__date{background:#f3eef8;color:#67408f;}
.acch-formations-programme-card--sage .acch-formations-programme-card__date{background:var(--acch-sage-soft);color:#496942;}

.acch-formations-programme-card__date strong{

	font-family:"Playfair Display",serif;
	font-size:1.8rem;
	line-height:1;

}

.acch-formations-programme-card__date span{

	margin-top:.45rem;
	font-size:.78rem;
	font-weight:700;
	text-transform:uppercase;

}

.acch-formations-programme-card__index{

	margin:0 0 .55rem;
	color:var(--acch-primary);
	font-size:.68rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;

}

.acch-formations-programme-card h3{

	margin:0 0 .7rem;
	font-size:1.55rem;
	line-height:1.15;

}

.acch-formations-programme-card div > p:last-child{

	margin:0;
	color:var(--acch-text-light);
	font-size:.95rem;
	line-height:1.55;

}

.acch-formations-method{

	display:grid;
	grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
	gap:clamp(3rem,7vw,7rem);
	align-items:start;

}

.acch-formations-method__intro{

	position:sticky;
	top:140px;

}

.acch-formations-method__points{

	display:grid;
	gap:1rem;

}

.acch-formations-method__points article{

	display:grid;
	grid-template-columns:58px minmax(0,1fr);
	gap:1.25rem;
	padding:1.5rem;
	border:1px solid var(--acch-border);
	border-radius:22px;
	background:var(--acch-surface);
	box-shadow:var(--acch-shadow-xs);

}

.acch-formations-method__points span{

	display:flex;
	align-items:center;
	justify-content:center;
	width:52px;
	height:52px;
	border-radius:50%;
	background:var(--acch-primary);
	color:white;
	font-size:.78rem;
	font-weight:700;

}

.acch-formations-method__points h3{

	margin:0 0 .4rem;
	font-size:1.4rem;

}

.acch-formations-method__points p{

	margin:0;
	color:var(--acch-text-light);

}

.acch-formations-cta{

	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:2rem;
	margin-block:clamp(3rem,6vw,6rem);
	padding:clamp(2rem,4vw,3.5rem);
	border-radius:var(--acch-radius-lg);
	background:linear-gradient(135deg,var(--acch-primary-dark),var(--acch-primary));
	color:white;
	box-shadow:0 25px 65px rgba(17,44,89,.15);

}

.acch-formations-cta .acch-eyebrow{color:rgba(255,255,255,.72);}

.acch-formations-cta h2{

	max-width:760px;
	margin:0;
	color:white;
	font-size:clamp(2rem,4vw,3.5rem);

}

.acch-formations-cta p:not(.acch-eyebrow){margin:1rem 0 0;color:rgba(255,255,255,.75);}

.acch-formations-cta > .wp-element-button{

	flex:none;
	background:white;
	color:var(--acch-primary);

}

@media (max-width:1024px){
	body{
		padding-top:79px;
	}

	.acch-formations-hero__inner,
	.acch-formations-method{

		grid-template-columns:1fr;

	}

	.acch-formations-hero__panel{max-width:720px;}
	.acch-formations-method__intro{position:static;}

}

@media (max-width:768px){

	.acch-formations-format-grid,
	.acch-formations-programme-grid{

		grid-template-columns:1fr;

	}

	.acch-formations-format-card{min-height:0;}

	.acch-formations-cta{

		align-items:flex-start;
		flex-direction:column;

	}

}

@media (max-width:560px){

	.acch-formations-hero{padding:2.5rem .75rem;}

	.acch-formations-hero__content h1{

		font-size:clamp(2.7rem,12vw,3.5rem);

	}

	.acch-formations-hero__actions{

		align-items:stretch;
		flex-direction:column;

	}

	.acch-formations-hero__actions .wp-block-button,
	.acch-formations-hero__actions .wp-block-button__link,
	.acch-formations-cta > .wp-element-button{

		box-sizing:border-box;
		width:100%;

	}

	.acch-formations-programme-card{

		grid-template-columns:1fr;

	}

	.acch-formations-programme-card__date{

		min-height:90px;

	}

	.acch-formations-method__points article{

		grid-template-columns:46px minmax(0,1fr);
		gap:1rem;
		padding:1.25rem;

	}

	.acch-formations-method__points span{

		width:44px;
		height:44px;

	}

	.acch-formations-cta{

		width:calc(100% - 2rem);
		border-radius:24px;

	}

}

/* ==========================================================
   SINGLE SESSION
========================================================== */

.acch-session-single{

	box-sizing:border-box;

	width:min(
		calc(100% - 3rem),
		var(--acch-content-width)
	);

	margin-inline:auto;
	padding-block:clamp(4rem,7vw,7rem);

}

.acch-session-single__hero{

	display:grid;
	grid-template-columns:minmax(0,1.6fr) minmax(300px,.75fr);
	gap:clamp(2rem,5vw,5rem);
	align-items:start;

}

.acch-session-single__main,
.acch-session-single__sidebar{

	min-width:0;

}

.acch-session-single .acch-session-card__badge{

	display:inline-flex;
	margin:0 0 1.5rem;
	background:var(--acch-teal);

}

.acch-session-single__title{

	max-width:850px;
	margin:0;
	font-size:clamp(2.8rem,5vw,4.8rem);
	line-height:1.02;

}

.acch-session-single__excerpt{

	max-width:760px;
	margin:1.75rem 0 0;
	color:var(--acch-text-light);
	font-size:clamp(1.05rem,1.5vw,1.25rem);
	line-height:1.75;

}

.acch-session-info{

	position:relative;
	padding:clamp(1.5rem,3vw,2rem);
	overflow:hidden;
	border:1px solid var(--acch-border);
	border-radius:var(--acch-radius-md);
	background:var(--acch-surface);
	box-shadow:var(--acch-shadow-card);

}

.acch-session-info::before{

	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:4px;
	background:var(--acch-teal);

}

.acch-session-info h3{

	margin:0 0 1.5rem;
	color:var(--acch-text);
	font-size:1.45rem;
	line-height:1.2;

}

.acch-session-info ul{

	display:grid;
	gap:0;
	margin:0;
	padding:0;
	list-style:none;

}

.acch-session-info li{

	margin:0;
	padding:1rem 0;
	border-top:1px solid var(--acch-border);
	color:var(--acch-text-light);
	line-height:1.6;

}

.acch-session-info li strong{

	color:var(--acch-text);
	font-size:.78rem;
	letter-spacing:.08em;
	text-transform:uppercase;

}

.acch-session-info__cta{

	margin:1.5rem 0 0;

}

.acch-session-info__cta .wp-element-button{

	box-sizing:border-box;
	width:100%;
	background:var(--acch-primary);
	color:white;
	box-shadow:var(--acch-shadow-xs);

}

.acch-session-info__cta .wp-element-button:hover{

	background:var(--acch-primary-dark);
	box-shadow:var(--acch-shadow-card);

}

.acch-session-single__content{

	max-width:850px;
	margin-top:clamp(4rem,7vw,7rem);
	padding-top:clamp(2.5rem,5vw,4rem);
	border-top:1px solid var(--acch-border);

}

.acch-session-single__content h2{

	margin:0 0 1.75rem;
	font-size:clamp(2rem,3.5vw,3rem);

}

.acch-session-single__content > :last-child{

	margin-bottom:0;

}

@media (max-width:900px){

	.acch-session-single__hero{

		grid-template-columns:1fr;

	}

	.acch-session-single__sidebar{

		max-width:600px;

	}

}

@media (max-width:560px){

	.acch-session-single{

		width:calc(100% - 1.5rem);
		padding-block:3rem;

	}

	.acch-session-single__title{

		font-size:clamp(2.45rem,12vw,3.25rem);

	}

	.acch-session-single__content{

		margin-top:3.5rem;
		padding-top:2.5rem;

	}

}

.acch-approach__inner{

	position:relative;

	display:grid;

	grid-template-columns:1.1fr .9fr;

	gap:4rem;

	align-items:center;

}

.acch-approach__content{

	max-width:720px;

}

.acch-approach__content h2{

	margin-bottom:1.5rem;

}

.acch-approach__content p{

	font-size:1.1rem;

	color:var(--acch-text-light);

}

.acch-approach__points{

	display:grid;

	grid-template-columns:1fr;

	gap:1.2rem;

	margin-top:2.5rem;

}

.acch-approach-point{

	display:flex;

	align-items:flex-start;

	gap:1rem;

	padding:1.4rem;

	border-radius:22px;

	background:white;

	border:1px solid var(--acch-border);

	box-shadow:var(--acch-shadow-card);

	transition:all var(--acch-transition);

}

.acch-approach-point:hover{

	transform:translateY(-4px);

	box-shadow:var(--acch-shadow-hover);

}

.acch-approach-point .acch-icon{

	width:54px;

	height:54px;

	font-size:1rem;

	flex:none;

}

.acch-approach-point h4{

	margin:.2rem 0 .5rem;

	font-size:1.1rem;

}

.acch-approach-point p{

	margin:0;

	font-size:.96rem;

	line-height:1.6;

	color:var(--acch-text-light);

}


/* Illustration */

.acch-approach__visual{

	position:relative;

	min-height:540px;

	border-radius:34px;

	overflow:hidden;

	background:

	linear-gradient(
	135deg,
	#edf5f7,
	#d9e9ef
	);

	box-shadow:var(--acch-shadow-card);

}

.acch-approach__visual::before{

	content:"";

	position:absolute;

	inset:12%;

	border-radius:50%;

	background:

	radial-gradient(
	circle,
	rgba(24,59,140,.08),
	transparent 70%
	);

}

.acch-approach__visual::after{

	content:"";

	position:absolute;

	width:170px;

	height:170px;

	right:-45px;

	top:-45px;

	border-radius:50%;

	background:

	linear-gradient(
	135deg,
	var(--acch-primary),
	var(--acch-teal)
	);

	opacity:.08;

}


/* ==========================================================
   CURRICULUM
========================================================== */

.acch-curriculum{

	position:relative;

}

.acch-curriculum__timeline{

	position:relative;

	display:grid;

	gap:2rem;

	margin-top:3rem;

}

.acch-curriculum__timeline::before{

	content:"";

	position:absolute;

	left:31px;
	top:0;
	bottom:0;

	width:2px;

	background:
	linear-gradient(
	180deg,
	var(--acch-primary),
	var(--acch-teal),
	transparent
	);

	opacity:.18;

}

.acch-curriculum-step{

	position:relative;

	display:grid;

	grid-template-columns:64px 1fr;

	gap:2rem;

	align-items:flex-start;

}

.acch-curriculum-step__marker{

	display:flex;

	align-items:center;

	justify-content:center;

	width:64px;

	height:64px;

	border-radius:50%;

	background:white;

	border:2px solid var(--acch-primary);

	color:var(--acch-primary);

	font-weight:700;

	font-size:1.1rem;

	box-shadow:var(--acch-shadow-card);

	z-index:2;

}

.acch-curriculum-step__card{

	padding:var(--space-5);

	background:white;

	border:1px solid var(--acch-border);

	border-radius:var(--acch-radius-md);

	box-shadow:var(--acch-shadow-card);

	transition:
	transform var(--acch-transition),
	box-shadow var(--acch-transition);

}

.acch-curriculum-step__card:hover{

	transform:translateY(-5px);

	box-shadow:var(--acch-shadow-hover);

}

.acch-curriculum-step__eyebrow{

	margin:0 0 .6rem;

	font-size:.72rem;

	font-weight:700;

	text-transform:uppercase;

	letter-spacing:.08em;

	color:var(--acch-primary);

}

.acch-curriculum-step__title{

	margin-bottom:.9rem;

	font-size:1.65rem;

}

.acch-curriculum-step__text{

	color:var(--acch-text-light);

	line-height:1.7;

}

.acch-curriculum-step__meta{

	display:flex;

	flex-wrap:wrap;

	gap:.75rem;

	margin-top:1.5rem;

}

.acch-curriculum-chip{

	padding:.45rem .85rem;

	border-radius:999px;

	background:var(--acch-surface-alt);

	border:1px solid var(--acch-border);

	font-size:.75rem;

	font-weight:600;

	color:var(--acch-text-light);

}


/* ==========================================================
   RESSOURCES
========================================================== */

.acch-resources{

	position:relative;

}

.acch-resource-grid{

	margin-top:3rem;

	gap:2rem;

}

.acch-resource-grid>.wp-block-column{

	display:flex;

}

.acch-resource-card{

	position:relative;

	display:flex;

	flex-direction:column;

	flex:1;

	padding:var(--space-5);

	background:white;

	border:1px solid var(--acch-border);

	border-radius:30px;

	box-shadow:var(--acch-shadow-card);

	transition:
	transform var(--acch-transition),
	box-shadow var(--acch-transition);

	overflow:hidden;

}

.acch-resource-card:hover{

	transform:translateY(-8px);

	box-shadow:var(--acch-shadow-hover);

}

.acch-resource-card::before{

	content:"";

	position:absolute;

	top:0;
	left:0;
	right:0;

	height:4px;

	background:
	linear-gradient(
	90deg,
	var(--acch-primary),
	var(--acch-teal)
	);

}

.acch-resource-card__type{

	align-self:flex-start;

	margin-bottom:1.5rem;

	padding:.45rem .8rem;

	border-radius:999px;

	background:var(--acch-teal-soft);

	color:var(--acch-primary);

	font-size:.72rem;

	font-weight:700;

	text-transform:uppercase;

	letter-spacing:.08em;

}

.acch-resource-card h3{

	margin-bottom:1rem;

	font-size:1.55rem;

}

.acch-resource-card p{

	color:var(--acch-text-light);

	line-height:1.7;

	margin-bottom:2rem;

}

.acch-resource-card__footer{

	display:flex;

	align-items:center;

	justify-content:space-between;

	margin-top:auto;

	padding-top:1.5rem;

	border-top:1px solid var(--acch-border);

}

.acch-resource-card__footer span{

	font-size:.8rem;

	color:var(--acch-text-light);

}

.acch-resource-card__footer a{

	display:inline-flex;

	align-items:center;

	gap:.5rem;

	font-weight:700;

	color:var(--acch-primary);

}

.acch-resource-card__footer a:hover{

	transform:translateX(4px);

}


/* ==========================================================
   NEWSLETTER
========================================================== */

.acch-newsletter{

	position:relative;

	margin-block:7rem;

}

.acch-newsletter__card{

	position:relative;

	overflow:hidden;

	padding:4rem;

	border-radius:38px;

	background:

	linear-gradient(
	135deg,
	var(--acch-primary),
	#2450b8
	);

	color:white;

	box-shadow:

	0 28px 70px rgba(17,44,89,.16);

}

.acch-newsletter__card::before{

	content:"";

	position:absolute;

	right:-120px;
	top:-120px;

	width:320px;
	height:320px;

	border-radius:50%;

	background:

	radial-gradient(
	circle,
	rgba(255,255,255,.12),
	transparent 70%
	);

}

.acch-newsletter__inner{

	position:relative;

	display:grid;

	grid-template-columns:1.2fr .8fr;

	align-items:center;

	gap:3rem;

}

.acch-newsletter__title{

	color:white;

	margin-bottom:1rem;

}

.acch-newsletter__lead{

	color:rgba(255,255,255,.82);

	font-size:1.1rem;

	max-width:650px;

}

.acch-newsletter form{

	display:flex;

	gap:1rem;

	flex-wrap:wrap;

}

.acch-newsletter input[type=email]{

	flex:1;

	min-width:240px;

	height:56px;

	padding:0 1.2rem;

	border:none;

	border-radius:999px;

	font-size:1rem;

	outline:none;

}

.acch-newsletter input[type=submit],

.acch-newsletter button{

	height:56px;

	padding:0 1.8rem;

	border:none;

	border-radius:999px;

	cursor:pointer;

	font-weight:700;

	background:white;

	color:var(--acch-primary);

	transition:all var(--acch-transition);

}

.acch-newsletter button:hover,

.acch-newsletter input[type=submit]:hover{

	transform:translateY(-2px);

}


/* ==========================================================
   FOOTER
========================================================== */

.acch-footer{

	margin-top:8rem;

	background:

	linear-gradient(
	180deg,
	#17304A,
	#11253B
	);

	color:white;

}

/* ==========================================================
   LEGAL PAGES
========================================================== */

.acch-legal{
	width:min(100% - 40px,900px);
	box-sizing:border-box;
	margin:0 auto;
	padding:clamp(4.5rem,8vw,7rem) 0;
	color:var(--acch-text);
}

.acch-legal > h1{
	max-width:780px;
	margin:.75rem 0 1.25rem;
	font-family:"Playfair Display",serif;
	font-size:clamp(2.7rem,6vw,5.2rem);
	line-height:1;
}

.acch-legal__lead{
	max-width:760px;
	margin:0 0 clamp(3rem,6vw,5rem);
	color:var(--acch-text-light);
	font-size:clamp(1.1rem,2vw,1.35rem);
	line-height:1.7;
}

.acch-legal > h2{
	margin:3.25rem 0 1rem;
	padding-top:1.75rem;
	border-top:1px solid var(--acch-border);
	font-size:clamp(1.55rem,3vw,2rem);
}

.acch-legal > p:not(.acch-eyebrow):not(.acch-legal__lead),
.acch-legal > ul{
	color:var(--acch-text-light);
	font-size:1.02rem;
	line-height:1.8;
}

.acch-legal > ul{
	padding-left:1.35rem;
}

.acch-legal > ul li{
	margin-bottom:.55rem;
}

.acch-legal a{
	color:var(--acch-primary);
	font-weight:700;
}

.acch-legal__updated{
	margin-top:4rem;
	padding:1rem 1.2rem;
	border-radius:12px;
	background:var(--acch-surface-alt);
	font-size:.9rem !important;
}

@media (max-width:600px){
	.acch-legal{
		width:min(100% - 28px,900px);
	}
}

.acch-footer__inner{

	padding:

	5rem
	0
	2rem;

}

.acch-footer__grid{

	display:grid;

	grid-template-columns:

	2fr
	1fr
	1fr
	1fr;

	gap:3rem;

	align-items:flex-start;

}

.acch-footer__brand{

	max-width:420px;

}

.acch-footer__brand img{

	height:74px;

	width:auto;

	margin-bottom:1.5rem;

}

.acch-footer__brand p{

	color:rgba(255,255,255,.72);

	line-height:1.8;

}

.acch-footer h4{

	font-family:"Source Sans 3";

	font-size:1rem;

	font-weight:700;

	margin-bottom:1rem;

	color:white;

}

.acch-footer ul{

	list-style:none;

	padding:0;

	margin:0;

	display:flex;

	flex-direction:column;

	gap:.8rem;

}

.acch-footer li{

	margin:0;

}

.acch-footer a{

	color:rgba(255,255,255,.72);

	transition:all var(--acch-transition);

}

.acch-footer a:hover{

	color:white;

	padding-left:4px;

}

.acch-footer__bottom{

	margin-top:4rem;

	padding-top:2rem;

	border-top:

	1px solid

	rgba(255,255,255,.10);

	display:flex;

	justify-content:space-between;

	align-items:center;

	flex-wrap:wrap;

	gap:1rem;

}

.acch-footer__bottom p{

	margin:0;

	color:rgba(255,255,255,.55);

	font-size:.9rem;

}

.acch-footer__social{

	display:flex;

	gap:.75rem;

}

.acch-footer__social a{

	display:flex;

	align-items:center;

	justify-content:center;

	width:42px;

	height:42px;

	border-radius:50%;

	background:

	rgba(255,255,255,.08);

	color:white;

}

.acch-footer__social a:hover{

	background:white;

	color:var(--acch-primary);

	transform:translateY(-3px);

}


/* ==========================================================
   RESPONSIVE SYSTEM
   Toutes les media queries sont centralisées ici.
========================================================== */


/* ==========================================================
   <= 1200 px
========================================================== */

@media (max-width:1200px){

	.alignwide{

		width:min(calc(100% - 2rem),var(--acch-content-width));

	}

	.acch-home-hero__title{

		font-size:clamp(3.6rem,6vw,5.8rem);

	}

}


/* ==========================================================
   <= 1024 px
========================================================== */

@media (max-width:1024px){

	/* ---------- Header ---------- */

	.acch-header__inner{

		min-height:78px;

		gap:1.5rem;

	}

	.acch-header__actions{
		display:none !important;
	}

	.acch-header__nav{
		margin-left:auto;
	}

	.acch-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open){
		display:none !important;
	}

	.acch-header__nav .wp-block-navigation__responsive-container-open{
		display:flex !important;
		align-items:center;
		justify-content:center;
		width:46px;
		height:46px;
		border:1px solid var(--acch-border);
		border-radius:50%;
		background:#fff;
		color:var(--acch-primary);
	}

	.acch-header__nav .wp-block-navigation__responsive-container.is-menu-open{
		position:fixed !important;
		inset:0 !important;
		z-index:1000;
		box-sizing:border-box;
		width:100vw !important;
		height:100dvh !important;
		min-height:100dvh;
		max-height:none !important;
		padding:clamp(4.5rem,12vh,7rem) clamp(1.5rem,7vw,4rem) 2rem;
		overflow-y:auto;
		background:
			radial-gradient(circle at 85% 10%,rgba(25,143,165,.12),transparent 32%),
			linear-gradient(160deg,#fff 0%,#f4f8fb 100%);
		backdrop-filter:none;
	}

	.acch-header__nav .wp-block-navigation__responsive-container-close{
		top:1.35rem;
		right:1.35rem;
		display:grid;
		place-items:center;
		width:46px;
		height:46px;
		border:1px solid var(--acch-border);
		border-radius:50%;
		background:#fff;
		color:var(--acch-primary);
	}

	.acch-header__nav .wp-block-navigation__responsive-container-content{
		box-sizing:border-box;
		align-items:stretch !important;
		justify-content:flex-start !important;
		width:min(100%,520px);
		min-height:calc(100dvh - 7rem);
		margin-inline:auto;
		padding-top:0 !important;
	}

	.acch-header__nav .wp-block-navigation__container{
		align-items:stretch !important;
		width:100%;
		gap:0 !important;
	}

	.acch-header__nav .wp-block-navigation-item{
		width:100%;
		border-bottom:1px solid rgba(22,48,74,.1);
	}

	.acch-header__nav .wp-block-navigation-item__content{
		display:flex;
		box-sizing:border-box;
		align-items:center;
		justify-content:space-between;
		width:100%;
		padding:1rem .25rem;
		font-family:"Playfair Display",serif;
		font-size:clamp(1.45rem,5vw,2rem);
		font-weight:600;
	}

	.acch-header__nav .wp-block-navigation-item__content::after{
		display:none;
	}

	.acch-header__nav .acch-mobile-account-link{
		display:flex !important;
		margin-top:1.25rem;
		border:0;
	}

	.acch-header__nav .acch-mobile-account-link .wp-block-navigation-item__content{
		justify-content:center;
		padding:.9rem 1.25rem;
		border-radius:999px;
		background:var(--acch-primary);
		color:#fff;
		font-family:inherit;
		font-size:1rem;
	}

	/* ---------- Hero ---------- */

	.acch-home-hero{

		padding-inline:1rem;

	}

	.acch-home-hero__columns{

        flex-direction:column;

        min-height:auto;

    }

    .acch-home-hero__columns > .wp-block-column{

        flex-basis:auto !important;

        width:100%;

    }

	.acch-home-hero__content{

		padding:4rem 2.5rem;

	}

	.acch-home-hero__visual{

		min-height:460px;

	}

	.acch-next-event{

		position:relative;

		top:auto;
		right:auto;

		margin:2rem;

		width:auto;

	}

    .acch-grid--4{

        grid-template-columns:repeat(2,minmax(0,1fr));

    }

	/* ---------- Stats ---------- */

	.acch-stats{

		grid-template-columns:repeat(2,1fr);

		margin-top:2rem;

	}

	/* ---------- Approach ---------- */

	.acch-approach__inner{

		grid-template-columns:1fr;

	}

	.acch-approach__visual{

		order:-1;

		min-height:360px;

	}

	/* ---------- Newsletter ---------- */

	.acch-newsletter__inner{

		grid-template-columns:1fr;

	}

	/* ---------- Footer ---------- */

	.acch-footer__grid{

		grid-template-columns:repeat(2,1fr);

	}

}


/* ==========================================================
   <= 768 px
========================================================== */

@media (max-width:768px){

	html{

		font-size:15px;

	}

	.acch-brand__logo,
	.acch-brand img{
		width:145px;
		height:auto;
		max-width:none;
	}

	.acch-section{

		padding-block:5rem;

	}

	.acch-header__actions{

		display:none !important;

	}

	.acch-header__nav{

		margin-left:0;

	}

	.acch-header__nav .acch-mobile-account-link{
		display:flex !important;
	}

	.acch-home-hero__content{

		padding:3rem 2rem;

	}

	.acch-home-hero__buttons{

		flex-direction:column;

		align-items:stretch;

		gap:1rem;

	}

	.acch-home-hero__buttons .wp-block-button{

		width:100%;

	}

	.acch-home-hero__buttons .wp-block-button__link{

		width:100%;

	}

	.acch-format-grid,

	.acch-resource-grid,

	.acch-session-grid{

		gap:1.25rem;

	}

	.acch-curriculum-step{

		grid-template-columns:1fr;

		gap:1rem;

	}

	.acch-curriculum__timeline::before{

		display:none;

	}

	.acch-footer__bottom{

		flex-direction:column;

		align-items:flex-start;

	}

    .acch-grid--2,
    .acch-grid--3,
    .acch-grid--4{

        grid-template-columns:1fr;

    }

}


/* ==========================================================
   <= 560 px
========================================================== */

@media (max-width:560px){

	h1{

		font-size:clamp(2.7rem,12vw,4rem);

	}

	h2{

		font-size:2.2rem;

	}

	.alignwide{

		width:calc(100% - 2rem);

	}

	.acch-home-hero__inner{

		border-radius:24px;

	}

	.acch-home-hero__content{

		padding:2.5rem 1.5rem;

	}

	.acch-stat{

		padding:1.2rem;

	}

	.acch-stats{

		grid-template-columns:1fr;

	}

	.acch-format-card,

	.acch-resource-card,

	.acch-session-card,

	.acch-curriculum-step__card{

		padding:var(--space-4);

		border-radius:22px;

	}

	.acch-newsletter__card{

		padding:var(--space-5);

		border-radius:var(--acch-radius-md);

	}

	.acch-footer__grid{

		grid-template-columns:1fr;

		gap:2rem;

	}

}


/* ==========================================================
   ADMIN BAR
========================================================== */

@media (max-width:782px){

	.admin-bar .acch-header{

		top:46px;

	}

}

/* ==========================================================
   REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce){

	html{

		scroll-behavior:auto;

	}

	*,
	*::before,
	*::after{

		scroll-behavior:auto !important;

		animation-duration:.01ms !important;

		animation-iteration-count:1 !important;

		transition-duration:.01ms !important;

	}

}

/* ==========================================================
   TOUCH DEVICES
========================================================== */

@media (hover:none){

	.acch-card:hover{

		transform:none;

		box-shadow:var(--acch-shadow-card);

	}

	.wp-block-button__link:hover{

		transform:none;

	}

	.acch-footer a:hover{

		padding-left:0;

	}

}

/* ==========================================================
   HOME PAGE — CORRECTIVE LAYER
   Correspondance avec le balisage réel de front-page.html
========================================================== */


/* ==========================================================
   GLOBAL HOME SPACING
========================================================== */

.acch-section{

	padding-block:clamp(3.75rem,5vw,5rem);

}

.acch-section-heading{

	margin-bottom:clamp(2.5rem,4vw,3.5rem);

}

.acch-section-title{

	margin-bottom:1.25rem;

}

.acch-section-lead{

	margin-top:0;

}


/* ==========================================================
   HERO — BALANCE AND RESPONSIVE
========================================================== */

.acch-home-hero__content{

	padding:clamp(3.5rem,5vw,5.5rem);

}

.acch-home-hero__title{

	max-width:700px;

	font-size:clamp(3.6rem,5.7vw,6rem);

	line-height:.96;

}

.acch-home-hero__lead{

	font-size:clamp(1.05rem,1.4vw,1.2rem);

}


/* ==========================================================
   UPCOMING SESSIONS
========================================================== */

.acch-upcoming .acch-section-heading{

	margin-bottom:2.5rem;

}

.acch-session-grid{

	gap:1.4rem;

	margin-top:0;

}

.acch-session-card{

	min-height:0;

	padding:1.65rem;

	border-radius:22px;

	box-shadow:
		0 10px 25px rgba(17,44,89,.055),
		0 24px 55px rgba(17,44,89,.035);

}

.acch-session-card::before{

	height:4px;

	border-radius:22px 22px 0 0;

}

.acch-session-card__badge{

	margin:0 0 1.2rem;

	padding:.4rem .75rem;

	font-size:.64rem;

}

.acch-session-card__title{

	margin:0 0 .75rem;

	font-size:clamp(1.45rem,1.8vw,1.8rem);

	line-height:1.15;

}

.acch-session-card__meta{

	margin-bottom:1.35rem;

	font-size:.98rem;

	line-height:1.65;

}

.acch-session-card__footer{

	margin-top:auto;

	padding-top:1.1rem;

}

.acch-session-card__footer a{

	width:38px;

	height:38px;

}


/* ==========================================================
   FORMATS
========================================================== */

.acch-formats{

	margin-top:0;

}

.acch-format-card{

	padding:2rem;

	border-radius:24px;

}

.acch-format-card__eyebrow{

	margin:0 0 1.4rem;

	color:var(--acch-text-light);

	font-size:1rem;

}

.acch-format-card__title{

	margin:0 0 1rem;

	font-size:1.65rem;

}

.acch-format-card__text{

	margin:0 0 1.5rem;

	color:var(--acch-text-light);

}

.acch-format-card__content{

	display:flex;

	flex:1;

	flex-direction:column;

}

.acch-format-card__content > .acch-text-link{

	margin-top:auto;

}


/* ==========================================================
   APPROACH
========================================================== */

.acch-approach__columns{

	gap:clamp(2.5rem,5vw,5rem);

	align-items:flex-start;

}

.acch-approach__columns > .wp-block-column:first-child{

	padding-right:clamp(0rem,2vw,2rem);

}

.acch-approach__columns > .wp-block-column:first-child > p:last-child{

	margin-top:2rem;

	color:var(--acch-text);

	font-size:1.05rem;

}

.acch-pillars{

	display:grid;

	grid-template-columns:repeat(2,minmax(0,1fr));

	gap:1rem;

}

.acch-pillar{

	position:relative;

	min-height:155px;

	padding:1.5rem;

	border:1px solid var(--acch-border);

	border-radius:20px;

	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,.98),
			rgba(248,251,252,.96)
		);

	box-shadow:var(--acch-shadow-xs);

}

.acch-pillar::before{

	content:"";

	position:absolute;

	top:1.55rem;

	left:1.5rem;

	width:8px;

	height:8px;

	border-radius:50%;

	background:
		linear-gradient(
			135deg,
			var(--acch-primary),
			var(--acch-teal)
		);

}

.acch-pillar h3{

	margin:0 0 .8rem;

	padding-left:1.25rem;

	font-size:1.25rem;

	line-height:1.2;

}

.acch-pillar p{

	margin:0;

	color:var(--acch-text-light);

	font-size:.95rem;

	line-height:1.6;

}


/* ==========================================================
   CURRICULUM — ACTUAL HTML CLASSES
========================================================== */

.acch-timeline{

	position:relative;

	display:grid;

	grid-template-columns:repeat(5,minmax(0,1fr));

	gap:1rem;

	margin-top:3rem;

}

.acch-timeline::before{

	content:"";

	position:absolute;

	top:28px;

	left:10%;

	right:10%;

	height:2px;

	background:
		linear-gradient(
			90deg,
			var(--acch-primary),
			var(--acch-teal)
		);

	opacity:.18;

}

.acch-step{

	position:relative;

	display:flex;

	flex-direction:column;

	min-width:0;

}

.acch-step__number{

	position:relative;

	z-index:2;

	display:flex;

	align-items:center;

	justify-content:center;

	width:58px;

	height:58px;

	margin:0 auto 1.25rem;

	border:2px solid var(--acch-primary);

	border-radius:50%;

	background:var(--acch-surface);

	color:var(--acch-primary);

	font-size:.82rem;

	font-weight:700;

	box-shadow:var(--acch-shadow-xs);

}

.acch-step__content{

	flex:1;

	padding:1.4rem;

	border:1px solid var(--acch-border);

	border-radius:20px;

	background:var(--acch-surface);

	box-shadow:var(--acch-shadow-xs);

}

.acch-step__content h3{

	margin:0 0 .75rem;

	font-size:1.35rem;

	line-height:1.2;

}

.acch-step__content p{

	margin:0;

	color:var(--acch-text-light);

	font-size:.94rem;

	line-height:1.6;

}


/* ==========================================================
   RESOURCES — ACTUAL HTML STRUCTURE
========================================================== */

.acch-resource-grid{

	display:grid;

	grid-template-columns:repeat(3,minmax(0,1fr));

	gap:1.4rem;

	margin-top:2.5rem;

}

.acch-resource-card{

	min-height:280px;

	padding:1.75rem;

	border-radius:22px;

}

.acch-resource-card__type{

	margin-bottom:1.25rem;

}

.acch-resource-card h3{

	margin:0 0 .9rem;

	font-size:1.45rem;

	line-height:1.2;

}

.acch-resource-card > p:not(.acch-resource-card__type){

	margin:0 0 1.5rem;

	font-size:.98rem;

}

.acch-resource-card > a{

	display:inline-flex;

	align-items:center;

	margin-top:auto;

	font-weight:700;

	color:var(--acch-primary);

}

.acch-resource-card > a:hover{

	transform:translateX(4px);

}


/* ==========================================================
   NEWSLETTER — ACTUAL HTML STRUCTURE
========================================================== */

.acch-newsletter{

	position:relative;

	box-sizing:border-box;

	display:grid;

	grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);

	grid-template-areas:
		"eyebrow form"
		"title form"
		"copy form";

	column-gap:clamp(2.5rem,5vw,5rem);

	row-gap:1rem;

	width:min(
		calc(100% - 3rem),
		var(--acch-content-width)
	);

	margin:clamp(4rem,7vw,6rem) auto;

	padding:clamp(2.75rem,5vw,4.5rem);

	overflow:hidden;

	border-radius:var(--acch-radius-lg);

	background:
		linear-gradient(
			135deg,
			var(--acch-primary-dark),
			var(--acch-primary) 55%,
			var(--acch-teal)
		);

	color:white;

	box-shadow:
		0 25px 65px rgba(17,44,89,.17);

}

.acch-newsletter::before{

	content:"";

	position:absolute;

	top:-170px;

	right:-130px;

	width:380px;

	height:380px;

	border-radius:50%;

	background:
		radial-gradient(
			circle,
			rgba(255,255,255,.16),
			transparent 68%
		);

	pointer-events:none;

}

.acch-newsletter > .acch-eyebrow{

	grid-area:eyebrow;

	position:relative;

	margin:0;

	color:rgba(255,255,255,.8);

}

.acch-newsletter > h2{

	grid-area:title;

	position:relative;

	max-width:720px;

	margin:0;

	color:white;

	font-size:clamp(2.3rem,4vw,4rem);

	line-height:1.05;

}

.acch-newsletter > p:not(.acch-eyebrow){

	grid-area:copy;

	position:relative;

	margin:.5rem 0 0;

	color:rgba(255,255,255,.78);

	font-size:1.05rem;

}

.acch-newsletter-placeholder{

	grid-area:form;

	position:relative;

	align-self:center;

	display:grid;

	gap:.8rem;

	padding:1.25rem;

	border:1px solid rgba(255,255,255,.15);

	border-radius:24px;

	background:rgba(255,255,255,.09);

	backdrop-filter:blur(14px);

}

.acch-newsletter-placeholder input,
.acch-newsletter-placeholder button{

	box-sizing:border-box;

	width:100%;

	min-height:54px;

	border:0;

	border-radius:999px;

}

.acch-newsletter-placeholder input{

	padding-inline:1.25rem;

	background:white;

	color:var(--acch-text);

}

.acch-newsletter-placeholder button{

	padding-inline:1.5rem;

	background:rgba(255,255,255,.92);

	color:var(--acch-primary);

	font-weight:700;

}

.acch-newsletter-placeholder input:disabled,
.acch-newsletter-placeholder button:disabled{

	opacity:1;

	cursor:not-allowed;

}

.acch-footer{

	margin-top:0;

}


/* ==========================================================
   RESPONSIVE CORRECTIONS
========================================================== */

@media (max-width:1024px){

	.acch-pillars{

		grid-template-columns:1fr;

	}

	.acch-timeline{

		grid-template-columns:repeat(2,minmax(0,1fr));

	}

	.acch-timeline::before{

		display:none;

	}

	.acch-resource-grid{

		grid-template-columns:repeat(2,minmax(0,1fr));

	}

	.acch-newsletter{

		grid-template-columns:1fr;

		grid-template-areas:
			"eyebrow"
			"title"
			"copy"
			"form";

	}

	.acch-newsletter-placeholder{

		margin-top:1rem;

	}

}

@media (max-width:768px){

	.acch-home-hero__columns{

		flex-direction:column;

	}

	.acch-home-hero__content,
	.acch-home-hero__visual{

		flex-basis:auto !important;

		width:100%;

	}

	.acch-home-hero__content{

		padding:2.75rem 1.5rem;

	}

	.acch-home-hero__title{

		font-size:clamp(2.75rem,11vw,3.8rem);

	}

	.acch-home-hero__visual{

		min-height:430px;

	}

	.acch-next-event{

		position:relative;

		top:auto;

		right:auto;

		width:auto;

		margin:1.5rem;

	}

	.acch-session-grid{

		flex-direction:column;

	}

	.acch-approach__columns{

		flex-direction:column;

	}

	.acch-approach__columns > .wp-block-column{

		flex-basis:auto !important;

		width:100%;

	}

	.acch-timeline{

		grid-template-columns:1fr;

	}

	.acch-step{

		display:grid;

		grid-template-columns:52px minmax(0,1fr);

		gap:1rem;

	}

	.acch-step__number{

		width:50px;

		height:50px;

		margin:0;

	}

	.acch-resource-grid{

		grid-template-columns:1fr;

	}

	.acch-newsletter{

		width:calc(100% - 1.5rem);

		padding:2rem 1.5rem;

		border-radius:24px;

	}

}

@media (max-width:560px){

	.acch-section{

		padding-block:3.25rem;

	}

	.acch-section-heading{

		margin-bottom:2rem;

	}

	.acch-session-card,
	.acch-format-card,
	.acch-resource-card{

		padding:1.4rem;

	}

	.acch-pillars{

		gap:.8rem;

	}

	.acch-pillar{

		min-height:0;

		padding:1.25rem;

	}

	.acch-newsletter > h2{

		font-size:2.25rem;

	}

}

/* ==========================================================
   FINAL RESPONSIVE FIXES
========================================================== */

@media (max-width:1100px){

	.acch-home-hero__columns{

		flex-direction:column;

		min-height:auto;

	}

	.acch-home-hero__columns > .wp-block-column{

		flex-basis:auto !important;

		width:100%;

	}

	.acch-home-hero__content{

		padding:3.5rem 2.5rem;

	}

	.acch-home-hero__title{

		max-width:760px;

		font-size:clamp(3.25rem,7vw,5rem);

	}

	.acch-home-hero__visual{

		min-height:430px;

	}

	.acch-next-event{

		position:relative;

		top:auto;

		right:auto;

		width:auto;

		margin:1.5rem;

	}

}

.acch-stat{

	display:grid;

	grid-template-columns:64px max-content minmax(0,1fr);

	align-items:center;

}

.acch-stat__value{

	white-space:nowrap;

	font-size:clamp(1.65rem,2vw,2rem);

}

.acch-stat__label{

	min-width:0;

}

@media (max-width:1180px){

	.acch-stats{

		grid-template-columns:repeat(2,minmax(0,1fr));

	}

}

@media (max-width:560px){

	.acch-stats{

		grid-template-columns:1fr;

	}

	.acch-stat{

		grid-template-columns:54px minmax(72px,max-content) minmax(0,1fr);
		gap:.85rem;

	}

	.acch-stat__icon{

		width:54px;
		height:54px;

	}

	.acch-stat__label{

		margin:0;

	}

}

.acch-upcoming{

	padding-top:4rem;

	padding-bottom:3.5rem;

}

.acch-upcoming .acch-section-heading{

	margin-bottom:2rem;

}

.acch-session-card{

	padding:1.4rem;

	border-radius:20px;

}

.acch-session-card::before{

	border-radius:20px 20px 0 0;

}

.acch-session-card__badge{

	margin-bottom:1rem;

}

.acch-session-card__title{

	margin-bottom:.65rem;

}

.acch-session-card__meta{

	margin-bottom:1rem;

	line-height:1.5;

}

.acch-session-card__footer{

	padding-top:1rem;

}

/* ==========================================================
   FINAL VISUAL FIXES
========================================================== */


/* ==========================================================
   1. HERO — SAFE INTERNAL SPACING
========================================================== */

.acch-home-hero__columns,
.acch-home-hero__columns > .wp-block-column,
.acch-home-hero__content,
.acch-home-hero__visual{

	box-sizing:border-box;

	min-width:0;

}

@media (max-width:1100px){

	.acch-home-hero__content{

		width:100%;

		padding:
			clamp(2.75rem,6vw,4rem)
			clamp(2rem,5vw,3.5rem);

	}

	.acch-home-hero__title{

		max-width:820px;

		margin-right:0;

		font-size:clamp(3rem,7vw,4.8rem);

	}

	.acch-home-hero__lead{

		max-width:720px;

	}

}

@media (max-width:560px){

	.acch-home-hero{

		padding-inline:.75rem;

	}

	.acch-home-hero__content{

		padding:2.5rem 1.5rem;

	}

	.acch-home-hero__title{

		font-size:clamp(2.65rem,11vw,3.55rem);

		line-height:1;

	}

}

/* ==========================================================
   2. SESSION CARDS — CLIPPED ACCENTS
========================================================== */

.acch-session-card{

	overflow:hidden;

}

.acch-session-card::before{

	top:0;

	left:0;

	right:0;

	width:auto;

	border-radius:0;

}

/* ==========================================================
   3. APPROACH — SEAMLESS BACKGROUND
========================================================== */

.acch-approach{

	position:relative;

	overflow:visible;

	isolation:isolate;

}

.acch-approach::before{

	content:"";

	position:absolute;

	z-index:-1;

	top:-6rem;

	bottom:-6rem;

	left:50%;

	width:100vw;

	transform:translateX(-50%);

	background:
		radial-gradient(
			ellipse at 78% 42%,
			rgba(24,59,140,.055) 0%,
			rgba(25,143,165,.025) 38%,
			transparent 70%
		),
		linear-gradient(
			180deg,
			transparent 0%,
			rgba(244,247,249,.18) 18%,
			rgba(244,247,249,.42) 45%,
			rgba(244,247,249,.28) 72%,
			transparent 100%
		);

	pointer-events:none;

}
