/* Design tokens */
:root {
	--black: #0a0a0a;
	--white: #ffffff;
	--silver-050: #fafafa;
	--silver-100: #f5f5f7;
	--silver-200: #e8e8ed;
	--silver-300: #d2d2d7;
	--silver-400: #a1a1a6;
	--silver-500: #86868b;
	--silver-600: #6e6e73;
	--line: #d2d2d7;
	--radius-sm: 10px;
	--radius-md: 18px;
	--radius-lg: 28px;
	--container: 1240px;
	--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Helvetica, Arial, sans-serif;
	--shadow-soft: 0 2px 20px rgba(0, 0, 0, 0.06);
	--shadow-med: 0 12px 40px rgba(0, 0, 0, 0.10);
	--ease: cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

/* Visible keyboard-focus ring, site-wide. Uses :focus-visible so it only
   shows for keyboard/programmatic focus, not mouse clicks. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
	outline: 2px solid var(--black);
	outline-offset: 3px;
	border-radius: 2px;
}

.skip-link {
	position: absolute; top: -48px; left: 8px; z-index: 1000;
	background: var(--black); color: var(--white);
	padding: 12px 20px; border-radius: var(--radius-sm);
	font-size: 14px; font-weight: 600;
	transition: top 0.2s var(--ease);
}
.skip-link:focus { top: 8px; }
body {
	margin: 0;
	font-family: var(--font);
	color: var(--black);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	line-height: 1.5;
}

.particle-bg {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.particle-bg { display: none; }
}

/* Everything else sits above the fixed particle layer. Sections without an
   explicit background stay transparent so the particles show through; the
   CTA banner, footer and announcement bar are intentionally opaque. */
.site-header,
.site-main,
.site-footer,
.announcement-bar {
	position: relative;
	z-index: 1;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p { margin: 0; }

.container {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: 24px;
}

.eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--silver-600);
}

.section-heading { text-align: center; max-width: 640px; margin-inline: auto; margin-bottom: 48px; }
.section-heading h2 { font-size: clamp(28px, 4vw, 40px); font-weight: 600; letter-spacing: -0.02em; }
.section-heading p { margin-top: 12px; color: var(--silver-600); font-size: 17px; }

.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	border: 1px solid transparent;
	transition: transform 0.2s var(--ease), background 0.2s var(--ease), color 0.2s var(--ease);
}
.btn:active { transform: scale(0.97); }
.btn-primary { background: var(--black); color: var(--white); }
.btn-primary:hover { background: #232323; }
.btn-secondary { background: var(--white); color: var(--black); border-color: var(--black); }
.btn-secondary:hover { background: var(--black); color: var(--white); }
.btn svg { width: 16px; height: 16px; }

/* Announcement bar */
.announcement-bar { background: var(--black); color: var(--white); }
.announcement-bar__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 10px 24px;
	position: relative;
}
.announcement-bar__text { font-size: 13px; font-weight: 500; letter-spacing: 0.02em; text-align: center; }
.announcement-bar__dismiss {
	position: absolute;
	right: 16px;
	background: none;
	border: none;
	color: var(--white);
	font-size: 18px;
	line-height: 1;
	opacity: 0.6;
}
.announcement-bar__dismiss:hover { opacity: 1; }
.announcement-bar.is-dismissed { display: none; }

/* Header */
/* Note: the blur lives on ::before (not directly on .site-header) because
   filter/backdrop-filter on an element makes it the containing block for
   position:fixed descendants — that would break the fixed mobile nav panel
   nested inside the header, anchoring it to the header's box instead of
   the viewport. */
.site-header { border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 100; }
.site-header::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.site-header__inner { display: flex; align-items: center; gap: 32px; padding-block: 16px; }
.site-logo__text { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; }
.primary-nav { margin-inline: auto; }
.primary-nav__list { display: flex; gap: 32px; }
.primary-nav__list a { font-size: 15px; font-weight: 500; color: var(--silver-600); }
.primary-nav__list a:hover { color: var(--black); }
.site-header__actions { display: flex; align-items: center; gap: 16px; }
.header-icon-link { position: relative; width: 22px; height: 22px; color: var(--black); }
.header-icon-link svg { width: 100%; height: 100%; }
.header-cart-count {
	position: absolute; top: -8px; right: -10px;
	background: var(--black); color: var(--white);
	font-size: 10px; font-weight: 700;
	width: 16px; height: 16px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: 4px; }
.nav-toggle span { width: 22px; height: 2px; background: var(--black); }

/* Hero */
.hero { padding-block: 64px 96px; }
.hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.hero__eyebrow { margin-bottom: 16px; }
.hero h1 { font-size: clamp(40px, 5vw, 64px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; }
.hero p { margin-top: 20px; font-size: 18px; color: var(--silver-600); max-width: 480px; }
.hero__actions { margin-top: 32px; }
.hero__media { position: relative; aspect-ratio: 1 / 1; background: linear-gradient(160deg, var(--silver-100), var(--silver-200)); border-radius: var(--radius-lg); overflow: hidden; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__media-cluster { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 32px; }
.hero__media-cluster img { border-radius: var(--radius-md); object-fit: cover; width: 100%; height: 100%; box-shadow: var(--shadow-med); }
/* Only one of the two hero images is set — let it fill the whole box
   instead of being squeezed into a single grid column. */
.hero__media-cluster--single { display: block; }
.hero__media-cluster--single img { width: 100%; height: 100%; }

/* Guarantee strip */
.guarantee { padding-block: 96px; background: rgba(250, 250, 250, 0.72); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.guarantee__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.guarantee__image { border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4/3; background: var(--silver-200); }
.guarantee__image img { width: 100%; height: 100%; object-fit: cover; }
.guarantee__content h2 { font-size: clamp(26px, 3.4vw, 34px); font-weight: 600; letter-spacing: -0.02em; margin-bottom: 12px; }
.guarantee__content > p { color: var(--silver-600); margin-bottom: 32px; }
.guarantee__cards { display: flex; flex-direction: column; gap: 12px; }
.guarantee-card {
	display: flex; align-items: center; gap: 16px;
	background: var(--white); border: 1px solid var(--line);
	border-radius: var(--radius-md); padding: 20px 24px;
	box-shadow: var(--shadow-soft);
}
.guarantee-card__icon {
	flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%;
	background: var(--black); color: var(--white);
	display: flex; align-items: center; justify-content: center;
}
.guarantee-card__icon svg { width: 20px; height: 20px; }
.guarantee-card__text { display: flex; flex-direction: column; }
.guarantee-card__title { font-weight: 600; font-size: 15px; }
.guarantee-card__desc { font-size: 13px; color: var(--silver-600); margin-top: 2px; }

/* Featured products carousel */
.featured { padding-block: 96px; }
.featured__header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; gap: 24px; }
.featured__header h2 { font-size: clamp(26px, 3.4vw, 34px); font-weight: 600; letter-spacing: -0.02em; }
.featured__header p { margin-top: 8px; color: var(--silver-600); }
.featured__controls { display: flex; gap: 8px; flex-shrink: 0; }
.carousel-arrow {
	width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid var(--line); background: var(--white);
	display: flex; align-items: center; justify-content: center;
	transition: background 0.2s var(--ease), color 0.2s var(--ease);
}
.carousel-arrow svg { width: 18px; height: 18px; }
.carousel-arrow:hover:not(:disabled) { background: var(--black); color: var(--white); }
.carousel-arrow:disabled { opacity: 0.3; cursor: default; }

.product-carousel { overflow: hidden; }
.product-carousel__track {
	display: flex; gap: 24px;
	transition: transform 0.45s var(--ease);
}
.product-carousel__track .product-card { flex: 0 0 calc(25% - 18px); min-width: 240px; }

/* Card visuals — layout/sizing is decided by whichever container holds it
   (flex carousel track above, or the CSS grid used by the shop/related
   product loops below), not by the card itself. */
/* height:100% + flex column lets every card in a row (grid) or track (the
   carousel's flex row) stretch to match the tallest one, regardless of how
   long its title/description runs; margin-top:auto on the actions row then
   keeps the buttons pinned to the bottom of every card consistently. */
.product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid var(--line);
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--white);
	transition: box-shadow 0.2s var(--ease), transform 0.2s var(--ease);
}
.product-card:hover { box-shadow: var(--shadow-med); transform: translateY(-4px); }
.product-card__media { position: relative; aspect-ratio: 1/1; flex-shrink: 0; background: var(--silver-100); }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; }
.product-card__badge {
	position: absolute; top: 14px; left: 14px; max-width: calc(100% - 28px);
	background: var(--black); color: var(--white);
	font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
	padding: 5px 10px; border-radius: 999px;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.product-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px; }
.product-card__title { font-size: 15px; font-weight: 600; }
.product-card__meta { font-size: 12px; color: var(--silver-600); margin-top: 2px; }
.product-card__price { font-size: 16px; font-weight: 700; margin-top: 10px; }
.product-card__actions { display: flex; flex-direction: column; gap: 8px; margin-top: auto; padding-top: 16px; }
.product-card__actions .btn { width: 100%; padding: 10px 12px; font-size: 13px; justify-content: center; white-space: nowrap; }

@media (max-width: 900px) {
	.product-carousel__track .product-card { flex-basis: calc(50% - 12px); }
}
@media (max-width: 560px) {
	.product-carousel__track .product-card { flex-basis: 85%; }
}

/* Product grid — shop archive + related/upsell loops (woocommerce/content-product.php) */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	list-style: none;
	margin: 0 0 48px;
	padding: 0;
	clear: both;
}
.woocommerce ul.products li.product-grid__item { margin: 0; list-style: none; }

@media (max-width: 900px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.product-card__body { padding: 14px; }
	.product-card__title { font-size: 13px; }
	.product-card__meta { font-size: 11px; }
	.product-card__price { font-size: 14px; }
	.product-card__badge { font-size: 10px; padding: 4px 8px; }
	.product-card__actions .btn { padding: 8px 10px; font-size: 12px; }
}

/* Shop archive chrome */
.shop-search {
	display: flex; align-items: center; gap: 8px;
	max-width: 420px; margin-bottom: 32px;
	border: 1px solid var(--line); border-radius: 999px;
	background: var(--white); padding: 4px 4px 4px 20px;
}
.shop-search:focus-within { outline: 2px solid var(--black); outline-offset: 2px; }
.shop-search__input {
	flex: 1; border: none; background: none; font-size: 14px;
	font-family: var(--font); color: var(--black);
}
/* Focus ring shown on the pill container above (:focus-within), not this
   inner input, since a ring on just the input would clash with the pill shape. */
.shop-search__input:focus { outline: none; }
.shop-search__submit {
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
	background: var(--black); color: var(--white); border: none;
}
.shop-search__submit svg { width: 16px; height: 16px; }
.shop-search__submit:hover { background: #232323; }

.woocommerce-products-header { margin-bottom: 32px; }
.woocommerce-products-header__title { font-size: clamp(28px, 4vw, 40px); font-weight: 600; letter-spacing: -0.02em; }
.woocommerce-breadcrumb {
	font-size: 13px; color: var(--silver-600); margin-bottom: 24px;
}
.woocommerce-breadcrumb a { color: var(--silver-600); }
.woocommerce-breadcrumb a:hover { color: var(--black); }

.container.site-main--shop::after { content: ''; display: table; clear: both; }

.woocommerce-result-count, .woocommerce-ordering {
	display: inline-block; font-size: 14px; color: var(--silver-600);
	margin-bottom: 24px;
}
.woocommerce-result-count { float: left; padding-top: 10px; }
.woocommerce-ordering { float: right; }
.woocommerce-ordering select {
	padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line);
	font-size: 14px; background: var(--white);
}

@media (max-width: 600px) {
	.woocommerce-result-count, .woocommerce-ordering { float: none; display: block; width: 100%; }
	.woocommerce-ordering select { width: 100%; }
}

/* Single product */
.woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	padding-block: 48px;
}
/* woocommerce_after_single_product_summary (tabs, upsells, related products)
   renders as further children of div.product in this WC version, not as
   siblings after it — without this they'd each auto-place into a single
   grid column instead of spanning the full width below the gallery/summary. */
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .upsells.products,
.woocommerce div.product > .related.products,
.woocommerce div.product > .product-research {
	grid-column: 1 / -1;
}

.product-research { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--line); max-width: 760px; }
.product-research h2 { font-size: clamp(24px, 3vw, 30px); font-weight: 600; letter-spacing: -0.02em; margin-bottom: 24px; }

.woocommerce span.onsale {
	position: absolute; top: 16px; left: 16px; z-index: 2;
	background: var(--black); color: var(--white);
	font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
	padding: 6px 12px; border-radius: 999px;
}

.woocommerce-product-gallery__wrapper { border-radius: var(--radius-lg); overflow: hidden; background: var(--silver-100); }
.woocommerce-product-gallery img { width: 100%; height: auto; object-fit: cover; }
.flex-control-thumbs { display: flex; gap: 12px; margin-top: 16px; padding: 0; list-style: none; }
.flex-control-thumbs li { width: 72px; }
.flex-control-thumbs img { border-radius: var(--radius-sm); border: 1px solid var(--line); cursor: pointer; opacity: 0.6; }
.flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--black); }

.summary.entry-summary .product_title { font-size: clamp(28px, 4vw, 38px); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 12px; }
.summary.entry-summary .price { font-size: 22px; font-weight: 700; margin-bottom: 16px; display: block; }
.summary.entry-summary .price ins { text-decoration: none; }
.summary.entry-summary .price del { color: var(--silver-500); font-weight: 400; margin-right: 8px; }
.summary.entry-summary .woocommerce-product-details__short-description { color: var(--silver-600); margin-bottom: 24px; }
.summary.entry-summary .stock { display: inline-block; font-size: 13px; font-weight: 600; margin-bottom: 16px; }
.summary.entry-summary .stock.in-stock { color: #1e7e34; }
.summary.entry-summary .stock.out-of-stock { color: #c0392b; }

form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 24px; }
.quantity { display: inline-flex; }
.quantity .qty {
	width: 64px; padding: 12px; border: 1px solid var(--line); border-radius: 999px;
	text-align: center; font-size: 15px;
}
.single_add_to_cart_button {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 14px 28px; border-radius: 999px; font-size: 15px; font-weight: 600;
	background: var(--black); color: var(--white); border: 1px solid var(--black);
}
.single_add_to_cart_button:hover { background: #232323; }
.single_add_to_cart_button.disabled { opacity: 0.4; cursor: not-allowed; }

table.variations { width: 100%; margin-bottom: 16px; border-collapse: collapse; }
table.variations td { padding: 8px 0; }
table.variations select {
	width: 100%; padding: 12px 16px; border-radius: 999px; border: 1px solid var(--line); font-size: 14px; background: var(--white);
}
.woocommerce-variation-price .price { font-size: 20px; }
a.reset_variations { font-size: 12px; color: var(--silver-600); text-decoration: underline; margin-left: 8px; }

.product_meta { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 13px; color: var(--silver-600); }
.product_meta > span { display: block; margin-bottom: 6px; }
.product_meta a { color: var(--silver-600); text-decoration: underline; }

.product-coa-button { margin-bottom: 24px; }
.product-coa-button .btn svg { width: 14px; height: 14px; }

.woocommerce-tabs { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--line); }
.woocommerce-tabs ul.tabs { display: flex; gap: 8px; list-style: none; padding: 0; margin-bottom: 32px; flex-wrap: wrap; }
.woocommerce-tabs ul.tabs li a {
	display: inline-block; padding: 10px 20px; border-radius: 999px; border: 1px solid var(--line);
	font-size: 14px; font-weight: 600; color: var(--silver-600);
}
.woocommerce-tabs ul.tabs li.active a { background: var(--black); color: var(--white); border-color: var(--black); }
.woocommerce-tabs .panel { max-width: 760px; color: var(--silver-600); line-height: 1.7; }
.woocommerce-tabs .panel h2 { font-size: 22px; font-weight: 600; color: var(--black); margin-bottom: 16px; }

.related.products { margin-top: 80px; padding-top: 48px; border-top: 1px solid var(--line); }
.related.products > h2 { font-size: clamp(24px, 3vw, 30px); font-weight: 600; letter-spacing: -0.02em; margin-bottom: 32px; }

@media (max-width: 860px) {
	.woocommerce div.product { grid-template-columns: 1fr; gap: 32px; }
}

/* Shared by WooCommerce's pagination (ul.page-numbers) and WordPress core's
   the_posts_pagination() (div.nav-links) — same visual treatment, different
   wrapper element for the two markup shapes.
   Note: WooCommerce's <ul> AND each <a>/<span> inside it both carry the
   class "page-numbers", so the pill-sizing rule below is scoped to "li
   .page-numbers" specifically — otherwise it also matches the wrapping
   <ul>, shrinking the whole container to one item's width and forcing
   every page link onto its own line. */
.woocommerce-pagination ul,
.navigation.pagination .nav-links { display: flex; gap: 8px; list-style: none; padding: 0; justify-content: center; flex-wrap: wrap; margin-top: 16px; }
.woocommerce-pagination li { margin: 0; list-style: none; }

.woocommerce-pagination li .page-numbers,
.navigation.pagination .page-numbers {
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	border: 1px solid var(--line); font-size: 14px; font-weight: 600;
}
.woocommerce-pagination li .page-numbers.current,
.navigation.pagination .page-numbers.current { background: var(--black); color: var(--white); border-color: var(--black); }
.woocommerce-pagination li .page-numbers:hover:not(.current),
.navigation.pagination .page-numbers:hover:not(.current) { background: var(--silver-100); }

/* Bento grid */
.bento { padding-block: 96px; background: rgba(250, 250, 250, 0.72); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.bento__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.bento-panel {
	background: var(--white); border: 1px solid var(--line);
	border-radius: var(--radius-lg); padding: 40px;
	display: flex; flex-direction: column; justify-content: space-between; gap: 24px;
	min-height: 260px;
}
.bento-panel--full { grid-column: 1 / -1; }
.bento-panel h3 { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
.bento-panel p { margin-top: 10px; color: var(--silver-600); font-size: 15px; }

@media (max-width: 760px) {
	.bento__grid { grid-template-columns: 1fr; }
	.bento-panel--full { grid-column: auto; }
}

/* Verification tabs */
.verification { padding-block: 96px; }
.verification__panel {
	display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
	background: rgba(250, 250, 250, 0.72); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
	border-radius: var(--radius-lg); padding: 56px;
}
.verification-tabs__list { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.verification-tab {
	background: var(--white); border: 1px solid var(--line);
	border-radius: 999px; padding: 10px 20px; font-size: 14px; font-weight: 600;
	color: var(--silver-600);
}
.verification-tab.is-active { background: var(--black); color: var(--white); border-color: var(--black); }
.verification-tab-panels { min-height: 90px; }
.verification-tab-panel { display: none; font-size: 16px; color: var(--silver-600); }
.verification-tab-panel.is-active { display: block; }
.verification__visual { aspect-ratio: 4/3; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; }
.verification__visual img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 860px) {
	.verification__panel { grid-template-columns: 1fr; padding: 32px; }
}

/* Why choose us */
.why-choose { padding-block: 96px; }
.why-choose__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.why-card { border: 1px solid var(--line); border-radius: var(--radius-md); padding: 32px; }
.why-card__icon {
	width: 48px; height: 48px; border-radius: 12px; background: var(--silver-100);
	display: flex; align-items: center; justify-content: center; margin-bottom: 20px;
}
.why-card__icon svg { width: 22px; height: 22px; }
.why-card h3 { font-size: 17px; font-weight: 600; }
.why-card p { margin-top: 8px; font-size: 14px; color: var(--silver-600); }

@media (max-width: 760px) {
	.why-choose__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
	.why-choose__grid { grid-template-columns: 1fr; }
}

/* FAQ */
.faq { padding-block: 96px; background: rgba(250, 250, 250, 0.72); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.faq__list { max-width: 760px; margin-inline: auto; }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item__question {
	width: 100%; display: flex; align-items: center; justify-content: space-between;
	background: none; border: none; text-align: left;
	padding: 22px 4px; font-size: 16px; font-weight: 600;
}
.faq-item__icon { width: 20px; height: 20px; flex-shrink: 0; transition: transform 0.25s var(--ease); }
.faq-item.is-open .faq-item__icon { transform: rotate(45deg); }
.faq-item__answer { max-height: 0; overflow: hidden; transition: max-height 0.3s var(--ease); }
.faq-item__answer-inner { padding: 0 4px 22px; color: var(--silver-600); font-size: 15px; }

/* CTA banner */
.cta-banner { padding-block: 80px; background: var(--black); color: var(--white); text-align: center; }
.cta-banner h2 { font-size: clamp(26px, 3.6vw, 38px); font-weight: 600; letter-spacing: -0.02em; max-width: 720px; margin-inline: auto; }
.cta-banner .btn { margin-top: 32px; }
.cta-banner .btn-primary { background: var(--white); color: var(--black); }
.cta-banner .btn-primary:hover { background: var(--silver-200); }

/* Newsletter */
.newsletter { padding-block: 64px; }
.newsletter__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 32px;
	background: rgba(250, 250, 250, 0.72); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
	border-radius: var(--radius-lg); padding: 48px 56px;
	flex-wrap: wrap;
}
.newsletter h2 { font-size: 22px; font-weight: 600; }
.newsletter p { margin-top: 6px; color: var(--silver-600); font-size: 14px; }
.newsletter-form { display: flex; gap: 12px; flex: 0 0 auto; }
.newsletter-form input[type="email"] {
	padding: 14px 18px; border-radius: 999px; border: 1px solid var(--line);
	font-size: 14px; min-width: 260px;
}
.newsletter-form button { white-space: nowrap; }
.newsletter-form__message { margin-top: 10px; font-size: 13px; }
.newsletter-form__message.is-error { color: #c0392b; }
.newsletter-form__message.is-success { color: #1e7e34; }

@media (max-width: 700px) {
	.newsletter__inner { flex-direction: column; align-items: stretch; text-align: center; padding: 36px 24px; }
	.newsletter-form { flex-direction: column; }
	.newsletter-form input[type="email"] { min-width: 0; }
}

/* Footer */
.site-footer { background: var(--black); color: var(--silver-300); padding-top: 72px; }
.site-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 32px; padding-bottom: 48px; border-bottom: 1px solid #2b2b2d; }
.site-footer__brand .site-logo__text { color: var(--white); }
.site-footer__tagline { margin-top: 12px; font-size: 13px; color: var(--silver-500); max-width: 260px; }
.site-footer h3 { color: var(--white); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 16px; }
.footer-nav-list { display: flex; flex-direction: column; gap: 10px; }
.footer-nav-list a { font-size: 14px; color: var(--silver-400); }
.footer-nav-list a:hover { color: var(--white); }
.site-footer__social { display: flex; gap: 16px; padding-block: 24px; }
.site-footer__social a { width: 18px; height: 18px; color: var(--silver-400); }
.site-footer__social a:hover { color: var(--white); }
.site-footer__disclaimer { font-size: 11px; line-height: 1.7; color: var(--silver-600); padding-bottom: 24px; border-bottom: 1px solid #2b2b2d; }
.site-footer__bottom { padding-block: 24px; font-size: 12px; color: var(--silver-600); }

@media (max-width: 900px) {
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
}

/* Responsive: hero / guarantee / bento shared breakpoints */
.nav-close { display: none; }
.nav-overlay {
	position: fixed; inset: 0;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0; pointer-events: none;
	transition: opacity 0.3s var(--ease);
	z-index: 98;
}
.nav-overlay.is-open { opacity: 1; pointer-events: auto; }

html.nav-open, html.nav-open body { overflow: hidden; }

@media (max-width: 860px) {
	.hero__grid, .guarantee__grid { grid-template-columns: 1fr; gap: 40px; }
	.hero__media { order: -1; }
	.nav-toggle { display: flex; }
	.primary-nav { position: fixed; inset: 0 auto 0 0; width: 78%; max-width: 320px; background: var(--white); transform: translateX(-100%); transition: transform 0.3s var(--ease); padding: 96px 32px 32px; z-index: 99; box-shadow: var(--shadow-med); }
	.primary-nav.is-open { transform: translateX(0); }
	.primary-nav__list { flex-direction: column; gap: 24px; }
	.nav-close {
		display: flex; align-items: center; justify-content: center;
		position: absolute; top: 24px; right: 24px;
		width: 36px; height: 36px; border-radius: 50%;
		background: none; border: 1px solid var(--line);
		color: var(--black);
	}
	.nav-close svg { width: 16px; height: 16px; }
}

.container.site-main--shop { padding-block: 48px; }

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

/* Age / researcher verification gate */
html.age-gate-open, html.age-gate-open body { overflow: hidden; }

.age-gate {
	position: fixed; inset: 0; z-index: 300;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px;
	background: rgba(245, 245, 247, 0.94);
	backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
	padding: 24px;
	opacity: 1; visibility: visible;
	transition: opacity 0.3s var(--ease), visibility 0.3s var(--ease);
}
.age-gate.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }

.age-gate__card {
	width: 100%; max-width: 480px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-med);
	padding: 40px;
}
.age-gate__logo { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; color: var(--silver-600); margin-bottom: 16px; }
.age-gate__card h2 { font-size: 24px; font-weight: 700; letter-spacing: -0.01em; }
.age-gate__desc { margin-top: 10px; color: var(--silver-600); font-size: 14px; line-height: 1.6; }

.age-gate__checkbox {
	display: flex; align-items: flex-start; gap: 12px;
	border: 1px solid var(--line); border-radius: var(--radius-sm);
	padding: 16px; margin-top: 16px; font-size: 14px; line-height: 1.5;
	cursor: pointer;
}
.age-gate__checkbox input { margin-top: 2px; width: 16px; height: 16px; flex-shrink: 0; accent-color: var(--black); }

.age-gate__submit { width: 100%; justify-content: center; margin-top: 20px; }
.age-gate__submit:disabled { opacity: 0.35; cursor: not-allowed; }
.age-gate__submit:disabled:hover { background: var(--black); }

.age-gate__fine-print { margin-top: 16px; font-size: 11px; line-height: 1.6; color: var(--silver-500); }
.age-gate__fine-print a { text-decoration: underline; }

.age-gate__exit { font-size: 13px; color: var(--silver-600); }
.age-gate__exit a { font-weight: 600; color: var(--black); text-decoration: underline; }

@media (max-width: 520px) {
	.age-gate__card { padding: 28px; }
}

/* WooCommerce notices — cart/checkout/shop/product all route through these */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
	list-style: none;
	margin: 0 0 24px; padding: 16px 20px;
	border-radius: var(--radius-sm);
	font-size: 14px;
	display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
}
.woocommerce-message { background: #eef7ee; color: #1e7e34; border: 1px solid #cfe8cf; }
.woocommerce-error { background: #fdecea; color: #c0392b; border: 1px solid #f5c6c0; }
.woocommerce-info { background: var(--silver-100); color: var(--black); border: 1px solid var(--line); }
.woocommerce-error li { list-style: none; }
.woocommerce-message .button, .woocommerce-info .button {
	margin-left: auto; display: inline-flex; align-items: center;
	padding: 8px 18px; border-radius: 999px; font-size: 13px; font-weight: 600;
	background: var(--black); color: var(--white);
}

/* Generic WooCommerce button (coupon apply, update cart, place order, pay) */
.woocommerce-page .button,
.woocommerce-page button.button,
.woocommerce-page input.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 14px 28px; border-radius: 999px; font-size: 15px; font-weight: 600;
	background: var(--black); color: var(--white); border: 1px solid var(--black);
	cursor: pointer;
}
.woocommerce-page .button:hover { background: #232323; }
.woocommerce-page .button.disabled, .woocommerce-page .button:disabled { opacity: 0.4; cursor: not-allowed; }

/* Shared form field look for cart coupon + checkout fields */
.woocommerce-page input.input-text,
.woocommerce-page textarea,
.woocommerce-page select,
.woocommerce-page .select2-container .select2-selection--single {
	width: 100%; padding: 12px 16px;
	border: 1px solid var(--line); border-radius: var(--radius-sm);
	font-size: 14px; font-family: var(--font); background: var(--white); color: var(--black);
	height: auto;
}
.woocommerce-page input.input-text:focus,
.woocommerce-page textarea:focus,
.woocommerce-page select:focus { outline: 2px solid var(--black); outline-offset: 1px; }

/* Cart page */
.woocommerce-cart-form { margin-bottom: 48px; }
table.shop_table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
table.shop_table th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--silver-600); padding: 12px 8px; border-bottom: 1px solid var(--line); }
table.shop_table td { padding: 16px 8px; border-bottom: 1px solid var(--line); font-size: 14px; }
table.shop_table td.product-thumbnail img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--radius-sm); }
table.shop_table td.product-name a { font-weight: 600; }
table.shop_table td.actions { border-bottom: none; padding-top: 24px; }
table.shop_table .remove {
	display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; border-radius: 50%; font-size: 18px; line-height: 1;
	color: var(--silver-600); text-decoration: none;
}
table.shop_table .remove:hover { background: var(--silver-100); color: #c0392b; }

.woocommerce-cart-form .coupon {
	display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
}
.woocommerce-cart-form .coupon .input-text { max-width: 220px; }
table.shop_table td.actions .button { margin-left: 12px; }

.cart-collaterals { display: flex; justify-content: flex-end; }
.cart_totals { width: 100%; max-width: 420px; background: var(--silver-050); border-radius: var(--radius-lg); padding: 32px; }
.cart_totals h2 { font-size: 20px; font-weight: 600; margin-bottom: 16px; }
.cart_totals table { width: 100%; }
.cart_totals th, .cart_totals td { text-align: left; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.cart_totals tr.order-total th, .cart_totals tr.order-total td { font-size: 18px; font-weight: 700; border-bottom: none; }
.wc-proceed-to-checkout { margin-top: 20px; }
.wc-proceed-to-checkout .button { width: 100%; justify-content: center; }

@media (max-width: 760px) {
	table.shop_table thead { display: none; }
	table.shop_table tr { display: grid; grid-template-columns: auto auto 1fr; gap: 8px 12px; padding: 16px 0; }
	table.shop_table td { border: none; padding: 0; }
	table.shop_table td[data-title]::before { content: attr(data-title); display: block; font-size: 11px; text-transform: uppercase; color: var(--silver-500); margin-bottom: 4px; }
	.cart_totals { max-width: none; }
}

/* Checkout page */
.woocommerce-checkout h3 { font-size: 20px; font-weight: 600; margin: 32px 0 20px; }
.woocommerce-checkout h3:first-child { margin-top: 0; }
#customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-bottom: 24px; }
.form-row { margin-bottom: 16px; }
.form-row label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.form-row .required { color: #c0392b; text-decoration: none; }
.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row,
.woocommerce-additional-fields .form-row { display: block; }
.form-row-first, .form-row-last { display: inline-block; width: 48%; }
.form-row-first { margin-right: 4%; }

#order_review_heading { font-size: 20px; font-weight: 600; margin-bottom: 20px; }
#order_review { background: var(--silver-050); border-radius: var(--radius-lg); padding: 32px; }
.woocommerce-checkout-review-order-table { margin-bottom: 0; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { border-bottom: 1px solid var(--line); }
.woocommerce-checkout-review-order-table tfoot tr.order-total th, .woocommerce-checkout-review-order-table tfoot tr.order-total td { font-size: 18px; font-weight: 700; }

.woocommerce-terms-and-conditions-wrapper { margin: 20px 0; font-size: 13px; color: var(--silver-600); }
.woocommerce-form__label-for-checkbox.checkbox,
.pepslab-checkout-ack {
	display: flex; align-items: flex-start; gap: 10px;
	border: 1px solid var(--line); border-radius: var(--radius-sm);
	padding: 14px 16px; font-size: 13px; cursor: pointer; margin-bottom: 12px;
}
.woocommerce-form__label-for-checkbox.checkbox input,
.pepslab-checkout-ack input { margin-top: 2px; accent-color: var(--black); }

#payment { background: var(--silver-050); border-radius: var(--radius-lg); padding: 24px; margin-top: 24px; }
ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; }
ul.payment_methods li { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
ul.payment_methods li:last-child { border-bottom: none; }
.payment_box { margin-top: 12px; padding: 16px; background: var(--white); border-radius: var(--radius-sm); font-size: 13px; color: var(--silver-600); }
.form-row.place-order { margin-top: 20px; margin-bottom: 0; }
#place_order { width: 100%; justify-content: center; }

@media (max-width: 860px) {
	#customer_details { grid-template-columns: 1fr; gap: 0; }
	.form-row-first, .form-row-last { width: 100%; margin-right: 0; }
}

/* Generic static page (About, Contact, Terms, Privacy, Refund Policy, etc.) */
.page-content { padding-block: 56px 96px; }
.page-content__header { max-width: 760px; margin: 0 auto 40px; text-align: center; }
.page-content__header h1 { font-size: clamp(32px, 4.5vw, 48px); font-weight: 700; letter-spacing: -0.02em; }
.page-content__body { max-width: 760px; margin-inline: auto; font-size: 16px; line-height: 1.75; color: var(--silver-600); }
.page-content__body > *:first-child { margin-top: 0; }

.page-content__body h2 { font-size: 26px; font-weight: 600; letter-spacing: -0.01em; color: var(--black); margin: 40px 0 16px; }
.page-content__body h3 { font-size: 20px; font-weight: 600; color: var(--black); margin: 32px 0 12px; }
.page-content__body p { margin: 0 0 20px; }
.page-content__body ul, .page-content__body ol { margin: 0 0 20px; padding-left: 24px; }
.page-content__body li { margin-bottom: 8px; }
.page-content__body a { color: var(--black); text-decoration: underline; }
.page-content__body strong { color: var(--black); }
.page-content__body blockquote {
	margin: 24px 0; padding: 16px 24px; border-left: 3px solid var(--black);
	background: var(--silver-050); font-style: italic;
}
.page-content__body img { border-radius: var(--radius-md); margin: 24px 0; }
.page-content__body hr { border: none; border-top: 1px solid var(--line); margin: 40px 0; }
.page-content__body table { width: 100%; border-collapse: collapse; margin: 0 0 24px; }
.page-content__body table th, .page-content__body table td { padding: 12px; border: 1px solid var(--line); text-align: left; font-size: 14px; }

/* Research Library */
.page-content__intro { margin-top: 16px; }
.research-library__empty { text-align: center; color: var(--silver-600); }
.research-library__list { max-width: 760px; margin-inline: auto; }
.research-item__links { list-style: none; padding: 0; }
.research-item__links li { border-top: 1px solid var(--line); }
.research-item__links li:first-child { border-top: none; }
.research-item__links a {
	display: flex; align-items: center; gap: 10px;
	padding: 14px 4px; font-size: 15px; font-weight: 500; color: var(--black);
}
.research-item__links a:hover { color: var(--silver-600); }
.research-item__links a svg { width: 14px; height: 14px; flex-shrink: 0; margin-left: auto; }
.research-item__source {
	font-size: 12px; font-weight: 600; color: var(--silver-500);
	background: var(--silver-100); padding: 3px 10px; border-radius: 999px; white-space: nowrap;
}
.research-item__none { color: var(--silver-500); font-size: 14px; padding: 4px; }

/* My Account — rendered via the [woocommerce_my_account] shortcode inside
   a normal WP Page, so it lives in page.php's .page-content__body, not the
   .site-main--shop wrapper used by the shop/cart/checkout templates. */
.woocommerce-account .page-content__body {
	max-width: none; text-align: left;
	display: grid; grid-template-columns: 220px 1fr; gap: 48px; align-items: start;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.woocommerce-MyAccount-navigation a {
	display: block; padding: 10px 16px; border-radius: var(--radius-sm);
	font-size: 14px; font-weight: 500; color: var(--silver-600);
}
.woocommerce-MyAccount-navigation a:hover { background: var(--silver-100); color: var(--black); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--black); color: var(--white); }
.woocommerce-MyAccount-content { max-width: 760px; }
.woocommerce-MyAccount-content h2 { font-size: 22px; font-weight: 600; margin: 0 0 20px; }
.woocommerce-MyAccount-content > p:first-child { margin-top: 0; }

.u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.u-columns.col2-set h2 { font-size: 20px; font-weight: 600; margin-bottom: 16px; }
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; font-size: 13px; margin-bottom: 16px; }
.woocommerce-LostPassword { margin-top: 12px; font-size: 13px; }
.woocommerce-LostPassword a { text-decoration: underline; }

.woocommerce-address-fields .form-row { max-width: 480px; }
.addresses .title .edit { font-size: 13px; text-decoration: underline; }
address { font-style: normal; line-height: 1.7; }

@media (max-width: 860px) {
	.woocommerce-account .page-content__body { grid-template-columns: 1fr; gap: 24px; }
	.woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; }
	.u-columns.col2-set { grid-template-columns: 1fr; }
}

/* Search results + 404 */
.search-results-header, .error-404__inner { text-align: center; max-width: 640px; margin: 0 auto 40px; }
.search-results-header h1 { font-size: clamp(28px, 4vw, 40px); font-weight: 600; letter-spacing: -0.02em; }
.search-results-header p { margin-top: 12px; color: var(--silver-600); }
.search-results__list { display: flex; flex-direction: column; gap: 24px; max-width: 760px; margin-inline: auto; }
.search-result-card { display: block; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-md); }
.search-result-card:hover { box-shadow: var(--shadow-soft); }
.search-result-card__type { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--silver-500); }
.search-result-card h2 { font-size: 18px; font-weight: 600; margin: 6px 0 8px; }
.search-result-card p { color: var(--silver-600); font-size: 14px; }
.search-no-results { text-align: center; color: var(--silver-600); padding-block: 40px; }

.error-404 { padding-block: 96px; text-align: center; }
.error-404__code { font-size: clamp(64px, 12vw, 140px); font-weight: 700; letter-spacing: -0.03em; line-height: 1; }
.error-404__inner h1 { font-size: clamp(24px, 3vw, 32px); font-weight: 600; margin-top: 8px; }
.error-404__inner p { margin-top: 12px; color: var(--silver-600); }
.error-404__actions { margin-top: 32px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* backdrop-filter fallback — well supported in evergreen browsers, but
   where it's missing the translucent frosted panels would show the
   particle network unblurred behind text. Bump opacity so contrast still
   holds without the blur softening it. */
@supports not ( (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) ) {
	.site-header::before { background: rgba(255, 255, 255, 0.98); }
	.guarantee, .bento, .faq,
	.verification__panel, .newsletter__inner { background: rgba(250, 250, 250, 0.97); }
	.age-gate { background: rgba(245, 245, 247, 0.99); }
}

/* Contact page */
.contact-intro { margin-top: 16px; color: var(--silver-600); font-size: 17px; }

.contact-grid {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;
	max-width: 900px; margin: 0 auto 32px;
}
.contact-card {
	border: 1px solid var(--line); border-radius: var(--radius-lg);
	padding: 32px; text-align: center;
}
.contact-card__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 50%;
	background: var(--silver-100); margin-bottom: 20px;
}
.contact-card__icon svg { width: 20px; height: 20px; }
.contact-card h2 { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--silver-500); margin-bottom: 10px; }
.contact-card__value {
	display: block; font-size: 18px; font-weight: 600; color: var(--black);
	line-height: 1.5;
}
a.contact-card__value:hover { color: var(--silver-600); }
.contact-card__whatsapp {
	display: inline-flex; align-items: center; gap: 6px;
	margin-top: 14px; padding: 6px 14px; border-radius: 999px;
	background: var(--silver-100); font-size: 12px; font-weight: 600; color: var(--black);
}
.contact-card__whatsapp svg { width: 14px; height: 14px; }
.contact-card__whatsapp:hover { background: var(--silver-200); }

.contact-note {
	display: flex; align-items: flex-start; gap: 20px;
	max-width: 900px; margin: 0 auto 32px;
	border: 1px solid var(--line); border-radius: var(--radius-lg);
	padding: 28px 32px; background: var(--silver-050);
}
.contact-note__icon {
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
	width: 40px; height: 40px; border-radius: 50%;
	background: var(--black); color: var(--white);
}
.contact-note__icon svg { width: 18px; height: 18px; }
.contact-note h3 { font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.contact-note p { color: var(--silver-600); font-size: 15px; }

.contact-business-name { text-align: center; color: var(--silver-500); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }

@media (max-width: 700px) {
	.contact-grid { grid-template-columns: 1fr; }
	.contact-note { flex-direction: column; align-items: center; text-align: center; }
}

/* About page */
.about-header { max-width: 700px; }
.about-lead { margin-top: 20px; font-size: 19px; line-height: 1.6; color: var(--silver-600); }

.about-grid {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;
	max-width: 900px; margin: 0 auto 32px;
}
.about-card {
	border: 1px solid var(--line); border-radius: var(--radius-lg);
	padding: 36px;
}
.about-card__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--black); color: var(--white);
	margin-bottom: 20px;
}
.about-card__icon svg { width: 18px; height: 18px; }
.about-card h2 { font-size: 19px; font-weight: 600; letter-spacing: -0.01em; margin-bottom: 10px; }
.about-card p { color: var(--silver-600); font-size: 15px; line-height: 1.7; }

.about-disclaimer {
	display: flex; align-items: flex-start; gap: 18px;
	max-width: 900px; margin: 0 auto; padding: 24px 28px;
	background: var(--silver-050); border-left: 3px solid var(--black); border-radius: var(--radius-sm);
}
.about-disclaimer__icon {
	display: flex; align-items: center; justify-content: center; flex-shrink: 0;
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--white); border: 1px solid var(--line);
}
.about-disclaimer__icon svg { width: 16px; height: 16px; }
.about-disclaimer p { font-size: 14px; font-weight: 600; color: var(--black); line-height: 1.6; }

@media (max-width: 700px) {
	.about-grid { grid-template-columns: 1fr; }
	.about-disclaimer { flex-direction: column; align-items: flex-start; }
}
