/* =========================================================
   CE.RO theme — main stylesheet
   ========================================================= */

/* ---------- 1. Tokens ---------- */
:root {
	--cero-text: #231815;
	--cero-bg: #fdfdfd;
	--cero-gold: #c3a773;
	--cero-gold-btn: #c2a673;
	--cero-navy: #323c56;
	--cero-teal: #1c7776;
	--cero-brown: #42210b;
	--cero-grad: linear-gradient(90deg, rgb(66, 33, 11) 0%, rgb(35, 24, 21) 78%, rgb(0, 0, 0) 100%);
	--cero-font: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--cero-font-title: "elegant", var(--cero-font);
	--cero-container: 1296px;
	--cero-gutter: 48px;
	--cero-article: 900px;
	--cero-header-h: 96px;
}

/* ---------- 2. Base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--cero-bg);
	color: var(--cero-text);
	font-family: var(--cero-font);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: anywhere;
	line-break: strict;
}

img, video { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
figure { margin: 0; }
h1, h2, h3, h4, h5, h6, p, ul, ol { margin-top: 0; }

.skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 1000;
	background: #fff; color: #000; padding: .5em 1em;
}
.skip-link:focus { left: 8px; top: 8px; }

:focus-visible { outline: 2px solid var(--cero-gold); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

.c-icon { display: inline-flex; width: 1em; height: 1em; flex: none; }
.c-icon svg { width: 100%; height: 100%; }

/* ---------- 3. Layout ---------- */
.l-container {
	width: 100%;
	max-width: var(--cero-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--cero-gutter);
	padding-right: var(--cero-gutter);
}

.l-content {
	padding-top: 4em;
	margin-bottom: 6em;
}
.is-top .l-content { margin-bottom: 2em; }

.l-mainContent {
	max-width: var(--cero-article);
	margin: 0 auto;
}

/* ---------- 4. Header ---------- */
.l-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--cero-grad);
	color: #fff;
}
.admin-bar .l-header { top: var(--wp-admin--admin-bar--height, 32px); }

.l-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--cero-header-h);
	transition: height .3s;
}

.c-headLogo { margin: 0; line-height: 1; font-size: 16px; }
.c-headLogo__link { display: block; text-decoration: none; color: #fff; }
.c-headLogo__img {
	display: block;
	width: auto;
	height: 64px;
	transition: height .3s;
}
.c-headLogo__text { font-size: 20px; font-weight: 700; }

.l-header__gnav { height: 100%; }

.c-gnav {
	display: flex;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.c-gnav > .menu-item { position: relative; height: 100%; }
.c-gnav > .menu-item > a {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 0 12px;
	color: #fff;
	text-decoration: none;
	line-height: 1;
}
.c-gnav .ttl {
	display: block;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
}
.c-gnav .sub {
	display: block;
	width: 100%;
	margin-top: 2px;
	padding-top: 5px;
	border-top: 1px solid #fff;
	color: var(--cero-gold);
	font-size: 12px;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}
/* hover / current line (center out) */
.c-gnav > .menu-item > a::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 0;
	height: 2px;
	background: currentColor;
	transform: translateX(-50%);
	transition: width .25s;
}
.c-gnav > .menu-item > a:hover::after,
.c-gnav > .current-menu-item > a::after,
.c-gnav > .current_page_parent > a::after { width: 100%; }

/* CONTACT item */
.c-gnav > .menu-contact { background-color: var(--cero-navy); }
.c-gnav > .menu-contact > a { width: 89px; padding: 0 12px; }
.c-gnav > .menu-contact .c-gnav__icon { display: block; width: 50%; height: auto; margin-bottom: 4px; }
.c-gnav > .menu-contact .ttl { color: var(--cero-gold); margin-top: 5px; }
.c-gnav > .menu-contact .sub { display: none; }

.l-header__menuBtn { display: none; }
.c-menuBtn {
	display: flex; align-items: center; justify-content: center;
	width: 51px; height: 51px; padding: 0;
	background: none; border: 0; color: #fff; cursor: pointer; font-size: 24px;
}

/* compact header after scrolling (PC) */
@media (min-width: 960px) {
	.is-scrolled .l-header__inner { height: 64px; }
	.is-scrolled .c-headLogo__img { height: 48px; }
}

/* ---------- 5. Smartphone menu ---------- */
.p-spMenu {
	position: fixed;
	inset: 0;
	z-index: 200;
	visibility: hidden;
	pointer-events: none;
}
.p-spMenu__overlay {
	position: absolute; inset: 0;
	background: #000;
	opacity: 0;
	transition: opacity .3s;
}
.p-spMenu__inner {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: 88vw; max-width: 400px;
	overflow-y: auto;
	background: rgba(66, 33, 11, .97);
	color: #fff;
	transform: translateX(100%);
	transition: transform .35s ease;
	padding-bottom: 2em;
}
.is-menuOpen .p-spMenu { visibility: visible; pointer-events: auto; }
.is-menuOpen .p-spMenu__overlay { opacity: .6; }
.is-menuOpen .p-spMenu__inner { transform: none; }
.is-menuOpen body { overflow: hidden; }

.p-spMenu__closeBtn {
	display: flex; align-items: center; justify-content: center;
	width: 51px; height: 51px; margin-left: auto; padding: 0;
	background: none; border: 0; color: #fff; cursor: pointer; font-size: 24px;
}
.p-spMenu__body { padding: 0 16px; }
.p-spMenu__title {
	margin: 0 0 .5em;
	padding: .6em .75em;
	background: #fff;
	color: #04384c;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}
.c-spnav { margin: 0; padding: 0; list-style: none; }
.c-spnav a {
	display: block;
	padding: .75em .5em .75em 1.5em;
	border-bottom: 1px solid rgba(255, 255, 255, .25);
	color: #fff;
	text-decoration: none;
	font-size: 13px;
	position: relative;
	transition: padding .25s;
}
.c-spnav a::before {
	content: "";
	position: absolute; left: .4em; top: 50%;
	width: 6px; height: 6px;
	border-top: 1px solid currentColor; border-right: 1px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
}
.c-spnav a:hover { padding-left: 1.75em; }
.c-spnav .sub-menu { margin: 0; padding: 0 0 0 1em; list-style: none; }

/* ---------- 6. Main visual ---------- */
.p-mainVisual { position: relative; overflow: hidden; }
.p-mainVisual__picture, .p-mainVisual__img { display: block; width: 100%; height: auto; }
.p-mainVisual__textLayer {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.p-mainVisual__slideTitle {
	position: absolute;
	margin: 0;
	left: clamp(590px, 61.5224vw, 840px);
	top: clamp(120px, 12.513vw, 260px);
	font-size: clamp(20px, 2.0855vw, 38px);
	line-height: 1.4;
	letter-spacing: .08em;
	white-space: nowrap;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
}

/* ---------- 7. Breadcrumb ---------- */
.p-breadcrumb {
	position: relative;
	padding: 8px 0;
	background: #f7f7f7;
	font-size: 11px;
	line-height: 1.6;
}
.p-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 auto;
	list-style: none;
}
.p-breadcrumb__item { display: flex; align-items: center; }
.p-breadcrumb__item .c-icon { margin-right: .3em; font-size: 1.1em; }
.p-breadcrumb__item:not(:last-child)::after {
	content: "";
	display: inline-block;
	width: 5px; height: 5px;
	margin: 0 .9em 0 .7em;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: rotate(45deg);
	opacity: .7;
}
.p-breadcrumb a { color: inherit; text-decoration: none; }
.p-breadcrumb a:hover { text-decoration: underline; }

/* ---------- 8. Page title ---------- */
.c-pageTitle {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
.c-pageTitle::before {
	content: "";
	width: 70px;
	height: 70px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.c-pageTitle__inner {
	display: block;
	padding-top: .5em;
	font-family: var(--cero-font-title);
	font-weight: 300;
	font-style: normal;
}
.c-pageTitle + .post_content { margin-top: 0; }

/* ---------- 9. Post content (block styles) ---------- */
.post_content {
	font-size: 16px;
	line-height: 1.8;
}
.l-mainContent .post_content {
	padding: 0 16px;
}
/* Paragraph-like elements have no margin of their own inside content
   (zero specificity, so any class or page CSS can add spacing). */
:where(.post_content) :where(p, ul, ol, h1, h2, h3, h4, h5, h6) { margin: 0; }

/* Spacing: top-level blocks are separated by 2em; blocks inside groups and
   columns sit tight (use the u-mb-* classes to add space). */
.post_content > * {
	margin-top: 0;
	margin-bottom: 2em;
}
.post_content > :last-child { margin-bottom: 0; }
.post_content .wp-block-group > *,
.post_content .wp-block-group__inner-container > *,
.post_content .wp-block-column > * {
	margin-top: 0;
	margin-bottom: 0;
}

.l-mainContent .post_content .wp-block-group > :last-child,
.l-mainContent .post_content .wp-block-group__inner-container > :last-child,
.l-mainContent .post_content .wp-block-column > :last-child { margin-bottom: 0 !important; }

/* Default (non-flex) groups get inner breathing room. */
.post_content .wp-block-group__inner-container.is-layout-constrained { padding: 20px; }

/* "Stack" groups (see inc/blocks.php): flex groups stack vertically;
   groups with their own class stack full-width without gaps. */
.wp-block-group.is-stack { display: flex; flex-direction: column; }
.wp-block-group.is-stack--plain { align-items: stretch; gap: 0; }
.post_content .wp-block-image { text-align: center; }

.post_content .wp-block-columns { line-height: 1.6; }
.post_content .wp-block-columns.is-layout-flex { gap: 1.5em; }

/* top-level paragraphs on pages are slightly smaller (as before) */
.l-mainContent > .l-article > .post_content > p { font-size: 14px; }

.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4 {
	position: relative;
	font-weight: 700;
	line-height: 1.4;
}
.post_content h1 { font-size: 2em; line-height: 1.8; }
.post_content h2 { font-size: 1.4em; }
.post_content h3 { font-size: 1.3em; }
.post_content h4 { font-size: 1.2em; }

.post_content a { color: inherit; }
.post_content .wp-block-image img { height: auto; }
.post_content .wp-block-image.aligncenter,
.post_content .wp-block-image .aligncenter { text-align: center; }
.post_content .wp-block-image.alignright { float: none; display: flex; justify-content: flex-end; margin-left: 0; }
.post_content .wp-block-image.alignright > img,
.post_content .wp-block-image.alignright > a { margin-left: auto; }

.post_content .wp-block-columns { margin-bottom: 2em; }
.post_content video { display: block; }

.post_content code {
	padding: .1em .3em;
	background: rgba(0, 0, 0, .05);
	border-radius: 2px;
	font-size: .9em;
}

/* utilities (kept compatible with existing content) */
.u-mb-ctrl.u-mb-0 { margin-bottom: 0 !important; }
.u-mb-ctrl.u-mb-5 { margin-bottom: .5em !important; }
.u-mb-ctrl.u-mb-10 { margin-bottom: 1em !important; }
.u-mb-ctrl.u-mb-20 { margin-bottom: 2em !important; }
.u-mb-ctrl.u-mb-30 { margin-bottom: 3em !important; }
.u-mb-ctrl.u-mb-40 { margin-bottom: 4em !important; }
.u-mb-ctrl.u-mb-50 { margin-bottom: 5em !important; }
.u-mb-ctrl.u-mb-60 { margin-bottom: 6em !important; }
.u-mb-ctrl.u-mb-80 { margin-bottom: 8em !important; }

.size_s img { max-width: 200px; }
.post_content .size_s { text-align: center; }

.has-small-font-size { font-size: .9em !important; }
.has-medium-font-size { font-size: 1.1em !important; }
.has-large-font-size { font-size: 1.25em !important; }
.has-x-large-font-size, .has-huge-font-size { font-size: 1.6em !important; }
.has-white-color { color: #fff !important; }
.has-black-color { color: #000 !important; }

/* table: simple style */
.post_content .wp-block-table { overflow-x: auto; }
.post_content .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--cero-table-fz, 1em);
	line-height: 1.6;
}
.post_content .wp-block-table td,
.post_content .wp-block-table th {
	padding: .5em .75em;
	border: 1px solid rgba(0, 0, 0, .1);
	vertical-align: top;
}
.post_content .wp-block-table td:first-child,
.post_content .wp-block-table th:first-child { width: var(--cero-cell1-w, auto); }
.post_content .wp-block-table.is-style-simple td,
.post_content .wp-block-table.is-style-simple th {
	border-left: 0;
	border-right: 0;
	border-top: 0;
	border-bottom: 1px solid rgba(0, 0, 0, .15);
}
.post_content .wp-block-table.is-style-simple tr:first-child td { border-top: 1px solid rgba(0, 0, 0, .15); }

/* paragraph button style */
.is-style-cero-button a,
.c-btn {
	display: inline-block;
	padding: .5em 2.5em;
	background: var(--cero-gold);
	color: #fff !important;
	text-decoration: none;
	transition: opacity .2s;
}
.is-style-cero-button a:hover,
.c-btn:hover { opacity: .8; }

.is-style-shadow img { box-shadow: 0 2px 12px rgba(0, 0, 0, .15); }

/* PC / SP only */
@media (max-width: 959px) { .pc_only { display: none !important; } }
@media (min-width: 960px) { .sp_only { display: none !important; } }

/* ---------- 10. News list ---------- */
.p-postList,
.cero-newsList .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}
.p-postList__item,
.cero-newsList .wp-block-post { margin-bottom: 2em; }

.p-postList__link,
.post_content .cero-newsList__item {
	display: flex;
	gap: 0 35px;
	align-items: flex-start;
	color: inherit;
	text-decoration: none;
}
.p-postList__thumb,
.cero-newsList__thumb {
	position: relative;
	flex: 0 0 36%;
	width: 36%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
	margin: 0 !important;
}
.p-postList__thumb img,
.cero-newsList__thumb img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform .3s;
}
.p-postList__link:hover .p-postList__thumb img,
.cero-newsList__thumb a:hover img { transform: scale(1.05); }

.p-postList__body,
.cero-newsList__body { flex: 1 1 auto; min-width: 0; gap: 0 !important; }
.p-postList__title,
.post_content .cero-newsList__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}
.cero-newsList__title a { text-decoration: none; color: inherit; }
.p-postList__excerpt,
.post_content .cero-newsList__excerpt {
	margin: 7px 0 0;
	font-size: 14px;
	line-height: 1.5;
}
.cero-newsList__excerpt p { margin: 0; }
.cero-newsList__excerpt .wp-block-post-excerpt__more-text { display: none; }
.p-postList__meta,
.post_content .cero-newsList__date {
	display: flex;
	align-items: center;
	margin-top: 5px;
	padding: 4px 0;
	font-size: 11px;
	line-height: 1.25;
}
.p-postList__date { display: inline-flex; align-items: center; }
.p-postList__date .c-icon { margin-right: .3em; }
.cero-newsList__date::before {
	content: "";
	width: 1em; height: 1em; margin-right: .3em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm0 4v5l3.5 2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm0 4v5l3.5 2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.p-archiveLead { margin-bottom: 4em; }
.p-archiveLead > p { font-size: 14px; }

/* pagination */
.c-pagination { margin-top: 40px; padding: 6px 0; }
.c-pagination .nav-links {
	display: flex;
	justify-content: center;
	gap: 6px;
}
.c-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 6px;
	border: 1px solid #04384c;
	color: #04384c;
	font-size: 14px;
	text-decoration: none;
}
.c-pagination .page-numbers.current,
.c-pagination a.page-numbers:hover {
	background: #04384c;
	color: #fff;
}

/* ---------- 11. Single post ---------- */
.c-postTitle {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0 16px;
	margin-bottom: 0;
}
.c-postTitle__date {
	margin-bottom: 1em;
	font-size: 1em;
	line-height: 1.15;
}
.c-postTitle + .post_content { margin-top: 4.5em; }
.c-postTitle__ttl {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}
.single .post_content > p { font-size: 14px; }
.single .post_content .wp-block-image { text-align: center; }

.p-articleFoot {
	margin-top: 4em;
	padding-top: 2em;
	border-top: 1px solid var(--cero-text);
}
.p-articleFoot__cats { display: flex; align-items: center; gap: .5em; font-size: 12px; }
.c-catLabel {
	display: inline-block;
	padding: .2em .6em;
	background: #04384c;
	color: #fff;
	text-decoration: none;
	line-height: 1.4;
}

/* ---------- 12. Before footer (CONTACT band) & footer ---------- */
.w-beforeFooter { padding: 0; line-height: 1.6; }
.w-beforeFooter.post_content,
.l-footer__widgetArea.post_content { font-size: inherit; }
.w-beforeFooter > * { margin-bottom: 0; }
.w-beforeFooter .wp-block-group.has-background { padding: 2em; }
.w-beforeFooter p { margin-bottom: 0; }

.l-footer {
	position: relative;
	background: var(--cero-grad);
	color: #fff;
}
.l-footer__widgetArea { padding-top: 2em; padding-bottom: 2em; }
.l-footer__widgetArea.post_content { line-height: 1.6; }
.l-footer__widgetArea .wp-block-group.is-layout-flex { justify-content: center; }
.l-footer__foot { position: relative; padding: 16px 0; min-height: 32px; }
.l-footer__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 .5em;
	padding: 0;
	list-style: none;
}
.l-footer__nav a { padding: 0 .75em; color: #fff; font-size: 14px; letter-spacing: .1em; text-decoration: none; }
.copyright {
	position: absolute;
	bottom: 3px;
	left: 0;
	right: 0;
	margin: 0;
	font-size: 12px;
	line-height: 1.6;
	text-align: center;
}

/* ---------- 13. Page-specific designs (from the original site) ---------- */
/* TOP */
.top_news_wrap {
	padding: 0 0 3em;
	border-bottom: 1px solid rgb(35, 24, 21);
}
.top_news_wrap.u-mb-ctrl { padding-bottom: 3em !important; }
.top_news_wrap > .cero-newsList,
.top_news_wrap > .p-postList { align-self: stretch; }
.top_news_wrap .news_list_link > a {
	background-color: rgb(195, 167, 115);
	padding: 5px 40px;
	text-decoration: none;
}
.catchphrase { display: flex; flex-direction: column; align-items: center; }

/* CONCEPT */
.concept_video_style { width: 100%; margin-bottom: 5em; }
.concept_h3 { font-family: "えれがんと-W3", var(--cero-font-title); }
.features_container { position: relative; }
.features_container > div { position: relative; }
.features_container figure { position: relative; z-index: 1; }
.features_container .features_texts { position: absolute; z-index: 10; margin: 0 !important; }
.features_container figure.features_texts { top: -40%; left: 64%; width: 18%; }
.features_container div.features_texts { top: 50px; left: 70%; white-space: nowrap; }
.features_container div.features_texts p { margin: 0; }
.font_custom2 > span > code,
.font_custom2 code {
	margin: 0;
	padding: 0;
	background-color: transparent;
	border: none;
	font-size: 14px;
	font-family: "游明朝", "Yu Mincho", var(--cero-font);
	color: rgb(28, 119, 118);
}
h2.font_custom2 > span > code,
h2.font_custom2 code { font-size: 22px; }

/* PRODUCT */
.product_wrap { align-items: center; padding: 5em 1em; }
.product_wrap .logo_below_border { width: 100%; border-bottom: 1px solid rgb(35, 24, 21); }
.product_wrap .right_justified_price { align-self: flex-end; flex-direction: row; align-items: flex-end; }
.product_wrap .right_justified_price > p { margin: 0; }
.product_wrap .right_justified_price > p:first-of-type { margin-right: .5em; }
.product_wrap .product_here_links_wrap { flex-direction: row; }
.product_wrap .product_here_links_wrap > .product_here_link { margin: 0; padding: .5em 2em; }
.product_wrap .product_here_links_wrap > .product_here_link:first-of-type { margin-right: 1em; }
.product_here_link a { text-decoration: none; }

/* ABOUT */
.post_content .about_table_style tbody > tr > * {
	font-family: "Meiryo UI", "Meiryo", sans-serif;
	border-top: none !important;
	border-bottom-color: rgb(195, 167, 115) !important;
	padding-top: 3em;
}

/* footer logo */
.footer_logo_area { max-width: 300px; }

/* ---------- 14. Responsive ---------- */
@media (max-width: 1284px) {
	.post_content .about_table_style tbody > tr > td:last-of-type { padding-top: 2em; }
}

@media (max-width: 959px) {
	:root { --cero-gutter: 4vw; --cero-header-h: 51px; }

	.l-header__inner { padding-left: 8px; padding-right: 0; }
	.l-header__gnav { display: none; }
	.l-header__menuBtn { display: block; }
	.c-headLogo__img { height: 31px; }

	.l-mainContent .post_content { padding: 0; }

	.p-mainVisual__slideTitle {
		left: clamp(20px, 6.6667vw, 50px);
		top: auto;
		bottom: clamp(28px, 9.3333vw, 100px);
		font-size: clamp(15px, 5vw, 48px);
		filter: drop-shadow(5px 0 5px #fff);
	}

	.product_wrap .product_here_links_wrap > .product_here_link { padding: .5em 1em; }
	.wp-block-columns.product_wrap { padding: 0; }

	.w-beforeFooter .wp-block-group.has-background { padding: 1.5em; }
}

@media (max-width: 781px) {
	.post_content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 599px) {
	body { font-size: 3.6vw; }
	.post_content { font-size: 4vw; }
	.l-content { padding-top: 2em; }
	.c-pageTitle { font-size: 1.3em; }

	.p-postList__link,
	.cero-newsList__item {
		flex-direction: column !important;
		align-items: center !important;
		row-gap: 1rem;
		width: 80%;
		margin: auto;
	}
	.p-postList__thumb,
	.cero-newsList__thumb,
	.p-postList__body,
	.cero-newsList__body { width: 100%; flex-basis: auto; }
	.p-postList__title,
	.cero-newsList__title { font-size: 14px; }

	.is-top .l-content { padding-top: 4em; }

	.post_content .p-postList__link,
	.post_content .cero-newsList__item { row-gap: 1rem; }
	.post_content .p-postList__title,
	.post_content .cero-newsList__title { font-size: 3.6vw; }
	.post_content .p-postList__excerpt,
	.post_content .cero-newsList__excerpt { font-size: 3.4vw; }
	.p-postList__meta,
	.post_content .cero-newsList__date { font-size: 10px; margin-top: 8px; padding: 4px 0; }

	/* tables marked "sp_block_" stack their cells on phones */
	.post_content .wp-block-table.sp_block_ td,
	.post_content .wp-block-table.sp_block_ th { display: block; }
	.post_content .about_table_style.sp_block_ tbody > tr > * { padding-left: 1em; padding-right: 1em; padding-bottom: 1em; }
	.post_content h2 { font-size: 1.2em; }
}

/* =========================================================
   15. Section components (v1.1)
   Use these classes on blocks via「追加CSSクラス」.
   ========================================================= */
html { overflow-x: clip; }
:root { --cero-beige: #f6f2ea; --cero-line: rgba(35, 24, 21, .15); }

/* section wrapper */
.post_content .cero-sec { margin-bottom: 7em; }
.post_content .cero-sec:last-child { margin-bottom: 0; }
.post_content .cero-sec--bg {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 5em max(16px, calc((100vw - 868px) / 2));
	background: var(--cero-beige);
}
.post_content .cero-sec--navy {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 5em max(16px, calc((100vw - 868px) / 2));
	background: var(--cero-navy);
	color: #fff;
}
.post_content .cero-sec--navy .cero-head__en { color: #fff; }

/* section heading: EN + JA */
.post_content .cero-head { margin-bottom: 3em; text-align: center; }
.post_content .cero-head__en {
	margin: 0;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: .14em;
	line-height: 1.4;
}
.post_content .cero-head__ja {
	margin: .4em 0 0;
	color: var(--cero-gold);
	font-size: 12px;
	letter-spacing: .1em;
}
.post_content .cero-head--left { text-align: left; }

/* lead / body text */
.post_content .cero-lead {
	max-width: 48em;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2.5em;
	font-size: 15px;
	line-height: 2;
	text-align: center;
}
.post_content .cero-catch {
	margin-bottom: 1em;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .04em;
}
.post_content .cero-text { font-size: 14px; line-height: 2; }
.post_content .cero-note { color: #7a706c; font-size: 12px; line-height: 1.8; }

/* image placeholder */
.post_content .cero-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 3 / 2;
	padding: 1em !important;
	background:
		repeating-linear-gradient(45deg, transparent 0 12px, rgba(195, 167, 115, .08) 12px 24px),
		#efe9df;
	border: 1px dashed rgba(195, 167, 115, .9);
	color: #9b8a6c;
	text-align: center;
}
.post_content .cero-ph p { margin: 0; font-size: 12px; line-height: 1.7; letter-spacing: .05em; }
.post_content .cero-ph--wide { aspect-ratio: 16 / 9; }
.post_content .cero-ph--banner { aspect-ratio: 3 / 1; }
.post_content .cero-ph--square { aspect-ratio: 1 / 1; }
.post_content .cero-ph--portrait { aspect-ratio: 4 / 5; }
.post_content .cero-sec--navy .cero-ph { background-color: rgba(255, 255, 255, .06); color: #d9c9a6; }

/* split (image + text) */
.post_content .cero-split { gap: 3.5em !important; align-items: center; }
.post_content .cero-split--reverse { flex-direction: row-reverse; }

/* cards */
.post_content .cero-cards { gap: 1.5em !important; }
.post_content .cero-card {
	height: 100%;
	padding: 0 0 1.75em !important;
	background: #fff;
	box-shadow: 0 2px 12px rgba(35, 24, 21, .06);
}
.post_content .cero-sec--bg .cero-card { background: #fff; }
.post_content .cero-card .cero-ph { margin-bottom: 1.25em !important; }
.post_content .cero-card__ttl {
	margin: 0 20px .6em !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}
.post_content .cero-card__txt { margin: 0 20px !important; font-size: 13px; line-height: 1.9; }
.post_content .cero-card__num {
	margin: 0 20px .25em !important;
	color: var(--cero-gold);
	font-size: 28px;
	font-style: italic;
	line-height: 1.2;
}

/* steps */
.post_content .cero-steps { counter-reset: cero-step; gap: 1.5em !important; }
.post_content .cero-step { position: relative; text-align: center; }
.post_content .cero-step .cero-ph { margin-bottom: 1em !important; aspect-ratio: 1 / 1; border-radius: 50%; }
.post_content .cero-step__num { margin: 0 0 .3em !important; color: var(--cero-gold); font-size: 12px; letter-spacing: .2em; }
.post_content .cero-step__ttl { margin: 0 0 .5em !important; font-size: 16px; font-weight: 700; }
.post_content .cero-step__txt { margin: 0 !important; font-size: 13px; line-height: 1.9; }

/* spec table */
.post_content .cero-spec table { font-size: 14px; }
.post_content .cero-spec td:first-child { width: 30%; color: #6b5f5a; white-space: nowrap; }
.post_content .cero-spec td { padding: 1.1em .75em !important; }

/* FAQ (details block) */
.post_content .cero-faq {
	margin: 0 0 .75em !important;
	background: #fff;
	border: 1px solid var(--cero-line);
}
.post_content .cero-faq summary {
	position: relative;
	padding: 1.1em 3em 1.1em 3.2em;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	list-style: none;
}
.post_content .cero-faq summary::-webkit-details-marker { display: none; }
.post_content .cero-faq summary::before {
	content: "Q";
	position: absolute; left: 1.1em; top: 1.05em;
	color: var(--cero-gold); font-size: 17px; font-weight: 400;
}
.post_content .cero-faq summary::after {
	content: "";
	position: absolute; right: 1.4em; top: 50%;
	width: 8px; height: 8px; margin-top: -6px;
	border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
	transition: transform .25s;
}
.post_content .cero-faq[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.post_content .cero-faq > :not(summary) {
	position: relative;
	margin: 0 !important;
	padding: 0 1.5em 1.3em 3.2em;
	font-size: 14px;
	line-height: 1.9;
}
.post_content .cero-faq > p:first-of-type::before {
	content: "A";
	position: absolute; left: 1.1em; top: -.15em;
	color: var(--cero-navy); font-size: 17px;
}

/* buttons */
.post_content .cero-btns { gap: 1em !important; margin-top: 2.5em !important; }
.post_content .cero-btn .wp-block-button__link {
	display: inline-block;
	min-width: 220px;
	padding: .9em 2.5em;
	border-radius: 0;
	background: var(--cero-gold);
	color: #fff;
	font-size: 14px;
	letter-spacing: .1em;
	text-align: center;
	text-decoration: none;
	transition: opacity .2s;
}
.post_content .cero-btn--navy .wp-block-button__link { background: var(--cero-navy); }
.post_content .cero-btn--line .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	color: inherit;
}
.post_content .cero-btn .wp-block-button__link:hover { opacity: .8; }

/* price line */
.post_content .cero-price { margin-top: 1.5em !important; font-size: 14px; text-align: center; }
.post_content .cero-price strong { margin-left: .4em; font-size: 24px; font-weight: 700; letter-spacing: .04em; }

/* list with gold bullets */
.post_content .cero-list { margin: 0 0 1.5em !important; padding: 0; list-style: none; }
.post_content .cero-list li { position: relative; padding: .55em 0 .55em 1.6em; border-bottom: 1px solid var(--cero-line); font-size: 14px; line-height: 1.8; }
.post_content .cero-list li::before {
	content: "";
	position: absolute; left: .2em; top: 1.2em;
	width: 7px; height: 7px;
	background: var(--cero-gold);
	transform: rotate(45deg);
}

/* media quote */
.post_content .cero-media { font-size: 12px; letter-spacing: .12em; color: var(--cero-gold); }

/* =========================================================
   16. Compact news list
   ========================================================= */
.post_content .cero-newsCompact { border-top: 1px solid var(--cero-line); }
.post_content .cero-newsCompact .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.post_content .cero-newsCompact .wp-block-post { margin: 0; border-bottom: 1px solid var(--cero-line); }
.post_content .cero-newsCompact__row {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 1.25em !important;
	padding: 1.05em 2.5em 1.05em .5em !important;
}
.post_content .cero-newsCompact__row::after {
	content: "";
	position: absolute; right: 1em; top: 50%;
	width: 7px; height: 7px; margin-top: -4px;
	border-top: 1px solid currentColor; border-right: 1px solid currentColor;
	transform: rotate(45deg);
	opacity: .6;
}
.post_content .cero-newsCompact__date { flex: none; margin: 0 !important; font-size: 13px; letter-spacing: .05em; color: #6b5f5a; }
.post_content .cero-newsCompact__cat { flex: none; margin: 0 !important; font-size: 11px; line-height: 1; }
.post_content .cero-newsCompact__cat a {
	display: inline-block;
	min-width: 6em;
	padding: .45em .8em;
	border: 1px solid var(--cero-gold);
	color: var(--cero-gold);
	text-align: center;
	text-decoration: none;
}
.post_content .cero-newsCompact__title { flex: 1 1 auto; min-width: 0; margin: 0 !important; font-size: 14px; font-weight: 400; line-height: 1.6; }
.post_content .cero-newsCompact__title a { color: inherit; text-decoration: none; }
.post_content .cero-newsCompact__title a::after { content: ""; position: absolute; inset: 0; } /* whole row clickable */
.post_content .cero-newsCompact .wp-block-post:hover { background: rgba(195, 167, 115, .06); }

/* archive (NEWS page) uses the same look */
.p-newsList { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cero-line); }
.p-newsList__item { border-bottom: 1px solid var(--cero-line); }
.p-newsList__link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0 1.25em;
	padding: 1.05em 2.5em 1.05em .5em;
	color: inherit;
	text-decoration: none;
	transition: background .2s;
}
.p-newsList__link:hover { background: rgba(195, 167, 115, .06); }
.p-newsList__link::after {
	content: "";
	position: absolute; right: 1em; top: 50%;
	width: 7px; height: 7px; margin-top: -4px;
	border-top: 1px solid currentColor; border-right: 1px solid currentColor;
	transform: rotate(45deg);
	opacity: .6;
}
.p-newsList__date { flex: none; font-size: 13px; letter-spacing: .05em; color: #6b5f5a; }
.p-newsList__cat {
	flex: none;
	min-width: 6em;
	padding: .45em .8em;
	border: 1px solid var(--cero-gold);
	color: var(--cero-gold);
	font-size: 11px;
	line-height: 1;
	text-align: center;
}
.p-newsList__title { flex: 1 1 auto; min-width: 0; margin: 0; font-size: 14px; font-weight: 400; line-height: 1.6; }

@media (max-width: 959px) {
	.post_content .cero-split,
	.post_content .cero-split--reverse { flex-direction: column; gap: 2em !important; }
	.post_content .cero-split > .wp-block-column { flex-basis: 100% !important; width: 100%; }
	.post_content .cero-sec--bg,
	.post_content .cero-sec--navy { padding-top: 3.5em; padding-bottom: 3.5em; }
}
@media (max-width: 781px) {
	.post_content .cero-cards > .wp-block-column,
	.post_content .cero-steps > .wp-block-column { flex-basis: 100% !important; }
	.post_content .cero-steps .cero-ph { max-width: 220px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 599px) {
	.post_content .cero-ph--portrait { aspect-ratio: 4 / 3; }
	.post_content .cero-sec { margin-bottom: 5em; }
	.post_content .cero-catch { font-size: 18px; }
	.post_content .cero-lead { font-size: 14px; text-align: left; }
	.post_content .cero-btn .wp-block-button__link { min-width: 0; width: 100%; }
	.post_content .cero-btns .wp-block-button { width: 100%; }
	.post_content .cero-newsCompact__row,
	.p-newsList__link { flex-wrap: wrap !important; row-gap: .4em !important; padding-right: 2.25em !important; }
	.post_content .cero-newsCompact__title,
	.p-newsList__title { flex-basis: 100%; font-size: 13px; }
	.post_content .cero-faq summary { font-size: 14px; }
}

/* product features (icons) & closing copy */
.post_content .cero-features { gap: 1.5em !important; margin-top: 3em !important; }
.post_content .cero-feature { text-align: center; }
.post_content .cero-feature .wp-block-image { margin-bottom: 1em !important; }
.post_content .cero-feature p { font-size: 14px; line-height: 1.8; }
.post_content .cero-closing { color: var(--cero-teal); line-height: 1.6; margin-bottom: .75em !important; }
@media (max-width: 781px) {
	.post_content .cero-features { gap: .75em !important; }
	.post_content .cero-features .size_s img { max-width: 100%; }
	.post_content .cero-feature p { font-size: 11px; line-height: 1.7; }
}

/* light navy section */
:root { --cero-navy-light: #e4e8f0; }
.post_content .cero-sec--navyLight {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 5em max(16px, calc((100vw - 868px) / 2));
	background: var(--cero-navy-light);
}
@media (max-width: 959px) {
	.post_content .cero-sec--navyLight { padding-top: 3.5em; padding-bottom: 3.5em; }
}

/* =========================================================
   17. Brand navy (from the shampoo bottle) for added sections
   cero-sec--bg / cero-sec--navyLight / cero-sec--navy
   ========================================================= */
:root {
	--cero-indigo: #222a5b;
	--cero-indigo-2: #2f3572;
	--cero-indigo-grad: linear-gradient(135deg, #1e2552 0%, #262e63 55%, #343a78 100%);
}
.post_content .cero-sec--bg,
.post_content .cero-sec--navyLight,
.post_content .cero-sec--navy {
	background: var(--cero-indigo-grad);
	color: #fff;
}
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-head__en { color: #fff; }
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-head__ja { color: var(--cero-gold); }
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-text,
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-lead { color: rgba(255, 255, 255, .88); }
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-catch { color: #fff; }
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-note { color: rgba(255, 255, 255, .6); }

/* image placeholders on navy */
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-ph {
	background:
		repeating-linear-gradient(45deg, transparent 0 12px, rgba(255, 255, 255, .04) 12px 24px),
		rgba(255, 255, 255, .06);
	border-color: rgba(195, 167, 115, .7);
	color: #d9c9a6;
}

/* cards stay light, with a soft indigo shadow */
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-card {
	background: #fff;
	color: var(--cero-text);
	box-shadow: 0 6px 24px rgba(10, 14, 40, .35);
}
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-card .cero-ph {
	background:
		repeating-linear-gradient(45deg, transparent 0 12px, rgba(34, 42, 91, .05) 12px 24px),
		#eceef5;
	border-color: rgba(34, 42, 91, .25);
	color: #6c7194;
}

/* FAQ on navy */
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-faq {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(255, 255, 255, .22);
	color: #fff;
}
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-faq > p:first-of-type::before { color: var(--cero-gold); }

/* lists on navy */
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-list li { border-bottom-color: rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .9); }

/* buttons on navy */
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-btn--line .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .8); }
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-btn--line .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); opacity: 1; }
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-btn--navy .wp-block-button__link { background: var(--cero-gold); }

/* light-section buttons use the bottle navy too */
.post_content .cero-btn--navy .wp-block-button__link { background: var(--cero-indigo); }

/* placeholders on light sections: indigo tint (matches the bottle) */
.post_content .cero-ph {
	background:
		repeating-linear-gradient(45deg, transparent 0 12px, rgba(34, 42, 91, .05) 12px 24px),
		#eceef5;
	border-color: rgba(34, 42, 91, .3);
	color: #6c7194;
}
.post_content :is(.cero-sec--bg, .cero-sec--navyLight, .cero-sec--navy) .cero-ph:not(.cero-card .cero-ph) {
	background:
		repeating-linear-gradient(45deg, transparent 0 12px, rgba(255, 255, 255, .04) 12px 24px),
		rgba(255, 255, 255, .06);
	border-color: rgba(195, 167, 115, .7);
	color: #d9c9a6;
}
.post_content .cero-newsCompact__cat a,
.p-newsList__cat { border-color: var(--cero-indigo); color: var(--cero-indigo); }
.post_content .cero-ph--banner { margin-bottom: 1.5em !important; }

/* =========================================================
   18. Main visual: video
   ========================================================= */
.p-mainVisual--video {
	position: relative;
	background: #eef0f3;
	overflow: hidden;
}
.p-mainVisual__video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: calc(100svh - var(--cero-header-h));
	object-fit: cover;
	background: #eef0f3;
}
.p-mainVisual__sound,
.p-mainVisual__scroll {
	position: absolute;
	bottom: 24px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: .6em;
	padding: .55em 1.1em;
	border: 1px solid rgba(35, 24, 21, .35);
	background: rgba(255, 255, 255, .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: var(--cero-text);
	font-size: 11px;
	letter-spacing: .18em;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s;
}
.p-mainVisual__sound { right: 24px; }
.p-mainVisual__sound:hover { background: rgba(255, 255, 255, .8); }
.p-mainVisual__soundIcon {
	position: relative;
	width: 14px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M0 6h5l7-6v20l-7-6H0z'/%3E%3C/svg%3E") left center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M0 6h5l7-6v20l-7-6H0z'/%3E%3C/svg%3E") left center / contain no-repeat;
}
.p-mainVisual__soundIcon::after {
	content: "";
	position: absolute;
	right: -6px;
	top: 50%;
	width: 8px;
	height: 1px;
	background: currentColor;
	transform: rotate(-45deg);
}
.is-sound .p-mainVisual__soundIcon::after {
	width: 6px; height: 8px; right: -5px; margin-top: -4px;
	background: none;
	border: 1px solid currentColor; border-left: 0; border-radius: 0 8px 8px 0;
	transform: none;
}
.p-mainVisual__scroll {
	left: 50%;
	transform: translateX(-50%);
	border: 0;
	background: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	flex-direction: column;
	padding: 0;
	color: rgba(35, 24, 21, .7);
}
.p-mainVisual__scroll::after {
	content: "";
	width: 1px;
	height: 36px;
	background: linear-gradient(currentColor, transparent);
	animation: cero-scroll 2s ease-in-out infinite;
	transform-origin: top;
}
@keyframes cero-scroll { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

/* catch copy under the video */
.p-mvCatch {
	position: relative;
	padding: 4.5em 16px 1.5em;
	text-align: center;
}
.p-mvCatch::before {
	content: "";
	display: block;
	width: 1px;
	height: 48px;
	margin: 0 auto 2em;
	background: linear-gradient(transparent, var(--cero-gold));
}
.p-mvCatch__text {
	margin: 0;
	font-size: clamp(18px, 2.2vw, 28px);
	line-height: 1.9;
	letter-spacing: .12em;
	color: var(--cero-text);
}
.is-top .p-mvCatch + .l-content { padding-top: 3em; }

@media (max-width: 959px) {
	.p-mainVisual__video { max-height: none; }
	.p-mainVisual__sound { right: 10px; bottom: 10px; padding: .5em .8em; font-size: 10px; }
	.p-mainVisual__scroll { display: none; }
	.p-mvCatch { padding-top: 3em; }
	.p-mvCatch::before { height: 32px; margin-bottom: 1.5em; }
}
@media (prefers-reduced-motion: reduce) {
	.p-mainVisual__scroll::after { animation: none; }
}

/* =========================================================
   19. Vertical movie in a phone frame + Instagram / shop links
   ========================================================= */
.post_content .cero-movie { gap: 4em !important; align-items: center; }
.post_content .cero-movie > .wp-block-column:first-child { flex: 0 0 340px !important; max-width: 340px; }
.post_content .cero-phone {
	position: relative;
	width: 100%;
	max-width: 320px;
	margin: 0 auto;
	padding: 10px !important;
	border-radius: 42px;
	background: #f4f4f7;
	box-shadow: 0 24px 60px rgba(8, 12, 40, .45), inset 0 0 0 1px rgba(255, 255, 255, .6);
}
.post_content .cero-phone::before { /* notch */
	content: "";
	position: absolute;
	top: 18px;
	left: 50%;
	z-index: 3;
	width: 84px;
	height: 22px;
	border-radius: 14px;
	background: #111;
	transform: translateX(-50%);
}
.post_content .cero-phone .wp-block-video { margin: 0 !important; }
.post_content .cero-phone video {
	display: block;
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	border-radius: 32px;
	background: #e9e9ee;
}
.post_content .cero-phone__bar {
	position: absolute;
	top: 52px;
	left: 26px;
	right: 26px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	color: #231815;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	pointer-events: none;
}
.post_content .cero-phone__bar::before {
	content: "";
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff var(--cero-ig-avatar, none) center / 70% no-repeat;
	box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #d62976;
}
.post_content .cero-phone__actions {
	position: absolute;
	right: 22px;
	bottom: 70px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0 !important;
	pointer-events: none;
}
.post_content .cero-phone__actions::before,
.post_content .cero-phone__actions::after {
	content: "";
	width: 24px;
	height: 24px;
	background: #fff;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .35));
}
.post_content .cero-phone__actions::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M12 21s-7.5-4.6-9.5-9.2C1 8.4 3.2 5 6.6 5c2 0 3.4 1.1 4.4 2.6C12 6.1 13.4 5 15.4 5 18.8 5 21 8.4 19.5 11.8 17.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M12 21s-7.5-4.6-9.5-9.2C1 8.4 3.2 5 6.6 5c2 0 3.4 1.1 4.4 2.6C12 6.1 13.4 5 15.4 5 18.8 5 21 8.4 19.5 11.8 17.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.post_content .cero-phone__actions::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M3 11 21 3l-8 18-2-8z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M3 11 21 3l-8 18-2-8z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* link cards next to the phone */
.post_content .cero-linkCards { margin-top: 2em !important; }
.post_content .cero-linkCards .cero-linkCard { margin-bottom: 1em !important; }
.post_content .cero-linkCard {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1em;
	padding: 1.1em 3em 1.1em 1.2em !important;
	border: 1px solid rgba(255, 255, 255, .3);
	background: rgba(255, 255, 255, .06);
	transition: background .2s;
}
.post_content .cero-linkCard:hover { background: rgba(255, 255, 255, .12); }
.post_content .cero-linkCard::after {
	content: "";
	position: absolute; right: 1.3em; top: 50%;
	width: 8px; height: 8px; margin-top: -5px;
	border-top: 1px solid currentColor; border-right: 1px solid currentColor;
	transform: rotate(45deg);
}
.post_content .cero-linkCard p { margin: 0 !important; }
.post_content .cero-linkCard__label { font-size: 11px; letter-spacing: .16em; color: var(--cero-gold); }
.post_content .cero-linkCard__ttl { font-size: 15px; font-weight: 700; line-height: 1.5; }
.post_content .cero-linkCard__ttl a { color: inherit; text-decoration: none; }
.post_content .cero-linkCard__ttl a::after { content: ""; position: absolute; inset: 0; }
.post_content .cero-linkCard__icon {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	font-size: 0;
}
.post_content .cero-linkCard--instagram .cero-linkCard__icon {
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
	-webkit-mask: none;
	position: relative;
}
.post_content .cero-linkCard--instagram .cero-linkCard__icon::before {
	content: "";
	position: absolute; inset: 11px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='2' width='20' height='20' rx='6' fill='none' stroke='black' stroke-width='2.2'/%3E%3Ccircle cx='12' cy='12' r='4.6' fill='none' stroke='black' stroke-width='2.2'/%3E%3Ccircle cx='17.6' cy='6.4' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='2' width='20' height='20' rx='6' fill='none' stroke='black' stroke-width='2.2'/%3E%3Ccircle cx='12' cy='12' r='4.6' fill='none' stroke='black' stroke-width='2.2'/%3E%3Ccircle cx='17.6' cy='6.4' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.post_content .cero-linkCard--shop .cero-linkCard__icon { position: relative; background: var(--cero-gold); }
.post_content .cero-linkCard--shop .cero-linkCard__icon::before {
	content: "";
	position: absolute; inset: 11px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M5 8h14l-1.2 12H6.2zM9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M5 8h14l-1.2 12H6.2zM9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.post_content .cero-linkCard__body { flex: 1 1 auto; min-width: 0; }

@media (max-width: 959px) {
	.post_content .cero-movie { gap: 2.5em !important; }
	.post_content .cero-movie > .wp-block-column:first-child { flex: 0 0 auto !important; max-width: 300px; margin: 0 auto; }
	.post_content .cero-phone { max-width: 280px; }
}

/* =========================================================
   20. Pattern background (MOVIE section on CONCEPT)
   Interlocking-circle floral motif, echoing the CE.RO mark.
   Applied to the section that contains .cero-movie, or any
   section given the class "cero-sec--pattern".
   ========================================================= */
.post_content .cero-sec--pattern,
.post_content .cero-sec--bg:has(.cero-movie) {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 5em max(16px, calc((100vw - 868px) / 2));
	color: #fff;
	background-color: #1f2655;
	background-image:
		radial-gradient(ellipse at 50% 40%, rgba(52, 58, 120, .0) 0%, rgba(20, 25, 60, .55) 100%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23c3a773' stroke-opacity='.22' stroke-width='.8'%3E%3Ccircle cx='0' cy='0' r='28'/%3E%3Ccircle cx='56' cy='0' r='28'/%3E%3Ccircle cx='0' cy='56' r='28'/%3E%3Ccircle cx='56' cy='56' r='28'/%3E%3Ccircle cx='28' cy='28' r='28'/%3E%3Ccircle cx='28' cy='28' r='3' stroke-opacity='.35'/%3E%3C/g%3E%3C/svg%3E"),
		linear-gradient(135deg, #1e2552 0%, #262e63 55%, #343a78 100%);
	background-size: 100% 100%, 56px 56px, 100% 100%;
	background-position: center, center, center;
}
@media (max-width: 959px) {
	.post_content .cero-sec--pattern,
	.post_content .cero-sec--bg:has(.cero-movie) { padding-top: 3.5em; padding-bottom: 3.5em; background-size: 100% 100%, 44px 44px, 100% 100%; }
}

/* pattern v2: gold + white */
.post_content .cero-sec--pattern,
.post_content .cero-sec--bg:has(.cero-movie) {
	background-image:
		radial-gradient(ellipse at 50% 40%, rgba(52, 58, 120, 0) 0%, rgba(20, 25, 60, .5) 100%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='.7'%3E%3Ccircle cx='28' cy='0' r='11'/%3E%3Ccircle cx='0' cy='28' r='11'/%3E%3Ccircle cx='56' cy='28' r='11'/%3E%3Ccircle cx='28' cy='56' r='11'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.35'%3E%3Ccircle cx='28' cy='0' r='1.1'/%3E%3Ccircle cx='0' cy='28' r='1.1'/%3E%3Ccircle cx='56' cy='28' r='1.1'/%3E%3Ccircle cx='28' cy='56' r='1.1'/%3E%3C/g%3E%3C/svg%3E"),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23c3a773' stroke-opacity='.24' stroke-width='.8'%3E%3Ccircle cx='0' cy='0' r='28'/%3E%3Ccircle cx='56' cy='0' r='28'/%3E%3Ccircle cx='0' cy='56' r='28'/%3E%3Ccircle cx='56' cy='56' r='28'/%3E%3Ccircle cx='28' cy='28' r='28'/%3E%3Ccircle cx='28' cy='28' r='3' stroke-opacity='.4'/%3E%3C/g%3E%3C/svg%3E"),
		linear-gradient(135deg, #1e2552 0%, #262e63 55%, #343a78 100%);
	background-size: 100% 100%, 56px 56px, 56px 56px, 100% 100%;
}
@media (max-width: 959px) {
	.post_content .cero-sec--pattern,
	.post_content .cero-sec--bg:has(.cero-movie) { background-size: 100% 100%, 44px 44px, 44px 44px, 100% 100%; }
}

/* =========================================================
   21. MOVIE section: half navy pattern (movie) / half white (text)
   ========================================================= */
.post_content .cero-sec--bg:has(.cero-movie) {
	position: relative;
	isolation: isolate;
	background: #fdfdfd;
	color: var(--cero-text);
}
.post_content .cero-movie > .wp-block-column:first-child { position: relative; }
.post_content .cero-movie > .wp-block-column:first-child::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -5em;
	bottom: -5em;
	left: calc(-1 * max(16px, calc((100vw - 868px) / 2)));
	right: -2em; /* half of the column gap */
	background-color: #1f2655;
	background-image:
		radial-gradient(ellipse at 60% 50%, rgba(52, 58, 120, 0) 0%, rgba(20, 25, 60, .45) 100%),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='.7'%3E%3Ccircle cx='28' cy='0' r='11'/%3E%3Ccircle cx='0' cy='28' r='11'/%3E%3Ccircle cx='56' cy='28' r='11'/%3E%3Ccircle cx='28' cy='56' r='11'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.35'%3E%3Ccircle cx='28' cy='0' r='1.1'/%3E%3Ccircle cx='0' cy='28' r='1.1'/%3E%3Ccircle cx='56' cy='28' r='1.1'/%3E%3Ccircle cx='28' cy='56' r='1.1'/%3E%3C/g%3E%3C/svg%3E"),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23c3a773' stroke-opacity='.24' stroke-width='.8'%3E%3Ccircle cx='0' cy='0' r='28'/%3E%3Ccircle cx='56' cy='0' r='28'/%3E%3Ccircle cx='0' cy='56' r='28'/%3E%3Ccircle cx='56' cy='56' r='28'/%3E%3Ccircle cx='28' cy='28' r='28'/%3E%3Ccircle cx='28' cy='28' r='3' stroke-opacity='.4'/%3E%3C/g%3E%3C/svg%3E"),
		linear-gradient(135deg, #1e2552 0%, #262e63 55%, #343a78 100%);
	background-size: 100% 100%, 56px 56px, 56px 56px, 100% 100%;
}
/* text side on white */
.post_content .cero-sec--bg:has(.cero-movie) .cero-head__en,
.post_content .cero-sec--bg:has(.cero-movie) .cero-catch { color: var(--cero-text); }
.post_content .cero-sec--bg:has(.cero-movie) .cero-text { color: var(--cero-text); }
.post_content .cero-sec--bg:has(.cero-movie) .cero-catch { color: var(--cero-indigo); }
.post_content .cero-sec--bg:has(.cero-movie) .cero-linkCard {
	border-color: rgba(34, 42, 91, .2);
	background: #fff;
	color: var(--cero-text);
	box-shadow: 0 2px 10px rgba(34, 42, 91, .06);
}
.post_content .cero-sec--bg:has(.cero-movie) .cero-linkCard:hover { background: #f5f6fa; }
.post_content .cero-sec--bg:has(.cero-movie) .cero-linkCard::after { color: var(--cero-indigo); }

@media (max-width: 959px) {
	.post_content .cero-sec--bg:has(.cero-movie) { padding-top: 3.5em; }
	.post_content .cero-movie > .wp-block-column:first-child { max-width: none !important; width: 100%; }
	.post_content .cero-movie > .wp-block-column:first-child::before {
		top: -3.5em;
		bottom: -1.25em; /* half of the stacked gap */
		left: calc(-1 * max(16px, calc((100vw - 868px) / 2)));
		right: calc(-1 * max(16px, calc((100vw - 868px) / 2)));
		background-size: 100% 100%, 44px 44px, 44px 44px, 100% 100%;
	}
	.post_content .cero-movie > .wp-block-column:first-child .cero-phone { padding-bottom: 10px !important; }
	.post_content .cero-movie > .wp-block-column:last-child { padding-top: 1em; }
}

/* white side gets the same motif (navy + gold lines on white) */
.post_content .cero-sec--bg:has(.cero-movie) {
	background-color: #fdfdfd;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23222a5b' stroke-opacity='.07' stroke-width='.7'%3E%3Ccircle cx='28' cy='0' r='11'/%3E%3Ccircle cx='0' cy='28' r='11'/%3E%3Ccircle cx='56' cy='28' r='11'/%3E%3Ccircle cx='28' cy='56' r='11'/%3E%3C/g%3E%3Cg fill='%23222a5b' fill-opacity='.14'%3E%3Ccircle cx='28' cy='0' r='1.1'/%3E%3Ccircle cx='0' cy='28' r='1.1'/%3E%3Ccircle cx='56' cy='28' r='1.1'/%3E%3Ccircle cx='28' cy='56' r='1.1'/%3E%3C/g%3E%3C/svg%3E"),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23c3a773' stroke-opacity='.28' stroke-width='.8'%3E%3Ccircle cx='0' cy='0' r='28'/%3E%3Ccircle cx='56' cy='0' r='28'/%3E%3Ccircle cx='0' cy='56' r='28'/%3E%3Ccircle cx='56' cy='56' r='28'/%3E%3Ccircle cx='28' cy='28' r='28'/%3E%3Ccircle cx='28' cy='28' r='3' stroke-opacity='.45'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 56px 56px, 56px 56px;
	background-position: 0 0, 0 0;
}
@media (max-width: 959px) {
	.post_content .cero-sec--bg:has(.cero-movie) { background-size: 44px 44px, 44px 44px; }
}

/* white side: random pale-navy / gold motif (right side only) */
.post_content .cero-sec--bg:has(.cero-movie) {
	background-color: #fdfdfd;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='336' height='336' viewBox='0 0 336 336'%3E%3Cg fill='none' stroke-width='.8'%3E%3Ccircle cx='0' cy='0' r='28' stroke='%237f89bd' stroke-opacity='0.62'/%3E%3Ccircle cx='0' cy='336' r='28' stroke='%237f89bd' stroke-opacity='0.62'/%3E%3Ccircle cx='336' cy='0' r='28' stroke='%237f89bd' stroke-opacity='0.62'/%3E%3Ccircle cx='336' cy='336' r='28' stroke='%237f89bd' stroke-opacity='0.62'/%3E%3Ccircle cx='28' cy='28' r='28' stroke='%23c3a773' stroke-opacity='0.56'/%3E%3Ccircle cx='28' cy='364' r='28' stroke='%23c3a773' stroke-opacity='0.56'/%3E%3Ccircle cx='364' cy='28' r='28' stroke='%23c3a773' stroke-opacity='0.56'/%3E%3Ccircle cx='364' cy='364' r='28' stroke='%23c3a773' stroke-opacity='0.56'/%3E%3Ccircle cx='0' cy='56' r='28' stroke='%237f89bd' stroke-opacity='0.59'/%3E%3Ccircle cx='336' cy='56' r='28' stroke='%237f89bd' stroke-opacity='0.59'/%3E%3Ccircle cx='28' cy='84' r='28' stroke='%237f89bd' stroke-opacity='0.49'/%3E%3Ccircle cx='364' cy='84' r='28' stroke='%237f89bd' stroke-opacity='0.49'/%3E%3Ccircle cx='0' cy='112' r='28' stroke='%237f89bd' stroke-opacity='0.61'/%3E%3Ccircle cx='336' cy='112' r='28' stroke='%237f89bd' stroke-opacity='0.61'/%3E%3Ccircle cx='28' cy='140' r='28' stroke='%23c3a773' stroke-opacity='0.42'/%3E%3Ccircle cx='364' cy='140' r='28' stroke='%23c3a773' stroke-opacity='0.42'/%3E%3Ccircle cx='0' cy='168' r='28' stroke='%23c3a773' stroke-opacity='0.5'/%3E%3Ccircle cx='336' cy='168' r='28' stroke='%23c3a773' stroke-opacity='0.5'/%3E%3Ccircle cx='28' cy='196' r='28' stroke='%23c3a773' stroke-opacity='0.43'/%3E%3Ccircle cx='364' cy='196' r='28' stroke='%23c3a773' stroke-opacity='0.43'/%3E%3Ccircle cx='0' cy='224' r='28' stroke='%23c3a773' stroke-opacity='0.43'/%3E%3Ccircle cx='336' cy='224' r='28' stroke='%23c3a773' stroke-opacity='0.43'/%3E%3Ccircle cx='28' cy='252' r='28' stroke='%23c3a773' stroke-opacity='0.44'/%3E%3Ccircle cx='364' cy='252' r='28' stroke='%23c3a773' stroke-opacity='0.44'/%3E%3Ccircle cx='0' cy='280' r='28' stroke='%23c3a773' stroke-opacity='0.55'/%3E%3Ccircle cx='336' cy='280' r='28' stroke='%23c3a773' stroke-opacity='0.55'/%3E%3Ccircle cx='28' cy='-28' r='28' stroke='%23c3a773' stroke-opacity='0.62'/%3E%3Ccircle cx='28' cy='308' r='28' stroke='%23c3a773' stroke-opacity='0.62'/%3E%3Ccircle cx='364' cy='-28' r='28' stroke='%23c3a773' stroke-opacity='0.62'/%3E%3Ccircle cx='364' cy='308' r='28' stroke='%23c3a773' stroke-opacity='0.62'/%3E%3Ccircle cx='56' cy='0' r='28' stroke='%23c3a773' stroke-opacity='0.54'/%3E%3Ccircle cx='56' cy='336' r='28' stroke='%23c3a773' stroke-opacity='0.54'/%3E%3Ccircle cx='84' cy='28' r='28' stroke='%237f89bd' stroke-opacity='0.63'/%3E%3Ccircle cx='84' cy='364' r='28' stroke='%237f89bd' stroke-opacity='0.63'/%3E%3Ccircle cx='56' cy='56' r='28' stroke='%237f89bd' stroke-opacity='0.53'/%3E%3Ccircle cx='84' cy='84' r='28' stroke='%23c3a773' stroke-opacity='0.48'/%3E%3Ccircle cx='56' cy='112' r='28' stroke='%23c3a773' stroke-opacity='0.53'/%3E%3Ccircle cx='84' cy='140' r='28' stroke='%23c3a773' stroke-opacity='0.48'/%3E%3Ccircle cx='56' cy='168' r='28' stroke='%23c3a773' stroke-opacity='0.44'/%3E%3Ccircle cx='84' cy='196' r='28' stroke='%23c3a773' stroke-opacity='0.55'/%3E%3Ccircle cx='56' cy='224' r='28' stroke='%237f89bd' stroke-opacity='0.43'/%3E%3Ccircle cx='84' cy='252' r='28' stroke='%237f89bd' stroke-opacity='0.54'/%3E%3Ccircle cx='56' cy='280' r='28' stroke='%23c3a773' stroke-opacity='0.46'/%3E%3Ccircle cx='84' cy='-28' r='28' stroke='%23c3a773' stroke-opacity='0.51'/%3E%3Ccircle cx='84' cy='308' r='28' stroke='%23c3a773' stroke-opacity='0.51'/%3E%3Ccircle cx='112' cy='0' r='28' stroke='%237f89bd' stroke-opacity='0.51'/%3E%3Ccircle cx='112' cy='336' r='28' stroke='%237f89bd' stroke-opacity='0.51'/%3E%3Ccircle cx='140' cy='28' r='28' stroke='%23c3a773' stroke-opacity='0.49'/%3E%3Ccircle cx='140' cy='364' r='28' stroke='%23c3a773' stroke-opacity='0.49'/%3E%3Ccircle cx='112' cy='56' r='28' stroke='%23c3a773' stroke-opacity='0.59'/%3E%3Ccircle cx='140' cy='84' r='28' stroke='%23c3a773' stroke-opacity='0.43'/%3E%3Ccircle cx='112' cy='112' r='28' stroke='%237f89bd' stroke-opacity='0.53'/%3E%3Ccircle cx='140' cy='140' r='28' stroke='%237f89bd' stroke-opacity='0.57'/%3E%3Ccircle cx='112' cy='168' r='28' stroke='%237f89bd' stroke-opacity='0.55'/%3E%3Ccircle cx='140' cy='196' r='28' stroke='%237f89bd' stroke-opacity='0.44'/%3E%3Ccircle cx='112' cy='224' r='28' stroke='%23c3a773' stroke-opacity='0.45'/%3E%3Ccircle cx='140' cy='252' r='28' stroke='%237f89bd' stroke-opacity='0.45'/%3E%3Ccircle cx='112' cy='280' r='28' stroke='%23c3a773' stroke-opacity='0.51'/%3E%3Ccircle cx='140' cy='-28' r='28' stroke='%237f89bd' stroke-opacity='0.58'/%3E%3Ccircle cx='140' cy='308' r='28' stroke='%237f89bd' stroke-opacity='0.58'/%3E%3Ccircle cx='168' cy='0' r='28' stroke='%23c3a773' stroke-opacity='0.59'/%3E%3Ccircle cx='168' cy='336' r='28' stroke='%23c3a773' stroke-opacity='0.59'/%3E%3Ccircle cx='196' cy='28' r='28' stroke='%237f89bd' stroke-opacity='0.49'/%3E%3Ccircle cx='196' cy='364' r='28' stroke='%237f89bd' stroke-opacity='0.49'/%3E%3Ccircle cx='168' cy='56' r='28' stroke='%237f89bd' stroke-opacity='0.54'/%3E%3Ccircle cx='196' cy='84' r='28' stroke='%23c3a773' stroke-opacity='0.59'/%3E%3Ccircle cx='168' cy='112' r='28' stroke='%237f89bd' stroke-opacity='0.6'/%3E%3Ccircle cx='196' cy='140' r='28' stroke='%237f89bd' stroke-opacity='0.52'/%3E%3Ccircle cx='168' cy='168' r='28' stroke='%237f89bd' stroke-opacity='0.43'/%3E%3Ccircle cx='196' cy='196' r='28' stroke='%237f89bd' stroke-opacity='0.55'/%3E%3Ccircle cx='168' cy='224' r='28' stroke='%23c3a773' stroke-opacity='0.48'/%3E%3Ccircle cx='196' cy='252' r='28' stroke='%23c3a773' stroke-opacity='0.61'/%3E%3Ccircle cx='168' cy='280' r='28' stroke='%237f89bd' stroke-opacity='0.42'/%3E%3Ccircle cx='196' cy='-28' r='28' stroke='%23c3a773' stroke-opacity='0.49'/%3E%3Ccircle cx='196' cy='308' r='28' stroke='%23c3a773' stroke-opacity='0.49'/%3E%3Ccircle cx='224' cy='0' r='28' stroke='%23c3a773' stroke-opacity='0.44'/%3E%3Ccircle cx='224' cy='336' r='28' stroke='%23c3a773' stroke-opacity='0.44'/%3E%3Ccircle cx='252' cy='28' r='28' stroke='%237f89bd' stroke-opacity='0.46'/%3E%3Ccircle cx='252' cy='364' r='28' stroke='%237f89bd' stroke-opacity='0.46'/%3E%3Ccircle cx='224' cy='56' r='28' stroke='%237f89bd' stroke-opacity='0.44'/%3E%3Ccircle cx='252' cy='84' r='28' stroke='%23c3a773' stroke-opacity='0.5'/%3E%3Ccircle cx='224' cy='112' r='28' stroke='%23c3a773' stroke-opacity='0.43'/%3E%3Ccircle cx='252' cy='140' r='28' stroke='%23c3a773' stroke-opacity='0.5'/%3E%3Ccircle cx='224' cy='168' r='28' stroke='%237f89bd' stroke-opacity='0.61'/%3E%3Ccircle cx='252' cy='196' r='28' stroke='%23c3a773' stroke-opacity='0.6'/%3E%3Ccircle cx='224' cy='224' r='28' stroke='%237f89bd' stroke-opacity='0.57'/%3E%3Ccircle cx='252' cy='252' r='28' stroke='%237f89bd' stroke-opacity='0.56'/%3E%3Ccircle cx='224' cy='280' r='28' stroke='%23c3a773' stroke-opacity='0.62'/%3E%3Ccircle cx='252' cy='-28' r='28' stroke='%23c3a773' stroke-opacity='0.43'/%3E%3Ccircle cx='252' cy='308' r='28' stroke='%23c3a773' stroke-opacity='0.43'/%3E%3Ccircle cx='280' cy='0' r='28' stroke='%23c3a773' stroke-opacity='0.46'/%3E%3Ccircle cx='280' cy='336' r='28' stroke='%23c3a773' stroke-opacity='0.46'/%3E%3Ccircle cx='-28' cy='28' r='28' stroke='%23c3a773' stroke-opacity='0.42'/%3E%3Ccircle cx='-28' cy='364' r='28' stroke='%23c3a773' stroke-opacity='0.42'/%3E%3Ccircle cx='308' cy='28' r='28' stroke='%23c3a773' stroke-opacity='0.42'/%3E%3Ccircle cx='308' cy='364' r='28' stroke='%23c3a773' stroke-opacity='0.42'/%3E%3Ccircle cx='280' cy='56' r='28' stroke='%23c3a773' stroke-opacity='0.45'/%3E%3Ccircle cx='-28' cy='84' r='28' stroke='%237f89bd' stroke-opacity='0.41'/%3E%3Ccircle cx='308' cy='84' r='28' stroke='%237f89bd' stroke-opacity='0.41'/%3E%3Ccircle cx='280' cy='112' r='28' stroke='%23c3a773' stroke-opacity='0.53'/%3E%3Ccircle cx='-28' cy='140' r='28' stroke='%23c3a773' stroke-opacity='0.54'/%3E%3Ccircle cx='308' cy='140' r='28' stroke='%23c3a773' stroke-opacity='0.54'/%3E%3Ccircle cx='280' cy='168' r='28' stroke='%23c3a773' stroke-opacity='0.56'/%3E%3Ccircle cx='-28' cy='196' r='28' stroke='%23c3a773' stroke-opacity='0.62'/%3E%3Ccircle cx='308' cy='196' r='28' stroke='%23c3a773' stroke-opacity='0.62'/%3E%3Ccircle cx='280' cy='224' r='28' stroke='%237f89bd' stroke-opacity='0.51'/%3E%3Ccircle cx='-28' cy='252' r='28' stroke='%23c3a773' stroke-opacity='0.5'/%3E%3Ccircle cx='308' cy='252' r='28' stroke='%23c3a773' stroke-opacity='0.5'/%3E%3Ccircle cx='280' cy='280' r='28' stroke='%23c3a773' stroke-opacity='0.5'/%3E%3Ccircle cx='-28' cy='-28' r='28' stroke='%23c3a773' stroke-opacity='0.55'/%3E%3Ccircle cx='-28' cy='308' r='28' stroke='%23c3a773' stroke-opacity='0.55'/%3E%3Ccircle cx='308' cy='-28' r='28' stroke='%23c3a773' stroke-opacity='0.55'/%3E%3Ccircle cx='308' cy='308' r='28' stroke='%23c3a773' stroke-opacity='0.55'/%3E%3C/g%3E%3Ccircle cx='28' cy='0' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='28' cy='336' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='0' cy='28' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='336' cy='28' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='28' cy='56' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='0' cy='84' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='336' cy='84' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='28' cy='112' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='0' cy='140' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='336' cy='140' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='28' cy='168' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='0' cy='196' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='336' cy='196' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='28' cy='224' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='0' cy='252' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='336' cy='252' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='28' cy='280' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='0' cy='308' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='336' cy='308' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='84' cy='0' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='84' cy='336' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='56' cy='28' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='84' cy='56' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='56' cy='84' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='84' cy='112' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='56' cy='140' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='84' cy='168' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='56' cy='196' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='84' cy='224' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='56' cy='252' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='84' cy='280' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='56' cy='308' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='140' cy='0' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='140' cy='336' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='112' cy='28' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='140' cy='56' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='112' cy='84' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='140' cy='112' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='112' cy='140' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='140' cy='168' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='112' cy='196' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='140' cy='224' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='112' cy='252' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='140' cy='280' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='112' cy='308' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='196' cy='0' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='196' cy='336' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='168' cy='28' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='196' cy='56' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='168' cy='84' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='196' cy='112' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='168' cy='140' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='196' cy='168' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='168' cy='196' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='196' cy='224' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='168' cy='252' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='196' cy='280' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='168' cy='308' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='252' cy='0' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='252' cy='336' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='224' cy='28' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='252' cy='56' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='224' cy='84' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='252' cy='112' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='224' cy='140' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='252' cy='168' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='224' cy='196' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='252' cy='224' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='224' cy='252' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='252' cy='280' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='224' cy='308' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='308' cy='0' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='308' cy='336' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='280' cy='28' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='308' cy='56' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='280' cy='84' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='308' cy='112' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='280' cy='140' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='308' cy='168' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='280' cy='196' r='1.3' fill='%23c3a773' fill-opacity='.6'/%3E%3Ccircle cx='308' cy='224' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='280' cy='252' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='308' cy='280' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3Ccircle cx='280' cy='308' r='1.3' fill='%237f89bd' fill-opacity='.6'/%3E%3C/svg%3E");
	background-size: 336px 336px;
	background-position: 0 0;
}
@media (max-width: 959px) {
	.post_content .cero-sec--bg:has(.cero-movie) { background-size: 264px 264px; }
}

/* MOVIE: shift the phone a little to the left (PC only) */
@media (min-width: 960px) {
	/* center of the navy zone: navy = viewport-left .. column-right + 32px */
	.post_content .cero-movie .cero-phone { transform: translateX(calc(16px - max(16px, calc((100vw - 868px) / 2)) / 2)); }
}

/* =========================================================
   22. MOVIE section UI fixes
   ========================================================= */
/* no fake action icons */
.post_content .cero-phone__actions { display: none !important; }
/* whole phone opens Instagram (when set) */
.post_content .cero-phone__link { position: absolute; inset: 0; z-index: 4; border-radius: 42px; }
.post_content .cero-phone__link:focus-visible { outline: 2px solid var(--cero-gold); outline-offset: 4px; }
/* smaller notch, kept inside the bezel area */
.post_content .cero-phone::before { top: 16px; width: 64px; height: 16px; border-radius: 10px; }
/* pause / play */
.post_content .cero-phone__pause {
	position: absolute;
	right: 22px;
	bottom: 22px;
	z-index: 5;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(20, 24, 50, .55);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	cursor: pointer;
	transition: background .2s;
}
.post_content .cero-phone__pause:hover { background: rgba(20, 24, 50, .75); }
.post_content .cero-phone__pause:focus-visible { outline: 2px solid var(--cero-gold); outline-offset: 2px; }
.post_content .cero-phone__pause::before,
.post_content .cero-phone__pause::after {
	content: "";
	position: absolute;
	top: 12px;
	width: 3px;
	height: 12px;
	background: #fff;
	border-radius: 1px;
}
.post_content .cero-phone__pause::before { left: 13px; }
.post_content .cero-phone__pause::after { left: 20px; }
.post_content .cero-phone__pause.is-paused::after { display: none; }
.post_content .cero-phone__pause.is-paused::before {
	left: 14px;
	top: 11px;
	width: 0;
	height: 0;
	background: none;
	border-style: solid;
	border-width: 7px 0 7px 11px;
	border-color: transparent transparent transparent #fff;
	border-radius: 0;
}

/* shop first and primary, Instagram secondary */
.post_content .cero-linkCards > .wp-block-group__inner-container,
.post_content .cero-linkCards { display: flex; flex-direction: column; }
.post_content .cero-linkCards .cero-linkCard--shop { order: -1; }
.post_content .cero-sec--bg:has(.cero-movie) .cero-linkCard--shop {
	border-color: var(--cero-gold);
	background: var(--cero-gold);
	color: #fff;
	box-shadow: 0 6px 18px rgba(195, 167, 115, .35);
}
.post_content .cero-sec--bg:has(.cero-movie) .cero-linkCard--shop:hover { background: #b89a62; }
.post_content .cero-sec--bg:has(.cero-movie) .cero-linkCard--shop .cero-linkCard__label { color: rgba(255, 255, 255, .85); }
.post_content .cero-sec--bg:has(.cero-movie) .cero-linkCard--shop::after { color: #fff; }
.post_content .cero-linkCard--shop .cero-linkCard__icon { background: #fff !important; }
.post_content .cero-linkCard--shop .cero-linkCard__icon::before { background: var(--cero-gold) !important; }
.post_content .cero-sec--bg:has(.cero-movie) .cero-linkCard--instagram { padding-top: .8em !important; padding-bottom: .8em !important; }
.post_content .cero-linkCard--instagram .cero-linkCard__icon { width: 36px; height: 36px; }
.post_content .cero-linkCard--instagram .cero-linkCard__icon::before { inset: 9px; }
.post_content .cero-linkCard--instagram .cero-linkCard__ttl { font-size: 14px; font-weight: 400; }

/* soft white veil behind the text (pattern stays visible around it) */
.post_content .cero-sec--bg:has(.cero-movie) .cero-movie > .wp-block-column:last-child {
	position: relative;
	padding: 2em 2.25em !important;
	background: radial-gradient(ellipse at 40% 45%, rgba(253, 253, 253, .96) 0%, rgba(253, 253, 253, .9) 55%, rgba(253, 253, 253, 0) 100%);
}
@media (max-width: 959px) {
	.post_content .cero-sec--bg:has(.cero-movie) .cero-movie > .wp-block-column:last-child { padding: 1.5em 0 0 !important; background: none; }
}
.post_content .cero-linkCards > .wp-block-group__inner-container { gap: 1em; }
.post_content .cero-linkCards .cero-linkCard { margin-bottom: 0 !important; }

/* =========================================================
   23. Header: midnight + gold hairline (option C)
   ========================================================= */
:root { --cero-midnight: #14182f; }
.l-header {
	background: var(--cero-midnight);
	box-shadow: inset 0 -1px 0 rgba(195, 167, 115, .45);
}
.c-gnav > .menu-contact { background-color: var(--cero-indigo); }
.c-gnav > .menu-contact > a:hover { background: rgba(255, 255, 255, .06); }
/* smartphone menu matches the header */
.p-spMenu__inner { background: rgba(20, 24, 47, .97); border-left: 1px solid rgba(195, 167, 115, .35); }
.p-spMenu__title { color: var(--cero-midnight); }

/* footer matches the header (midnight + gold hairline on top) */
.l-footer {
	background: var(--cero-midnight);
	box-shadow: inset 0 1px 0 rgba(195, 167, 115, .45);
}

/* =========================================================
   24. TOP PRODUCT: deeper-white band behind the logo + bottle
   ========================================================= */
.post_content .cero-sec .wp-block-columns:has(.wp-image-148):has(.wp-image-1638) {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 3.5em max(16px, calc((100vw - 868px) / 2)) !important;
	background: linear-gradient(180deg, #f3f4f7 0%, #e9ebf0 100%);
	box-shadow: inset 0 1px 0 rgba(34, 42, 91, .06), inset 0 -1px 0 rgba(34, 42, 91, .06);
	margin-bottom: 3em !important;
}
@media (max-width: 599px) {
	.post_content .cero-sec .wp-block-columns:has(.wp-image-148):has(.wp-image-1638) { padding-top: 2.5em !important; padding-bottom: 2.5em !important; }
}

/* contact form: salon name field (shown for salon inquiries) */
.contact_salon[hidden] { display: none !important; }
.contact_salon .contact_head { margin-top: 30px; }
.post_content .contact_salon > label { display: block !important; }
.post_content .contact_salon .wpcf7-form-control-wrap,
.post_content .contact_salon input { display: block; width: 100%; max-width: none; }

/* =========================================================
   25. NEWS article photo size (大・中・小)
   ========================================================= */
.single .post_content .wp-block-image { text-align: center; }
.single .post_content .wp-block-image img { width: auto; height: auto; max-width: 100%; }
.single.cero-img-m .post_content .wp-block-image img { max-width: min(100%, 560px); max-height: 640px; }
.single.cero-img-s .post_content .wp-block-image img { max-width: min(100%, 360px); max-height: 440px; }
.single.cero-img-l .post_content .wp-block-image img { width: 100%; }
@media (max-width: 599px) {
	.single.cero-img-m .post_content .wp-block-image img { max-width: 100%; max-height: none; }
	.single.cero-img-s .post_content .wp-block-image img { max-width: 70%; }
}

/* NEWS article: image left, text right */
.single .post_content .cero-postSplit { display: grid; grid-template-columns: 40% minmax(0, 1fr); gap: 0 44px; align-items: start; }
.single.cero-img-l .post_content .cero-postSplit { grid-template-columns: 50% minmax(0, 1fr); }
.single.cero-img-s .post_content .cero-postSplit { grid-template-columns: 30% minmax(0, 1fr); }
.single .post_content .cero-postSplit__img > * { margin-top: 0 !important; margin-bottom: 20px !important; }
.single .post_content .cero-postSplit__img .wp-block-image img { width: 100%; max-width: 100% !important; max-height: none !important; box-shadow: 0 6px 20px rgba(20, 24, 50, .1); }
.single .post_content .cero-postSplit__txt > :first-child { margin-top: 0 !important; }
@media (max-width: 767px) {
	.single .post_content .cero-postSplit,
	.single.cero-img-l .post_content .cero-postSplit,
	.single.cero-img-s .post_content .cero-postSplit { grid-template-columns: minmax(0, 1fr); }
	.single.cero-img-s .post_content .cero-postSplit__img .wp-block-image img { width: 70%; margin-inline: auto; }
}

/* HOW TO USE line illustrations */
.post_content .cero-step__img { margin: 0 auto 1em !important; text-align: center; }
.post_content .cero-step__img img {
	display: block;
	width: 100%;
	max-width: 240px;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
	padding: 4%;
	border-radius: 50%;
	background: #eceef5;
	object-fit: contain;
}
@media (max-width: 781px) {
	.post_content .cero-step__img img { max-width: 200px; }
}

/* =========================================================
   26. Photos placed in former placeholders + map
   ========================================================= */
.post_content .cero-photo { margin: 0 !important; }
.post_content .cero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.post_content .cero-photo--portrait img { aspect-ratio: 4 / 5; }
.post_content .cero-photo--square img { aspect-ratio: 1 / 1; }
.post_content .cero-photo--wide img { aspect-ratio: 16 / 9; }
.post_content .cero-card .cero-photo { margin-bottom: 1.25em !important; }
.post_content .cero-split .cero-photo img { box-shadow: 0 10px 30px rgba(20, 24, 50, .12); }
.post_content :is(.cero-sec--bg, .cero-sec--navy) .cero-split .cero-photo img { box-shadow: 0 14px 36px rgba(5, 8, 30, .45); }
.post_content .cero-map { margin-bottom: 1.5em !important; aspect-ratio: 3 / 1; overflow: hidden; border: 1px solid rgba(34, 42, 91, .15); }
.post_content .cero-map iframe { display: block; width: 100%; height: 100%; border: 0; filter: grayscale(.35) contrast(1.02); }
@media (max-width: 599px) {
	.post_content .cero-photo--portrait img { aspect-ratio: 4 / 3; }
	.post_content .cero-map { aspect-ratio: 4 / 3; }
}

/* Photos shown uncropped (designed images with text: magazine page, vertical poster) */
.post_content .cero-photo--mag img { aspect-ratio: 723 / 944; object-fit: contain; }
.post_content .cero-photo--tall img { aspect-ratio: 900 / 1589; object-fit: contain; }
@media (max-width: 599px) {
	.post_content :is(.cero-photo--mag, .cero-photo--tall) img { max-width: 340px; margin-inline: auto; }
}

/* Link banners (CONCEPT → PRODUCT) */
.post_content .cero-banner { margin: 2em auto 2.5em !important; }
.post_content .cero-banner a { display: block; transition: opacity .3s, box-shadow .3s; box-shadow: 0 6px 20px rgba(20, 24, 50, .08); }
.post_content .cero-banner a:hover { opacity: .88; box-shadow: 0 10px 28px rgba(20, 24, 50, .16); }
.post_content .cero-banner img { display: block; width: 100%; height: auto; }

/* ABOUT → MESSAGE (text only) */
.post_content .cero-message > :not(.cero-head) { max-width: 680px; margin-left: auto !important; margin-right: auto !important; }
.post_content .cero-message .cero-catch { text-align: center; }

/* FOR SALON photo */
.post_content .cero-photo--salon img { aspect-ratio: 1 / 1; object-fit: cover; }
.post_content .cero-split:has(.cero-photo--salon) { align-items: center !important; }
.post_content .cero-split:has(.cero-photo--salon) > .wp-block-column { align-self: center; }

/* Logo image (BRAND) shown whole */
.post_content .cero-photo--logo img { aspect-ratio: auto; object-fit: contain; background: #fff; }

/* SALON → FOR SALON (text only, centered) */
.post_content .cero-salonCta > :not(.cero-head) { max-width: 760px; margin-left: auto !important; margin-right: auto !important; }
.post_content .cero-salonCta .cero-catch,
.post_content .cero-salonCta .cero-text { text-align: center; }
.post_content .cero-salonCta .cero-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 2em auto 2.2em !important; }
.post_content .cero-salonCta .cero-list li { word-break: auto-phrase; border: 1px solid rgba(195, 167, 115, .55); border-bottom: 1px solid rgba(195, 167, 115, .55) !important; padding: 1.6em 1em 1.2em; text-align: center; line-height: 1.7; }
.post_content .cero-salonCta .cero-list li::before { position: static; display: block; margin: 0 auto .6em; }
.post_content .cero-salonCta .wp-block-buttons { justify-content: center !important; }
@media (max-width: 767px) {
	.post_content .cero-salonCta .cero-catch,
	.post_content .cero-salonCta .cero-text { text-align: left; }
	.post_content .cero-salonCta .cero-catch { text-align: center; }
	.post_content .cero-salonCta .cero-list { grid-template-columns: 1fr; gap: 10px; }
	.post_content .cero-salonCta .cero-list li { padding: 1em; }
}

/* Section with a single button (ABOUT end) */
.post_content .cero-sec--btnOnly { margin-top: 0 !important; padding-top: 64px !important; padding-bottom: 64px !important; }
.post_content .cero-sec--btnOnly .cero-btns { margin: 0 !important; }
.l-content:has(.post_content > .cero-sec--btnOnly:last-child),
.l-content:has(.post_content > .cero-sec--btnOnly:last-child) .l-mainContent,
.l-content:has(.post_content > .cero-sec--btnOnly:last-child) .l-article { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.post_content > *:has(+ .cero-sec--btnOnly) { margin-bottom: 0 !important; }

/* Card images that are icons / illustrations (PNG): show whole, centered */
.post_content .cero-card .cero-photo img[src$=".png"],
.post_content .cero-card .wp-block-image img[src$=".png"] { object-fit: contain; background: #fff; padding: 6% 10%; box-sizing: border-box; width: 100%; aspect-ratio: 3 / 2; }
