/* One responsive page frame, loaded last in WordPress and in the preview.
   Full-width photography is intentional; all text shares the same gutters. */
:root {
	--dv-page-width: 1320px;
	--dv-page-gutter: clamp(24px, 6.6vw, 96px);
	--dv-header-height: 80px;
	--dv-hero-height: clamp(320px, 32vw, 560px);
	--dv-section-space: clamp(32px, 4vw, 58px);
	--dv-nav-gap: clamp(16px, 2.2vw, 34px);
}

.section-shell,
.hero-content,
.science-content,
.content-shell,
.shop-shell,
body.single-product .shop-shell,
.dv-blog-article,
.dv-reviews-summary,
.dv-reviews-grid,
.dv-journal-grid,
.dv-journal-coming,
.dv-community-hero,
.dv-journal-hero,
.dv-faq-hero,
.dv-faq-browser,
.dv-about-page .dv-about-section,
.dv-science-page .dv-science-section,
.dv-science-page .dv-science-footnotes,
.dv-science-page .dv-science-date {
	width: min(var(--dv-page-width), calc(100% - 2 * var(--dv-page-gutter)));
	margin-inline: auto;
}

.dv-about-page,
.dv-science-page {
	--about-width: var(--dv-page-width);
	--science-width: var(--dv-page-width);
	width: 100%;
	max-width: none;
	background: var(--dv-paper);
}

/* Classic Gutenberg Group wrappers must not occupy a single grid column or
   apply a second constrained content width inside the theme's own frame. */
:is(.dv-about-page, .dv-science-page) .wp-block-group { max-width: none; }
:is(.dv-about-page, .dv-science-page) .wp-block-group > .wp-block-group__inner-container {
	display: contents;
}
:is(.dv-about-page, .dv-science-page) .is-layout-constrained > :where(*) {
	max-width: none;
}
:is(.dv-about-page, .dv-science-page) :is(.is-layout-flow, .is-layout-constrained) > :where(*) {
	margin-block-start: 0;
}
/* Core's auto margins must not shrink the cards inside these theme grids. */
:is(.dv-about-page, .dv-science-page) :is(.dv-principles, .dv-studies, .dv-pillars, .dv-science-split, .dv-longevity-intro, .dv-liposome-section, .dv-tem-section, .dv-about-founder, .dv-about-values-grid, .dv-about-future) > :where(:not(.wp-block-group__inner-container)) {
	margin-inline: 0 !important;
}

.dv-about-page .dv-about-section,
.dv-science-page .dv-science-section {
	max-width: none;
	padding-block: var(--dv-section-space);
	padding-inline: 0;
}

/* The main menu has identical geometry on every page. */
.site-header {
	height: var(--dv-header-height);
	padding-inline: var(--dv-page-gutter);
	gap: var(--dv-nav-gap);
}
.site-header .wordmark {
	position: absolute;
	left: 50%;
	top: 50%;
	order: 0;
	flex-shrink: 0;
	transform: translate(-50%, -50%);
	margin: 0;
}
.site-header .brand-logo { width: min(var(--dv-logo-width-desktop, 350px), 19vw); }
.site-header .desktop-nav { gap: var(--dv-nav-gap); }
.site-header .desktop-nav-left { order: 1; margin: 0 auto 0 0; }
.site-header .desktop-nav-right { order: 2; margin: 0; }
.site-header .header-actions { order: 3; margin-left: 0; gap: 12px; }
.site-header .nav-link { font-size: 14px; font-weight: 500; letter-spacing: .04em; white-space: nowrap; }
.site-header :is(.science-toggle, .about-toggle) { padding: 6px 2px; }
.site-header :is(.shop-mega-menu, .science-mega, .about-mega, .mobile-navigation) { top: var(--dv-header-height); }
.site-header--editorial {
	position: absolute;
	inset: 0 0 auto;
	border-bottom: 0;
	background: transparent;
}
.admin-bar .site-header--editorial { top: 32px; }
.site-header--editorial .brand-logo { filter: brightness(0); }
.site-header--editorial .header-actions > :is(.header-icon, .header-search) { color: #fff; }
.site-header--editorial .header-actions > :is(.header-icon, .header-search):hover { color: var(--dv-ink); }

.header-search { position: relative; }
.header-search summary { list-style: none; cursor: pointer; }
.header-search summary::-webkit-details-marker { display: none; }
.header-search[open] summary { color: var(--dv-red); }
.header-search form {
	position: absolute;
	top: calc(100% + 20px);
	right: 0;
	display: flex;
	width: min(360px, calc(100vw - 40px));
	padding: 12px;
	border: 1px solid var(--dv-line);
	background: var(--dv-paper);
	box-shadow: 0 10px 30px #24140d18;
	color: var(--dv-ink);
}
.header-search input { min-width: 0; width: 100%; min-height: 44px; border: 0; background: transparent; font-size: 14px; }
.header-search form button { width: 44px; flex-shrink: 0; border: 0; background: var(--dv-red); color: #fff; }

.science-nav,
.about-nav { padding-inline: var(--dv-page-gutter); background: var(--dv-paper); }
.science-nav > div,
.about-nav > div { width: min(var(--dv-page-width), 100%); min-height: 54px; }
.science-nav a,
.about-nav a { font: 400 14px/1.5 var(--dv-sans); padding-block: 17px 14px; }

/* Shared full-width heroes: no separate Science/Absorption/Longévité heights. */
.dv-science-page .dv-science-hero,
.dv-about-page .dv-about-hero {
	width: 100%;
	max-width: none;
	height: var(--dv-hero-height);
	min-height: 0;
	margin: 0;
}
.dv-science-page .dv-science-hero-copy,
.dv-about-page .dv-about-hero-copy {
	width: min(var(--dv-page-width), calc(100% - 2 * var(--dv-page-gutter)));
	height: 100%;
	min-height: 0;
	margin-inline: auto;
	padding-inline: 0;
}
.dv-science-page .dv-science-hero h1 { max-width: 65%; font-size: var(--dv-page-title); }
.dv-science-page .dv-science-intro { max-width: none; }
.dv-science-page .dv-science-intro > p { max-width: 1060px; }
.dv-science-page .dv-science-footnotes { padding-inline: 0; }
.dv-science-footnotes .dv-science-date { width: auto; }

/* Notre histoire — the supplied full-width, compact editorial composition. */
.dv-about-page-story { padding-bottom: 0; }
.dv-about-page-story .dv-about-hero:after {
	background: linear-gradient(90deg, rgba(255,253,250,.88), rgba(255,250,244,.5) 40%, transparent 68%);
}
.dv-about-page-story .dv-about-hero-copy { padding-block: 76px 24px; }
.dv-about-page-story .dv-about-hero-copy .eyebrow { display: none; }
.dv-about-page-story .dv-about-hero-copy h1 {
	max-width: 46%;
	font-size: clamp(25px, 2.65vw, 39px);
	line-height: 1.12;
	letter-spacing: -.025em;
	text-wrap: pretty;
}
.dv-about-page-story .dv-about-origin { border-bottom: 0; padding-block: 32px 30px; }
.dv-about-page-story .dv-about-origin > h2 {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
}
.dv-about-origin-copy { max-width: none; }
.dv-about-page-story .dv-about-origin p { margin-bottom: 5px; font-size: 15px; line-height: 1.5; }
.dv-about-page-story .dv-about-origin .dv-about-origin-lead { margin: 0; font: 400 clamp(19px, 1.8vw, 25px)/1.12 var(--dv-serif); }
.dv-about-page-story .dv-about-origin .dv-about-origin-lead + p:not(.dv-about-origin-lead) { margin-top: 14px; }
.dv-about-page-story .dv-about-origin-manifesto { margin: 16px 0; padding: 0 0 0 24px; }
.dv-about-page-story .dv-about-origin-manifesto p { margin: 0; }
.dv-about-page-story .dv-about-origin .dv-about-origin-conviction { max-width: 1000px; margin-top: 18px; font: 400 20px/1.3 var(--dv-serif); }

.dv-about-page-story .dv-about-founder,
.dv-about-page-story .dv-about-future {
	width: 100%;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	border-bottom: 1px solid var(--dv-line);
}
.dv-about-page-story .dv-about-founder {
	align-items: start;
	padding-bottom: 26px;
}
.dv-about-page-story .dv-about-founder > .dv-about-figure,
.dv-about-page-story .dv-about-founder > .wp-block-group__inner-container > .dv-about-figure {
	min-height: 0;
	height: auto;
	aspect-ratio: 482 / 249;
}
.dv-about-page-story .dv-about-founder-copy { padding: 0 var(--dv-page-gutter) 0 32px; }
.dv-about-page-story .dv-about-founder-copy > .eyebrow { display: none; }
.dv-about-page-story .dv-about-founder-copy h2 { max-width: none; margin-bottom: 12px; }
.dv-editorial-kicker { display: block; margin-bottom: 5px; font: 500 12px/1.3 var(--dv-sans); letter-spacing: .16em; text-transform: uppercase; }
.dv-editorial-title { display: block; font: 400 var(--dv-section-title)/1 var(--dv-serif); text-transform: uppercase; }
.dv-about-page-story .dv-about-founder-copy p { margin-bottom: 4px; font: 400 15px/1.45 var(--dv-sans); }
.dv-about-page-story .dv-about-founder-copy .dv-about-founder-question,
.dv-about-page-story .dv-about-founder-copy .dv-about-founder-signature { margin-block: 8px; font-weight: 600; font-style: normal; }

.dv-about-page-story .dv-about-values { padding-block: 24px 32px; border-bottom: 0; }
.dv-about-page-story .dv-about-values > h2 { max-width: none; margin-bottom: 14px; }
.dv-about-page-story .dv-about-values-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.dv-about-page-story .dv-about-value { padding: 0 24px; border-left: 1px solid var(--dv-line); }
.dv-about-page-story .dv-about-value:first-child { padding-left: 0; border-left: 0; }
.dv-about-page-story .dv-about-value:last-child { padding-right: 0; }
.dv-about-page-story .dv-about-value-number { display: none; }
.dv-about-page-story .dv-about-value-icon { width: 34px; height: 34px; margin-bottom: 7px; border: 0; border-radius: 0; background: transparent center / contain no-repeat; }
.dv-about-page-story .dv-about-value-icon i { display: none; }
.dv-about-page-story .dv-about-value h3 { margin-bottom: 7px; font: 400 clamp(19px, 1.9vw, 27px)/1.05 var(--dv-serif); text-transform: uppercase; letter-spacing: -.035em; }
.dv-about-page-story .dv-about-value p:not(.dv-about-value-number) { margin-bottom: 5px; font: 400 14px/1.45 var(--dv-sans); }
.dv-about-page-story .dv-about-value p:first-of-type:not(.dv-about-value-number) { font-weight: 400; }

.dv-about-page-story .dv-about-future { background: #f3f0ed; align-items: stretch; border: 0; }
.dv-about-page-story .dv-about-future-copy { padding: 32px 38px 40px var(--dv-page-gutter); }
.dv-about-page-story .dv-about-future-copy > .eyebrow { display: none; }
.dv-about-page-story .dv-about-future-copy h2 { max-width: 600px; font-size: clamp(26px, 2.7vw, 39px); line-height: 1.04; text-transform: uppercase; margin-bottom: 14px; }
.dv-about-page-story .dv-about-future-copy p { margin-bottom: 5px; font: 400 15px/1.45 var(--dv-sans); }
.dv-about-page-story .dv-about-future > .dv-about-figure,
.dv-about-page-story .dv-about-future > .wp-block-group__inner-container > .dv-about-figure { min-height: 0; height: 100%; }

.content-shell :is(table, iframe),
.shop-shell :is(table, iframe) { max-width: 100%; }
.dv-blog-article-body,
.content-shell > article { overflow-wrap: break-word; }

@media (max-width: 1100px) and (min-width: 821px) {
	:root { --dv-page-gutter: 48px; --dv-nav-gap: 16px; }
	.site-header { --dv-nav-gap: 12px; }
	.site-header .brand-logo { width: min(var(--dv-logo-width-desktop, 350px), 18vw); }
	.site-header .header-actions { gap: 6px; }
	.site-header .header-search { display: none; }
	.dv-about-page-story .dv-about-value { padding-inline: 14px; }
}

@media (max-width: 820px) {
	:root { --dv-page-gutter: 24px; --dv-header-height: 72px; --dv-hero-height: 620px; --dv-section-space: 36px; }
	.site-header { justify-content: space-between; gap: 12px; }
	.site-header .menu-button { order: -1; }
	.site-header .wordmark { position: absolute; left: 50%; top: 50%; margin: 0; transform: translate(-50%, -50%); }
	.site-header .brand-logo { width: min(var(--dv-logo-width-mobile, 210px), 38vw); }
	.site-header .header-actions { margin-left: auto; gap: 5px; }
	.site-header .header-search { display: none; }
	.site-header .mobile-navigation {
		top: var(--dv-mobile-nav-top, var(--dv-header-height));
		overscroll-behavior: contain;
	}
	.site-header .mobile-navigation.is-open {
		max-height: calc(100vh - var(--dv-mobile-nav-top, var(--dv-header-height)));
		max-height: calc(100dvh - var(--dv-mobile-nav-top, var(--dv-header-height)));
		overflow-x: hidden;
		overflow-y: auto;
		padding-bottom: max(24px, env(safe-area-inset-bottom));
	}
	.site-header .mobile-navigation > * { flex-shrink: 0; }
	.site-header .mobile-navigation a {
		align-items: center;
		min-height: 52px;
		padding-block: 14px;
		font-family: var(--dv-sans);
		font-size: 15px;
		font-weight: 500;
		line-height: 1.5;
		letter-spacing: .06em;
		text-transform: uppercase;
	}
	.site-header .mobile-navigation :is(.mobile-science-links, .mobile-about-links) a {
		min-height: 44px;
		padding-block: 10px;
		font-size: 14px;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
	}
	.site-header--editorial { background: rgba(255,253,250,.75); }
	.site-header--editorial .header-actions > .header-icon { color: var(--dv-ink); }
	.admin-bar .site-header--editorial { top: 46px; }
	.dv-science-page .dv-science-hero-copy { padding-block: 260px 36px; justify-content: flex-end; }
	.dv-science-page .dv-science-hero h1 { max-width: 100%; font-size: clamp(44px, 9.6vw, 56px); }
	.dv-science-page .dv-science-hero:after { background: linear-gradient(0deg, rgba(255,253,250,.97), rgba(255,253,250,.8) 43%, transparent 85%); }
	.dv-science-page .dv-science-section { padding-inline: 0; }
	.science-nav > div,
	.about-nav > div { width: max-content; min-width: 100%; }
	.dv-about-page-story .dv-about-hero:after { background: linear-gradient(0deg, rgba(255,253,250,.99), rgba(255,253,250,.89) 45%, transparent 87%); }
	.dv-about-page-story .dv-about-hero-copy { padding-block: 260px 36px; justify-content: flex-end; }
	.dv-about-page-story .dv-about-hero-copy h1 { max-width: 100%; font-size: clamp(27px, 5.3vw, 36px); line-height: 1.14; }
	.dv-about-page-story .dv-about-founder,
	.dv-about-page-story .dv-about-future { grid-template-columns: 1fr; }
	.dv-about-page-story .dv-about-founder-copy { padding: 30px var(--dv-page-gutter) 8px; }
	.dv-about-page-story .dv-about-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 0; }
	.dv-about-page-story .dv-about-value { padding: 0 20px; border-top: 0; }
	.dv-about-page-story .dv-about-value:nth-child(odd) { padding-left: 0; border-left: 0; }
	.dv-about-page-story .dv-about-value:nth-child(even) { padding-right: 0; border-left: 1px solid var(--dv-line); }
	.dv-about-page-story .dv-about-future-copy { padding: 34px var(--dv-page-gutter); }
	.dv-about-page-story .dv-about-future > .dv-about-figure,
	.dv-about-page-story .dv-about-future > .wp-block-group__inner-container > .dv-about-figure { height: auto; aspect-ratio: 4 / 3; }
	.dv-science-footnotes .dv-science-date { width: auto; }
}

@media (max-width: 520px) {
	:root { --dv-page-gutter: 20px; }
	.dv-about-page-story .dv-about-values-grid { grid-template-columns: 1fr; gap: 0; }
	.dv-about-page-story .dv-about-value:nth-child(n) { padding: 24px 0; border-left: 0; border-top: 1px solid var(--dv-line); }
	.dv-about-page-story .dv-about-value:first-child { border-top: 0; padding-top: 6px; }
	.dv-about-page-story .dv-about-value h3 { font-size: 26px; }
	.dv-editorial-title { font-size: 34px; }
	.site-header .header-actions { gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.header-search { scroll-behavior: auto; }
}

/* Reference line icons, drawn as native vectors. */
 .dv-about-page-story .dv-about-value-edge .dv-about-value-icon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22%23151210%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2029V20h5v9Zm10%200V12h5v17Zm10%200V4h5v25Z%22%2F%3E%3C%2Fsvg%3E")}
 .dv-about-page-story .dv-about-value-rigor .dv-about-value-icon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22%23151210%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203h8M14%203v11L6%2027c-1%202%200%203%202%203h16c2%200%203-1%202-3l-8-13V3M10%2022h12%22%2F%3E%3C%2Fsvg%3E")}
 .dv-about-page-story .dv-about-value-transparency .dv-about-value-icon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22%23151210%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2028C3%2015%2013%205%2029%204c-1%2016-10%2027-23%2022M4%2029%2023%2010%22%2F%3E%3C%2Fsvg%3E")}
 .dv-about-page-story .dv-about-value-simplicity .dv-about-value-icon{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20stroke%3D%22%23151210%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2029%204%2017C-5%207%207-2%2016%208%2025-2%2037%207%2028%2017Z%22%2F%3E%3C%2Fsvg%3E")}
