/* =========================================================================
   Les Crèches ISAE — direction artistique « carnet d'éveil ».
   A cream paper page, ISAE navy ink and pink marker, stickers drawn by hand.
   Layer 2 of 3: isae-front.css (structure) › isae-brand.css (this file:
   look of every component) › isae-motion.css (animations only).
   Every class is prefixed "isae-"; Salient is only touched under .isae-site.
   ========================================================================= */

/* ------------------------------------------------------------------ fonts */

@font-face {
	font-family: "Fraunces";
	src: url("../fonts/fraunces.woff2") format("woff2");
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Figtree";
	src: url("../fonts/figtree.woff2") format("woff2");
	font-weight: 300 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Caveat";
	src: url("../fonts/caveat.woff2") format("woff2");
	font-weight: 500 700;
	font-style: normal;
	font-display: swap;
}

/* ----------------------------------------------------------------- tokens */

/* ":root:root" outweighs the child theme's own :root tokens. Brand colours
   are exactly ISAE pink #FF84AB and navy #171643; light tints are the same
   pink made transparent. */
:root:root {
	/* Identity */
	--isae-pink: #ff84ab;
	--isae-pink-strong: #ff84ab;
	--isae-pink-ink: #ff84ab;
	--isae-pink-soft: rgba(255, 132, 171, .16);
	--isae-pink-light: rgba(255, 132, 171, .42);
	--isae-navy: #171643;
	--isae-navy-soft: #171643;
	/* Soft surfaces */
	--isae-white: #ffffff;
	--isae-cream: #fff9f5;
	--isae-paper: #fffdfb;
	--isae-beige: #f2e7da;
	--isae-sand: #e7d4be;
	--isae-sage: #a9b6a0;
	--isae-sage-soft: #eaefe5;
	--isae-sage-ink: #4f5f46;
	--isae-text: #171643;
	--isae-text-2: #66636b;

	/* Type */
	--isae-font-heading: "Fraunces", "Iowan Old Style", Georgia, serif;
	--isae-font-body: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--isae-font-hand: "Caveat", "Segoe Print", "Bradley Hand", cursive;
	--isae-fs-display: clamp(40px, 15px + 4.7vw, 84px);
	--isae-fs-h1: clamp(36px, 20px + 3.9vw, 74px);
	--isae-fs-h2: clamp(31px, 20px + 2.6vw, 58px);
	--isae-fs-h3: clamp(21px, 17px + .7vw, 27px);
	--isae-fs-lead: clamp(18px, 16px + .45vw, 21px);
	--isae-fs-body: clamp(16.5px, 16px + .15vw, 18px);
	--isae-fs-hand: clamp(23px, 19px + .7vw, 31px);

	/* Shapes */
	--isae-line: 1.5px solid var(--isae-navy);
	--isae-radius: 24px;
	--isae-radius-sm: 14px;
	--isae-radius-lg: 36px;
	--isae-radius-band: 56px;
	--isae-lift: 4px 5px 0 var(--isae-navy);
	--isae-lift-hover: 7px 8px 0 var(--isae-navy);
	--isae-lift-pink: 7px 8px 0 var(--isae-pink);
	--isae-shadow: 0 2px 20px rgba(23, 22, 67, .06);
	--isae-shadow-lg: 0 24px 50px -26px rgba(23, 22, 67, .35);

	/* Rhythm */
	--isae-gutter: clamp(20px, 4.6vw, 56px);
	--isae-section: clamp(72px, 9.5vw, 136px);
	--isae-ease: cubic-bezier(.2, .8, .2, 1);
	--isae-ease-pop: cubic-bezier(.3, 1.5, .5, 1);
	--isae-paper-grain: url("../img/paper.svg");
}

/* ------------------------------------------------------------- foundation */

body.isae-site,
body.isae-site .container-wrap,
body.isae-site .main-content,
body.isae-site #ajax-content-wrap {
	background-color: var(--isae-cream);
}
body.isae-site .container-wrap { background-image: var(--isae-paper-grain); }
/* :where() keeps these at the weight of a plain "p": component fonts always win. */
body.isae-site,
:where(body.isae-site .container-wrap) p,
:where(body.isae-site) input,
:where(body.isae-site) select,
:where(body.isae-site) textarea,
:where(body.isae-site) button { font-family: var(--isae-font-body); }
body.isae-site { color: var(--isae-text); }

.isae-section, .isae-hero-ed, .isae-page-header, .isae-creche, .isae-footer, .isae-creche-hero-ed { font-family: var(--isae-font-body); }
.isae-wrap { max-width: 1280px; }
.isae-wrap--narrow { max-width: 900px; }
.isae-section { padding: var(--isae-section) 0; }

.isae-bg--white { background: var(--isae-paper); }
.isae-bg--cream { background: var(--isae-cream) var(--isae-paper-grain); }
.isae-bg--beige { background: var(--isae-beige) var(--isae-paper-grain); }
.isae-bg--blush { background: var(--isae-pink-soft) var(--isae-paper-grain); }
.isae-bg--sage { background: var(--isae-sage-soft) var(--isae-paper-grain); }
.isae-bg--navy { background: var(--isae-navy); }

/* Titles: Fraunces with its "soft" axis, round and friendly. */
.isae-section h1, .isae-section h2, .isae-section h3,
.isae-hero-ed h1, .isae-hero-ed h2, .isae-page-header h1,
.isae-creche h1, .isae-creche h2, .isae-creche h3,
.isae-creche-hero-ed h1, .isae-footer h2 {
	font-family: var(--isae-font-heading);
	font-variation-settings: "SOFT" 100;
	font-optical-sizing: auto;
	letter-spacing: -.015em;
}
.isae-section .isae-title,
.isae-creche .isae-title {
	font-size: var(--isae-fs-h2);
	line-height: 1.06;
	font-weight: 560;
	margin: 0 0 22px;
	letter-spacing: -.025em;
	color: var(--isae-navy);
	text-wrap: balance;
}
.isae-section .isae-title--xl,
.isae-page-header .isae-title--xl {
	font-size: var(--isae-fs-h1);
	line-height: 1.02;
	font-weight: 580;
	letter-spacing: -.03em;
	text-wrap: balance;
}
.isae-section .isae-subtitle, .isae-creche .isae-subtitle { font-size: var(--isae-fs-h3); font-weight: 560; }
.isae-bg--navy .isae-title, .isae-cta--navy .isae-title { color: #fff; }

.isae-intro, .isae-prose { font-size: var(--isae-fs-body); line-height: 1.7; color: var(--isae-text-2); }
.isae-head .isae-intro { font-size: var(--isae-fs-lead); max-width: 640px; }
.isae-head--center .isae-intro { margin-left: auto; margin-right: auto; }
.isae-prose--lead { font-size: var(--isae-fs-lead); color: var(--isae-navy); }
.isae-prose a, .isae-intro a { background: linear-gradient(var(--isae-pink), var(--isae-pink)) 0 100% / 100% 2px no-repeat; text-decoration: none; transition: background-size .3s var(--isae-ease); }
.isae-prose a:hover, .isae-intro a:hover { background-size: 100% 40%; }

/* Eyebrow: a handwritten word in pink, slightly tilted, with a little pencil stroke. */
.isae-eyebrow,
.isae-hero .isae-eyebrow,
.isae-creche-hero .isae-eyebrow,
.isae-bg--navy .isae-eyebrow {
	font-family: var(--isae-font-hand);
	font-size: var(--isae-fs-hand);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.1;
	color: var(--isae-pink-ink);
	transform: rotate(-2.5deg);
	transform-origin: left center;
	margin: 0 0 14px;
	gap: 10px;
}
.isae-eyebrow::before {
	width: 34px;
	height: 10px;
	border-radius: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 10'%3E%3Cpath d='M2 6c4-4 7 3 11 0s7-4 10 0 7 2 9-1' fill='none' stroke='%23FF84AB' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.isae-head--center .isae-eyebrow { transform-origin: center; }
.isae-bg--navy .isae-eyebrow, .isae-cta--navy .isae-eyebrow { color: var(--isae-pink); }

/* Highlighted words: navy ink, underlined by hand in pink (the stroke is drawn on). */
.isae-mark,
.isae-bg--navy .isae-mark,
.isae-hero .isae-mark,
.isae-cta--navy .isae-mark,
.isae-cta--pink .isae-mark,
.isae-creche-hero .isae-mark {
	position: relative;
	background: none;
	color: inherit;
	padding: 0;
	white-space: nowrap;
}
.isae-bg--navy .isae-mark, .isae-cta--navy .isae-mark { color: var(--isae-pink); }
.isae-scribble {
	position: absolute;
	left: -3%;
	bottom: -.2em;
	width: 106%;
	height: .38em;
	overflow: visible;
	pointer-events: none;
}
.isae-scribble path { fill: none; stroke: var(--isae-pink); stroke-width: 3.4; stroke-linecap: round; }
.isae-scribble path + path { stroke-width: 2; opacity: .75; }
.isae-cta--pink .isae-scribble path { stroke: var(--isae-navy); }

/* ---------------------------------------------------------------- doodles */

.isae-doodle { display: inline-block; width: var(--s, 64px); height: var(--s, 64px); line-height: 0; pointer-events: none; }
.isae-doodle svg { display: block; width: 100%; height: 100%; overflow: visible; }
.isae-doodle svg * { transform-box: fill-box; }

/* Handwritten notes with their curved arrow. */
.isae-hand {
	position: absolute;
	z-index: 4;
	margin: 0;
	display: flex;
	align-items: flex-end;
	gap: 2px;
	font-family: var(--isae-font-hand);
	font-size: var(--isae-fs-hand);
	font-weight: 600;
	line-height: 1;
	color: var(--isae-pink-ink);
	white-space: nowrap;
	pointer-events: none;
}
.isae-hand__text { display: inline-block; transform: rotate(-5deg); }
.isae-hand-arrow { width: 62px; height: 46px; flex: none; overflow: visible; }
.isae-hand-arrow path { fill: none; stroke: var(--isae-navy); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.isae-hand--hero { left: -16%; bottom: -14px; flex-direction: row; align-items: flex-end; }
.isae-hand--hero .isae-hand__text { padding: 2px 8px; background: var(--isae-cream); border-radius: 8px; }
.isae-hand--hero .isae-hand-arrow { transform: rotate(-58deg); margin: 0 0 22px -6px; }
.isae-hand--photo { top: -46px; right: 2%; flex-direction: row-reverse; align-items: flex-start; }
.isae-hand--photo .isae-hand-arrow { transform: scaleX(-1) rotate(-4deg); margin-top: 18px; }
.isae-hand--head { position: relative; display: inline-flex; flex-direction: row; align-items: flex-start; margin: -6px 0 18px; }
.isae-head--center .isae-hand--head { margin-left: auto; margin-right: auto; }
.isae-hand--head .isae-hand-arrow { width: 44px; height: 34px; transform: rotate(52deg); margin: 12px 0 0 6px; }
.isae-bg--navy .isae-hand, .isae-cta--navy .isae-hand { color: var(--isae-pink); }
.isae-bg--navy .isae-hand-arrow path, .isae-cta--navy .isae-hand-arrow path { stroke: #fff; }

/* Label like a sticker on a notebook: thin border, white, slightly tilted. */
.isae-label {
	list-style: none !important;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	margin: 0 !important;
	padding: 10px 18px !important;
	background: #fff;
	border: var(--isae-line);
	border-radius: var(--isae-radius-sm);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .18);
	transform: rotate(-2deg);
	color: var(--isae-navy);
	font-weight: 700;
	font-size: 15px;
}
.isae-label li { list-style: none !important; margin: 0 !important; padding: 0 !important; display: inline-flex; align-items: center; }
.isae-label li::before { display: none; }
.isae-label li + li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 12px; border-radius: 50%; background: var(--isae-pink); }

/* --------------------------------------------------------------- buttons */

.isae-actions { gap: 14px 16px; margin-top: 32px; }
.isae-btn {
	min-height: 54px;
	padding: 14px 28px;
	border-radius: 999px;
	border: var(--isae-line);
	font-family: var(--isae-font-body);
	font-size: 16.5px;
	font-weight: 700;
	letter-spacing: 0;
	box-shadow: none;
	transition: transform .35s var(--isae-ease-pop), box-shadow .35s var(--isae-ease), background-color .25s ease, color .25s ease;
}
.isae-btn--lg { min-height: 60px; padding: 16px 32px; font-size: 17.5px; }
.isae-btn--pink { background: var(--isae-pink); color: var(--isae-navy) !important; box-shadow: var(--isae-lift); }
.isae-btn--pink:hover, .isae-btn--pink:focus-visible { background: var(--isae-pink); transform: translate(-2px, -3px); box-shadow: var(--isae-lift-hover); }
.isae-btn--navy { background: var(--isae-navy); color: #fff !important; box-shadow: 4px 5px 0 var(--isae-pink); }
.isae-btn--navy:hover, .isae-btn--navy:focus-visible { background: var(--isae-navy); transform: translate(-2px, -3px); box-shadow: var(--isae-lift-pink); }
.isae-btn--outline { background: var(--isae-paper); color: var(--isae-navy) !important; }
.isae-btn--outline:hover, .isae-btn--outline:focus-visible { background: #fff; color: var(--isae-navy) !important; transform: translate(-2px, -3px); box-shadow: var(--isae-lift); }
.isae-btn--ghost { background: transparent; color: #fff !important; border-color: rgba(255, 255, 255, .85); backdrop-filter: none; }
.isae-btn--ghost:hover, .isae-btn--ghost:focus-visible { background: var(--isae-pink); border-color: var(--isae-pink); color: var(--isae-navy) !important; transform: translateY(-2px); }
.isae-btn:active { transform: translate(1px, 2px); box-shadow: 1px 1px 0 var(--isae-navy); }
.isae-btn:focus-visible { outline: 3px solid var(--isae-pink-ink); outline-offset: 4px; }
.isae-btn[aria-busy="true"] { pointer-events: none; opacity: .85; }
.isae-btn[aria-busy="true"]::after {
	content: "";
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2.5px solid currentColor;
	border-right-color: transparent;
	animation: isae-spin-btn .8s linear infinite;
}
@keyframes isae-spin-btn { to { transform: rotate(360deg); } }

/* Arrow of the text links: a hand-drawn arrow that moves forward. */
.isae-arrow { width: 26px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 12'%3E%3Cpath d='M1 6.5c7-2 14 1 22-.5M18 1.5l5 4.6-5.4 4.3' fill='none' stroke='%23171643' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .3s var(--isae-ease); }
.isae-arrow::after { display: none; }

/* ------------------------------------------------------------ photo frames */

.isae-media { border-radius: var(--isae-radius); background-color: var(--isae-beige); }
.isae-photo { position: relative; isolation: isolate; }
.isae-photo .isae-media { box-shadow: none; }
.isae-photo__sticker { position: absolute; z-index: 3; --s: clamp(54px, 6vw, 84px); top: -22px; right: -18px; }
.isae-split--reverse .isae-photo__sticker { right: auto; left: -18px; }
/* Rounded, with a sheet of paper behind it. */
.isae-photo--round .isae-media { border-radius: var(--isae-radius-lg); border: var(--isae-line); }
.isae-photo--round::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: var(--isae-radius-lg);
	background: var(--isae-pink-light);
	border: var(--isae-line);
	transform: translate(16px, 16px) rotate(2deg);
}
/* A print, tilted, with a piece of tape. */
.isae-photo--tilt { padding: 12px 12px 40px; background: #fff; border: var(--isae-line); border-radius: 10px; rotate: -2.2deg; box-shadow: var(--isae-shadow-lg); }
.isae-photo--tilt .isae-media { border-radius: 4px; }
.isae-photo--tilt::before {
	content: "";
	position: absolute;
	z-index: 4;
	top: -14px;
	left: 50%;
	width: 110px;
	height: 30px;
	margin-left: -55px;
	background: rgba(169, 182, 160, .7);
	transform: rotate(3deg);
	border-radius: 3px;
	clip-path: polygon(2% 0, 100% 6%, 97% 100%, 0 92%);
}
.isae-split--reverse .isae-photo--tilt { rotate: 2deg; }
/* Organic, like a pebble, on a sage shape. */
.isae-photo--blob .isae-media { border-radius: 58% 42% 47% 53% / 46% 55% 45% 54%; }
.isae-photo--blob::before {
	content: "";
	position: absolute;
	inset: -5% -6% -7% -4%;
	z-index: -1;
	border-radius: 44% 56% 52% 48% / 55% 43% 57% 45%;
	background: var(--isae-sage-soft);
	border: var(--isae-line);
}
/* Arch, with a pink outline offset behind. */
.isae-photo--arch .isae-media { border-radius: 999px 999px var(--isae-radius) var(--isae-radius); }
.isae-photo--arch::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: 999px 999px var(--isae-radius) var(--isae-radius);
	border: 2px solid var(--isae-pink);
	transform: translate(-16px, 14px);
}

/* -------------------------------------------------------------------- hero */

.isae-hero-ed {
	position: relative;
	overflow: hidden;
	background: var(--isae-cream) var(--isae-paper-grain);
	color: var(--isae-navy);
	padding: clamp(28px, 3.6vw, 64px) 0 clamp(64px, 8vw, 120px);
}
.isae-hero-ed__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr);
	align-items: center;
	gap: clamp(36px, 5vw, 80px);
}
.isae-hero-ed__text { position: relative; z-index: 2; }
.isae-hero-ed__eyebrow { margin-bottom: 18px; }
.isae-hero-ed .isae-hero-ed__title {
	font-size: var(--isae-fs-display);
	line-height: .98;
	font-weight: 600;
	letter-spacing: -.035em;
	color: var(--isae-navy);
	margin: 0 0 24px;
	text-wrap: balance;
}
.isae-hero-ed__signature { display: block; margin-top: 10px; font-family: var(--isae-font-hand); font-size: .5em; font-weight: 600; letter-spacing: 0; color: var(--isae-pink-ink); }
.isae-hero-ed__lead { font-size: var(--isae-fs-lead); line-height: 1.65; color: var(--isae-text-2); max-width: 560px; }
.isae-hero-ed__lead p { margin: 0; }
.isae-hero-ed__actions { margin-top: 30px; }
.isae-hero-ed__label { margin-top: 30px !important; }

.isae-hero-ed__media { position: relative; padding: 6% 4% 8% 6%; max-width: 500px; justify-self: end; width: 100%; }
.isae-hero-ed__photo { position: relative; z-index: 1; rotate: 2.5deg; }
.isae-hero-ed__photo .isae-media {
	aspect-ratio: 4 / 5;
	border-radius: 46% 46% var(--isae-radius-lg) var(--isae-radius-lg) / 34% 34% var(--isae-radius-lg) var(--isae-radius-lg);
	border: var(--isae-line);
	box-shadow: 14px 16px 0 var(--isae-pink-light), 14px 16px 0 1.5px var(--isae-navy);
}
.isae-hero-ed__blob {
	position: absolute;
	z-index: 0;
	inset: 0 -14% 4% 12%;
	border-radius: 52% 48% 41% 59% / 46% 52% 48% 54%;
	background: var(--isae-sage-soft);
}
.isae-hero-ed .isae-doodle { position: absolute; z-index: 3; }
.isae-hero-ed__sun { --s: clamp(78px, 9vw, 128px); top: -2%; right: -1%; }
.isae-hero-ed__leaf { --s: clamp(58px, 6vw, 88px); bottom: 2%; right: 4%; transform: rotate(18deg); }
.isae-hero-ed__heart { --s: clamp(40px, 4vw, 58px); top: 36%; left: -1%; transform: rotate(-12deg); }
.isae-hero-ed__sparkle { --s: clamp(30px, 3vw, 44px); top: 7%; left: 14%; }
/* The highlighted word of the hero: pink ink. */
.isae-hero-ed .isae-mark { color: var(--isae-pink-ink); }
.isae-hero-ed .isae-scribble path { stroke: var(--isae-navy); }

/* ------------------------------------------------------------ page header */

.isae-page-header {
	background: var(--isae-cream) var(--isae-paper-grain);
	padding: clamp(48px, 7vw, 110px) 0 clamp(64px, 8vw, 120px);
	position: relative;
}
.isae-page-header.has-media .isae-page-header__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
.isae-page-header__text .isae-intro { font-size: var(--isae-fs-lead); max-width: 620px; }
.isae-page-header__media { width: 100%; max-width: 430px; margin-left: auto; }
.isae-page-header__media .isae-media { max-width: none; margin: 0; box-shadow: none; border: var(--isae-line); }

/* ----------------------------------------------------------------- split */

.isae-split__grid { gap: clamp(48px, 7.5vw, 120px); }
.isae-split__media { padding: 0; }
.isae-split__media .isae-media--soft { aspect-ratio: 4 / 4.4; box-shadow: none; }
.isae-split__text .isae-prose { max-width: 560px; }
.isae-split__dot { display: none; }

/* ------------------------------------------------------- values: a board */

.isae-board { gap: clamp(20px, 2.6vw, 34px); }
.isae-value {
	position: relative;
	border: var(--isae-line);
	border-radius: var(--isae-radius);
	padding: clamp(26px, 3vw, 38px);
	box-shadow: none;
	background: var(--isae-paper);
	rotate: var(--r, 0deg);
	transition: rotate .5s var(--isae-ease-pop), translate .5s var(--isae-ease-pop), box-shadow .4s var(--isae-ease);
}
.isae-value:nth-child(3n+1) { --r: -1.2deg; }
.isae-value:nth-child(3n+2) { --r: .8deg; }
.isae-value:nth-child(3n) { --r: -.4deg; }
.isae-value:hover { rotate: 0deg; translate: 0 -6px; box-shadow: var(--isae-lift); }
.isae-value--blush { background: var(--isae-pink-soft); }
.isae-value--sage { background: var(--isae-sage-soft); }
.isae-value--sand { background: var(--isae-beige); }
.isae-value--navy { background: var(--isae-navy); color: #fff; }
.isae-value--navy .isae-value__title { color: #fff !important; }
.isae-value--navy p { color: rgba(255, 255, 255, .84) !important; }
.isae-value--navy:hover { box-shadow: 7px 8px 0 var(--isae-pink); }
.isae-value__art { --s: 76px; margin: -4px 0 16px -4px; }
.isae-section .isae-value__title { font-size: var(--isae-fs-h3); font-weight: 580; line-height: 1.15; margin: 0 0 10px; }
.isae-value p { font-size: 16.5px; line-height: 1.6; }
@media (min-width: 1101px) {
	.isae-board.isae-grid--3 > li:nth-child(3n+2) { margin-top: 34px; }
}

/* --------------------------------------------------------------- crèches */

.isae-card {
	background: #fff;
	border: var(--isae-line);
	border-radius: var(--isae-radius);
	padding: 10px;
	overflow: visible;
	box-shadow: none;
	rotate: var(--r, -.6deg);
	transition: rotate .5s var(--isae-ease-pop), translate .5s var(--isae-ease-pop), box-shadow .4s var(--isae-ease);
}
.isae-card--b { --r: .7deg; }
.isae-card:hover, .isae-card:focus-within { rotate: 0deg; translate: 0 -8px; box-shadow: var(--isae-lift-pink), 7px 8px 0 1.5px var(--isae-navy); outline: none; }
.isae-card:focus-within { outline: 3px solid var(--isae-pink-ink); outline-offset: 4px; }
.isae-card__media .isae-media { border-radius: calc(var(--isae-radius) - 8px); aspect-ratio: 5 / 4; }
.isae-card:hover .isae-card__media .isae-media__img { transform: scale(1.06); }
.isae-card__sticker { position: absolute; z-index: 3; --s: 56px; top: -18px; right: -14px; transform: rotate(10deg); transition: transform .5s var(--isae-ease-pop); }
.isae-card:hover .isae-card__sticker { transform: rotate(-6deg) scale(1.12); }
.isae-card__body { padding: 18px 14px 14px; gap: 10px; }
.isae-card__commune {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: -36px 0 4px 6px;
	position: relative;
	z-index: 2;
	padding: 6px 14px;
	border: var(--isae-line);
	border-radius: 999px;
	background: var(--isae-pink-soft);
	color: var(--isae-navy);
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: none;
	transform: rotate(-3deg);
}
.isae-card__commune .isae-commune__pin { width: 10px; height: 10px; }
.isae-section .isae-card__title, .isae-creche .isae-card__title { font-size: clamp(23px, 1.4vw + 12px, 28px); font-weight: 580; line-height: 1.1; }
.isae-card__text { font-size: 15.5px; }
.isae-card__link { gap: 10px; font-weight: 800; }
.isae-card:hover .isae-arrow { transform: translateX(6px); width: 26px; }
@media (min-width: 1101px) {
	.isae-grid--cards { row-gap: 46px; }
	.isae-grid--cards > li:nth-child(even) { margin-top: 26px; }
}

/* Crèches grouped by commune. */
.isae-commune__label { font-family: var(--isae-font-hand); font-size: .85em; font-weight: 600; color: var(--isae-pink); white-space: nowrap; }
.isae-section .isae-commune__name { font-size: var(--isae-fs-h3); gap: 14px; }
.isae-commune__name::after { content: ""; flex: 1; height: 10px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 10'%3E%3Cpath d='M1 6c5-4 9 3 14 0s9-4 14 0 7 2 10-1' fill='none' stroke='%23E7D4BE' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") left center / 40px 10px repeat-x; }

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

.isae-cta {
	border: var(--isae-line);
	border-radius: var(--isae-radius-lg);
	overflow: visible;
	padding: clamp(36px, 6vw, 84px);
}
.isae-cta::after { display: none; }
.isae-cta--pink { background: var(--isae-pink-soft) var(--isae-paper-grain); color: var(--isae-navy); }
.isae-cta--cream { background: var(--isae-beige) var(--isae-paper-grain); color: var(--isae-navy); }
.isae-cta--navy { background: var(--isae-navy); border-color: var(--isae-navy); }
.isae-cta .isae-title { font-size: clamp(32px, 20px + 2.8vw, 60px); }
.isae-cta p { font-size: var(--isae-fs-lead); }
.isae-cta--navy p { color: rgba(255, 255, 255, .86); }
.isae-cta .isae-cta__note { font-family: var(--isae-font-hand); font-style: normal; font-size: 22px; opacity: 1; color: var(--isae-pink-ink); }
.isae-cta--navy .isae-cta__note { color: var(--isae-pink); }
.isae-cta__phone { margin: 22px 0 0 !important; font-size: 16.5px !important; }
.isae-cta__phone a { font-weight: 800; color: inherit; white-space: nowrap; background: linear-gradient(var(--isae-pink), var(--isae-pink)) 0 100% / 100% 3px no-repeat; text-decoration: none; }
.isae-cta .isae-doodle { position: absolute; z-index: 3; }
.isae-cta__rainbow { --s: clamp(80px, 9vw, 128px); top: -50px; right: clamp(24px, 6vw, 96px); }
.isae-cta__sparkle { --s: 40px; bottom: 28px; right: 34%; }
.isae-cta.has-media .isae-cta__sparkle { right: auto; left: 52%; }
.isae-cta__media .isae-media { aspect-ratio: 4 / 4.6; border: var(--isae-line); box-shadow: none; }
.isae-cta--pink .isae-cta__media .isae-media { border: var(--isae-line); }
.isae-cta.has-media { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(40px, 5vw, 64px); }

/* --------------------------------------------------------------- gallery */

.isae-gallery__grid { gap: clamp(14px, 1.8vw, 24px); }
.isae-gallery__item .isae-media { border: var(--isae-line); border-radius: var(--isae-radius); }
.isae-gallery__item:nth-child(2) .isae-media { border-radius: var(--isae-radius) 90px var(--isae-radius) var(--isae-radius); }
.isae-gallery__item:nth-child(3) .isae-media { border-radius: var(--isae-radius) var(--isae-radius) 90px var(--isae-radius); }
.isae-gallery__caption,
.isae-gallery__item figcaption {
	left: 18px;
	bottom: 18px;
	padding: 4px 14px;
	border: var(--isae-line);
	border-radius: 10px;
	background: #fff;
	color: var(--isae-navy);
	font-family: var(--isae-font-hand);
	font-size: 22px;
	font-weight: 600;
	text-shadow: none;
	transform: rotate(-3deg);
}

/* ----------------------------------------------------------------- steps */

.isae-steps__list { counter-reset: isae-step; position: relative; }
.isae-step { background: #fff; border: var(--isae-line); box-shadow: none; padding: 30px 26px 30px; transition: translate .45s var(--isae-ease-pop), box-shadow .4s var(--isae-ease); }
.isae-step:hover { translate: 0 -5px; box-shadow: var(--isae-lift); }
.isae-step::before {
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	display: block;
	font-family: var(--isae-font-hand);
	font-size: 54px;
	font-weight: 700;
	line-height: .8;
	color: var(--isae-pink-ink);
	margin-bottom: 14px;
	content: counter(isae-step, decimal-leading-zero);
}
.isae-section .isae-step__title { font-size: 21px; font-weight: 580; }

/* -------------------------------------------------------------- features */

.isae-feature { border: var(--isae-line); background: #fff; box-shadow: none; grid-template-columns: 76px minmax(0, 1fr); transition: translate .45s var(--isae-ease-pop), box-shadow .4s var(--isae-ease); }
.isae-feature:hover { translate: 0 -5px; box-shadow: var(--isae-lift); }
.isae-bg--white .isae-feature { background: var(--isae-cream); }
.isae-feature__art { --s: 70px; }
.isae-section .isae-feature__title { font-size: 22px; font-weight: 580; }

/* ------------------------------------------------------------ activities */

.isae-activity { border: var(--isae-line); background: #fff; padding: 10px; box-shadow: none; transition: rotate .5s var(--isae-ease-pop), translate .5s var(--isae-ease-pop), box-shadow .4s var(--isae-ease); }
.isae-activity:nth-child(odd) { rotate: -.6deg; }
.isae-activity:nth-child(even) { rotate: .6deg; }
.isae-activity:hover { rotate: 0deg; translate: 0 -6px; box-shadow: var(--isae-lift); }
.isae-activity__media { border-radius: calc(var(--isae-radius) - 8px) !important; }
.isae-activity__body { padding: 0 16px 20px; }
.isae-activity__icon { background: var(--isae-pink); border: var(--isae-line); box-shadow: 0 0 0 6px #fff; transform: rotate(-8deg); }
.isae-activity h3 { font-family: var(--isae-font-heading) !important; font-weight: 580 !important; }

/* ------------------------------------------------------------------- FAQ */

.isae-faq__item { background: #fff; border: var(--isae-line); border-radius: var(--isae-radius-sm); transition: box-shadow .3s var(--isae-ease), translate .3s var(--isae-ease); }
.isae-faq__item:hover { box-shadow: var(--isae-lift); translate: -1px -2px; }
.isae-faq__item[open] { background: #fff; border-color: var(--isae-navy); box-shadow: var(--isae-lift-pink), 7px 8px 0 1.5px var(--isae-navy); }
.isae-section .isae-faq__item h3 { font-family: var(--isae-font-body); font-size: 18px; font-weight: 700; }
.isae-faq__toggle { background: var(--isae-pink-soft); border: var(--isae-line); transition: transform .4s var(--isae-ease-pop), background-color .3s ease; }
.isae-faq__item[open] .isae-faq__toggle { background: var(--isae-pink); transform: rotate(180deg); }

/* ---------------------------------------------------------------- tarifs */

.isae-tarifs { border: var(--isae-line); box-shadow: none; background: #fff; border-radius: var(--isae-radius-lg); }
.isae-tarifs__factors li { border: var(--isae-line); background: var(--isae-cream); }
.isae-tarifs__factors span { border: var(--isae-line); }
.isae-tarifs__block { border: var(--isae-line); border-left: 6px solid var(--isae-sage); }

/* ----------------------------------------------------------------- forms */

.isae-form-card { border: var(--isae-line); border-radius: var(--isae-radius-lg); box-shadow: 10px 12px 0 var(--isae-pink-light), 10px 12px 0 1.5px var(--isae-navy); background: #fff; }
.isae-form__group legend { font-weight: 580; font-variation-settings: "SOFT" 100; }
.isae-field label { font-weight: 700; font-size: 15px; }
.isae-form input[type="text"],
.isae-form input[type="email"],
.isae-form input[type="tel"],
.isae-form input[type="date"],
.isae-form select,
.isae-form textarea {
	min-height: 54px;
	border: 1.5px solid #cfc3b8;
	border-radius: var(--isae-radius-sm);
	background-color: var(--isae-paper);
	font-size: 16.5px;
}
.isae-form input:hover, .isae-form select:hover, .isae-form textarea:hover { border-color: var(--isae-navy); }
.isae-form input:focus,
.isae-form select:focus,
.isae-form textarea:focus { border-color: var(--isae-navy); background-color: #fff; box-shadow: 0 0 0 4px rgba(255, 132, 171, .4); }
.isae-form__privacy { border: 1.5px dashed var(--isae-sand); background: var(--isae-cream); }
.isae-check input { accent-color: var(--isae-pink-ink); }
.isae-form__submit .isae-btn { min-height: 60px; font-size: 17.5px; }
.isae-form-errors { border-radius: var(--isae-radius-sm); }
.isae-form-done { padding: 48px 20px; }
.isae-form-done__icon { width: 92px; height: 92px; background: var(--isae-pink-soft); border: var(--isae-line); }
.isae-form-done__icon::after { left: 33px; top: 20px; width: 22px; height: 38px; border-right: 5px solid var(--isae-navy); border-bottom: 5px solid var(--isae-navy); }
.isae-form-done p { font-family: var(--isae-font-heading); font-variation-settings: "SOFT" 100; font-size: clamp(20px, 2vw, 25px); line-height: 1.4; }
.isae-form-aside__media { border: var(--isae-line); box-shadow: none; rotate: 1.5deg; }
.isae-form-aside__steps { border: var(--isae-line); box-shadow: none; background: #fff; }
.isae-form-aside__steps li::before { background: var(--isae-pink); color: var(--isae-navy); border: var(--isae-line); }
.isae-contact-card { border-radius: var(--isae-radius); }
.isae-contact-card__phone { font-variation-settings: "SOFT" 100; }

/* ---------------------------------------------------------- contact info */

.isae-contact-info__side { border: var(--isae-line); background: #fff; border-radius: var(--isae-radius-lg); box-shadow: var(--isae-lift); }
.isae-bg--cream .isae-contact-info__side { background: #fff; }
.isae-phone__label { font-family: var(--isae-font-hand); font-size: 24px; letter-spacing: 0; text-transform: none; color: var(--isae-pink-ink); }
.isae-phone__number { font-variation-settings: "SOFT" 100; font-weight: 580; }

/* ----------------------------------------------------------------- quote */

.isae-quote__figure { margin: 0; text-align: center; position: relative; }
.isae-quote__art { --s: 86px; margin-bottom: 18px; }
.isae-quote__text { margin: 0; padding: 0; border: 0; quotes: none; }
.isae-quote__text::before { display: none !important; }
.isae-quote__text p {
	margin: 0;
	font-family: var(--isae-font-heading);
	font-variation-settings: "SOFT" 100;
	font-size: clamp(28px, 18px + 2.4vw, 52px);
	line-height: 1.15;
	font-weight: 500;
	letter-spacing: -.02em;
	color: var(--isae-navy);
	text-wrap: balance;
}
.isae-quote__author { margin-top: 22px; font-family: var(--isae-font-hand); font-size: 28px; font-weight: 600; color: var(--isae-pink-ink); }

/* --------------------------------------------------------- crèche page */

.isae-creche-hero-ed { position: relative; overflow: hidden; padding: clamp(36px, 5vw, 80px) 0 clamp(72px, 8vw, 120px); background: var(--isae-cream) var(--isae-paper-grain); }
.isae-tone--sage { background-color: var(--isae-sage-soft); }
.isae-tone--blush { background-color: var(--isae-pink-soft); }
.isae-tone--beige { background-color: var(--isae-beige); }
.isae-creche-hero-ed__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.isae-creche-hero-ed .isae-creche-hero-ed__title { font-size: var(--isae-fs-h1); line-height: 1.02; font-weight: 600; letter-spacing: -.03em; color: var(--isae-navy); margin: 18px 0 20px; text-wrap: balance; }
.isae-creche-hero-ed__lead { font-size: var(--isae-fs-lead); line-height: 1.65; color: var(--isae-text-2); max-width: 560px; margin: 0; }
.isae-label--single { display: inline-flex; gap: 10px; font-size: 16px; padding: 8px 16px !important; }
.isae-label--single .isae-commune__pin { width: 12px; height: 12px; }
.isae-creche-hero-ed__media { max-width: 520px; width: 100%; margin-left: auto; }
.isae-creche-hero-ed__media .isae-media { aspect-ratio: 4 / 4.4; }
.isae-creche-hero-ed .isae-badge { margin-top: 20px; background: #fff; border: var(--isae-line); color: var(--isae-navy); }
.isae-facts { list-style: none !important; margin: 22px 0 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; }
.isae-facts li { list-style: none !important; margin: 0 !important; padding: 8px 14px; border: var(--isae-line); border-radius: var(--isae-radius-sm); background: #fff; font-size: 15px; color: var(--isae-navy); }
.isae-facts li::before { display: none; }
.isae-facts strong { font-weight: 800; margin-right: 4px; }
.isae-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 22px;
	padding: 8px 16px;
	border-radius: 999px;
	border: var(--isae-line);
	background: var(--isae-paper);
	color: var(--isae-navy) !important;
	font-size: 14.5px;
	font-weight: 700;
	text-decoration: none !important;
	transition: transform .3s var(--isae-ease), box-shadow .3s var(--isae-ease);
}
.isae-back:hover, .isae-back:focus-visible { transform: translateX(-4px); box-shadow: 3px 4px 0 var(--isae-navy); }
.isae-creche__block .isae-feature__art { --s: 64px; margin-bottom: 12px; }
.isae-info-card { border: var(--isae-line); border-top: var(--isae-line); background: #fff; border-radius: var(--isae-radius-lg); box-shadow: var(--isae-lift-pink), 7px 8px 0 1.5px var(--isae-navy); }
.isae-creche .isae-info-card__title { font-variation-settings: "SOFT" 100; font-weight: 580; }
.isae-info-card__row dt { font-family: var(--isae-font-hand); font-size: 21px; letter-spacing: 0; text-transform: none; color: var(--isae-pink-ink); font-weight: 600; }
.isae-map { border: var(--isae-line); border-radius: var(--isae-radius-lg); }
.isae-creche-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); }
.isae-creche-gallery__item { margin: 0; }
.isae-creche-gallery__item .isae-media { aspect-ratio: 1; border: var(--isae-line); }
.isae-creche-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.isae-creche-gallery__item:first-child .isae-media { aspect-ratio: auto; height: 100%; }

/* ------------------------------------------------------------ legal pages */

.isae-legal-page { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.isae-legal-page__head { padding: clamp(48px, 7vw, 90px) 0 clamp(28px, 4vw, 44px); }
.isae-legal-page__head .isae-title { margin: 0; font-size: var(--isae-fs-h1); }
.isae-legal-page .isae-section { padding-top: clamp(32px, 5vw, 60px); }
.isae-legal { max-width: 820px; font-size: 17px; line-height: 1.75; color: var(--isae-text-2); }
.isae-legal h2 { font-family: var(--isae-font-heading); font-variation-settings: "SOFT" 100; font-size: clamp(23px, 2.2vw, 30px); line-height: 1.2; font-weight: 580; color: var(--isae-navy); margin: 2.2em 0 .6em; }
.isae-legal h2:first-of-type { margin-top: 1.2em; }
.isae-legal p, .isae-legal li { color: var(--isae-text-2); }
.isae-legal ul { margin: 0 0 1.2em 1.2em; }
.isae-legal a { color: var(--isae-navy); text-decoration: underline; text-decoration-color: var(--isae-pink); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.isae-legal-list { list-style: none !important; margin: 0 0 1em !important; padding: 22px 26px !important; border: var(--isae-line); border-radius: var(--isae-radius); background: #fff; }
.isae-legal-list li { list-style: none !important; margin: 4px 0 !important; }
.isae-legal-list strong { color: var(--isae-navy); }

/* --------------------------------------------------------------- header */

html body.isae-site #header-outer:not(.transparent) {
	background-color: rgba(255, 249, 245, .94) !important;
	box-shadow: 0 1.5px 0 rgba(23, 22, 67, .1) !important;
	-webkit-backdrop-filter: saturate(1.2) blur(10px);
	backdrop-filter: saturate(1.2) blur(10px);
}
html body.isae-site.isae-scrolled #header-outer:not(.transparent) { box-shadow: 0 1.5px 0 rgba(23, 22, 67, .14), 0 12px 30px -20px rgba(23, 22, 67, .35) !important; }
html body.isae-site #header-outer #top nav > ul > li > a,
html body.isae-site #header-outer #top .sf-menu > li > a { font-family: var(--isae-font-body) !important; font-weight: 650 !important; font-size: 15.5px !important; letter-spacing: 0 !important; color: var(--isae-navy) !important; }
/* Wavy pencil line under the menu links. */
@media (min-width: 1000px) {
	html body.isae-site #header-outer #top nav > ul > li:not([class*="button_solid"]) > a .menu-title-text { position: relative; }
	html body.isae-site #header-outer #top nav > ul > li:not([class*="button_solid"]) > a .menu-title-text::before {
		content: "";
		position: absolute;
		left: -2px;
		right: -2px;
		bottom: -9px;
		height: 7px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 7'%3E%3Cpath d='M0 4c3-3 7-3 10 0s7 3 10 0' fill='none' stroke='%23FF84AB' stroke-width='2.2'/%3E%3C/svg%3E") left center / 20px 7px repeat-x;
		clip-path: inset(0 100% 0 0);
		transition: clip-path .45s var(--isae-ease);
	}
	html body.isae-site #header-outer #top nav > ul > li:not([class*="button_solid"]):hover > a .menu-title-text::before,
	html body.isae-site #header-outer #top nav > ul > li.current-menu-item:not([class*="button_solid"]) > a .menu-title-text::before,
	html body.isae-site #header-outer #top nav > ul > li.current-menu-ancestor > a .menu-title-text::before { clip-path: inset(0 0 0 0); }
	html body.isae-site #header-outer #top nav > ul > li.current-menu-item > a,
	html body.isae-site #header-outer #top nav > ul > li.current-menu-ancestor > a { color: var(--isae-navy) !important; }
}
/* Small laptops: the whole menu holds on one line. */
html body.isae-site #header-outer #top nav > ul > li > a .menu-title-text { white-space: nowrap; }
@media (min-width: 1000px) and (max-width: 1240px) {
	html body.isae-site #header-outer #top nav > ul > li > a,
	html body.isae-site #header-outer #top .sf-menu > li > a { font-size: 14px !important; padding-left: 7px !important; padding-right: 7px !important; margin-left: 3px !important; margin-right: 3px !important; }
	html body.isae-site #header-outer #top > .container { padding-left: 28px !important; padding-right: 28px !important; max-width: none !important; }
	html body.isae-site #header-outer #top nav .buttons .nectar-header-text-content,
	html body.isae-site #header-outer #top #search-btn,
	html body.isae-site #header-outer #top .buttons > li#search-btn { display: none !important; }
}

/* Hover and current page: the wavy pencil line only, text stays navy. */
html body.isae-site #header-outer #top nav > ul > li:not([class*="button_solid"]) > a .menu-title-text::after,
html body.isae-site #header-outer #top nav > ul > li:not([class*="button_solid"]) > a::after { display: none !important; }
html body.isae-site #header-outer:not(.transparent) #top nav > ul > li:not([class*="button_solid"]) > a:hover,
html body.isae-site #header-outer:not(.transparent) #top nav > ul > li:not([class*="button_solid"]) > a:focus-visible,
html body.isae-site #header-outer:not(.transparent) #top nav > ul > li.current-menu-item:not([class*="button_solid"]) > a,
html body.isae-site #header-outer:not(.transparent) #top nav > ul > li.current-menu-ancestor:not([class*="button_solid"]) > a { color: var(--isae-navy) !important; }

/* "Pré-inscription": a pink pill with an ink shadow. */
body.isae-site #top nav > ul > li[class*="button_solid_color"] > a:before {
	background-color: var(--isae-pink) !important;
	border-radius: 999px !important;
	border: 1.5px solid var(--isae-navy);
	box-shadow: 3px 4px 0 var(--isae-navy);
	transition: transform .35s var(--isae-ease-pop), box-shadow .35s var(--isae-ease) !important;
}
body.isae-site #top nav > ul > li[class*="button_solid_color"] > a:hover:before { background-color: var(--isae-pink) !important; transform: translate(-2px, -2px); box-shadow: 5px 6px 0 var(--isae-navy); }

/* Dropdown of the crèches: a paper card, text on one line, pink + white on hover. */
html body.isae-site #header-outer #top .sf-menu li ul {
	width: auto !important;
	min-width: 340px;
	padding: 10px !important;
	border-radius: 20px;
	background: #fff !important;
	border: var(--isae-line);
	box-shadow: 6px 7px 0 var(--isae-pink-light), 6px 7px 0 1.5px var(--isae-navy);
	overflow: visible;
}
html body.isae-site #header-outer #top .sf-menu li ul li { width: 100% !important; float: none; background: none !important; }
html body.isae-site #header-outer #top .sf-menu li ul li a {
	display: block;
	width: auto !important;
	padding: 11px 16px !important;
	border-radius: 12px;
	font-family: var(--isae-font-body) !important;
	font-size: 15px !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
	white-space: nowrap;
	color: var(--isae-navy) !important;
	background: none !important;
	transition: background-color .22s ease, color .22s ease, transform .22s ease;
}
html body.isae-site #header-outer #top .sf-menu li ul li a .menu-title-text { color: inherit !important; white-space: nowrap; }
html body.isae-site #header-outer #top .sf-menu li ul li a:hover,
html body.isae-site #header-outer #top .sf-menu li ul li a:focus-visible,
html body.isae-site #header-outer #top .sf-menu li ul li.current-menu-item > a { background: var(--isae-pink-strong) !important; color: #fff !important; transform: translateX(4px); }
html body.isae-site #header-outer #top .sf-menu li ul li a::after,
html body.isae-site #header-outer #top .sf-menu li ul li a .menu-title-text::after,
html body.isae-site #header-outer #top .sf-menu li ul li a .menu-title-text::before { display: none !important; }

/* Phones: the signature written by hand next to the logo. */
@media (max-width: 999px) {
	html body.isae-site #header-outer #top #logo { display: inline-flex !important; align-items: center; gap: 10px; }
	html body.isae-site #header-outer #top #logo::after {
		content: "L’éveil au naturel";
		font-family: var(--isae-font-hand);
		font-size: 22px;
		font-weight: 600;
		line-height: 1;
		color: var(--isae-pink-ink);
		white-space: nowrap;
		transform: rotate(-3deg);
	}
}
@media (max-width: 359px) {
	html body.isae-site #header-outer #top #logo::after { font-size: 18px; }
}

/* Mobile menu: a navy page, big friendly links, the phone at hand. */
html body.isae-site.isae-site #slide-out-widget-area.slide-out-from-right.slide-out-from-right {
	background-color: #171643 !important;
	background:
		radial-gradient(260px 260px at 110% 0%, rgba(255, 132, 171, .32), transparent 70%),
		radial-gradient(240px 240px at -10% 100%, rgba(169, 182, 160, .26), transparent 70%),
		var(--isae-navy) !important;
	overflow-x: hidden;
}
@media (max-width: 690px) {
	html body.isae-site #slide-out-widget-area.slide-out-from-right { width: 100% !important; max-width: 100%; z-index: 100000 !important; }
	html body.isae-site.material-ocm-open .ocm-effect-wrap { transform: none !important; }
}
html body.isae-site #slide-out-widget-area .inner { padding-top: 22px !important; }
html body.isae-site #slide-out-widget-area .widget:empty { display: none; }
#slide-out-widget-area .inner > *:not(.isae-ocm-deco):not(.isae-ocm-close) { position: relative; z-index: 1; }
.isae-ocm-close { display: none; }
@media (max-width: 690px) {
	.isae-ocm-close {
		display: grid;
		place-items: center;
		position: fixed;
		top: 16px;
		right: 12px;
		z-index: 5;
		width: 50px;
		height: 50px;
		-webkit-appearance: none;
		appearance: none;
		overflow: hidden;
		padding: 0;
		border: 1.5px solid rgba(255, 255, 255, .5) !important;
		border-radius: 50% !important;
		background: transparent;
		cursor: pointer;
		transition: background-color .25s ease, transform .4s var(--isae-ease-pop);
	}
	.isae-ocm-close:hover, .isae-ocm-close:focus-visible { background: var(--isae-pink); border-color: var(--isae-pink); transform: rotate(90deg); }
	/* Salient rounds buttons to 4px with a heavy selector: the close button stays a circle. */
	html body.isae-site #slide-out-widget-area button.isae-ocm-close.isae-ocm-close { border-radius: 50% !important; }
	.isae-ocm-close span, .isae-ocm-close span::before { position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; margin: -1px 0 0 -10px; border-radius: 2px; background: #fff; transform: rotate(45deg); }
	.isae-ocm-close span::before { content: ""; margin: 0; left: 0; top: 0; transform: rotate(90deg); }
}
.isae-ocm-brand { display: flex; align-items: center; gap: 14px; margin: 0 0 28px; padding-right: 40px; text-decoration: none !important; }
/* Closing: the menu simply fades away, the page is back. */
body.isae-ocm-closing #slide-out-widget-area,
body.isae-ocm-closing #slide-out-widget-area-bg { opacity: 0 !important; transition: opacity .28s ease !important; }
body.isae-ocm-closing #slide-out-widget-area * { animation: none !important; }

/* Phones: a real "Menu" button, navy pill with pink lines. */
@media (max-width: 999px) {
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a {
		display: inline-flex !important;
		align-items: center;
		gap: 10px;
		width: auto !important;
		height: 44px !important;
		padding: 0 16px 0 18px !important;
		border-radius: 999px;
		background: var(--isae-navy);
		border: 1.5px solid var(--isae-navy);
		box-shadow: 3px 4px 0 var(--isae-pink);
		transition: transform .35s var(--isae-ease-pop), box-shadow .35s var(--isae-ease);
		-webkit-tap-highlight-color: transparent;
	}
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a > span[aria-hidden] { display: none !important; }
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a::before {
		content: "Menu";
		font-family: var(--isae-font-body);
		font-size: 15px;
		font-weight: 700;
		letter-spacing: .02em;
		line-height: 1;
		color: #fff;
	}
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a::after {
		content: "";
		width: 20px;
		height: 10px;
		background:
			linear-gradient(var(--isae-pink), var(--isae-pink)) 0 0 / 100% 2.5px no-repeat,
			linear-gradient(var(--isae-pink), var(--isae-pink)) 100% 100% / 60% 2.5px no-repeat;
		border-radius: 2px;
		transition: background-size .35s var(--isae-ease);
	}
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a:hover::after,
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a:focus-visible::after { background-size: 60% 2.5px, 100% 2.5px; }
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a:active { transform: translate(2px, 3px); box-shadow: 1px 1px 0 var(--isae-pink); }
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a:focus-visible { outline: 3px solid var(--isae-pink); outline-offset: 3px; }
	html body.isae-site #header-outer #top #logo::after { font-size: 20px; }
}
@media (max-width: 389px) {
	html body.isae-site #header-outer #top #logo::after { font-size: 17px; }
	html body.isae-site #header-outer #top .slide-out-widget-area-toggle.mobile-icon a { padding: 0 13px 0 15px !important; gap: 8px; }
}
.isae-ocm-brand__logo { width: 66px; height: 66px; flex: none; display: grid; place-items: center; background: #fff; border-radius: 20px; transform: rotate(-4deg); }
.isae-ocm-brand__logo img { width: 48px; height: auto; }
.isae-ocm-brand__name { display: block; color: #fff; font-family: var(--isae-font-heading); font-variation-settings: "SOFT" 100; font-size: 21px; line-height: 1.15; }
.isae-ocm-brand__sign { display: block; color: var(--isae-pink); font-family: var(--isae-font-hand); font-size: 22px; font-weight: 600; }
html body.isae-site #slide-out-widget-area .off-canvas-menu-container > ul > li > a {
	font-family: var(--isae-font-heading) !important;
	font-variation-settings: "SOFT" 100;
	font-size: 27px !important;
	line-height: 1.15 !important;
	font-weight: 520 !important;
	color: #fff !important;
	letter-spacing: -.01em !important;
}
html body.isae-site #slide-out-widget-area .off-canvas-menu-container > ul > li.current-menu-item > a,
html body.isae-site #slide-out-widget-area .off-canvas-menu-container > ul > li > a:hover { color: var(--isae-pink) !important; }
html body.isae-site #slide-out-widget-area .off-canvas-menu-container ul ul li a { font-family: var(--isae-font-body) !important; font-size: 16.5px !important; color: rgba(255, 255, 255, .84) !important; }
html body.isae-site #slide-out-widget-area .off-canvas-menu-container li.isae-menu-cta > a {
	display: inline-block;
	margin-top: 18px;
	padding: 14px 28px !important;
	border-radius: 999px;
	border: 1.5px solid #fff;
	background: var(--isae-pink);
	box-shadow: 4px 5px 0 #fff;
	font-family: var(--isae-font-body) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	color: var(--isae-navy) !important;
}
.isae-ocm-foot { margin-top: 32px; padding: 20px; border-radius: 20px; background: rgba(255, 255, 255, .07); border: 1.5px dashed rgba(255, 255, 255, .25); color: rgba(255, 255, 255, .86); }
.isae-ocm-foot p { margin: 0 0 6px; font-family: var(--isae-font-hand); font-size: 22px; color: var(--isae-pink); }
.isae-ocm-foot a.isae-ocm-foot__phone { display: inline-flex; align-items: center; gap: 10px; color: #fff !important; font-size: 23px; font-weight: 800; text-decoration: none; }
.isae-ocm-foot__phone svg { width: 22px; height: 22px; color: var(--isae-pink); }
.isae-ocm-deco { position: absolute; pointer-events: none; z-index: 0; }
.isae-ocm-deco--1 { right: 26px; bottom: 120px; width: 46px; color: var(--isae-pink); }
.isae-ocm-deco--2 { right: 90px; bottom: 60px; width: 26px; color: var(--isae-sage); }
.isae-ocm-deco--3 { right: 34px; top: 46%; width: 20px; color: var(--isae-sand); }

/* ---------------------------------------------------------------- footer */

.isae-has-footer #footer-outer { background: transparent !important; }
.isae-footer {
	position: relative;
	margin-top: clamp(40px, 6vw, 80px);
	border-radius: var(--isae-radius-band) var(--isae-radius-band) 0 0;
	background: var(--isae-navy);
	padding-top: clamp(64px, 8vw, 104px);
}
/* The page colour behind the band's rounded corners. */
.isae-has-footer #footer-outer { background-color: var(--isae-cream) !important; }
.isae-footer .isae-doodle { position: absolute; z-index: 2; }
.isae-footer__sun { --s: clamp(70px, 8vw, 104px); top: -48px; right: clamp(28px, 9vw, 140px); }
.isae-footer__leaf { --s: 58px; top: -30px; right: calc(clamp(28px, 9vw, 140px) + clamp(78px, 9vw, 120px)); transform: rotate(-24deg); }
.isae-footer__heart { --s: 40px; top: -18px; left: clamp(28px, 6vw, 90px); transform: rotate(-14deg); }
.isae-footer__logo-link { border-radius: 24px; transform: rotate(-3deg); transition: transform .4s var(--isae-ease-pop); }
.isae-footer__logo-link:hover { transform: rotate(0deg) scale(1.04); }
.isae-footer__signature { font-family: var(--isae-font-hand); font-size: 30px; font-weight: 600; color: var(--isae-pink); }
.isae-footer .isae-footer__title { font-family: var(--isae-font-hand); font-size: 26px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--isae-pink); }
.isae-footer a { background: linear-gradient(var(--isae-pink), var(--isae-pink)) 0 100% / 0 2px no-repeat; transition: background-size .3s var(--isae-ease), color .2s ease; }
.isae-footer a:hover, .isae-footer a:focus-visible { background-size: 100% 2px; color: #fff; }
.isae-footer__logo-link, .isae-footer__credit { background: #fff !important; }
.isae-footer__credit { background: none !important; }
.isae-footer__phone { border-bottom: 0; background: linear-gradient(var(--isae-pink), var(--isae-pink)) 0 100% / 100% 3px no-repeat !important; }
.isae-footer .isae-footer__commune { font-family: var(--isae-font-body); color: #fff; }
.isae-footer__legal button.isae-cookies-link { appearance: none; background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; cursor: pointer; }
.isae-footer__legal button.isae-cookies-link:hover { color: var(--isae-pink); }
.isae-footer__bottom-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 14px 32px; }
.isae-footer__copy { justify-self: start; }
.isae-footer__legal { justify-self: end; justify-content: flex-end; }
.isae-footer__credit { justify-self: center; display: inline-flex; align-items: center; opacity: .85; transition: opacity .3s ease, transform .3s ease; }
@media (max-width: 900px) {
	.isae-footer__bottom-inner { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
	.isae-footer__copy, .isae-footer__legal { justify-self: center; justify-content: center; }
	.isae-footer__credit { order: 3; margin-top: 6px; }
}
.isae-footer__credit img { display: block; height: 30px; width: auto; }
.isae-footer__credit:hover, .isae-footer__credit:focus-visible { opacity: 1; transform: translateY(-2px); }

/* ------------------------------------------------------------ phone numbers */

.isae-footer__phone,
.isae-ocm-foot a.isae-ocm-foot__phone,
.isae-contact-card__phone,
.isae-phone__number,
.isae-cta__phone a,
.isae-info-card__more a,
.isae-info-card__row--telephone dd a {
	font-family: var(--isae-font-heading) !important;
	font-variation-settings: "SOFT" 100;
	font-weight: 500 !important;
	letter-spacing: .03em;
	font-variant-numeric: lining-nums;
	white-space: nowrap;
}
.isae-footer__phone { font-size: 21px; padding-bottom: 4px; }
.isae-ocm-foot a.isae-ocm-foot__phone { font-size: 21px; gap: 12px; }
.isae-ocm-foot__phone svg { width: 18px; height: 18px; }
.isae-contact-card__phone { font-size: 24px; color: #fff !important; background: linear-gradient(var(--isae-pink), var(--isae-pink)) 0 100% / 100% 2px no-repeat; padding-bottom: 4px; display: inline-block; }
.isae-phone__number { font-size: clamp(24px, 1.2vw + 14px, 30px); }
.isae-cta__phone a { font-size: 1.05em; }

/* -------------------------------------------------------------- responsive */

@media (max-width: 1100px) {
	.isae-hero-ed__grid { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); }
	.isae-hand--hero { left: -4%; }
}

/* Tablets and phones: the hero is re-composed, not squeezed. */
@media (max-width: 900px) {
	.isae-hero-ed { padding-top: 26px; }
	.isae-hero-ed__grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.isae-hero-ed__text { display: contents; }
	.isae-hero-ed__eyebrow { order: 1; }
	.isae-hero-ed .isae-hero-ed__title { order: 2; margin-bottom: 6px; }
	.isae-hero-ed__media { order: 3; margin: 0 auto; width: min(100%, 520px); padding: 34px 9% 26px 7%; }
	.isae-hero-ed__lead { order: 4; }
	.isae-hero-ed__actions { order: 5; margin-top: 24px; }
	.isae-hero-ed__label { order: 6; margin-top: 26px !important; justify-self: start; }
	.isae-hero-ed__photo .isae-media { aspect-ratio: 5 / 4.4; border-radius: 40% 40% var(--isae-radius) var(--isae-radius) / 36% 36% var(--isae-radius) var(--isae-radius); }
	.isae-hand--hero { left: auto; right: 2%; bottom: auto; top: -6px; flex-direction: row-reverse; align-items: flex-start; }
	.isae-hand--hero .isae-hand-arrow { margin: 16px 0 0; transform: scaleX(-1) rotate(-10deg); width: 48px; height: 36px; }
	.isae-hero-ed__sun { top: 8%; right: -2%; }
	.isae-hero-ed__heart { left: 0; top: auto; bottom: 14%; }
	.isae-hero-ed__sparkle { left: 4%; top: 6%; }

	.isae-page-header.has-media .isae-page-header__grid,
	.isae-creche-hero-ed__grid { grid-template-columns: minmax(0, 1fr); }
	.isae-page-header__media, .isae-creche-hero-ed__media { margin: 18px auto 0; max-width: 380px; }
	.isae-creche-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
	.isae-split__media { max-width: 520px; margin: 0 auto; width: calc(100% - 28px); }
	.isae-cta.has-media .isae-cta__media { width: calc(100% - 20px); max-width: 380px; margin: 18px auto 0; }
}

@media (max-width: 700px) {
	/* Long highlighted expressions may wrap on small screens: a simple pink line then. */
	.isae-mark { white-space: normal; background: linear-gradient(transparent 78%, var(--isae-pink) 78%, var(--isae-pink) 94%, transparent 94%) !important; }
	.isae-hero-ed .isae-mark, .isae-bg--navy .isae-mark, .isae-cta--navy .isae-mark { background: linear-gradient(transparent 80%, currentColor 80%, currentColor 92%, transparent 92%) !important; }
	.isae-mark .isae-scribble { display: none; }
	.isae-mark.isae-mark--short { white-space: nowrap; background: none !important; }
	.isae-mark--short .isae-scribble { display: block; }
}

@media (max-width: 680px) {
	.isae-section { padding: clamp(60px, 16vw, 84px) 0; }
	.isae-hero-ed .isae-hero-ed__title { line-height: 1; letter-spacing: -.03em; }
	.isae-hero-ed__actions .isae-btn { width: 100%; }
	.isae-label { font-size: 13.5px; padding: 9px 14px !important; }
	.isae-label li + li::before { margin: 0 8px; }
	.isae-hand { font-size: 23px; }
	.isae-hand--photo { top: -40px; right: 0; }
	.isae-photo--round::before { transform: translate(10px, 10px) rotate(2deg); }
	.isae-photo--arch::before { transform: translate(-10px, 10px); }
	.isae-photo__sticker { --s: 54px; top: -18px; right: -6px; }
	.isae-split--reverse .isae-photo__sticker { left: -6px; }
	.isae-value { --r: 0deg !important; }
	.isae-value__art { --s: 64px; }
	.isae-card { --r: 0deg; }
	.isae-card__sticker { --s: 48px; right: -6px; }
	.isae-cta { border-radius: var(--isae-radius); padding: 48px 22px 30px; }
	.isae-cta__rainbow { --s: 76px; top: -38px; left: 22px; }
	.isae-cta__sparkle { display: none; }
	.isae-form-card { box-shadow: 6px 7px 0 var(--isae-pink-light), 6px 7px 0 1.5px var(--isae-navy); }
	.isae-footer { border-radius: 36px 36px 0 0; }
	.isae-footer__leaf { right: 110px; }
	.isae-creche-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.isae-creche-gallery__item:first-child { grid-column: span 2; grid-row: auto; }
	.isae-creche-gallery__item:first-child .isae-media { aspect-ratio: 4 / 3; height: auto; }
	.isae-facts li { font-size: 14px; }
	.isae-gallery__caption, .isae-gallery__item figcaption { font-size: 19px; left: 12px; bottom: 12px; }
}

@media (max-width: 380px) {
	.isae-btn { padding-left: 20px; padding-right: 20px; }
	.isae-hero-ed__label { font-size: 12.5px; }
}
