/* ═══════════════════════════════════════════════════════════════════════
   legal.css — Shared styles for the policy pages
   (/terms, /privacy, /cookies, /accessibility).

   Mirrors the blog-detail visual language (red glow hero, details-summary
   TOC, white article card with red-accented prose) so a legal page reads
   like an editorial article. No `:root` redeclarations and no max-width
   on the page wrapper — the body spans the full screen with the standard
   28px gutter, same as the blog & business directory.

   Block: .gg-leg  (Legal)
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Body / page wrapper ─────────────────────────────────────────────── */
.gg-leg-body{ background: var(--gg-off-white, #FAFAFA); }
.gg-leg-body::before{
	content: "";
	position: fixed; inset: 0;
	background:
		radial-gradient(1100px 460px at 8% -8%, rgba(237,41,56,.06), transparent 70%),
		radial-gradient(900px 420px at 110% 12%, rgba(237,41,56,.04), transparent 75%);
	pointer-events: none; z-index: 0;
}
.gg-leg{
	width: 100%;
	padding: 24px 28px 32px;
	position: relative; z-index: 1;
}
@media (max-width: 700px){ .gg-leg{ padding: 14px 14px 56px; } }

/* ── Reading progress (fixed bar at the very top, like blog-detail) ──── */
.gg-leg__progress{
	position: fixed; top: 0; left: 0; right: 0;
	height: 3px;
	background: transparent;
	z-index: calc(var(--gg-z-sticky, 200) + 5);
	pointer-events: none;
}
.gg-leg__progress-bar{
	display: block; height: 100%; width: 0;
	background: linear-gradient(90deg, var(--gg-red, #ED2938), var(--gg-red-deep, #B91C28));
	box-shadow: 0 1px 8px rgba(237,41,56,.45);
	transition: width 80ms linear;
}

/* ── Shared atoms ────────────────────────────────────────────────────── */
.gg-leg__eyebrow{
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-2xs, 11px);
	font-weight: 700;
	color: var(--gg-red-deep, #B91C28);
	letter-spacing: .14em; text-transform: uppercase;
}
.gg-leg__eyebrow::before{
	content: ""; width: 22px; height: 2px;
	background: var(--gg-red, #ED2938); border-radius: 2px;
}
.gg-leg__eyebrow i{ font-size: 13px; color: var(--gg-red, #ED2938); }
.gg-leg__eyebrow--light{ color: rgba(255,255,255,.78); }
.gg-leg__eyebrow--light::before{ background: rgba(255,255,255,.55); }

.gg-leg__btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 20px;
	border-radius: 12px;
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-xs, 12px);
	font-weight: 700;
	letter-spacing: .04em;
	white-space: nowrap;
	transition: all 200ms ease;
	cursor: pointer;
	border: 1.5px solid transparent;
}
.gg-leg__btn i{ transition: transform 200ms ease; }
.gg-leg__btn--white{
	background: var(--gg-white, #fff);
	color: var(--gg-red-deep, #B91C28);
	box-shadow: 0 10px 26px -10px rgba(0,0,0,.4);
}
.gg-leg__btn--white:hover{ transform: translateY(-1px); }
.gg-leg__btn--white:hover i{ transform: translateX(2px); }

/* ── Breadcrumb ──────────────────────────────────────────────────────── */
.gg-leg__crumbs{ margin-bottom: clamp(14px, 2vw, 20px); }
.gg-leg__crumbs-list{
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-xs, 12px);
	font-weight: 600;
	color: var(--gg-gray-500, #6B7280);
}
.gg-leg__crumbs-list li{ display: inline-flex; align-items: center; gap: 8px; }
.gg-leg__crumbs-list li:not(:last-child)::after{ content: "/"; color: var(--gg-gray-300, #D1D5DB); font-weight: 500; }
.gg-leg__crumbs-list a{ color: var(--gg-gray-500, #6B7280); transition: color 180ms ease; }
.gg-leg__crumbs-list a:hover{ color: var(--gg-red-deep, #B91C28); }
.gg-leg__crumbs-list span[aria-current]{ color: var(--gg-gray-800, #1F2937); }

/* ── Hero (blog-detail style: red glow, eyebrow, big title, dek, meta) ─ */
.gg-leg__hero{
	position: relative;
	overflow: hidden;
	margin-bottom: clamp(20px, 2.4vw, 32px);
	padding: clamp(22px, 2.8vw, 36px) clamp(20px, 2.8vw, 36px);
	background:
		radial-gradient(ellipse at top left, rgba(237,41,56,.08) 0%, transparent 55%),
		radial-gradient(ellipse at bottom right, rgba(237,41,56,.05) 0%, transparent 55%),
		var(--gg-white, #fff);
	border-radius: var(--gg-r-xl, 16px);
	box-shadow: 0 1px 2px rgba(237,41,56,.04), 0 12px 32px rgba(237,41,56,.08);
}
.gg-leg__hero-glow{
	position: absolute; top: -80px; right: -80px;
	width: 320px; height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(237,41,56,.22) 0%, transparent 60%);
	filter: blur(36px);
	pointer-events: none;
}
.gg-leg__hero-inner{
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(20px, 3vw, 36px);
	align-items: center;
}
.gg-leg__hero-text{ min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.gg-leg__hero-title{
	font-family: var(--gg-font-head);
	font-size: clamp(var(--gg-text-2xl, 28px), 3.4vw, var(--gg-text-4xl, 44px));
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.025em;
	color: var(--gg-black, #0A0A0A);
	margin: 4px 0 0;
}
.gg-leg__hero-accent{ color: var(--gg-red, #ED2938); }
.gg-leg__hero-dek{
	font-family: var(--gg-font-body);
	font-size: clamp(var(--gg-text-base, 15px), 1vw, var(--gg-text-lg, 17px));
	color: var(--gg-gray-600, #4B5563);
	line-height: 1.55;
	margin: 0;
	max-width: 68ch;                  /* readability cap on the dek text only */
}
.gg-leg__hero-mark{
	width: clamp(72px, 8vw, 104px);
	height: clamp(72px, 8vw, 104px);
	border-radius: 22px;
	display: grid; place-items: center;
	background: linear-gradient(135deg, var(--gg-red, #ED2938), var(--gg-red-deep, #B91C28));
	color: #fff;
	font-size: clamp(32px, 4vw, 44px);
	box-shadow: 0 18px 36px -14px rgba(237,41,56,.5), inset 0 1px 0 rgba(255,255,255,.18);
}

/* Meta strip under the hero text (dashed-top, icon chip + num/label like blog) */
.gg-leg__hero-meta{
	list-style: none; padding: 14px 0 0; margin: 6px 0 0;
	border-top: 1px dashed var(--gg-gray-200, #E5E7EB);
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px;
}
.gg-leg__hero-meta-item{
	display: inline-flex; align-items: center; gap: 10px;
	transition: transform 240ms ease;
}
.gg-leg__hero-meta-item:hover{ transform: translateY(-1px); }
.gg-leg__hero-meta-ico{
	flex-shrink: 0;
	display: inline-grid; place-items: center;
	width: 34px; height: 34px;
	border-radius: 10px;
	background: var(--gg-red-light, #FFF1F2);
	color: var(--gg-red, #ED2938);
	font-size: 15px;
	transition: all 280ms cubic-bezier(.22,1,.36,1);
}
.gg-leg__hero-meta-item:hover .gg-leg__hero-meta-ico{
	background: linear-gradient(135deg, var(--gg-red, #ED2938), var(--gg-red-deep, #B91C28));
	color: #fff; transform: rotate(-4deg) scale(1.05);
}
.gg-leg__hero-meta-body{ display: inline-flex; flex-direction: column; line-height: 1.05; }
.gg-leg__hero-meta-num{
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-md, 15px);
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--gg-black, #0A0A0A);
}
.gg-leg__hero-meta-label{
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-2xs, 11px);
	font-weight: 600;
	letter-spacing: .04em; text-transform: uppercase;
	color: var(--gg-gray-500, #6B7280);
}

@media (max-width: 720px){
	.gg-leg__hero-inner{ grid-template-columns: 1fr; }
	.gg-leg__hero-mark{ order: -1; width: 64px; height: 64px; border-radius: 16px; font-size: 28px; }
}

/* ── Two-column body: sticky TOC + article ───────────────────────────── */
.gg-leg__body{
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	gap: clamp(20px, 3vw, 36px);
	align-items: start;
}
@media (max-width: 900px){
	.gg-leg__body{ grid-template-columns: 1fr; gap: 16px; }
}

/* ── TOC (details/summary, mirrors blog-detail) ──────────────────────── */
.gg-leg__toc{ position: sticky; top: 90px; }
@media (max-width: 900px){ .gg-leg__toc{ position: static; } }
.gg-leg__toc-inner{
	padding: clamp(14px, 1.8vw, 20px) clamp(16px, 2vw, 22px);
	background: linear-gradient(135deg, var(--gg-white, #fff), var(--gg-gray-50, #F9FAFB));
	border: 1px solid var(--gg-gray-200, #E5E7EB);
	border-radius: var(--gg-r-xl, 16px);
	box-shadow: 0 1px 2px rgba(0,0,0,.03);
	max-height: calc(100vh - 110px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--gg-gray-300, #D1D5DB) transparent;
}
.gg-leg__toc-inner::-webkit-scrollbar{ width: 6px; }
.gg-leg__toc-inner::-webkit-scrollbar-thumb{ background: var(--gg-gray-300, #D1D5DB); border-radius: 999px; }
.gg-leg__toc-head{
	display: flex; align-items: baseline; gap: 8px;
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px dashed var(--gg-gray-200, #E5E7EB);
}
.gg-leg__toc-eyebrow{
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-2xs, 11px);
	font-weight: 700; color: var(--gg-red, #ED2938);
	letter-spacing: .14em; text-transform: uppercase;
}
.gg-leg__toc-title{
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-md, 16px);
	font-weight: 700; color: var(--gg-black, #0A0A0A);
}
.gg-leg__toc-list{
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 2px;
}
.gg-leg__toc-link{
	display: flex; align-items: center; gap: 10px;
	padding: 9px 10px;
	border-radius: 10px;
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-sm, 13px);
	font-weight: 600;
	color: var(--gg-gray-600, #4B5563);
	transition: background 180ms ease, color 180ms ease;
}
.gg-leg__toc-num{
	flex-shrink: 0;
	font-family: var(--gg-font-head);
	font-size: 10px; font-weight: 800;
	color: var(--gg-gray-400, #9CA3AF);
	letter-spacing: .05em;
}
.gg-leg__toc-text{ min-width: 0; flex: 1; }
.gg-leg__toc-link:hover{
	background: var(--gg-gray-50, #F9FAFB);
	color: var(--gg-black, #0A0A0A);
}
.gg-leg__toc-link.is-active{
	background: linear-gradient(135deg, var(--gg-red, #ED2938), var(--gg-red-deep, #B91C28));
	color: #fff;
	box-shadow: 0 6px 14px -6px rgba(237,41,56,.45);
}
.gg-leg__toc-link.is-active .gg-leg__toc-num{ color: rgba(255,255,255,.75); }

/* ── Article ──────────────────────────────────────────────────────────
   The article body is DB content rendered as raw HTML — editors output
   bare elements (h2, h3, h4, p, ul, ol, table, blockquote, img …) with
   NO classes, exactly like blog-detail. Every bare element is styled
   here via the wrapper selector. Class-based blocks deliberately do NOT
   exist; if a writer wants a callout, the WYSIWYG should still emit a
   bare element we already style.
   ─────────────────────────────────────────────────────────────────── */
.gg-leg__article{
	background: var(--gg-white, #fff);
	border-radius: var(--gg-r-xl, 16px);
	padding: clamp(24px, 3vw, 44px);
	box-shadow: 0 1px 2px rgba(237,41,56,.04), 0 4px 16px rgba(237,41,56,.05);
	font-family: var(--gg-font-body);
	color: var(--gg-gray-800, #1F2937);
	line-height: 1.75;
	font-size: clamp(var(--gg-text-base, 15px), 1.05vw, 1.0625rem);
}

/* Headings — H2 gets a red bar marker (mirrors .gg-blgd__article h2). */
.gg-leg__article h2{
	font-family: var(--gg-font-head);
	font-size: clamp(1.375rem, 2vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	color: var(--gg-black, #0A0A0A);
	margin: clamp(28px, 3vw, 36px) 0 14px;
	position: relative;
	padding-left: 18px;
	scroll-margin-top: 110px;        /* sticky-header offset for TOC jumps */
}
.gg-leg__article h2:first-child{ margin-top: 0; }
.gg-leg__article h2::before{
	content: "";
	position: absolute;
	left: 0; top: .35em;
	width: 4px; height: .8em;
	background: linear-gradient(180deg, var(--gg-red, #ED2938), var(--gg-red-deep, #B91C28));
	border-radius: 4px;
}
.gg-leg__article h3{
	font-family: var(--gg-font-head);
	font-size: clamp(1.125rem, 1.4vw, 1.25rem);
	font-weight: 700;
	color: var(--gg-black, #0A0A0A);
	letter-spacing: -.01em;
	line-height: 1.3;
	margin: 28px 0 10px;
	scroll-margin-top: 110px;
}
.gg-leg__article h4{
	font-family: var(--gg-font-head);
	font-size: clamp(1rem, 1.2vw, 1.125rem);
	font-weight: 700;
	color: var(--gg-black, #0A0A0A);
	margin: 22px 0 8px;
	scroll-margin-top: 110px;
}
.gg-leg__article h5{
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-md, 1rem);
	font-weight: 700;
	color: var(--gg-gray-800, #1F2937);
	letter-spacing: .02em;
	margin: 20px 0 6px;
}
.gg-leg__article h6{
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-sm, .875rem);
	font-weight: 700;
	color: var(--gg-red-deep, #B91C28);
	letter-spacing: .12em;
	text-transform: uppercase;
	margin: 18px 0 6px;
}

/* Paragraphs */
.gg-leg__article p{ color: var(--gg-gray-700, #374151); margin: 0 0 16px; }
.gg-leg__article p:last-child{ margin-bottom: 0; }

/* Inline elements */
.gg-leg__article a{
	color: var(--gg-red, #ED2938);
	border-bottom: 1px solid rgba(237,41,56,.25);
	font-weight: 600;
	transition: color 200ms ease, border-color 200ms ease;
}
.gg-leg__article a:hover{ color: var(--gg-red-deep, #B91C28); border-bottom-color: currentColor; }
.gg-leg__article strong, .gg-leg__article b{ color: var(--gg-black, #0A0A0A); font-weight: 700; }
.gg-leg__article em, .gg-leg__article i{ font-style: italic; }
.gg-leg__article mark{ background: linear-gradient(180deg, transparent 60%, rgba(237,41,56,.22) 60%); color: inherit; padding: 0 2px; }
.gg-leg__article small{ font-size: .85em; color: var(--gg-gray-500, #6B7280); }
.gg-leg__article del{ color: var(--gg-gray-400, #9CA3AF); }
.gg-leg__article code{
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .9em;
	padding: 2px 6px;
	border-radius: 6px;
	background: var(--gg-gray-100, #F3F4F6);
	color: var(--gg-red-deep, #B91C28);
}
.gg-leg__article pre{
	margin: 18px 0;
	padding: 14px 16px;
	background: var(--gg-gray-50, #F9FAFB);
	border: 1px solid var(--gg-gray-200, #E5E7EB);
	border-radius: 10px;
	overflow-x: auto;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .9em;
}
.gg-leg__article pre code{ background: transparent; padding: 0; color: inherit; }

/* Lists */
.gg-leg__article ul,
.gg-leg__article ol{
	margin: 12px 0 18px;
	padding-left: 24px;
	color: var(--gg-gray-700, #374151);
}
.gg-leg__article ul > li,
.gg-leg__article ol > li{
	margin: 6px 0;
	padding-left: 4px;
	line-height: 1.7;
}
.gg-leg__article ul > li::marker{ color: var(--gg-red, #ED2938); font-size: 1.05em; }
.gg-leg__article ol > li::marker{ color: var(--gg-red, #ED2938); font-weight: 700; }
.gg-leg__article ul ul,
.gg-leg__article ol ol,
.gg-leg__article ul ol,
.gg-leg__article ol ul{ margin: 6px 0; }

/* Blockquote */
.gg-leg__article blockquote{
	margin: 22px 0;
	padding: 14px 20px;
	border-left: 3px solid var(--gg-red, #ED2938);
	background: var(--gg-gray-50, #F9FAFB);
	border-radius: 0 var(--gg-r-md, 8px) var(--gg-r-md, 8px) 0;
	color: var(--gg-gray-700, #374151);
	font-style: italic;
	font-size: 1.0625em;
	line-height: 1.6;
}
.gg-leg__article blockquote p{ margin: 0; }

/* Tables — scrollable on small screens via the wrapper */
.gg-leg__article table{
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0 22px;
	font-size: var(--gg-text-sm, 14px);
	display: block;
	overflow-x: auto;
}
.gg-leg__article thead{ background: var(--gg-gray-50, #F9FAFB); }
.gg-leg__article th,
.gg-leg__article td{
	text-align: left;
	padding: 10px 14px;
	border-bottom: 1px solid var(--gg-gray-200, #E5E7EB);
	vertical-align: top;
}
.gg-leg__article th{
	font-family: var(--gg-font-head);
	font-weight: 700;
	color: var(--gg-black, #0A0A0A);
	letter-spacing: -.01em;
}
.gg-leg__article tr:last-child td{ border-bottom: 0; }

/* Images / figures */
.gg-leg__article img{
	max-width: 100%;
	height: auto;
	border-radius: 12px;
	margin: 16px 0;
}
.gg-leg__article figure{ margin: 18px 0; }
.gg-leg__article figcaption{
	margin-top: 6px;
	font-size: var(--gg-text-sm, 13px);
	color: var(--gg-gray-500, #6B7280);
	font-style: italic;
}

/* Horizontal rule */
.gg-leg__article hr{
	margin: 28px 0;
	border: 0;
	border-top: 1px dashed var(--gg-gray-200, #E5E7EB);
}

/* Acknowledgement card (end of article) */
.gg-leg__ack{
	margin-top: clamp(28px, 3.5vw, 44px);
	padding: 14px 18px;
	border-radius: 12px;
	background: var(--gg-gray-50, #F9FAFB);
	border: 1px dashed var(--gg-gray-200, #E5E7EB);
	font-family: var(--gg-font-body);
	font-size: var(--gg-text-sm, 13px);
	color: var(--gg-gray-600, #4B5563);
}
.gg-leg__ack strong{ color: var(--gg-black, #0A0A0A); font-weight: 700; }

/* ── Related legal docs (cross-link grid below the article) ──────────── */
.gg-leg__related{
	margin-top: clamp(28px, 3vw, 40px);
}
.gg-leg__related-head{
	display: flex; align-items: baseline; justify-content: space-between;
	margin-bottom: 14px; gap: 16px; flex-wrap: wrap;
}
.gg-leg__related-title{
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-lg, 18px);
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--gg-black, #0A0A0A);
	margin: 4px 0 0;
}
.gg-leg__related-grid{
	list-style: none; padding: 0; margin: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
@media (max-width: 1100px){ .gg-leg__related-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px){  .gg-leg__related-grid{ grid-template-columns: 1fr; } }
.gg-leg__related-card{
	position: relative;
	display: flex; flex-direction: column; gap: 10px;
	padding: 18px;
	background: var(--gg-white, #fff);
	border: 1px solid var(--gg-gray-200, #E5E7EB);
	border-radius: 14px;
	color: inherit;
	box-shadow: 0 1px 2px rgba(15,23,42,.04);
	transition: transform 320ms cubic-bezier(.16,1,.3,1), box-shadow 320ms ease, border-color 320ms ease;
}
.gg-leg__related-card::after{
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
	background: linear-gradient(90deg, var(--gg-red, #ED2938), var(--gg-red-deep, #B91C28));
	transform: scaleX(0); transform-origin: left;
	transition: transform 380ms cubic-bezier(.16,1,.3,1);
	border-radius: 0 0 14px 14px;
}
.gg-leg__related-card:hover{
	transform: translateY(-4px);
	border-color: var(--gg-red-subtle, rgba(237,41,56,.32));
	box-shadow: 0 1px 2px rgba(237,41,56,.06), 0 18px 36px -16px rgba(237,41,56,.22);
}
.gg-leg__related-card:hover::after{ transform: scaleX(1); }
.gg-leg__related-card.is-current{
	background: linear-gradient(135deg, rgba(237,41,56,.05), rgba(237,41,56,.01));
	border-color: var(--gg-red-subtle, rgba(237,41,56,.32));
	pointer-events: none;
}
.gg-leg__related-ico{
	width: 36px; height: 36px;
	display: grid; place-items: center;
	border-radius: 10px;
	background: var(--gg-red-light, #FFF1F2);
	color: var(--gg-red, #ED2938);
	font-size: 16px;
}
.gg-leg__related-card:hover .gg-leg__related-ico{
	background: linear-gradient(135deg, var(--gg-red, #ED2938), var(--gg-red-deep, #B91C28));
	color: #fff;
}
.gg-leg__related-name{
	font-family: var(--gg-font-head);
	font-size: var(--gg-text-md, 15px);
	font-weight: 800;
	color: var(--gg-black, #0A0A0A);
	letter-spacing: -.01em;
}
.gg-leg__related-short{
	font-family: var(--gg-font-body);
	font-size: var(--gg-text-sm, 13px);
	color: var(--gg-gray-500, #6B7280);
}
.gg-leg__related-cta{
	margin-top: auto;
	display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--gg-font-head);
	font-size: 11px; font-weight: 800;
	letter-spacing: .04em; text-transform: uppercase;
	color: var(--gg-gray-700, #374151);
	transition: color 220ms ease, gap 220ms ease;
}
.gg-leg__related-card:hover .gg-leg__related-cta{ color: var(--gg-red-deep, #B91C28); gap: 10px; }
.gg-leg__related-cta i{ font-size: 13px; }
.gg-leg__related-card.is-current .gg-leg__related-cta{ color: var(--gg-red-deep, #B91C28); }

/* ── Bottom CTA ──────────────────────────────────────────────────────── */
.gg-leg__cta{
	position: relative;
	overflow: hidden;
	margin-top: clamp(32px, 4vw, 56px);
	border-radius: var(--gg-r-xl, 16px);
	background: linear-gradient(135deg, var(--gg-black, #0A0A0A), var(--gg-black-soft, #141414));
}
.gg-leg__cta-glow{
	position: absolute; inset: 0;
	background:
		radial-gradient(600px 300px at 12% 120%, rgba(237,41,56,.4), transparent 70%),
		radial-gradient(500px 260px at 95% -20%, rgba(237,41,56,.28), transparent 70%);
	pointer-events: none;
}
.gg-leg__cta-inner{
	position: relative;
	display: flex; align-items: center; justify-content: space-between;
	gap: clamp(20px, 4vw, 48px); flex-wrap: wrap;
	padding: clamp(28px, 4vw, 48px) clamp(22px, 4vw, 56px);
}
.gg-leg__cta-title{
	font-family: var(--gg-font-head);
	font-size: clamp(var(--gg-text-xl, 22px), 3vw, var(--gg-text-3xl, 32px));
	font-weight: 800;
	letter-spacing: -.02em;
	color: #fff;
	margin: 0 0 8px;
	line-height: 1.15;
}
.gg-leg__cta-sub{
	font-family: var(--gg-font-body);
	font-size: var(--gg-text-base, 15px);
	color: rgba(255,255,255,.72);
	margin: 0;
	max-width: 520px;
}
.gg-leg__cta-actions{ flex-shrink: 0; }

@media (max-width: 640px){
	.gg-leg__cta-actions{ width: 100%; }
	.gg-leg__cta-actions .gg-leg__btn{ width: 100%; }
}

/* ── Reduced motion ──────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
	.gg-leg__hero-meta-item,
	.gg-leg__hero-meta-ico,
	.gg-leg__sec-anchor,
	.gg-leg__related-card,
	.gg-leg__progress-bar{ transition: none !important; animation: none !important; }
}
