/* Ousam Clair-obscur — styles complémentaires */

:root {
	--oc-line: rgba(237, 228, 211, 0.22);
	--oc-line-strong: rgba(237, 228, 211, 0.45);
	--oc-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { height: auto; }
::selection { background: var(--wp--preset--color--cuivre); color: var(--wp--preset--color--noir); }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--wp--preset--color--cuivre); outline-offset: 3px; }

.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--noir); }

/* ---------- Typographie utilitaire ---------- */
.oc-eyebrow {
	font-size: 0.8125rem !important;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 400;
	color: var(--wp--preset--color--pierre);
	margin-bottom: 0.5rem !important;
}
.oc-script {
	font-family: var(--wp--preset--font-family--cormorant) !important;
	font-style: italic;
	font-weight: 400;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--wp--preset--color--cuivre);
	font-size: clamp(1.5rem, 2.6vw, 2.4rem);
	line-height: 1.2;
}
.oc-mono {
	font-family: var(--wp--preset--font-family--plex-mono);
	font-size: 0.6875rem !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pierre);
	line-height: 1.6;
}
.oc-lead { font-size: 1.125rem; color: var(--wp--preset--color--sable); }
.oc-muted { color: var(--wp--preset--color--sable); }
.oc-measure { max-width: 36rem; margin-left: auto !important; margin-right: auto !important; }
.oc-center { text-align: center; }
.oc-rule { height: 1px; background: var(--wp--preset--color--lin); opacity: .5; border: 0; width: 100%; }
h1 em, h2 em, h3 em { font-style: normal; color: var(--wp--preset--color--cuivre); }

/* ---------- En-tête ---------- */
.oc-header {
	position: relative;
	z-index: 50;
	border-bottom: 1px solid var(--oc-line);
	background: var(--wp--preset--color--noir);
}
.oc-header-transparent {
	position: absolute;
	inset: 0 0 auto 0;
	z-index: 50;
	background: linear-gradient(180deg, rgba(20,17,14,.78) 0%, rgba(20,17,14,0) 100%);
	border-bottom: 1px solid var(--oc-line);
}
.admin-bar .oc-header-transparent { top: var(--wp-admin--admin-bar--height, 32px); }
.oc-header-inner { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.oc-header-inner > :first-child { justify-self: start; }
.oc-header-inner > :last-child { justify-self: end; }
.oc-brand { display: flex; flex-direction: column; align-items: center; gap: 0.25rem !important; text-align: center; }
.oc-brand .wp-block-site-title { margin: 0; }
.oc-brand .wp-block-site-title a { color: var(--wp--preset--color--creme); }
.oc-brand-sub {
	font-family: var(--wp--preset--font-family--plex-mono);
	font-size: 0.625rem !important;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pierre);
	margin: 0 !important;
	line-height: 1;
}
.oc-header .wp-block-navigation a:hover, .oc-header-transparent .wp-block-navigation a:hover { color: var(--wp--preset--color--cuivre); }
.oc-header .wp-block-navigation .current-menu-item > a, .oc-header-transparent .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--cuivre); }
.oc-nav-cta .wp-block-button__link { padding: 0.8rem 1.25rem !important; font-size: 0.6875rem !important; }

.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--creme) !important;
	padding: 2rem 1.5rem !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	gap: 1.4rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--italiana);
	font-size: 2.2rem;
	letter-spacing: 0.06em;
}
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close {
	width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center;
}

@media (max-width: 781px) {
	.oc-header-inner { grid-template-columns: auto 1fr auto; }
	.oc-header-inner > .oc-brand { order: -1; align-items: flex-start; text-align: left; justify-self: start; }
	.oc-header-inner .oc-nav-right { display: none !important; }
	.oc-header-inner .oc-nav-left { grid-column: 3; justify-self: end; }
	.oc-brand .wp-block-site-title { font-size: 1.9rem !important; }
}
@media (min-width: 782px) {
	.oc-nav-mobile-only { display: none !important; }
}

/* ---------- Hero ---------- */
.oc-hero.wp-block-cover { min-height: max(640px, 100svh) !important; align-items: flex-end; padding-bottom: clamp(4rem, 10vh, 7rem) !important; padding-top: 9rem !important; }
.oc-hero.wp-block-cover::after {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(20,17,14,.55) 0%, rgba(20,17,14,.05) 35%, rgba(20,17,14,.25) 65%, #14110E 100%);
}
.oc-hero .wp-block-cover__inner-container { z-index: 2; }
.oc-hero .wp-block-cover__image-background { filter: grayscale(.3) contrast(1.05); }
.oc-hero h1 { margin: 0 !important; }
.oc-hero .oc-script { margin-top: 0.75rem !important; }
@media (min-width: 900px) { .oc-hero .oc-script { text-align: right !important; padding-right: 10%; } }

.oc-page-hero.wp-block-cover { min-height: max(520px, 78svh) !important; padding-top: 9rem !important; padding-bottom: 4.5rem !important; align-items: flex-end; }
.oc-page-hero.wp-block-cover::after {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(20,17,14,.6) 0%, rgba(20,17,14,.1) 40%, #14110E 100%);
}
.oc-page-hero .wp-block-cover__inner-container { z-index: 2; }

/* ---------- Calligraphie décorative (CSS uniquement, ignorée par les lecteurs d'écran) ---------- */
[class*="oc-callig-"] { position: relative; isolation: isolate; }
[class*="oc-callig-"]::before {
	position: absolute; z-index: -1; pointer-events: none;
	font-family: var(--wp--preset--font-family--ruqaa);
	line-height: 1; color: var(--wp--preset--color--creme); opacity: .08;
	font-size: clamp(11rem, 26vw, 22rem);
}
.oc-callig-hob::before { content: "حب" / ""; right: 6%; top: 18%; }
.oc-callig-sabr::before { content: "صبر" / ""; left: 3%; bottom: -3rem; }
.oc-callig-rouh::before { content: "روح" / ""; right: 2%; top: 8%; color: var(--wp--preset--color--lin); opacity: .07; }
.oc-hero.oc-callig-hob::before { z-index: 2; }
.oc-cta-final.oc-callig-sabr::before { z-index: 2; }

.oc-arabic {
	font-family: var(--wp--preset--font-family--ruqaa) !important;
	color: var(--wp--preset--color--cuivre);
	font-size: clamp(3.4rem, 7vw, 6.25rem) !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* ---------- Bandeau défilant ---------- */
.oc-marquee-wrap {
	overflow: hidden;
	border-top: 1px solid var(--oc-line);
	border-bottom: 1px solid var(--oc-line);
	padding: 1.1rem 0 !important;
}
.oc-marquee {
	display: inline-block;
	white-space: nowrap;
	margin: 0 !important;
	font-size: 0.8125rem !important;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-weight: 400;
	animation: oc-defile 40s linear infinite;
	will-change: transform;
}
.oc-marquee .oc-star { color: var(--wp--preset--color--cuivre); padding: 0 1.4em; }
@keyframes oc-defile { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.oc-marquee-wrap:hover .oc-marquee { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .oc-marquee { animation: none; white-space: normal; } }

/* ---------- Sections ---------- */
.oc-section { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.oc-section-sm { padding-top: var(--wp--preset--spacing--50) !important; padding-bottom: var(--wp--preset--spacing--50) !important; }

.oc-olive { background: var(--wp--preset--color--olive); position: relative; }
.oc-olive h2, .oc-olive .oc-title-lin { color: var(--wp--preset--color--lin); }
.oc-wave { margin-top: 120px !important; }
.oc-wave::before {
	content: ""; position: absolute; left: 0; right: 0; top: -119px; height: 120px; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,70 C360,0 900,140 1440,30 L1440,120 Z' fill='%2324211A'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
}
@media (max-width: 781px) { .oc-wave { margin-top: 60px !important; } .oc-wave::before { top: -59px; height: 60px; } }

.oc-head-row { border-bottom: 1px solid var(--oc-line); padding-bottom: 1.75rem; align-items: flex-end !important; }
.oc-head-row h2 { margin: 0 !important; }

/* ---------- Duo d'images (À propos) ---------- */
.oc-duo { position: relative; display: grid !important; grid-template-columns: repeat(12, 1fr); align-items: start; min-height: 0; }
.oc-duo > .wp-block-image { margin: 0 !important; }
.oc-duo > .wp-block-image img { width: 100%; object-fit: cover; display: block; }
.oc-duo > .oc-duo-back { grid-column: 5 / 13; grid-row: 1; }
.oc-duo > .oc-duo-back img { aspect-ratio: 3 / 4; }
.oc-duo > .oc-duo-front { grid-column: 1 / 8; grid-row: 1; margin-top: 18% !important; z-index: 2; }
.oc-duo > .oc-duo-front img { aspect-ratio: 4 / 5; border-radius: 999px 999px 0 0; filter: grayscale(1) contrast(1.05); box-shadow: 0 0 0 10px var(--wp--preset--color--olive); }
.oc-duo > .oc-duo-front figcaption { margin-top: 1rem; }

/* ---------- Arches ---------- */
.oc-arch img { border-radius: 999px 999px 0 0; aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.oc-arch { margin-bottom: 0.75rem !important; overflow: hidden; }
.oc-arch img { transition: transform .9s var(--oc-ease); }
.oc-service:hover .oc-arch img { transform: scale(1.03); }
.oc-service { text-align: center; }
.oc-service h3 { margin: 0.4rem 0 0 !important; }
.oc-service h3 a { text-decoration: none; }
.oc-service .oc-script { font-size: 1.35rem !important; margin-top: 0.25rem !important; }

/* ---------- Avis / témoignage ---------- */
.oc-review.wp-block-cover { padding-top: clamp(6rem, 14vw, 11rem) !important; padding-bottom: clamp(6rem, 14vw, 11rem) !important; }
.oc-review .oc-quote-mark { font-family: var(--wp--preset--font-family--italiana); font-size: 5rem !important; line-height: .6 !important; color: var(--wp--preset--color--cuivre); margin: 0 !important; }
.oc-review .oc-quote-text { font-size: clamp(1.1rem, 1.6vw, 1.25rem) !important; line-height: 1.85; max-width: 44rem; margin-left: auto !important; margin-right: auto !important; }
.oc-stars { font-family: var(--wp--preset--font-family--italiana); font-size: 2.1rem !important; letter-spacing: 0.08em; margin-top: 1.5rem !important; margin-bottom: 0 !important; }
.oc-stars span { color: var(--wp--preset--color--cuivre); }

/* ---------- Planche-contact ---------- */
.oc-planche { background: var(--wp--preset--color--nuit); padding: 2rem 0 !important; position: relative; }
.oc-planche::before, .oc-planche::after {
	content: ""; position: absolute; left: 0; right: 0; height: 14px; pointer-events: none;
	background-image: radial-gradient(circle at center, var(--wp--preset--color--noir) 3.5px, transparent 4px);
	background-size: 22px 14px; background-repeat: repeat-x;
}
.oc-planche::before { top: 9px; }
.oc-planche::after { bottom: 9px; }
.oc-planche-row { display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 10px; scrollbar-width: thin; scrollbar-color: #3a342c transparent; }
.oc-planche-row > .wp-block-image { flex: 0 0 clamp(240px, 24vw, 340px); margin: 0 !important; scroll-snap-align: start; }
.oc-planche-row > .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.oc-planche-row figcaption { text-align: left !important; margin-top: .5rem !important; color: var(--wp--preset--color--pierre) !important; }

/* ---------- Grille de photos (pages) ---------- */
.oc-grid-photos { display: grid !important; grid-template-columns: repeat(12, 1fr); gap: 12px !important; }
.oc-grid-photos > .wp-block-image { margin: 0 !important; }
.oc-grid-photos > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.oc-grid-photos > :nth-child(1) { grid-column: span 7; }
.oc-grid-photos > :nth-child(2) { grid-column: span 5; }
.oc-grid-photos > :nth-child(3) { grid-column: span 4; }
.oc-grid-photos > :nth-child(4) { grid-column: span 8; }
@media (max-width: 781px) { .oc-grid-photos > * { grid-column: span 12 !important; } }

/* ---------- Formules ---------- */
.oc-offers { gap: 1.5rem !important; }
.oc-offer {
	border: 1px solid var(--oc-line);
	padding: 2.4rem 2rem !important;
	position: relative;
	height: 100%;
	box-sizing: border-box;
}
.oc-offer.is-featured { background: var(--wp--preset--color--olive); border-color: var(--wp--preset--color--cuivre); }
.oc-offer .oc-price { font-family: var(--wp--preset--font-family--italiana); font-size: 3.4rem !important; line-height: 1; margin: .5rem 0 !important; color: var(--wp--preset--color--creme); }
.oc-offer ul { padding-left: 1.1rem; margin: 0; color: var(--wp--preset--color--sable); }
.oc-offer li { margin-bottom: .35rem; }
.oc-badge {
	position: absolute; top: -0.85rem; right: 1.5rem; margin: 0 !important;
	background: var(--wp--preset--color--cuivre-fonce); color: var(--wp--preset--color--noir);
	font-family: var(--wp--preset--font-family--plex-mono); font-size: .625rem !important; letter-spacing: .14em; text-transform: uppercase; padding: .35rem .7rem; line-height: 1.4;
}

/* ---------- Étapes ---------- */
.oc-steps { border-top: 1px solid var(--oc-line-strong); gap: 0 !important; }
.oc-steps > .wp-block-column { padding: 2rem 1.75rem 2rem 0; border-right: 1px solid var(--oc-line); }
.oc-steps > .wp-block-column:last-child { border-right: 0; }
.oc-steps > .wp-block-column + .wp-block-column { padding-left: 1.75rem; }
.oc-steps h3 { font-family: var(--wp--preset--font-family--cormorant); text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 1.75rem; margin: .5rem 0 .6rem !important; line-height: 1.15; }
.oc-steps .oc-num { font-family: var(--wp--preset--font-family--plex-mono); color: var(--wp--preset--color--cuivre); font-size: .8125rem !important; margin: 0 !important; }
@media (max-width: 781px) {
	.oc-steps > .wp-block-column { border-right: 0; border-bottom: 1px solid var(--oc-line); padding: 1.5rem 0 !important; }
}

/* ---------- FAQ ---------- */
.oc-faq-list { border-top: 1px solid var(--oc-line-strong); }
.oc-faq-list .wp-block-details { border-bottom: 1px solid var(--oc-line); padding: 1.4rem 0; margin: 0 !important; }
.oc-faq-list .wp-block-details summary {
	cursor: pointer; list-style: none; position: relative; padding-right: 2.5rem;
	font-family: var(--wp--preset--font-family--cormorant); font-size: clamp(1.3rem, 2vw, 1.6rem); font-weight: 500; line-height: 1.3;
}
.oc-faq-list .wp-block-details summary::-webkit-details-marker { display: none; }
.oc-faq-list .wp-block-details summary::after {
	content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%);
	font-family: var(--wp--preset--font-family--dm-sans); font-weight: 300; font-size: 1.6rem; color: var(--wp--preset--color--cuivre); transition: transform .3s var(--oc-ease);
}
.oc-faq-list .wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.oc-faq-list .wp-block-details p { color: var(--wp--preset--color--sable); max-width: 42rem; margin-top: .9rem; }

/* ---------- Histoires (articles) ---------- */
.oc-stories .wp-block-post-featured-image img { aspect-ratio: 4 / 5; object-fit: cover; transition: transform .9s var(--oc-ease); }
.oc-stories .wp-block-post-featured-image { overflow: hidden; margin-bottom: 1rem; }
.oc-stories li:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.oc-stories .wp-block-post-title { font-family: var(--wp--preset--font-family--cormorant); text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 1.45rem; line-height: 1.25; margin-top: .35rem; }
.oc-stories .wp-block-post-title a { color: var(--wp--preset--color--creme); }
.oc-stories .wp-block-post-title a:hover { color: var(--wp--preset--color--cuivre); }

/* ---------- Articles & pages ---------- */
.oc-prose { font-size: 1.0625rem; }
.oc-prose p, .oc-prose li { color: var(--wp--preset--color--sable); }
.oc-prose h2 { font-size: clamp(2rem, 4vw, 3rem); margin-top: 3.5rem; }
.oc-prose h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-top: 2.5rem; }
.oc-prose img { display: block; }
.oc-prose .wp-block-image { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.oc-prose a { color: var(--wp--preset--color--cuivre); }
.oc-single-title { font-size: clamp(2.6rem, 6vw, 5rem) !important; }
.wp-block-post-navigation-link a { text-decoration: none; }

/* ---------- Boutons ---------- */
.wp-block-button.is-style-oc-contour .wp-block-button__link {
	background: transparent !important; color: var(--wp--preset--color--creme) !important; border: 1px solid var(--wp--preset--color--creme);
}
.wp-block-button.is-style-oc-contour .wp-block-button__link:hover { background: var(--wp--preset--color--creme) !important; color: var(--wp--preset--color--noir) !important; }
.wp-block-button__link { transition: background-color .25s ease, color .25s ease; }
.oc-link-script a, a.oc-link-script {
	font-family: var(--wp--preset--font-family--cormorant); font-style: italic; font-size: 1.5rem; color: var(--wp--preset--color--cuivre); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px;
}

/* ---------- Formulaire (Jetpack) ---------- */
.oc-form .contact-form label, .oc-form .grunion-field-label {
	font-family: var(--wp--preset--font-family--plex-mono) !important; font-size: .6875rem !important; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--sable) !important; font-weight: 400 !important;
}
.oc-form .contact-form input[type="text"], .oc-form .contact-form input[type="email"], .oc-form .contact-form input[type="tel"], .oc-form .contact-form input[type="date"], .oc-form .contact-form textarea, .oc-form .contact-form select {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid #8C7B6B !important; border-radius: 0 !important;
	color: var(--wp--preset--color--creme) !important; font-family: var(--wp--preset--font-family--dm-sans) !important; font-size: 1.05rem !important; padding: .7rem 0 !important; width: 100%; box-shadow: none !important;
}
.oc-form .contact-form select option { color: #14110E; }
.oc-form .contact-form input:focus, .oc-form .contact-form textarea:focus, .oc-form .contact-form select:focus { border-bottom-color: var(--wp--preset--color--cuivre) !important; outline: none; }
.oc-form .contact-form .pushbutton-wide, .oc-form .contact-form button[type="submit"], .oc-form .contact-form .wp-block-button__link {
	background: var(--wp--preset--color--cuivre-fonce) !important; color: var(--wp--preset--color--noir) !important; border: 0 !important; border-radius: 0 !important;
	font-family: var(--wp--preset--font-family--dm-sans) !important; font-size: .75rem !important; font-weight: 500 !important; letter-spacing: .24em; text-transform: uppercase; padding: 1.1rem 2rem !important; cursor: pointer; min-height: 48px;
}
.oc-form .contact-form-submission, .oc-form .contact-form .contact-form__success { color: var(--wp--preset--color--creme); }

/* ---------- Pied de page ---------- */
.oc-footer { border-top: 1px solid var(--oc-line); }
.oc-footer a { text-decoration: none; color: var(--wp--preset--color--creme); }
.oc-footer a:hover { color: var(--wp--preset--color--cuivre); }
.oc-footer .oc-mono a { color: var(--wp--preset--color--pierre); }
.oc-footer-cols p { margin: 0 0 .5rem !important; font-size: .9rem; }

/* ---------- Barre mobile ---------- */
.oc-mobilebar { display: none; }
@media (max-width: 781px) {
	.oc-mobilebar {
		display: flex; gap: 8px; position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 90;
		background: var(--wp--preset--color--nuit); border: 1px solid var(--oc-line); padding: 8px;
		transform: translateY(140%); transition: transform .4s var(--oc-ease);
	}
	.oc-mobilebar.is-visible { transform: translateY(0); }
	.oc-mobilebar a {
		flex: 1; display: flex; align-items: center; justify-content: center; min-height: 48px; text-decoration: none;
		font-size: .6875rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--creme); border: 1px solid var(--oc-line-strong);
	}
	.oc-mobilebar a.is-primary { flex: 1.4; background: var(--wp--preset--color--cuivre-fonce); color: var(--wp--preset--color--noir); border-color: transparent; }
	body { padding-bottom: 84px; }
}

/* ---------- Apparition douce ---------- */
@media (prefers-reduced-motion: no-preference) {
	.oc-reveal { opacity: 0; transform: translateY(24px); transition: opacity 1s var(--oc-ease), transform 1s var(--oc-ease); }
	.oc-reveal.is-in { opacity: 1; transform: none; }
}
.editor-styles-wrapper .oc-reveal { opacity: 1 !important; transform: none !important; }

/* ---------- Titre principal (accroche SEO + titre visuel) ---------- */
.oc-h1-kicker {
	display: block;
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.3em;
	line-height: 1.6;
	margin-bottom: 1rem;
	color: var(--wp--preset--color--creme);
}

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.oc-hide-mobile { display: none !important; }
	.oc-duo > .oc-duo-back { grid-column: 4 / 13; }
	.oc-duo > .oc-duo-front { grid-column: 1 / 9; }
	.oc-planche-row > .wp-block-image { flex-basis: 64vw; }
}
@media (min-width: 782px) {
	.oc-hide-desktop { display: none !important; }
}

/* ---------- Ajustements v1.0.1 ---------- */
.wp-block-columns .wp-block-column h2.wp-block-heading { font-size: clamp(2.6rem, 4.4vw, 4.4rem); overflow-wrap: normal; word-break: normal; hyphens: none; }
.oc-footer-cols p { overflow-wrap: anywhere; }
.oc-footer .wp-block-site-title { font-size: 1.6rem !important; }
@media (max-width: 781px) {
	.oc-brand .wp-block-site-title { font-size: 1.35rem !important; letter-spacing: 0.1em; white-space: nowrap; }
	.oc-brand-sub { letter-spacing: 0.26em; }
	h2.wp-block-heading { font-size: clamp(2.4rem, 11vw, 3.4rem); }
}
