:root {--pink:        oklch(0.66 0.135 18);
--pink-strong: oklch(0.55 0.145 20);
--pink-soft:   oklch(0.955 0.030 22);
--orange:      oklch(0.745 0.125 55);
--orange-soft: oklch(0.962 0.035 65);
--gold:        oklch(0.835 0.125 85);
--teal:        oklch(0.645 0.095 215);
--teal-strong: oklch(0.52 0.085 220);
--teal-soft:   oklch(0.958 0.026 210);
--sage:        oklch(0.66 0.10 150);
--sage-strong: oklch(0.50 0.09 150);
--sage-soft:   oklch(0.960 0.030 150);
--violet:        oklch(0.61 0.115 295);
--violet-strong: oklch(0.50 0.125 295);
--violet-soft:   oklch(0.958 0.028 295);
--ink:      oklch(0.27 0.012 60);
--ink-soft: oklch(0.49 0.014 60);
--ink-mute: oklch(0.54 0.014 60);
--paper:    #ffffff;
--cream:    oklch(0.975 0.008 75);
--cream-2:  oklch(0.965 0.011 70);
--line:     color-mix(in oklab, var(--ink) 14%, transparent);
--line-soft:color-mix(in oklab, var(--ink) 8%, transparent);
--display: "Fraunces", "Cormorant Garamond", Georgia, serif;
--sans: "Nunito", "Source Sans 3", system-ui, sans-serif;
--r: 20px;
--r-lg: 28px;
--r-sm: 13px;
--shadow: 0 16px 40px -22px color-mix(in oklab, var(--ink) 40%, transparent);
--shadow-lg: 0 34px 64px -30px color-mix(in oklab, var(--ink) 55%, transparent);
--shell: min(1180px, calc(100% - 3rem));
--grad-warm: linear-gradient(135deg, var(--pink) 0%, var(--orange) 100%);
--grad-spectrum: linear-gradient(135deg, var(--pink) 0%, var(--orange) 50%, var(--gold) 100%)}
:root[data-theme="frais"] {--pink:        oklch(0.66 0.105 350);
--pink-strong: oklch(0.54 0.115 352);
--pink-soft:   oklch(0.957 0.026 350);
--orange:      oklch(0.74 0.085 60);
--orange-soft: oklch(0.962 0.028 70);
--gold:        oklch(0.82 0.10 95);
--grad-warm: linear-gradient(135deg, var(--pink) 0%, var(--violet) 100%);
--grad-spectrum: linear-gradient(135deg, var(--pink) 0%, var(--violet) 55%, var(--teal) 100%)}
:root[data-theme="vif"] {--pink:        oklch(0.62 0.185 18);
--pink-strong: oklch(0.52 0.19 20);
--orange:      oklch(0.73 0.165 52);
--teal:        oklch(0.62 0.135 220);
--sage:        oklch(0.64 0.14 150);
--violet:      oklch(0.58 0.16 295)}
:root[data-display="cormorant"] { --display: "Cormorant Garamond", Georgia, serif; }
:root[data-display="nunito"]    { --display: "Nunito", system-ui, sans-serif; }
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {font-family: var(--sans);
color: var(--ink);
background: var(--paper);
line-height: 1.7;
min-height: 100vh;
padding-top: 80px;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility}
img { max-width: 100%; display: block; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { font: inherit; color: inherit; }
h1, h2, h3, h4 {font-family: var(--display);
font-weight: 400;
line-height: 1.05;
letter-spacing: -0.025em;
text-wrap: balance}
p { text-wrap: pretty; }
em { font-style: italic; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: clamp(3.5rem, 3rem + 3vw, 6rem); position: relative; }
.section--alt { background: var(--cream); }
.section > .shell { position: relative; z-index: 1; }
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0}
.skip-link {position: fixed; top: -100px; left: 1rem; z-index: 4000;
background: var(--ink); color: #fff; padding: 0.7rem 1.1rem; border-radius: 0 0 12px 12px;
transition: top 0.2s}
.skip-link:focus { top: 0; }
:focus-visible { outline: 2.5px solid var(--pink); outline-offset: 3px; border-radius: 4px; }
.blob { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; z-index: 0; opacity: 0.55; }
.spectrum { display: grid; grid-template-columns: repeat(6, 1fr); height: 6px; }
.spectrum span:nth-child(1){ background: var(--pink); }
.spectrum span:nth-child(2){ background: var(--orange); }
.spectrum span:nth-child(3){ background: var(--gold); }
.spectrum span:nth-child(4){ background: var(--teal); }
.spectrum span:nth-child(5){ background: var(--sage); }
.spectrum span:nth-child(6){ background: var(--violet); }
.btn {display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
min-height: 50px; padding: 0.78rem 1.5rem;
border-radius: 999px; border: 1.5px solid transparent;
font-family: var(--sans); font-weight: 800; font-size: 0.98rem; letter-spacing: 0.005em;
cursor: pointer; text-decoration: none;
transition: transform 0.18s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease, color 0.22s ease}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn .ic { font-size: 0.9em; }
.btn--primary { background: var(--grad-warm); color: #fff; box-shadow: 0 14px 30px -10px color-mix(in oklab, var(--pink) 65%, transparent); }
.btn--primary:hover { box-shadow: 0 20px 38px -12px color-mix(in oklab, var(--pink) 70%, transparent); }
.btn--dark { background: var(--ink); color: #fff; }
.btn--dark:hover { background: #000; }
.btn--ghost { background: color-mix(in oklab, var(--paper) 70%, transparent); color: var(--ink); border-color: var(--line); }
.btn--ghost:hover { border-color: var(--ink); background: var(--paper); }
.btn--light { background: #fff; color: var(--ink); box-shadow: 0 14px 30px rgba(0,0,0,0.12); }
@media (max-width: 640px) {.btn { width: 100%; }
}
.btn--sm { min-height: 40px; padding: 0.5rem 1rem; font-size: 0.86rem; }
.eyebrow {display: inline-flex; align-items: center; gap: 0.6rem;
font-family: var(--sans); font-size: 0.72rem; font-weight: 800;
letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-mute)}
.eyebrow::before { content: ""; width: 26px; height: 2px; border-radius: 2px; background: var(--pink); }
.eyebrow--blue::before { background: var(--teal); }
.eyebrow--green::before { background: var(--sage); }
.eyebrow--violet::before { background: var(--violet); }
.site-header {position: fixed; inset: 0 0 auto 0; z-index: 1200; height: 80px;
padding: 0 clamp(1rem, 3vw, 2rem);
display: flex; align-items: center; gap: clamp(0.6rem, 2vw, 1.3rem);
background: color-mix(in oklab, var(--paper) 88%, transparent);
backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
border-bottom: 1px solid var(--line-soft);
transition: transform 0.3s ease, box-shadow 0.3s ease}
.site-header.is-scrolled { box-shadow: 0 6px 24px -16px color-mix(in oklab, var(--ink) 60%, transparent); }
.site-header.nav-hidden { transform: translateY(-100%); }
.logo-link { display: inline-flex; align-items: center; gap: 0.6rem; }
.header-logo { height: 48px; width: auto; }
.main-nav { margin-left: auto; }
.main-nav .nav-list { display: flex; align-items: center; gap: clamp(0.5rem, 1.3vw, 1.35rem); }
.header-actions { display: flex; align-items: center; gap: 0.6rem; flex-shrink: 0; }
.nav-item { position: relative; }
.nav-link {display: inline-flex; align-items: center; gap: 0.35rem; white-space: nowrap;
font-size: 0.95rem; font-weight: 700; color: var(--ink);
padding: 0.45rem 0; border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s}
.nav-link:hover { color: var(--pink-strong); border-color: var(--pink); }
.nav-link .ic { font-size: 0.7em; opacity: 0.7; }
.nav-link[aria-current="page"] { border-color: var(--pink); }
.nav-phone {border: 1.5px solid var(--line); border-radius: 999px; padding: 0.5rem 0.95rem;
color: var(--pink-strong); font-weight: 800}
.nav-phone:hover { border-color: var(--pink); background: var(--pink-soft); }
.cta-button {border-radius: 999px; padding: 0.6rem 1.15rem; background: var(--grad-warm); color: #fff;
box-shadow: 0 10px 24px -12px color-mix(in oklab, var(--pink) 70%, transparent)}
.cta-button:hover { color: #fff; border-color: transparent; transform: translateY(-1px); }
.dropdown-menu {position: absolute; left: 0; top: calc(100% + 0.7rem); min-width: 250px;
background: var(--paper); border: 1px solid var(--line-soft); border-radius: 16px; padding: 0.45rem;
opacity: 0; visibility: hidden; transform: translateY(8px); transition: all 0.2s ease;
box-shadow: var(--shadow)}
.dropdown-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -0.8rem; height: 0.8rem; }
.dropdown-menu a { display: block; padding: 0.6rem 0.75rem; border-radius: 10px; color: var(--ink-soft); font-weight: 600; font-size: 0.92rem; transition: background 0.18s, color 0.18s; }
.dropdown-menu a:hover { background: var(--pink-soft); color: var(--pink-strong); }
.has-submenu:hover .dropdown-menu, .has-submenu:focus-within .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.mobile-menu-btn { display: none; background: none; border: 0; color: var(--ink); font-size: 1.5rem; cursor: pointer; width: 48px; height: 48px; }
@media (max-width: 1080px) {.mobile-menu-btn { display: grid; place-items: center; }
body.nav-open { overflow: hidden; }
.main-nav {position: fixed; left: 0; right: 0; top: 80px; display: none;
background: var(--paper);
border-top: 1px solid var(--line-soft); padding: 1rem clamp(1rem, 4vw, 2rem) 2rem;
max-height: calc(100dvh - 80px); overflow-y: auto;
box-shadow: 0 24px 40px -24px color-mix(in oklab, var(--ink) 60%, transparent)}
.main-nav.is-open { display: block; }
.main-nav .nav-list { flex-direction: column; align-items: stretch; gap: 0; }
.nav-item { border-bottom: 1px solid var(--line-soft); }
.main-nav .nav-link { padding: 0.95rem 0.2rem; white-space: normal; font-size: 1.05rem; }
.header-actions { margin-left: auto; gap: 0.5rem; }
.header-actions .nav-phone { padding: 0.45rem 0.75rem; font-size: 0.88rem; }
.header-actions .cta-button { padding: 0.5rem 0.95rem; font-size: 0.9rem; }
.dropdown-menu {display: none;
position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none;
min-width: 0; border: 0; border-radius: 0; margin: 0 0 0.5rem 0.9rem; padding: 0.1rem 0 0.4rem; background: transparent}
.has-submenu.is-open > .dropdown-menu { display: block; }
.nav-link .ic-caret { transition: transform 0.2s ease; }
.has-submenu.is-open > .nav-link .ic-caret { transform: rotate(180deg); }
.dropdown-menu::before { content: none; }
}
@media (max-width: 560px) {.nav-phone__num { display: none; }
.header-actions .nav-phone { padding: 0.55rem; border-radius: 50%; }
.header-actions .nav-phone .ic { font-size: 1rem; opacity: 1; }
}
.hero { position: relative; overflow: hidden; padding-block: clamp(2.4rem, 1.5rem + 3.5vw, 4.8rem); }
.hero__bg1 { width: 460px; height: 460px; right: -90px; top: -90px; background: color-mix(in oklab, var(--orange) 60%, transparent); }
.hero__bg2 { width: 320px; height: 320px; left: 38%; top: 180px; background: color-mix(in oklab, var(--pink) 40%, transparent); }
.hero__bg3 { width: 300px; height: 300px; left: -100px; bottom: -60px; background: color-mix(in oklab, var(--teal) 45%, transparent); }
.hero__grid { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.tagrow { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.3rem; }
.tag { display: inline-flex; align-items: center; min-height: 32px; padding: 0.3rem 0.9rem; border-radius: 999px; font-size: 0.78rem; font-weight: 800; }
.tag--pink { background: var(--pink-soft); color: var(--pink-strong); }
.tag--blue { background: var(--teal-soft); color: var(--teal-strong); }
.tag--green { background: var(--sage-soft); color: var(--sage-strong); }
.hero__title { font-size: clamp(2.5rem, 1.7rem + 3.6vw, 4.5rem); font-weight: 300; line-height: 0.98; letter-spacing: -0.04em; }
.hero__title em { color: var(--pink); font-weight: 300; }
.hero__lede { margin-top: 1.5rem; font-size: clamp(1.05rem, 1rem + 0.4vw, 1.2rem); line-height: 1.75; color: var(--ink-soft); max-width: 46ch; }
.hero__lede strong { color: var(--ink); font-weight: 800; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.hero__meta { margin-top: 1.6rem; display: flex; align-items: center; gap: 0.6rem; font-size: 0.9rem; color: var(--ink-mute); }
.hero__meta .ic { color: var(--pink); }
.hero__media { position: relative; width: min(440px, 100%); justify-self: center; }
.hero__frame { position: relative; border-radius: var(--r-lg); padding: 0.9rem; background: color-mix(in oklab, var(--paper) 92%, transparent); box-shadow: var(--shadow-lg); }
.hero__frame::before {content: ""; position: absolute; inset: 14% 16% 12% 14%; border-radius: 24px; z-index: 0; filter: blur(18px);
background:
radial-gradient(circle at 32% 24%, color-mix(in oklab, var(--orange) 70%, transparent) 0%, transparent 26%),radial-gradient(circle at 64% 66%, color-mix(in oklab, var(--teal) 60%, transparent) 0%, transparent 26%),radial-gradient(circle at 34% 74%, color-mix(in oklab, var(--pink) 55%, transparent) 0%, transparent 20%),radial-gradient(circle at 74% 42%, color-mix(in oklab, var(--sage) 58%, transparent) 0%, transparent 18%)}
.hero__frame img { position: relative; z-index: 1; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center top; border-radius: 18px; }
.hero__badge { position: absolute; z-index: 2; display: grid; gap: 0.12rem; min-width: 118px; padding: 0.8rem 1rem; border-radius: 16px; background: color-mix(in oklab, var(--paper) 96%, transparent); box-shadow: 0 14px 30px -12px color-mix(in oklab, var(--ink) 50%, transparent); }
.hero__badge strong { font-family: var(--display); font-size: 1.45rem; line-height: 1; }
.hero__badge span { font-size: 0.78rem; color: var(--ink-mute); }
.hero__badge--a { top: -0.7rem; right: -1rem; } .hero__badge--a strong { color: var(--teal-strong); }
.hero__badge--b { bottom: 1.6rem; left: -1rem; } .hero__badge--b strong { color: var(--pink-strong); }
@media (max-width: 880px) {.hero__grid { grid-template-columns: 1fr; }
.hero__media { order: -1; width: min(330px, 100%); }
.hero__lede { max-width: none; }
}
.trust { border-block: 1px solid var(--line-soft); background: var(--cream); padding-block: 1.6rem; }
.trust__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.trust__item { display: flex; align-items: center; gap: 0.85rem; font-size: 0.88rem; color: var(--ink-soft); line-height: 1.35; }
.trust__ico { flex-shrink: 0; width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; font-size: 1.15rem; }
.trust__item:nth-child(1) .trust__ico { background: var(--pink-soft); color: var(--pink-strong); }
.trust__item:nth-child(2) .trust__ico { background: var(--teal-soft); color: var(--teal-strong); }
.trust__item:nth-child(3) .trust__ico { background: var(--violet-soft); color: var(--violet-strong); }
.trust__item:nth-child(4) .trust__ico { background: var(--sage-soft); color: var(--sage-strong); }
.trust__item strong { display: block; color: var(--ink); font-weight: 800; font-size: 0.94rem; }
@media (max-width: 880px) { .trust__list { grid-template-columns: repeat(2, 1fr); gap: 1.1rem 1.25rem; } }
@media (max-width: 460px) { .trust__list { grid-template-columns: 1fr; } }
.head { margin-bottom: clamp(2.2rem, 1.5rem + 2vw, 3.4rem); }
.head--split { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: end; }
.head h2 { font-size: clamp(2.1rem, 1.5rem + 2.6vw, 3.5rem); font-weight: 300; }
.head h2 em { color: var(--pink); }
.head__intro { color: var(--ink-soft); font-size: 1.06rem; line-height: 1.75; }
.head__intro strong { color: var(--ink); }
.head--center { text-align: center; }
.head--center .eyebrow { justify-content: center; }
.head--center .head__intro { margin-inline: auto; max-width: 58ch; }
@media (max-width: 820px) { .head--split { grid-template-columns: 1fr; gap: 1rem; } }
.espaces { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 880px) { .espaces { grid-template-columns: 1fr; } }
.espace {display: flex; flex-direction: column; gap: 0.85rem; padding: 2rem 1.9rem;
border-radius: var(--r-lg); background: var(--paper); box-shadow: var(--shadow);
border: 1px solid var(--line-soft); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease}
.espace:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.espace__mark { font-family: var(--display); font-size: 2.4rem; line-height: 1; opacity: 0.32; }
.espace__tag { display: inline-flex; align-self: flex-start; padding: 0.3rem 0.75rem; border-radius: 999px; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.espace__title { font-size: 1.8rem; font-weight: 600; letter-spacing: -0.03em; }
.espace__summary { font-size: 1.08rem; font-weight: 800; color: var(--ink); }
.espace__desc { font-size: 0.95rem; color: var(--ink-soft); }
.espace__bullets { display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.9rem; }
.espace__bullets li { display: flex; gap: 0.55rem; align-items: baseline; color: var(--ink-soft); }
.espace__bullets li::before { content: ""; flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; transform: translateY(-2px); }
.espace__foot { margin-top: auto; padding-top: 1.3rem; border-top: 1px solid var(--line-soft); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.espace__price { font-size: 0.78rem; color: var(--ink-mute); }
.espace__price strong { display: block; font-family: var(--display); font-size: 1.3rem; color: var(--ink); }
.espace__price strong span { font-size: 0.78rem; font-weight: 400; color: var(--ink-mute); }
.espace__link { border: 0; background: none; cursor: pointer; font-family: var(--sans); font-weight: 800; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 0.4rem; }
.espace__link .ic { transition: transform 0.2s ease; }
.espace__link:hover .ic { transform: translateX(4px); }
.espace--pink .espace__mark, .espace--pink .espace__title, .espace--pink .espace__link, .espace--pink .espace__bullets li::before { color: var(--pink-strong); }
.espace--pink .espace__bullets li::before { background: var(--pink); }
.espace--pink .espace__tag { background: var(--pink-soft); color: var(--pink-strong); }
.espace--pink:hover { border-color: color-mix(in oklab, var(--pink) 40%, transparent); }
.espace--blue .espace__mark, .espace--blue .espace__title, .espace--blue .espace__link { color: var(--teal-strong); }
.espace--blue .espace__bullets li::before { background: var(--teal); }
.espace--blue .espace__tag { background: var(--teal-soft); color: var(--teal-strong); }
.espace--blue:hover { border-color: color-mix(in oklab, var(--teal) 40%, transparent); }
.espace--green .espace__mark, .espace--green .espace__title, .espace--green .espace__link { color: var(--sage-strong); }
.espace--green .espace__bullets li::before { background: var(--sage); }
.espace--green .espace__tag { background: var(--sage-soft); color: var(--sage-strong); }
.espace--green:hover { border-color: color-mix(in oklab, var(--sage) 40%, transparent); }
.specifics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (max-width: 960px) { .specifics { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .specifics { grid-template-columns: 1fr; } }
.spec { display: flex; flex-direction: column; gap: 0.7rem; padding: 1.7rem; border-radius: var(--r); background: var(--paper); box-shadow: var(--shadow); border: 1px solid var(--line-soft); }
.spec__ico { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; font-size: 1.2rem; }
.spec:nth-child(1) .spec__ico { background: var(--violet-soft); color: var(--violet-strong); }
.spec:nth-child(2) .spec__ico { background: var(--teal-soft); color: var(--teal-strong); }
.spec:nth-child(3) .spec__ico { background: var(--pink-soft); color: var(--pink-strong); }
.spec:nth-child(4) .spec__ico { background: var(--sage-soft); color: var(--sage-strong); }
.spec__title { font-size: 1.28rem; font-weight: 600; }
.spec__desc { font-size: 0.9rem; color: var(--ink-soft); }
.bio__grid { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: clamp(2rem, 4vw, 4rem); align-items: start; }
@media (max-width: 880px) { .bio__grid { grid-template-columns: 1fr; } }
.bio__aside { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 1rem; }
@media (max-width: 880px) { .bio__aside { position: static; } }
.bio__portrait { position: relative; border-radius: var(--r-lg); padding: 0.85rem; background: color-mix(in oklab, var(--paper) 92%, transparent); box-shadow: var(--shadow); }
.bio__portrait::before { content: ""; position: absolute; inset: 12% 14%; border-radius: 22px; z-index: 0; filter: blur(16px); background: radial-gradient(circle at 30% 30%, color-mix(in oklab, var(--pink) 45%, transparent), transparent 42%), radial-gradient(circle at 70% 70%, color-mix(in oklab, var(--teal) 45%, transparent), transparent 42%); }
.bio__portrait img { position: relative; z-index: 1; width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 16px; }
.bio__creds { padding: 1.3rem 1.4rem; border-radius: var(--r); background: var(--violet-soft); }
.bio__creds h3 { font-family: var(--sans); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 0.7rem; }
.bio__creds ul { display: flex; flex-direction: column; gap: 0.45rem; }
.bio__creds li { display: flex; gap: 0.55rem; align-items: baseline; font-size: 0.9rem; color: var(--ink-soft); }
.bio__creds li::before { content: ""; flex-shrink: 0; width: 0.95em; height: 0.95em; margin-top: 0.2em; background-color: var(--violet-strong); -webkit-mask: var(--check-mask) center/contain no-repeat; mask: var(--check-mask) center/contain no-repeat; }
.bio__body h2 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); font-weight: 300; }
.bio__body h2 em { color: var(--pink); }
.bio__body p { margin-top: 1.2rem; font-size: 1.04rem; line-height: 1.8; color: var(--ink-soft); max-width: 62ch; }
.bio__body strong { color: var(--ink); font-weight: 800; }
.bio__body em.intext { color: var(--pink-strong); font-style: italic; }
.pull { margin: 2.2rem 0; padding-left: 1.5rem; border-left: 3px solid var(--pink); font-family: var(--display); font-style: italic; font-size: 1.55rem; line-height: 1.3; color: var(--ink); max-width: 38ch; }
.pull cite { display: block; margin-top: 0.7rem; font-family: var(--sans); font-style: normal; font-size: 0.8rem; letter-spacing: 0.06em; color: var(--ink-mute); }
.pull cite::before { content: "— "; }
.bio__cta { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.8rem; }
.aud { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media (max-width: 880px) { .aud { grid-template-columns: 1fr; } }
.audcard { display: flex; flex-direction: column; gap: 1.2rem; padding: 2.2rem; border-radius: var(--r-lg); background: var(--paper); box-shadow: var(--shadow); border: 1px solid var(--line-soft); }
.audcard__head { display: flex; align-items: center; gap: 1rem; }
.audcard__ico { flex-shrink: 0; width: 54px; height: 54px; border-radius: 15px; display: grid; place-items: center; font-size: 1.4rem; }
.audcard--pink .audcard__ico { background: var(--pink-soft); color: var(--pink-strong); }
.audcard--blue .audcard__ico { background: var(--teal-soft); color: var(--teal-strong); }
.audcard__title { font-size: 1.65rem; font-weight: 600; }
.audcard__sub { font-size: 0.85rem; color: var(--ink-mute); margin-top: 2px; }
.audcard__desc { color: var(--ink-soft); }
.audcard__pills { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.pill { font-size: 0.8rem; padding: 0.35rem 0.8rem; border-radius: 999px; background: var(--cream); border: 1px solid var(--line-soft); color: var(--ink-soft); }
.audcard__cta { margin-top: auto; }
.tarifs__switch-wrap { display: flex; justify-content: center; margin-bottom: 2.2rem; }
.tarifs__switch { display: inline-flex; gap: 0.25rem; padding: 0.3rem; border-radius: 999px; background: var(--paper); box-shadow: var(--shadow); border: 1px solid var(--line-soft); flex-wrap: wrap; justify-content: center; }
.tarifs__switch button { border: 0; cursor: pointer; padding: 0.6rem 1.1rem; border-radius: 999px; font-family: var(--sans); font-weight: 800; font-size: 0.86rem; color: var(--ink-soft); background: none; transition: background 0.2s, color 0.2s; }
.tarifs__switch button[aria-selected="true"] { background: var(--grad-warm); color: #fff; }
.tarifs__panel[hidden] { display: none; }
.tarifs__table { border-radius: var(--r-lg); overflow: hidden; background: var(--paper); box-shadow: var(--shadow); border: 1px solid var(--line-soft); }
.trow { display: grid; grid-template-columns: 1.5fr 0.7fr 0.8fr 0.9fr; align-items: center; gap: 1rem; padding: 1.1rem 1.5rem; border-bottom: 1px solid var(--line-soft); }
.trow:last-child { border-bottom: 0; }
.trow--head { background: var(--cream); font-family: var(--sans); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-mute); }
.trow--hl { background: linear-gradient(90deg, var(--pink-soft), transparent 72%); }
.tserv { font-family: var(--display); font-size: 1.12rem; font-weight: 600; }
.tserv span { display: block; font-family: var(--sans); font-size: 0.82rem; font-weight: 400; color: var(--ink-mute); margin-top: 2px; }
.tdur { font-size: 0.9rem; color: var(--ink-mute); }
.tprice { font-family: var(--display); font-size: 1.38rem; font-weight: 600; }
.tprice span { font-size: 0.8rem; font-family: var(--sans); font-weight: 400; color: var(--ink-mute); }
@media (max-width: 760px) {.trow { grid-template-columns: 1fr auto; gap: 0.35rem 1rem; }
.trow--head { display: none; }
.tdur { grid-column: 1; } .tprice { grid-column: 2; grid-row: 1; text-align: right; }
.trow .btn { grid-column: 1 / -1; justify-self: start; margin-top: 0.4rem; }
}
.tarifs__note { margin-top: 1.4rem; text-align: center; font-size: 0.85rem; color: var(--ink-mute); }
.rdv { background: var(--ink); color: #fff; overflow: hidden; }
.rdv .eyebrow { color: rgba(255,255,255,0.6); }
.rdv .eyebrow::before { background: var(--orange); }
.rdv__grid { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
@media (max-width: 880px) { .rdv__grid { grid-template-columns: 1fr; } }
.rdv h2 { color: #fff; font-size: clamp(2.1rem, 1.6rem + 2.4vw, 3.3rem); font-weight: 300; }
.rdv h2 em { color: color-mix(in oklab, var(--orange) 85%, white); }
.rdv__lede { margin-top: 1.3rem; color: rgba(255,255,255,0.78); font-size: 1.04rem; line-height: 1.7; }
.rdv__options { display: flex; flex-direction: column; gap: 0.7rem; margin-top: 2rem; }
.rdvopt { display: flex; align-items: center; gap: 1rem; width: 100%; text-align: left; padding: 1rem 1.2rem; border-radius: var(--r); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); color: #fff; cursor: pointer; text-decoration: none; transition: background 0.2s, border-color 0.2s; }
.rdvopt:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.28); }
.rdvopt__ico { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: rgba(255,255,255,0.1); display: grid; place-items: center; font-size: 1.05rem; }
.rdvopt__t { display: block; font-family: var(--display); font-size: 1.05rem; font-weight: 600; }
.rdvopt__s { display: block; font-size: 0.82rem; color: rgba(255,255,255,0.62); margin-top: 3px; }
.rdvopt__arrow { margin-left: auto; opacity: 0.6; }
.rdvopt--primary { background: var(--grad-warm); border-color: transparent; box-shadow: 0 12px 28px -10px color-mix(in oklab, var(--pink) 70%, transparent); }
.rdvopt--primary .rdvopt__ico { background: rgba(255,255,255,0.22); }
.rdvopt--primary .rdvopt__s { color: rgba(255,255,255,0.85); }
.booking { background: var(--paper); color: var(--ink); border-radius: var(--r-lg); padding: 1.5rem; box-shadow: var(--shadow-lg); }
.booking__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1.2rem; margin-bottom: 1.2rem; border-bottom: 1px solid var(--line-soft); }
.booking__head h3 { font-size: 1.2rem; font-weight: 600; }
.booking__head h3 span { display: block; font-family: var(--sans); font-size: 0.8rem; font-weight: 400; color: var(--ink-mute); margin-top: 2px; }
.booking__badge { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.3rem 0.65rem; border-radius: 999px; background: var(--teal-soft); color: var(--teal-strong); font-size: 0.72rem; font-weight: 800; }
.booking__frame { border-radius: 14px; overflow: hidden; background: #fff; }
.booking__frame iframe { display: block; width: 100%; height: 720px; border: 0; }
@media (max-width: 880px) { .booking__frame iframe { height: 920px; } }
.pay { margin-top: 1rem; display: flex; align-items: center; gap: 0.7rem; padding: 0.85rem 1rem; border-radius: 14px; background: var(--violet-soft); font-size: 0.82rem; color: var(--ink-soft); }
.pay .ic { color: var(--violet-strong); font-size: 1.1rem; }
.quote { position: relative; overflow: hidden; padding-block: clamp(4rem, 3rem + 4vw, 6.5rem); }
.quote__bg1 { width: 280px; height: 280px; left: -60px; top: 0; background: color-mix(in oklab, var(--orange) 45%, transparent); }
.quote__bg2 { width: 280px; height: 280px; right: -50px; bottom: 0; background: color-mix(in oklab, var(--teal) 48%, transparent); }
.quote__inner { display: flex; align-items: center; justify-content: center; gap: clamp(1.5rem, 4vw, 3.75rem); flex-wrap: wrap; }
.quote__img { width: clamp(160px, 20vw, 220px); height: auto; border-radius: 16px; box-shadow: var(--shadow); position: relative; z-index: 1; }
.quote blockquote { max-width: 22ch; font-family: var(--display); font-style: italic; font-weight: 300; font-size: clamp(2rem, 1.4rem + 3vw, 3.3rem); line-height: 1.3; color: var(--ink); }
.quote cite { display: block; margin-top: 1.3rem; font-family: var(--sans); font-style: normal; font-size: 0.9rem; color: var(--ink-mute); }
@media (max-width: 640px) { .quote__inner { flex-direction: column; } .quote blockquote { text-align: center; } }
.faq__grid { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
@media (max-width: 880px) { .faq__grid { grid-template-columns: 1fr; gap: 1.2rem; } }
.faq__head h2 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); font-weight: 300; }
.faq__head h2 em { color: var(--pink); }
.faq__head p { margin-top: 1rem; color: var(--ink-soft); }
.faq__list { display: flex; flex-direction: column; }
.faqitem { border-bottom: 1px solid var(--line); }
.faqitem summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.3rem 0.25rem; font-family: var(--display); font-size: 1.16rem; font-weight: 600; color: var(--ink); }
.faqitem summary::-webkit-details-marker { display: none; }
.faqitem summary:hover { color: var(--pink-strong); }
.faqitem__ico { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--line); display: grid; place-items: center; transition: transform 0.25s ease, background 0.2s, color 0.2s; }
.faqitem[open] .faqitem__ico { transform: rotate(45deg); background: var(--pink); color: #fff; border-color: var(--pink); }
.faqitem__body { padding: 0 0.25rem 1.3rem; }
.faqitem__body p { color: var(--ink-soft); line-height: 1.7; max-width: 70ch; }
.faqitem__body p + p { margin-top: 0.7rem; }
.faqitem__body .espace__link { color: var(--pink-strong); }
.finalcta { padding-bottom: clamp(4rem, 3rem + 3vw, 6rem); }
.finalcta__card { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2.5rem, 2rem + 3vw, 4.5rem); border-radius: var(--r-lg); background: var(--grad-spectrum); box-shadow: 0 30px 60px -28px color-mix(in oklab, var(--pink) 60%, transparent); }
.finalcta__card h2 { color: #fff; font-size: clamp(2.2rem, 1.6rem + 2.6vw, 3.6rem); font-weight: 300; font-style: italic; line-height: 0.98; }
.finalcta__card p { margin-top: 0.7rem; color: rgba(255,255,255,0.92); }
@media (max-width: 720px) { .finalcta__card { flex-direction: column; align-items: flex-start; } }
footer { background: var(--cream-2); border-top: 1px solid var(--line-soft); }
.footer-container { width: var(--shell); margin-inline: auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2rem; padding-block: clamp(2.8rem, 2rem + 2vw, 4rem); }
@media (max-width: 880px) { .footer-container { grid-template-columns: 1fr 1fr; gap: 1.8rem; } }
@media (max-width: 520px) { .footer-container { grid-template-columns: 1fr; } }
.footer-col h3 { font-family: var(--display); font-size: 1.2rem; font-weight: 600; margin-bottom: 0.8rem; }
.footer-col p { font-size: 0.9rem; color: var(--ink-soft); margin-bottom: 0.5rem; }
.footer-col .ic { width: 1.1em; margin-right: 0.4rem; color: var(--pink-strong); }
.footer-col a:hover { color: var(--pink-strong); text-decoration: underline; text-underline-offset: 0.2em; }
.footer-menu { display: flex; flex-direction: column; gap: 0.45rem; }
.footer-menu a { font-size: 0.9rem; color: var(--ink-soft); }
.footer-bottom { border-top: 1px solid var(--line-soft); }
.footer-bottom p { width: var(--shell); margin-inline: auto; padding-block: 1.3rem; font-size: 0.82rem; color: var(--ink-mute); }
.fab { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 1100; display: flex; flex-direction: column; align-items: flex-end; gap: 0.7rem; }
.fab__options { display: flex; flex-direction: column; align-items: flex-end; gap: 0.7rem; }
.fab__options[hidden] { display: none; }
.fab__opt-row { display: flex; align-items: center; gap: 0.6rem; }
.fab__label { background: var(--paper); color: var(--ink); font-weight: 800; font-size: 0.82rem; padding: 0.4rem 0.75rem; border-radius: 999px; box-shadow: var(--shadow); }
.fab__btn { width: 56px; height: 56px; border-radius: 50%; border: 0; display: grid; place-items: center; font-size: 1.15rem; color: #fff; cursor: pointer; box-shadow: 0 10px 24px -8px color-mix(in oklab, var(--ink) 50%, transparent); transition: transform 0.18s ease, box-shadow 0.2s ease; }
.fab__btn:hover { transform: translateY(-2px); }
.fab__btn--rdv { background: var(--grad-warm); }
.fab__btn--tel { background: var(--teal); }
.fab__trigger { position: relative; background: var(--grad-warm); }
.fab.is-open .fab__trigger { background: var(--ink); }
.fab__trigger::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--pink); animation: fabPulse 2.6s ease-out infinite; pointer-events: none; }
.fab.is-open .fab__trigger::after { animation: none; opacity: 0; }
.fab__trigger .icon-close { display: none; }
.fab.is-open .fab__trigger .icon-open { display: none; }
.fab.is-open .fab__trigger .icon-close { display: block; }
@keyframes fabPulse { 0%{transform:scale(1);opacity:0.65;} 70%{transform:scale(1.5);opacity:0;} 100%{transform:scale(1.5);opacity:0;} }
@media (prefers-reduced-motion: reduce) { .fab__trigger::after { animation: none; opacity: 0; } }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }
.breadcrumb { width: var(--shell); margin: 1.4rem auto 0; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.82rem; color: var(--ink-mute); }
.breadcrumb li { display: flex; gap: 0.4rem; align-items: center; }
.breadcrumb li:not(:last-child)::after { content: "/"; color: var(--line); }
.breadcrumb a:hover { color: var(--pink-strong); }
.ihero { position: relative; overflow: hidden; padding-block: clamp(2.4rem, 1.8rem + 3vw, 4.4rem); }
.ihero__inner { width: var(--shell); margin-inline: auto; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: center; position: relative; z-index: 1; }
.ihero--center .ihero__inner { grid-template-columns: 1fr; max-width: 760px; text-align: center; justify-items: center; }
@media (max-width: 880px) { .ihero__inner { grid-template-columns: 1fr; } .ihero__media { order: -1; max-width: 320px; } }
.ihero__chip { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.95rem; border-radius: 999px; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.04em; background: var(--pink-soft); color: var(--pink-strong); margin-bottom: 1.1rem; }
.ihero__title { font-size: clamp(2.3rem, 1.6rem + 3vw, 4rem); font-weight: 300; line-height: 1; letter-spacing: -0.04em; }
.ihero__title em { color: var(--pink); }
.ihero__lead { margin-top: 1.3rem; font-size: 1.1rem; line-height: 1.75; color: var(--ink-soft); max-width: 52ch; }
.ihero--center .ihero__lead { margin-inline: auto; }
.ihero__meta { margin-top: 1.2rem; font-size: 0.9rem; color: var(--ink-mute); }
.ihero__meta .ic { color: var(--pink); margin-right: 0.3rem; }
.ihero__actions { margin-top: 1.8rem; display: flex; flex-wrap: wrap; gap: 0.8rem; }
.ihero--center .ihero__actions { justify-content: center; }
.ihero__media { position: relative; border-radius: var(--r-lg); padding: 0.85rem; background: color-mix(in oklab, var(--paper) 92%, transparent); box-shadow: var(--shadow-lg); }
.ihero__media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 18px; }
.ihero--violet .ihero__chip { background: var(--violet-soft); color: var(--violet-strong); }
.ihero--violet .ihero__title em { color: var(--violet); }
.ihero--blue .ihero__chip { background: var(--teal-soft); color: var(--teal-strong); }
.ihero--blue .ihero__title em { color: var(--teal-strong); }
.ihero--green .ihero__chip { background: var(--sage-soft); color: var(--sage-strong); }
.ihero--green .ihero__title em { color: var(--sage-strong); }
.svc { padding-block: clamp(3rem, 2.5rem + 2.5vw, 5rem); }
.svc--cream { background: var(--cream); }
.svc--dark { background: var(--ink); color: #fff; }
.svc--dark h2, .svc--dark .svc-callout { color: #fff; }
.svc--dark .svc__lead p, .svc--dark .svc-note { color: rgba(255,255,255,0.78); }
.svc--dark .eyebrow { color: rgba(255,255,255,0.6); }
.svc__inner { width: var(--shell); margin-inline: auto; }
.svc__head { margin-bottom: 1.6rem; max-width: 760px; }
.svc__head h2 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem); font-weight: 300; margin-top: 0.5rem; }
.svc__head h2 em { color: var(--pink); }
.svc__lead { margin-top: 1rem; }
.svc__lead p { color: var(--ink-soft); font-size: 1.04rem; line-height: 1.8; }
.svc__lead p + p { margin-top: 0.8rem; }
.svc__lead strong { color: var(--ink); font-weight: 800; }
.svc-split { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
@media (max-width: 820px) { .svc-split { grid-template-columns: 1fr; } }
.svc-split h2 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem); font-weight: 300; margin: 0.5rem 0; }
.svc-split h2 em { color: var(--pink); }
.svc-split__media { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow); }
.svc-split__media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.svc-callout { margin-top: 2rem; font-family: var(--display); font-style: italic; font-size: clamp(1.15rem, 1rem + 0.8vw, 1.5rem); color: var(--ink); padding-left: 1.4rem; border-left: 3px solid var(--pink); max-width: 60ch; }
.svc-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.85rem 1.6rem; margin-top: 0.5rem; }
.svc-checks:has(> li:last-child:nth-child(odd)) { grid-template-columns: 1fr; }
@media (max-width: 680px) { .svc-checks { grid-template-columns: 1fr; } }
.svc-checks li { display: flex; gap: 0.7rem; align-items: baseline; font-size: 1rem; color: var(--ink-soft); }
.svc-checks--stack { grid-template-columns: 1fr; }
.svc-checks .ic { color: var(--sage-strong); font-size: 1rem; }
.svc--dark .svc-checks li { color: rgba(255,255,255,0.85); }
.svc--dark .svc-checks .ic { color: color-mix(in oklab, var(--sage) 70%, white); }
.svc-checks a { color: var(--pink-strong); text-decoration: underline; text-underline-offset: 0.2em; }
.svc--dark .svc-checks a { color: color-mix(in oklab, var(--orange) 80%, white); }
.svc-note { margin-top: 1.4rem; color: var(--ink-soft); font-size: 0.98rem; max-width: 64ch; }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 820px) { .path-grid { grid-template-columns: 1fr; } }
.path-step { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r); padding: 1.5rem; box-shadow: var(--shadow); }
.step-badge { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--grad-warm); color: #fff; font-family: var(--display); font-weight: 600; margin-bottom: 0.8rem; }
.path-step:nth-child(2) .step-badge { background: var(--teal); }
.path-step:nth-child(3) .step-badge { background: var(--sage); }
.path-step h3 { font-size: 1.4rem; font-weight: 600; margin-bottom: 0.4rem; }
.path-step p { color: var(--ink-soft); font-size: 0.96rem; }
.tile-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.tile-grid--three { grid-template-columns: repeat(3, 1fr); }
.tile-grid--two { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 820px) { .tile-grid--three, .tile-grid--two { grid-template-columns: 1fr; } }
.tile { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r); padding: 1.5rem; box-shadow: var(--shadow); }
.tile h3 { font-size: 1.45rem; font-weight: 600; margin-bottom: 0.5rem; }
.tile p { color: var(--ink-soft); font-size: 0.96rem; }
.tile p + p { margin-top: 0.7rem; }
.tile-list { display: grid; gap: 0.5rem; margin: 0.85rem 0; }
.tile-list li { position: relative; padding-left: 1.1rem; color: var(--ink-soft); font-size: 0.95rem; }
.tile-list li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 6px; height: 6px; border-radius: 50%; background: var(--pink); }
.irelated { padding-block: clamp(3rem, 2.5rem + 2vw, 4.5rem); background: var(--cream); }
.irelated__inner { width: var(--shell); margin-inline: auto; }
.irelated__head { margin-bottom: 1.8rem; }
.irelated__head h2 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem); font-weight: 300; margin-top: 0.4rem; }
.irelated__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 820px) { .irelated__grid { grid-template-columns: 1fr; } }
.irelcard { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.7rem; border-radius: var(--r); background: var(--paper); box-shadow: var(--shadow); border: 1px solid var(--line-soft); transition: transform 0.22s ease, box-shadow 0.22s ease; }
.irelcard:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.irelcard__tag { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.irelcard h3 { font-size: 1.5rem; font-weight: 600; }
.irelcard p { color: var(--ink-soft); font-size: 0.94rem; flex: 1; }
.irelcard__more { font-weight: 800; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 0.4rem; }
.irelcard__more .ic { transition: transform 0.2s; }
.irelcard:hover .irelcard__more .ic { transform: translateX(4px); }
.irelcard--pink .irelcard__tag, .irelcard--pink h3, .irelcard--pink .irelcard__more { color: var(--pink-strong); }
.irelcard--blue .irelcard__tag, .irelcard--blue h3, .irelcard--blue .irelcard__more { color: var(--teal-strong); }
.irelcard--green .irelcard__tag, .irelcard--green h3, .irelcard--green .irelcard__more { color: var(--sage-strong); }
.irelcard--violet .irelcard__tag, .irelcard--violet h3, .irelcard--violet .irelcard__more { color: var(--violet-strong); }
.icta { padding-block: clamp(3rem, 2.5rem + 2vw, 4.5rem); }
.icta__card { width: var(--shell); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(2.2rem, 1.8rem + 2.5vw, 3.8rem); border-radius: var(--r-lg); background: var(--grad-spectrum); box-shadow: 0 30px 60px -28px color-mix(in oklab, var(--pink) 60%, transparent); }
.icta__card h2 { color: #fff; font-size: clamp(1.9rem, 1.5rem + 2vw, 3rem); font-weight: 300; font-style: italic; }
.icta__card p { margin-top: 0.6rem; color: rgba(255,255,255,0.92); }
@media (max-width: 680px) { .icta__card { flex-direction: column; align-items: flex-start; } }
.svc-pillars { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
@media (max-width: 880px) { .svc-pillars { grid-template-columns: 1fr; } }
.svc-pillars__intro h2 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem); font-weight: 300; margin-top: 0.5rem; }
.svc-pillars__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 560px) { .svc-pillars__grid { grid-template-columns: 1fr; } }
.svc-pillars__card { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r); padding: 1.4rem; box-shadow: var(--shadow); }
.svc-pillars__card .ic { font-size: 1.4rem; color: var(--pink-strong); margin-bottom: 0.7rem; }
.svc-pillars__card:nth-child(2) .ic { color: var(--teal-strong); }
.svc-pillars__card:nth-child(3) .ic { color: var(--sage-strong); }
.svc-pillars__card:nth-child(4) .ic { color: var(--violet-strong); }
.svc-pillars__card h3 { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.35rem; }
.svc-pillars__card p { color: var(--ink-soft); font-size: 0.93rem; }
.svc--dark .svc-pillars__card { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); }
.svc--dark .svc-pillars__card p { color: rgba(255,255,255,0.75); }
.svc-method { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 760px) { .svc-method { grid-template-columns: 1fr; } }
.svc-method__card { position: relative; background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r); padding: 1.6rem; box-shadow: var(--shadow); overflow: hidden; }
.svc-method__n { position: absolute; top: 0.6rem; right: 1rem; font-family: var(--display); font-size: 3rem; line-height: 1; color: var(--pink); opacity: 0.16; }
.svc-method__card:nth-child(2) .svc-method__n { color: var(--teal); }
.svc-method__card:nth-child(3) .svc-method__n { color: var(--sage); }
.svc-method__ico { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; font-size: 1.2rem; background: var(--pink-soft); color: var(--pink-strong); margin-bottom: 0.9rem; }
.svc-method__card:nth-child(2) .svc-method__ico { background: var(--teal-soft); color: var(--teal-strong); }
.svc-method__card:nth-child(3) .svc-method__ico { background: var(--sage-soft); color: var(--sage-strong); }
.svc-method__card h3 { font-size: 1.35rem; font-weight: 600; margin-bottom: 0.35rem; }
.svc-method__card p { color: var(--ink-soft); font-size: 0.95rem; }
.jcards { display: grid; gap: 1rem; margin-top: 1.4rem; }
.jcards--2 { grid-template-columns: repeat(2, 1fr); }
.jcards--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 720px) { .jcards--2, .jcards--3 { grid-template-columns: 1fr; } }
.jcard { border-radius: var(--r); overflow: hidden; background: var(--paper); box-shadow: var(--shadow); border: 1px solid var(--line-soft); }
.jcard img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.jcard figcaption { padding: 0.85rem 1rem; font-size: 0.88rem; color: var(--ink-soft); }
.mblock__kicker { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--pink-strong); }
.mblock__intro { margin-top: 0.5rem; color: var(--ink-soft); font-size: 1.04rem; line-height: 1.8; max-width: 64ch; }
.mblock__intro strong { color: var(--ink); }
.ifaq { width: var(--shell); margin: 0 auto; padding-block: clamp(3rem, 2.5rem + 2vw, 4.5rem); }
.ifaq__head { margin-bottom: 1.6rem; }
.ifaq__head h2 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem); font-weight: 300; margin-top: 0.4rem; }
.svc-finalcta { padding-block: clamp(3rem, 2.5rem + 2vw, 4.5rem); }
.svc-finalcta__card { width: var(--shell); margin: 0 auto; text-align: center; padding: clamp(2.5rem, 2rem + 3vw, 4rem); border-radius: var(--r-lg); background: var(--grad-spectrum); box-shadow: 0 30px 60px -28px color-mix(in oklab, var(--pink) 60%, transparent); }
.svc-finalcta__card h2 { color: #fff; font-size: clamp(2rem, 1.5rem + 2.4vw, 3.2rem); font-weight: 300; font-style: italic; }
.svc-finalcta__card .svc__lead { color: rgba(255,255,255,0.92); margin-top: 0.6rem; }
.svc-finalcta__card .svc__lead p { color: rgba(255,255,255,0.92); }
.svc-finalcta__card .ihero__actions { margin-top: 1.6rem; }
.svc-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
@media (max-width: 760px) { .svc-steps { grid-template-columns: 1fr; } }
.svc-step { position: relative; padding-left: 0.2rem; }
.svc-step__n { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--grad-warm); color: #fff; font-family: var(--display); font-size: 1.2rem; font-weight: 600; margin-bottom: 0.8rem; }
.svc-steps .svc-step:nth-child(2) .svc-step__n { background: var(--teal); }
.svc-steps .svc-step:nth-child(3) .svc-step__n { background: var(--sage); }
.svc-step h3 { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.3rem; }
.svc-step p { color: var(--ink-soft); font-size: 0.95rem; }
.svc--dark .svc-step p { color: rgba(255,255,255,0.78); }
.ifig-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.8rem; }
@media (max-width: 720px) { .ifig-pair { grid-template-columns: 1fr; } }
.iprose-figure { border-radius: var(--r); overflow: hidden; background: var(--paper); box-shadow: var(--shadow); border: 1px solid var(--line-soft); }
.iprose-figure img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.iprose-figure figcaption { padding: 0.85rem 1rem; font-size: 0.88rem; color: var(--ink-soft); }
.tariff-list { margin-top: 1.2rem; border: 1px solid var(--line-soft); border-radius: var(--r); overflow: hidden; background: var(--paper); box-shadow: var(--shadow); max-width: 640px; }
.tariff-list li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.95rem 1.3rem; border-bottom: 1px solid var(--line-soft); }
.tariff-list li:last-child { border-bottom: 0; }
.tariff-list li span { color: var(--ink-soft); }
.tariff-list li strong { font-family: var(--display); font-size: 1.25rem; font-weight: 600; color: var(--ink); white-space: nowrap; }
.imedia-row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; margin-top: 1.8rem; }
.imedia-row + .imedia-row { margin-top: 2.4rem; }
@media (max-width: 760px) { .imedia-row, .imedia-row--rev { grid-template-columns: 1fr; } .imedia-row--rev .iprose-figure { order: -1; } }
.imedia-row .iprose-figure img { aspect-ratio: 4/3; }
.imedia-kicker { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sage-strong); margin-bottom: 0.5rem; }
.imedia-row__text p:not(.imedia-kicker) { color: var(--ink-soft); font-size: 1.04rem; line-height: 1.8; }
.imedia-row__text strong { color: var(--ink); }
.iwrap { width: var(--shell); margin: 0 auto; padding-block: clamp(2.5rem, 2rem + 2vw, 4rem); }
.tariff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 880px) { .tariff-grid { grid-template-columns: 1fr; } }
.tariff-block { background: var(--paper); border: 1px solid var(--line-soft); border-top: 4px solid var(--pink); border-radius: var(--r); padding: 1.7rem; box-shadow: var(--shadow); }
.tariff-grid .tariff-block:nth-child(2) { border-top-color: var(--teal); }
.tariff-grid .tariff-block:nth-child(3) { border-top-color: var(--sage); }
.tariff-block h2 { font-size: 1.6rem; font-weight: 600; }
.tariff-intent { color: var(--ink-mute); font-style: italic; margin-bottom: 1rem; }
.tariff-block .tariff-list { box-shadow: none; border: 0; border-radius: 0; max-width: none; margin-top: 0.5rem; }
.tariff-block .tariff-list li { padding: 0.7rem 0; }
.tariff-block .tariff-list li strong { font-size: 1.1rem; }
.iprose { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r); padding: clamp(1.6rem, 1.2rem + 1.5vw, 2.4rem); box-shadow: var(--shadow); max-width: 820px; margin: 0 auto; }
.iprose--pink { border-left: 4px solid var(--pink); }
.iprose h2 { font-size: 1.6rem; font-weight: 600; margin-bottom: 0.8rem; }
.iprose p { color: var(--ink-soft); line-height: 1.8; margin-bottom: 0.9rem; }
.iprose ul { list-style: disc; padding-left: 1.3rem; display: grid; gap: 0.4rem; }
.iprose li { color: var(--ink-soft); line-height: 1.7; }
.icontact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 820px) { .icontact-grid { grid-template-columns: 1fr; } }
.icontact-card { background: var(--paper); border: 1px solid var(--line-soft); border-radius: var(--r); padding: 1.7rem; box-shadow: var(--shadow); }
.icontact-card__ico { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; font-size: 1.3rem; background: var(--pink-soft); color: var(--pink-strong); margin-bottom: 0.9rem; }
.icontact-grid .icontact-card:nth-child(2) .icontact-card__ico { background: var(--teal-soft); color: var(--teal-strong); }
.icontact-grid .icontact-card:nth-child(3) .icontact-card__ico { background: var(--sage-soft); color: var(--sage-strong); }
.icontact-card h2 { font-size: 1.4rem; font-weight: 600; margin-bottom: 0.3rem; }
.icontact-card p { color: var(--ink-soft); font-size: 0.94rem; margin-bottom: 0.5rem; }
.icontact-card a { font-weight: 800; color: var(--pink-strong); }
.icontact-card a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.icontact-card address { font-style: normal; color: var(--ink-soft); line-height: 1.6; }
.icontact-lead { margin-top: 2rem; display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; max-width: 760px; }
.icontact-lead p { color: var(--ink-soft); }
.ibooking-wrap { width: min(900px, calc(100% - 3rem)); margin: 2.4rem auto 0; }
.ibooking-wrap .iprose { max-width: none; }
.ibooking h2 { font-size: 1.6rem; font-weight: 600; margin-bottom: 0.6rem; }
.ibooking p { color: var(--ink-soft); line-height: 1.8; }
.ibooking p strong { color: var(--ink); }
.ibooking p a { color: var(--pink-strong); text-decoration: underline; text-underline-offset: 0.2em; }
.ibooking__frame-wrap { margin-top: 1.1rem; border-radius: 14px; overflow: hidden; }
.ibooking__frame-wrap iframe { display: block; width: 100%; height: 980px; border: 0; background: #fff; }
@media (max-width: 640px) { .ibooking__frame-wrap iframe { height: 1080px; } }
.igallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.8rem; }
@media (max-width: 720px) { .igallery { grid-template-columns: 1fr; } }
.igallery figure { border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line-soft); background: var(--paper); }
.igallery img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.igallery-cap { margin-top: 0.9rem; text-align: center; font-size: 0.88rem; color: var(--ink-mute); font-style: italic; }
.svc-panel { font-size: 1.08rem; line-height: 1.85; color: var(--ink-soft); max-width: 70ch; }
.svc-panel strong { color: var(--ink); }
.svc--dark .svc-panel { color: rgba(255,255,255,0.82); }
.svc--dark .svc-panel strong { color: #fff; }
.svc--dark .svc-panel .svc-callout { color: #fff; border-left-color: color-mix(in oklab, var(--orange) 80%, white); margin-top: 1.4rem; }
.svc-checks--stack { grid-template-columns: 1fr; }
.ilayout { display: grid; grid-template-columns: 250px 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
@media (max-width: 880px) { .ilayout { grid-template-columns: 1fr; } }
.itoc { position: sticky; top: 100px; background: var(--cream); border: 1px solid var(--line-soft); border-radius: var(--r); padding: 1.3rem 1.4rem; }
@media (max-width: 880px) { .itoc { position: static; } }
.itoc__title { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 0.8rem; }
.itoc__list { display: flex; flex-direction: column; gap: 0.55rem; }
.itoc__list a { font-size: 0.92rem; font-weight: 600; color: var(--ink-soft); }
.itoc__list a:hover { color: var(--pink-strong); }
.iprose section + section { margin-top: 1.8rem; }
.iprose h2 + ul { margin-top: 0.6rem; }
.blogwrap { width: var(--shell); margin: 0 auto; padding-block: clamp(2.5rem, 2rem + 2vw, 4rem); }
.bloggrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 880px) { .bloggrid { grid-template-columns: 1fr; } }
.blogcard { display: flex; flex-direction: column; border-radius: var(--r-lg); overflow: hidden; background: var(--paper); box-shadow: var(--shadow); border: 1px solid var(--line-soft); transition: transform 0.22s ease, box-shadow 0.22s ease; }
.blogcard:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.blogcard__media { aspect-ratio: 16/10; overflow: hidden; }
.blogcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.blogcard:hover .blogcard__media img { transform: scale(1.04); }
.blogcard__body { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.5rem; flex: 1; }
.blogcard__tag { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--teal-strong); }
.blogcard--pink .blogcard__tag { color: var(--pink-strong); }
.blogcard__title { font-size: 1.4rem; font-weight: 600; line-height: 1.12; }
.blogcard__meta { font-size: 0.82rem; color: var(--ink-mute); }
.blogcard__excerpt { color: var(--ink-soft); font-size: 0.94rem; flex: 1; }
.blogcard__more { font-weight: 800; font-size: 0.9rem; color: var(--pink-strong); display: inline-flex; align-items: center; gap: 0.4rem; }
.blogcard__more .ic { transition: transform 0.2s; }
.blogcard:hover .blogcard__more .ic { transform: translateX(4px); }
.article { width: min(760px, calc(100% - 3rem)); margin: 0 auto; padding-block: clamp(2.5rem, 2rem + 2vw, 4rem); }
.article p { color: var(--ink-soft); line-height: 1.85; margin-bottom: 1.1rem; font-size: 1.06rem; }
.article h2 { font-size: clamp(1.6rem, 1.3rem + 1.5vw, 2.2rem); font-weight: 600; margin: 2.2rem 0 0.8rem; }
.article h3 { font-size: 1.3rem; font-weight: 600; margin: 1.6rem 0 0.6rem; }
.article ul, .article ol { margin: 0 0 1.1rem 1.4rem; display: grid; gap: 0.4rem; }
.article ul { list-style: disc; } .article ol { list-style: decimal; }
.article li { color: var(--ink-soft); line-height: 1.7; }
.article strong { color: var(--ink); }
.article a { color: var(--pink-strong); text-decoration: underline; text-underline-offset: 0.2em; }
.article figure { margin: 1.6rem 0; border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); }
.article figure img { width: 100%; display: block; }
.article figcaption { padding: 0.8rem 1rem; font-size: 0.86rem; color: var(--ink-mute); background: var(--cream); }
.article__meta { color: var(--ink-mute); font-size: 0.9rem; margin-bottom: 1.5rem; }
.article blockquote { margin: 1.6rem 0; padding-left: 1.4rem; border-left: 3px solid var(--pink); font-family: var(--display); font-style: italic; font-size: 1.3rem; color: var(--ink); }
.prose { width: min(800px, calc(100% - 3rem)); margin: 2.5rem auto; }
.prose h1 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); font-weight: 300; margin-bottom: 1.5rem; }
.prose h2 { font-size: 1.5rem; font-weight: 600; margin: 2rem 0 0.7rem; }
.prose p, .prose li { color: var(--ink-soft); line-height: 1.8; }
.prose p { margin-bottom: 0.9rem; }
.prose ul { list-style: disc; padding-left: 1.4rem; margin-bottom: 0.9rem; }
.prose a { color: var(--pink-strong); text-decoration: underline; text-underline-offset: 0.2em; }
:root { --check-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); }
.ic { width: 1em; height: 1em; display: inline-block; vertical-align: -0.125em; fill: none; stroke: currentColor; stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.ic-dot { fill: currentColor; stroke: none; }
.nav-link .ic-caret { width: 0.7em; height: 0.7em; }
.fab__btn .ic { width: 1.15rem; height: 1.15rem; stroke-width: 2; }
.trust__ico .ic, .spec__ico .ic, .audcard__ico .ic, .rdvopt__ico .ic, .icontact-card__ico .ic, .svc-method__ico .ic, .step-badge .ic { width: 1.1em; height: 1.1em; }
.booking__badge .ic, .tag .ic { width: 0.95em; height: 0.95em; }
.mobile-menu-btn .ic { width: 1.45rem; height: 1.45rem; }
.mobile-menu-btn .ic-close { display: none; }
.mobile-menu-btn[aria-expanded="true"] .ic-bars { display: none; }
.mobile-menu-btn[aria-expanded="true"] .ic-close { display: inline-block; }
.fiche { container-type: inline-size; background: var(--paper); color: var(--ink); position: relative; }
.fiche * { box-sizing: border-box; }
.fiche__chip { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.95rem; border-radius: 999px; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.03em; background: var(--teal-soft); color: var(--teal-strong); }
.fiche .fiche__title { font-family: var(--display); font-weight: 300; letter-spacing: -0.035em; line-height: 1.0; }
.fiche__title em { font-style: italic; color: var(--teal-strong); }
.fiche__lead { color: var(--ink-soft); line-height: 1.7; }
.fiche__note { color: var(--ink-soft); font-size: 0.9rem; line-height: 1.6; }
.fiche__note a { color: var(--pink-strong); text-decoration: underline; text-underline-offset: 0.18em; }
.checks { display: block; }
.checks li { display: flex; gap: 0.65rem; align-items: flex-start; color: var(--ink-soft); line-height: 1.5; font-size: 0.97rem; margin-bottom: 0.7rem; }
.checks li:last-child { margin-bottom: 0; }
.checks li .ic, .checks__ico { color: var(--sage-strong); width: 1.05em; height: 1.05em; flex: 0 0 auto; margin-top: 0.12rem; }
.checks li span { flex: 1; min-width: 0; }
.tarifs { display: flex; flex-direction: column; }
.tarif-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid var(--line-soft); transition: padding-left 0.2s ease, background 0.2s ease; }
.tarif-row:last-child { border-bottom: 0; }
.tarif-row:hover { background: var(--pink-soft); padding-left: 0.7rem; border-radius: 10px; }
.tarif-row__label { font-size: 0.94rem; color: var(--ink); }
.tarif-row__label span { display: block; font-size: 0.78rem; color: var(--ink-mute); }
.tarif-row__price { font-family: var(--display); font-weight: 600; font-size: 1.3rem; white-space: nowrap; }
.tarif-row--hl .tarif-row__price { color: var(--pink-strong); }
.fiche .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 48px; padding: 0.7rem 1.4rem; border-radius: 999px; border: 1.5px solid transparent; font-weight: 800; font-size: 0.95rem; cursor: pointer; transition: transform 0.18s, box-shadow 0.22s; text-decoration: none; }
.fiche .btn:hover { transform: translateY(-2px); }
.fiche .btn--primary { background: var(--grad-warm); color: #fff; box-shadow: 0 14px 30px -10px color-mix(in oklab, var(--pink) 65%, transparent); }
.ficheC__inner { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: 0; }
.ficheC__rail { background: var(--ink); color: #fff; padding: clamp(1.8rem, 1.2rem + 2vw, 2.8rem) clamp(1.4rem, 1rem + 1.5vw, 2rem); position: relative; overflow: hidden; }
.ficheC__blob { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.5; pointer-events: none; }
.ficheC__blob--1 { width: 200px; height: 200px; top: -50px; right: -40px; background: var(--orange); }
.ficheC__blob--2 { width: 180px; height: 180px; bottom: -40px; left: -50px; background: var(--teal); }
.ficheC__chip { background: rgba(255,255,255,0.14); color: #fff; position: relative; z-index: 1; }
.ficheC__rail .fiche__title { color: #fff; font-size: clamp(1.9rem, 1.4rem + 2vw, 2.7rem); margin-top: 1rem; position: relative; z-index: 1; }
.ficheC__rail .fiche__title em { color: color-mix(in oklab, var(--orange) 80%, white); }
.ficheC__raillead { margin-top: 1rem; color: rgba(255,255,255,0.78); font-size: 0.97rem; line-height: 1.65; position: relative; z-index: 1; }
.ficheC__facts { margin-top: 1.8rem; display: flex; flex-direction: column; gap: 0.2rem; position: relative; z-index: 1; }
.ficheC__fact { display: flex; gap: 0.85rem; align-items: center; padding: 0.7rem 0; border-top: 1px solid rgba(255,255,255,0.12); }
.ficheC__fact > div { flex: 1; min-width: 0; }
.ficheC__fact:first-child { border-top: 0; }
.ficheC__factico { flex-shrink: 0; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #fff; }
.ficheC__factk { font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.55); font-weight: 800; }
.ficheC__factv { font-size: 0.92rem; font-weight: 700; color: #fff; line-height: 1.3; }
.ficheC__railcta { margin-top: 1.8rem; position: relative; z-index: 1; }
.ficheC__railcta .btn { width: 100%; white-space: nowrap; }
.ficheC__content { padding: clamp(1.6rem, 1.2rem + 1.5vw, 2.4rem) clamp(1.4rem, 1rem + 2vw, 2.4rem); }
.ficheC__pull { font-family: var(--display); font-style: italic; font-size: clamp(1.2rem, 1rem + 0.8vw, 1.5rem); line-height: 1.35; color: var(--ink); padding-left: 1.3rem; border-left: 3px solid var(--pink); margin-bottom: 1.8rem; }
.acc { border-top: 1px solid var(--line); }
.acc__item { border-bottom: 1px solid var(--line); }
.acc__btn { width: 100%; border: 0; background: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 0.2rem; font-family: var(--display); font-weight: 600; font-size: 1.2rem; color: var(--ink); text-align: left; transition: color 0.2s; }
.acc__btn:hover { color: var(--pink-strong); }
.acc__btn > span:first-child { flex: 1; min-width: 0; }
.acc__num { font-family: var(--sans); font-size: 0.78rem; font-weight: 800; color: var(--ink-mute); margin-right: 0.6rem; }
.acc__ico { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--line); display: grid; place-items: center; color: var(--ink-soft); transition: transform 0.3s ease, background 0.25s, color 0.25s, border-color 0.25s; }
.acc__item.is-open .acc__ico { transform: rotate(45deg); background: var(--pink); color: #fff; border-color: var(--pink); }
.acc__panel { display: grid; grid-template-rows: 0fr; grid-template-columns: minmax(0, 1fr); transition: grid-template-rows 0.35s cubic-bezier(0.4,0,0.2,1); }
.acc__item.is-open .acc__panel { grid-template-rows: 1fr; }
.acc__panelinner { overflow: hidden; min-width: 0; }
.acc__body { padding: 0 0.2rem 1.4rem; }
.acc__body .checks li { font-size: 0.95rem; }
.acc__body .fiche__note { margin-top: 0.9rem; }
@container (max-width: 680px) {.ficheC__inner { grid-template-columns: 1fr; }
}
.fiche-main { padding-bottom: clamp(2.5rem, 2rem + 2vw, 4rem); }
.fiche-stage { width: 100%; margin-top: 1.4rem; }
.ficheC--page { width: 100%; overflow-x: clip; container-type: inline-size; }
.ficheC--page .ficheC__inner { width: 100%; --gutter: max(1.5rem, calc((100vw - 1180px) / 2)); grid-template-columns: var(--gutter) 0.82fr 1.18fr var(--gutter); column-gap: 0; }
.ficheC--page .ficheC__rail { grid-column: 1 / 3; align-self: start; position: sticky; top: 88px; padding: clamp(2rem, 1.4rem + 3vw, 3.6rem) clamp(1.5rem, 3vw, 3.5rem) clamp(2rem, 1.4rem + 3vw, 3.6rem) var(--gutter); background: radial-gradient(60% 52% at 8% 12%, color-mix(in oklab, var(--pink) 26%, transparent), transparent 72%), radial-gradient(55% 46% at 95% 8%, color-mix(in oklab, var(--orange) 28%, transparent), transparent 72%), radial-gradient(62% 55% at 16% 96%, color-mix(in oklab, var(--teal) 24%, transparent), transparent 72%), radial-gradient(55% 50% at 92% 94%, color-mix(in oklab, var(--sage) 20%, transparent), transparent 72%), var(--cream); color: var(--ink); }
.ficheC--page .ficheC__content { grid-column: 3 / 4; padding: clamp(2rem, 1.4rem + 3vw, 3.4rem) 0 clamp(2rem, 1.4rem + 3vw, 3.4rem) clamp(1.5rem, 3vw, 3.5rem); }
.ficheC--page .fiche__title { font-size: clamp(2rem, 1.5rem + 2.2vw, 3rem); }
.ficheC--page .acc__btn { font-size: 1.3rem; padding: 1.4rem 0.2rem; }
.ficheC--page .ficheC__blob { display: none; }
.ficheC--page .ficheC__chip { background: var(--paper); color: var(--teal-strong); box-shadow: var(--shadow); }
.ficheC--page .ficheC__rail .fiche__title { color: var(--ink); }
.ficheC--page .ficheC__rail .fiche__title em { color: var(--teal-strong); }
.ficheC--page .ficheC__raillead { color: var(--ink-soft); }
.ficheC--page .ficheC__fact { border-top-color: var(--line-soft); }
.ficheC--page .ficheC__factk { color: var(--ink-mute); }
.ficheC--page .ficheC__factv { color: var(--ink); }
.ficheC--page .ficheC__fact:nth-child(1) .ficheC__factico { background: var(--pink-soft); color: var(--pink-strong); }
.ficheC--page .ficheC__fact:nth-child(2) .ficheC__factico { background: var(--teal-soft); color: var(--teal-strong); }
.ficheC--page .ficheC__fact:nth-child(3) .ficheC__factico { background: var(--orange-soft); color: var(--orange); }
.ficheC--page .ficheC__fact:nth-child(4) .ficheC__factico { background: var(--sage-soft); color: var(--sage-strong); }
.ficheC--page .ficheC__fact:nth-child(5) .ficheC__factico { background: var(--violet-soft); color: var(--violet-strong); }
.ficheC--page .ficheC__fact:nth-child(6) .ficheC__factico { background: var(--gold); color: #fff; }
@container (max-width: 680px) {.ficheC--page .ficheC__inner { grid-template-columns: 1fr; }
.ficheC--page .ficheC__rail { grid-column: auto; position: static; align-self: auto; padding-left: 1.5rem; padding-right: 1.5rem; }
.ficheC--page .ficheC__content { grid-column: auto; padding-left: 1.5rem; padding-right: 1.5rem; }
}
.ficheC__photo { border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow); margin-bottom: 1.8rem; }
.ficheC__photo img { width: 100%; height: clamp(200px, 24vw, 320px); object-fit: cover; object-position: center; display: block; }
.ihero__media.ihero__media--wide { padding: 0; background: none; box-shadow: none; border-radius: 18px; overflow: visible; }
.ihero__media--wide img { aspect-ratio: 1020 / 573; border-radius: 18px; box-shadow: var(--shadow-lg); }
.cbio { width: var(--shell); margin-inline: auto; padding-block: clamp(2.5rem, 2rem + 2vw, 4rem); }
.cbio__grid { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
@media (max-width: 880px) { .cbio__grid { grid-template-columns: 1fr; } }
.cbio__aside { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 1rem; }
@media (max-width: 880px) { .cbio__aside { position: static; } }
.cbio__card { background: var(--violet-soft); border-radius: var(--r); padding: 1.3rem 1.4rem; }
.cbio__card--profile { display: flex; flex-direction: column; padding: 1.3rem; }
.profile__head { display: flex; flex-direction: row; align-items: center; gap: 0.95rem; margin: 0 0 1.2rem; }
.profile__head > div { flex: 1 1 auto; min-width: 0; }
.profile__avatar { align-self: center; flex: 0 0 auto; width: 200px; height: 200px; border-radius: 18px; overflow: hidden; box-shadow: var(--shadow); }
.profile__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.profile__name { display: block; font-family: var(--display); font-weight: 600; font-size: 1.1rem; line-height: 1.3; color: var(--ink); }
.profile__role { display: block; margin-top: 0.5rem; font-size: 0.88rem; font-weight: 700; color: var(--violet-strong); }
.profile__facts { display: flex; flex-direction: column; gap: 0.55rem; margin-bottom: 1.2rem; }
.profile__facts li { display: flex; gap: 0.55rem; align-items: baseline; font-size: 0.88rem; color: var(--ink-soft); line-height: 1.45; }
.profile__facts .ic { color: var(--violet-strong); flex: 0 0 auto; }
.profile__cta { width: 100%; }
.cbio .acc { border-top: 1px solid var(--line); }
.cbio__main .acc { margin-top: 0; }
.cbio .acc__item { border-bottom: 1px solid var(--line); }
.cbio .acc__btn { width: 100%; border: 0; background: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 0.2rem; font-family: var(--display); font-weight: 600; font-size: 1.2rem; color: var(--ink); text-align: left; }
.cbio .acc__btn:hover { color: var(--violet-strong); }
.cbio .acc__btn .ic { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--line); padding: 4px; color: var(--ink-soft); transition: transform 0.3s, background 0.25s, color 0.25s, border-color 0.25s; }
.cbio .acc__item.is-open .acc__btn .ic { transform: rotate(45deg); background: var(--violet); color: #fff; border-color: var(--violet); }
.cbio .acc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.35s cubic-bezier(0.4,0,0.2,1); }
.cbio .acc__item.is-open .acc__panel { grid-template-rows: 1fr; }
.cbio .acc__inner { overflow: hidden; min-width: 0; }
.cbio .acc__body { padding: 0 0.2rem 1.3rem; }
.cbio .acc__body p { color: var(--ink-soft); line-height: 1.8; }
.cbio .acc__body p + p { margin-top: 0.7rem; }
.cbio .acc__body strong { color: var(--ink); font-weight: 800; }
.cbio .acc__body .svc-checks { margin-top: 0.2rem; }
.cbio .acc__kick { display: block; font-family: var(--sans); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--violet-strong); margin-bottom: 0.25rem; }
.cbio .acc__btn-label { display: block; }
.cbio .acc__body .tl-quote { margin: 1rem 0; }
.tl-quote { font-family: var(--display); font-style: italic; font-size: clamp(1.3rem, 1.1rem + 1vw, 1.9rem); line-height: 1.35; color: var(--ink); padding: 1.4rem 1.6rem; background: var(--violet-soft); border-radius: var(--r); }
.a11y-fab { position: fixed; left: 1.2rem; bottom: 1.2rem; z-index: 1150; width: 56px; height: 56px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; color: #fff; background: var(--teal); box-shadow: 0 10px 24px -8px color-mix(in oklab, var(--ink) 55%, transparent); transition: transform 0.18s ease, box-shadow 0.2s ease; }
.a11y-fab:hover { transform: translateY(-2px); }
.a11y-fab svg { width: 26px; height: 26px; }
.a11y-panel { position: fixed; left: 1.2rem; bottom: 5.4rem; z-index: 1160; width: min(320px, calc(100vw - 2.4rem)); background: var(--paper); color: var(--ink); border: 1px solid var(--line-soft); border-radius: var(--r); box-shadow: var(--shadow-lg); padding: 1.2rem 1.25rem 1.35rem; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s; }
.a11y-panel.is-open { opacity: 1; visibility: visible; transform: none; }
.a11y-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.a11y-panel__head h2 { font-family: var(--display); font-weight: 600; font-size: 1.2rem; }
.a11y-panel__close { border: 0; background: var(--cream); width: 32px; height: 32px; border-radius: 50%; cursor: pointer; display: grid; place-items: center; color: var(--ink-soft); }
.a11y-panel__close:hover { background: var(--line-soft); color: var(--ink); }
.a11y-panel__close svg { width: 18px; height: 18px; }
.a11y-group { margin-bottom: 1.1rem; }
.a11y-group > .a11y-label { display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 0.5rem; }
.a11y-size { display: flex; align-items: stretch; gap: 0.4rem; }
.a11y-size button { flex: 1; min-height: 44px; border: 1.5px solid var(--line); background: var(--paper); border-radius: 11px; cursor: pointer; font-family: var(--sans); font-weight: 800; color: var(--ink); display: grid; place-items: center; transition: border-color 0.18s, background 0.18s; }
.a11y-size button:disabled { opacity: 0.4; cursor: default; }
.a11y-size button:hover:not(:disabled) { border-color: var(--teal); background: var(--teal-soft); }
.a11y-size button .big { font-size: 1.25rem; }
.a11y-size button .sm { font-size: 0.85rem; }
.a11y-size__val { flex: 1.2; display: grid; place-items: center; font-weight: 800; font-size: 0.95rem; color: var(--teal-strong); background: var(--teal-soft); border-radius: 11px; }
.a11y-toggle { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; width: 100%; min-height: 46px; padding: 0.4rem 0.2rem; border: 0; border-top: 1px solid var(--line-soft); background: none; cursor: pointer; font-family: var(--sans); font-size: 0.95rem; font-weight: 600; color: var(--ink); text-align: left; }
.a11y-toggle:hover { color: var(--teal-strong); }
.a11y-toggle__sw { flex: 0 0 auto; width: 42px; height: 24px; border-radius: 999px; background: var(--line); position: relative; transition: background 0.2s; }
.a11y-toggle__sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.3); transition: transform 0.2s; }
.a11y-toggle[aria-checked="true"] .a11y-toggle__sw { background: var(--teal); }
.a11y-toggle[aria-checked="true"] .a11y-toggle__sw::after { transform: translateX(18px); }
.a11y-reset { margin-top: 0.4rem; width: 100%; min-height: 42px; border: 1.5px solid var(--line); background: var(--paper); border-radius: 11px; cursor: pointer; font-family: var(--sans); font-weight: 800; font-size: 0.88rem; color: var(--ink-soft); display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; }
.a11y-reset:hover { border-color: var(--ink); color: var(--ink); }
.a11y-reset svg { width: 15px; height: 15px; }
@media (prefers-reduced-motion: reduce) { .a11y-fab, .a11y-panel { transition: none; } }
html.a11y-underline a:not(.btn):not(.cta-button):not(.nav-link):not(.logo-link) { text-decoration: underline; text-underline-offset: 0.18em; }
html.a11y-readable { --display: "Verdana", "Trebuchet MS", system-ui, sans-serif; --sans: "Verdana", "Trebuchet MS", system-ui, sans-serif; }
html.a11y-readable body { letter-spacing: 0.02em; word-spacing: 0.06em; line-height: 1.85; }
html.a11y-readable .hero__title, html.a11y-readable .ihero__title, html.a11y-readable h1, html.a11y-readable h2 { letter-spacing: -0.01em; }
html.a11y-no-motion *, html.a11y-no-motion *::before, html.a11y-no-motion *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
html.a11y-no-motion .reveal { opacity: 1 !important; transform: none !important; }
html.a11y-spacing p, html.a11y-spacing li, html.a11y-spacing dd, html.a11y-spacing figcaption, html.a11y-spacing blockquote { line-height: 1.6 !important; }
html.a11y-spacing p, html.a11y-spacing li, html.a11y-spacing a, html.a11y-spacing span, html.a11y-spacing strong, html.a11y-spacing em { letter-spacing: 0.12em; word-spacing: 0.16em; }
html.a11y-spacing p { margin-bottom: 2em; }
html.a11y-contrast { --ink: #141414; --ink-soft: #232323; --ink-mute: #3a3a3a; --paper: #ffffff; --cream: #ffffff; --cream-2: #f4f4f4; --line: rgba(0,0,0,0.55); --line-soft: rgba(0,0,0,0.3); }
html.a11y-contrast a:not(.btn):not(.cta-button) { text-decoration: underline; text-underline-offset: 0.18em; }
html.a11y-contrast .btn--ghost, html.a11y-contrast .nav-phone { border-color: var(--ink); }
html.a11y-contrast :focus-visible { outline-width: 3px; }
.iform h2 { font-size: 1.6rem; font-weight: 600; margin-bottom: 0.6rem; }
.iform > p { color: var(--ink-soft); line-height: 1.8; margin-bottom: 1.4rem; }
.iform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.4rem; }
@media (max-width: 640px) { .iform__grid { grid-template-columns: 1fr; } }
.iform__field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1rem; }
.iform__field label { font-family: var(--sans); font-size: 0.85rem; font-weight: 800; letter-spacing: 0.04em; color: var(--ink-mute); }
.iform__req { color: var(--pink-strong); }
.iform__opt { font-weight: 600; text-transform: none; letter-spacing: 0; }
.iform__field input,.iform__field select,.iform__field textarea {font-family: var(--sans); font-size: 1rem; color: var(--ink);
padding: 0.7rem 0.9rem; border: 1px solid var(--line); border-radius: var(--r-sm);
background: var(--paper); width: 100%;
transition: border-color 0.2s ease, box-shadow 0.2s ease}
.iform__field textarea { resize: vertical; min-height: 8rem; }
.iform__field input:focus-visible,.iform__field select:focus-visible,.iform__field textarea:focus-visible {outline: none; border-color: var(--pink);
box-shadow: 0 0 0 3px color-mix(in oklab, var(--pink) 25%, transparent)}
.iform__consent { display: flex; align-items: flex-start; gap: 0.6rem; margin: 0.4rem 0 1.3rem; }
.iform__consent input { margin-top: 0.3rem; width: 1.05rem; height: 1.05rem; accent-color: var(--pink-strong); flex-shrink: 0; }
.iform__consent label { font-size: 0.92rem; color: var(--ink-soft); line-height: 1.6; }
.iform__consent a { color: var(--pink-strong); text-decoration: underline; text-underline-offset: 0.2em; }
.iform__status { padding: 0.9rem 1.1rem; border-radius: var(--r-sm); margin-bottom: 1.2rem; font-weight: 700; border: 1px solid var(--line); }
.iform__status--ok { background: var(--sage-soft); color: var(--sage-strong); border-color: color-mix(in oklab, var(--sage) 35%, transparent); }
.iform__status--err { background: var(--pink-soft); color: var(--pink-strong); border-color: color-mix(in oklab, var(--pink) 35%, transparent); }
.iform__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.agenda { width: var(--shell); margin: clamp(1.8rem, 3vw, 2.8rem) auto clamp(2rem, 3.5vw, 3rem); }
.agenda__card {display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
overflow: hidden; border-radius: var(--r-lg);
background: #fff; border: 1px solid var(--line-soft);
box-shadow: var(--shadow)}
.agenda__media { position: relative; margin: 0; min-height: 100%; }
.agenda__media img, .agenda__illu { width: 100%; height: 100%; object-fit: cover; display: block; }
.agenda__date {position: absolute; left: 1.1rem; bottom: 1.1rem;
display: grid; justify-items: center; min-width: 4.4rem;
padding: 0.5rem 0.7rem 0.6rem; border-radius: 16px;
background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,0.18);
line-height: 1}
.agenda__date::before {content: ""; position: absolute; inset: 0 0 auto 0; height: 0.45rem;
border-radius: 16px 16px 0 0; background: var(--grad-warm)}
.agenda__day { margin-top: 0.5rem; font-family: var(--serif); font-size: 1.9rem; font-weight: 700; color: var(--ink); }
.agenda__month { font-family: var(--sans); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--pink-strong); }
.agenda__body { padding: clamp(1.5rem, 1rem + 2vw, 2.4rem); align-self: center; }
.agenda__eyebrow {display: inline-flex; align-items: center; gap: 0.5rem;
font-family: var(--sans); font-size: 0.74rem; font-weight: 800;
letter-spacing: 0.1em; text-transform: uppercase; color: var(--pink-strong)}
.agenda__dot {width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--grad-warm);
box-shadow: 0 0 0 0 color-mix(in oklab, var(--pink) 60%, transparent);
animation: agendaPulse 2s ease-out infinite}
.agenda__title { margin-top: 0.6rem; font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.1rem); font-weight: 600; line-height: 1.15; }
.agenda__meta {margin-top: 0.8rem; display: flex; flex-wrap: wrap; gap: 0.35rem 1.1rem;
color: var(--pink-strong); font-weight: 700; font-size: 0.92rem}
.agenda__meta span { display: inline-flex; align-items: center; gap: 0.4rem; }
.agenda__meta .ic { width: 1em; height: 1em; }
.agenda__text { margin-top: 0.8rem; color: var(--ink-soft); line-height: 1.7; }
.agenda__actions { margin-top: 1.3rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem; }
.addcal { position: relative; }
.addcal summary { list-style: none; cursor: pointer; }
.addcal summary::-webkit-details-marker { display: none; }
.addcal[open] summary .ic-calendar { transform: scale(1.08); }
.addcal__menu {position: absolute; top: calc(100% + 0.55rem); left: 0; z-index: 40;
min-width: 240px; padding: 0.4rem;
background: #fff; border: 1px solid var(--line-soft); border-radius: 14px;
box-shadow: var(--shadow)}
.addcal__menu a {display: block; padding: 0.65rem 0.85rem; border-radius: 10px;
font-family: var(--sans); font-weight: 700; font-size: 0.92rem;
color: var(--ink); text-decoration: none}
.addcal__menu a:hover, .addcal__menu a:focus-visible { background: var(--cream); color: var(--pink-strong); }
@keyframes agendaPulse {0%   { box-shadow: 0 0 0 0 color-mix(in oklab, var(--pink) 60%, transparent); }
70%  { box-shadow: 0 0 0 0.45rem color-mix(in oklab, var(--pink) 0%, transparent); }
100% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--pink) 0%, transparent); }
}
@media (prefers-reduced-motion: reduce) { .agenda__dot { animation: none; } }
@media (max-width: 760px) {.agenda__card { grid-template-columns: 1fr; }
.agenda__media { aspect-ratio: 16 / 10; min-height: 0; }
.agenda__actions .btn, .agenda__actions .addcal { width: 100%; }
.addcal__menu { position: static; margin-top: 0.55rem; min-width: 0; }
}
