/* G7 editorial pages: a calm, content-first companion to the studio home. */
.g7-editorial {
	--editorial-ink: #061b16;
	--editorial-ink-soft: #0b2a23;
	--editorial-mint: #63e4cb;
	--editorial-paper: #eef5f2;
	--editorial-copy: #41524e;
	background: var(--editorial-paper);
	color: var(--editorial-ink);
	overflow: clip;
}

.g7-editorial-hero {
	position: relative;
	min-height: clamp(500px, 65vh, 760px);
	display: grid;
	align-items: center;
	background: radial-gradient(circle at 78% 42%, rgba(40, 120, 103, .28), transparent 34%), linear-gradient(118deg, #041813 0%, #08231d 100%);
	color: #f5fbf8;
	isolation: isolate;
}

.g7-editorial-hero__grid {
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: linear-gradient(rgba(99, 228, 203, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(99, 228, 203, .055) 1px, transparent 1px);
	background-size: clamp(120px, 12vw, 210px) clamp(120px, 12vw, 210px);
	-webkit-mask-image: linear-gradient(90deg, #000 0%, #000 72%, transparent 100%);
	mask-image: linear-gradient(90deg, #000 0%, #000 72%, transparent 100%);
}

.g7-editorial-hero::after {
	content: "";
	position: absolute;
	right: clamp(-120px, -4vw, -40px);
	top: 50%;
	width: min(50vw, 710px);
	aspect-ratio: 1;
	border: 1px solid rgba(99, 228, 203, .17);
	border-radius: 50%;
	transform: translateY(-50%);
	z-index: -1;
	box-shadow: inset 0 0 0 clamp(70px, 7vw, 130px) rgba(6, 27, 22, .52), inset 0 0 0 calc(clamp(70px, 7vw, 130px) + 1px) rgba(99, 228, 203, .12);
}

.g7-editorial-hero__inner,
.g7-editorial-body__inner {
	width: min(100% - 48px, 1320px);
	margin-inline: auto;
}

.g7-editorial-hero__inner { position: relative; padding-block: clamp(82px, 10vw, 150px); }

.g7-editorial-kicker {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 clamp(28px, 4vw, 52px);
	font: 500 13px/1.2 "DM Mono", monospace;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: rgba(238, 245, 242, .64);
}

.g7-editorial-kicker span { width: 58px; height: 1px; background: var(--editorial-mint); }

.g7-editorial-title {
	max-width: 1000px;
	margin: 0;
	font: 700 clamp(58px, 8vw, 124px)/.88 "Manrope", sans-serif;
	letter-spacing: -.075em;
}

.g7-editorial-title span,
.g7-editorial-title em { display: block; }

.g7-editorial .g7-editorial-title,
.g7-editorial .g7-editorial-title span { color: #f5fbf8 !important; }

.g7-editorial-title em {
	margin-top: .04em;
	font: italic 400 1.02em/.9 "Instrument Serif", serif;
	letter-spacing: -.045em;
	color: var(--editorial-mint);
}

.g7-editorial-index {
	position: absolute;
	right: 0;
	bottom: clamp(46px, 7vw, 94px);
	margin: 0;
	font: 500 12px/1 "DM Mono", monospace;
	letter-spacing: .18em;
	color: rgba(238, 245, 242, .4);
}

.g7-editorial-hero__mark {
	position: absolute;
	right: clamp(12px, 4vw, 72px);
	top: 50%;
	transform: translateY(-53%);
	font: 700 clamp(260px, 36vw, 600px)/.7 "Manrope", sans-serif;
	letter-spacing: -.12em;
	color: rgba(99, 228, 203, .025);
	z-index: -1;
	pointer-events: none;
}

.g7-editorial-body {
	position: relative;
	padding-block: clamp(80px, 10vw, 150px);
	background: radial-gradient(circle at 86% 12%, rgba(99, 228, 203, .12), transparent 22%), var(--editorial-paper);
}

.g7-editorial-body__inner { max-width: 1180px; }

.g7-editorial .g7-content {
	font: 400 18px/1.75 "Manrope", sans-serif;
	color: var(--editorial-copy);
}

.g7-editorial .g7-content > p:first-child {
	max-width: 860px;
	margin: 0 0 clamp(56px, 7vw, 92px);
	font-size: clamp(23px, 2.6vw, 36px);
	line-height: 1.42;
	letter-spacing: -.025em;
	color: var(--editorial-ink);
}

.g7-editorial .g7-content h2 {
	margin: clamp(72px, 9vw, 116px) 0 24px;
	font: 700 clamp(36px, 5vw, 68px)/1 "Manrope", sans-serif;
	letter-spacing: -.055em;
	color: var(--editorial-ink);
}

.g7-editorial .g7-content h3 {
	margin: 42px 0 14px;
	font: 700 clamp(24px, 2.7vw, 34px)/1.15 "Manrope", sans-serif;
	letter-spacing: -.035em;
	color: var(--editorial-ink);
}

.g7-editorial .g7-content p,
.g7-editorial .g7-content ul,
.g7-editorial .g7-content ol { max-width: 800px; }

.g7-editorial .g7-content a { color: #127e6d; text-decoration-thickness: 1px; text-underline-offset: 4px; }

.g7-editorial .g7-content .btn,
.g7-editorial .g7-content .button,
.g7-editorial .g7-content input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 16px 24px;
	border: 0;
	border-radius: 10px;
	background: var(--editorial-ink);
	color: #fff;
	font: 600 13px/1 "DM Mono", monospace;
	letter-spacing: .11em;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform .2s ease, background-color .2s ease;
}

.g7-editorial .g7-content .btn:hover,
.g7-editorial .g7-content .button:hover,
.g7-editorial .g7-content input[type="submit"]:hover { background: #0e3028; color: #fff; transform: translateY(-2px); }

.g7-editorial .g7-notice,
.g7-editorial .g7-callout {
	border: 1px solid rgba(7, 25, 21, .13);
	border-radius: 16px;
	background: rgba(255, 255, 255, .64);
	box-shadow: none;
}

.g7-editorial--about .g7-content h2 { padding-top: 40px; border-top: 1px solid rgba(7, 25, 21, .15); }
.g7-editorial--about .g7-content h2 + p { font-size: 20px; }

.g7-testing-commitment {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: clamp(24px, 5vw, 72px);
	align-items: start;
	margin-block: clamp(28px, 5vw, 72px) clamp(74px, 9vw, 116px);
	padding: clamp(28px, 5vw, 58px);
	border-radius: 18px;
	background: var(--editorial-ink);
	color: #fff;
}

.g7-testing-commitment span,
.g7-process-grid article > span {
	font: 500 11px/1.3 "DM Mono", monospace;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--editorial-mint);
}

.g7-testing-commitment strong {
	font: 600 clamp(27px, 4vw, 48px)/1.18 "Manrope", sans-serif;
	letter-spacing: -.045em;
	color: #fff !important;
}

.g7-process-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-top: 38px;
	background: rgba(7, 25, 21, .14);
	border: 1px solid rgba(7, 25, 21, .14);
	border-radius: 16px;
	overflow: hidden;
}

.g7-process-grid article {
	min-height: 310px;
	padding: clamp(26px, 4vw, 42px);
	background: rgba(255, 255, 255, .68);
}

.g7-process-grid article h3 { margin-top: 72px; font-size: 28px; }
.g7-process-grid article p { font-size: 16px; line-height: 1.65; }

.g7-editorial--lab-testing .compare {
	margin-top: 38px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: 14px;
}

.g7-editorial--lab-testing .compare-table { min-width: 760px; margin: 0; }
.g7-editorial--lab-testing .faq { max-width: none; margin-top: 34px; }

.g7-editorial--resources .resource-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 0;
}

.g7-editorial--resources .g7-callout {
	position: relative;
	min-height: 360px;
	padding: 34px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	overflow: hidden;
	transition: transform .25s ease, border-color .25s ease;
}

.g7-editorial--resources .g7-callout::before {
	content: "";
	width: 46px;
	height: 3px;
	margin-bottom: auto;
	background: var(--editorial-ink);
	transition: width .25s ease;
}

.g7-editorial--resources .g7-callout:hover { transform: translateY(-6px); border-color: rgba(7, 25, 21, .32); }
.g7-editorial--resources .g7-callout:hover::before { width: 86px; }
.g7-editorial--resources .g7-callout h2,
.g7-editorial--resources .g7-callout h3 { margin: 42px 0 16px; font-size: 31px; }
.g7-editorial--resources .g7-callout p { font-size: 16px; }
.g7-editorial--resources .g7-callout .btn,
.g7-editorial--resources .g7-callout .button { width: 100%; margin-top: auto; }

.g7-editorial--faq .faq { max-width: none; gap: 0; border-top: 1px solid rgba(7, 25, 21, .16); }
.g7-editorial--faq .faq-item { border: 0; border-bottom: 1px solid rgba(7, 25, 21, .16); border-radius: 0; background: transparent; box-shadow: none; }
.g7-editorial--faq .faq-item[open] { border-color: rgba(7, 25, 21, .3); box-shadow: none; }
.g7-editorial--faq .faq-item summary { padding: 30px 2px; font-size: clamp(20px, 2.2vw, 28px); }
.g7-editorial--faq .faq-a { max-width: 780px; padding: 0 64px 32px 2px; font-size: 17px; }

.g7-editorial--contact .g7-content,
.g7-editorial--assessment .g7-content {
	display: grid;
	grid-template-columns: minmax(250px, .72fr) minmax(520px, 1.28fr);
	gap: clamp(54px, 8vw, 110px);
	align-items: start;
}

.g7-editorial--contact .g7-content > p,
.g7-editorial--assessment .g7-content > p { grid-column: 1; }
.g7-editorial--contact .g7-content > p:first-child,
.g7-editorial--assessment .g7-content > p:first-child { font-size: clamp(22px, 2.4vw, 30px); margin-bottom: 12px; }
.g7-editorial--contact .wpcf7,
.g7-editorial--assessment .wpcf7 { grid-column: 2; grid-row: 1 / span 8; }

.g7-editorial .wpcf7-form {
	margin: 0;
	padding: clamp(28px, 4vw, 52px);
	border: 1px solid rgba(7, 25, 21, .13);
	border-radius: 18px;
	background: rgba(255, 255, 255, .72);
}

.g7-editorial .wpcf7-form label { font: 600 12px/1.2 "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }

.g7-editorial .wpcf7-form input:not([type="submit"]),
.g7-editorial .wpcf7-form textarea,
.g7-editorial .wpcf7-form select { border-color: rgba(7, 25, 21, .16); border-radius: 8px; background: #f7fbf9; }

.g7-editorial--privacy-policy .g7-editorial-hero,
.g7-editorial--terms .g7-editorial-hero,
.g7-editorial--refund-returns .g7-editorial-hero { min-height: 480px; }

.g7-editorial--privacy-policy .g7-editorial-body__inner,
.g7-editorial--terms .g7-editorial-body__inner,
.g7-editorial--refund-returns .g7-editorial-body__inner { max-width: 900px; }

.g7-editorial--privacy-policy .g7-content h2,
.g7-editorial--terms .g7-content h2,
.g7-editorial--refund-returns .g7-content h2 {
	padding-top: 38px;
	border-top: 1px solid rgba(7, 25, 21, .15);
	font-size: clamp(30px, 4vw, 48px);
}

.g7-editorial--wholesale-portal .g7-editorial-body__inner,
.g7-editorial--wholesale-thank-you .g7-editorial-body__inner { max-width: 900px; }

.g7-editorial--wholesale-thank-you .g7-content {
	padding: clamp(32px, 6vw, 72px);
	border: 1px solid rgba(7, 25, 21, .13);
	border-radius: 18px;
	background: rgba(255, 255, 255, .68);
	text-align: center;
}

.g7-editorial--wholesale-thank-you .g7-content > * { margin-inline: auto; }

@media (max-width: 900px) {
	.g7-testing-commitment { grid-template-columns: 1fr; }
	.g7-process-grid { grid-template-columns: 1fr; }
	.g7-process-grid article { min-height: 250px; }
	.g7-process-grid article h3 { margin-top: 44px; }
	.g7-editorial--resources .resource-grid { grid-template-columns: 1fr; }
	.g7-editorial--resources .g7-callout { min-height: 300px; }
	.g7-editorial--contact .g7-content,
	.g7-editorial--assessment .g7-content { display: block; }
	.g7-editorial--contact .wpcf7,
	.g7-editorial--assessment .wpcf7 { margin-top: 42px; }
}

@media (max-width: 640px) {
	.g7-editorial-hero { min-height: 460px; }
	.g7-editorial-hero__inner,
	.g7-editorial-body__inner { width: min(100% - 36px, 1320px); }
	.g7-editorial-hero__inner { padding-block: 70px; }
	.g7-editorial-kicker { gap: 12px; margin-bottom: 32px; font-size: 10px; letter-spacing: .16em; }
	.g7-editorial-kicker span { width: 34px; }
	.g7-editorial-title { font-size: clamp(48px, 16vw, 72px); line-height: .94; }
	.g7-editorial--contact .g7-editorial-title { font-size: clamp(44px, 14vw, 56px); }
	.g7-editorial-title em { font-size: .92em; line-height: .96; }
	.g7-editorial-index { right: 0; bottom: 34px; font-size: 10px; }
	.g7-editorial-hero__mark { right: -18px; font-size: 270px; }
	.g7-editorial-hero::after { right: -190px; width: 470px; }
	.g7-editorial-body { padding-block: 72px; }
	.g7-editorial .g7-content { font-size: 16px; line-height: 1.68; }
	.g7-editorial .g7-content > p:first-child { margin-bottom: 54px; font-size: 22px; }
	.g7-editorial .g7-content h2 { margin-top: 64px; font-size: 38px; }
	.g7-editorial--resources .g7-callout { min-height: 280px; padding: 26px; }
	.g7-editorial--faq .faq-item summary { padding-block: 24px; font-size: 19px; }
	.g7-editorial--faq .faq-a { padding: 0 36px 26px 0; font-size: 15px; }
	.g7-editorial .wpcf7-form { padding: 24px 18px; }
	.g7-editorial--lab-testing .compare-table { min-width: 0; }
	.g7-editorial--lab-testing .compare-table thead { display: none; }
	.g7-editorial--lab-testing .compare-table,
	.g7-editorial--lab-testing .compare-table tbody,
	.g7-editorial--lab-testing .compare-table tr,
	.g7-editorial--lab-testing .compare-table td { display: block; width: 100%; }
	.g7-editorial--lab-testing .compare-table tr { padding: 22px; border-bottom: 1px solid rgba(7, 25, 21, .14); }
	.g7-editorial--lab-testing .compare-table tr:last-child { border-bottom: 0; }
	.g7-editorial--lab-testing .compare-table td { padding: 5px 0; border: 0; }
	.g7-editorial--lab-testing .compare-table .col-feature { margin-bottom: 8px; font-weight: 700; color: var(--editorial-ink); }
	.g7-editorial--lab-testing .compare-table .col-us::before { content: "G7 — "; font-family: "DM Mono", monospace; font-size: 11px; letter-spacing: .08em; }
	.g7-editorial--lab-testing .compare-table .col-them::before { content: "Others — "; font-family: "DM Mono", monospace; font-size: 11px; letter-spacing: .08em; }
}

@media (prefers-reduced-motion: reduce) {
	.g7-editorial *, .g7-editorial *::before, .g7-editorial *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
