/* =============================================================================
   Analyzine — child theme styles (D58: classic Kadence child)
   Kadence owns global colours, typography, header, footer and layout (Customizer).
   This file holds: the self-hosted Geist font, the waitlist landing (scoped to
   .az-landing, explicit sizes so global typography cannot shift it), the Fluent
   Forms skin, the modal, and small header/footer polish the Customizer has no
   control for (glass blur, gradient button, footer layout).
   ============================================================================= */

@font-face {
	font-family: "Geist";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/geist-latin-wght-normal.woff2") format("woff2");
}

:root {
	--az-primary: #FF0055;
	--az-primary-dark: #CC0044;
	--az-primary-darker: #990033;
	--az-ink: #24000C;
	--az-body: #4F3A43;
	--az-muted: #735F68;
	--az-border: #F0E2E7;
	--az-tint: #FFF5F8;
	--az-error: #C2333A;
	--az-success: #167A55;
	--az-header-h: 72px;
	--az-gutter: 40px;
	--az-btn-gradient: linear-gradient(180deg, #FF0055 0%, #CC0044 55%, #CC0044 100%);
	--az-btn-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 8px 20px -6px rgba(204, 0, 68, .55);
	--az-btn-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, .35), 0 12px 26px -6px rgba(204, 0, 68, .6);
}

html { scroll-padding-top: calc(var(--az-header-h) + 24px); }

/* One clear keyboard-focus indicator everywhere (Kadence's header/footer otherwise fall back to the
   browser's 1px default). :focus-visible only — no ring on mouse click. The Customizer has no
   focus-style control, so this lives here. */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--az-primary);
	outline-offset: 3px;
}

/* --- Kadence header polish (colours/sizes/items live in the Customizer) ------------ */
#masthead .site-main-header-wrap .site-header-row-container-inner {
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(240, 226, 231, .8);
}
#masthead .site-branding .site-title { letter-spacing: -0.02em; }
#masthead .header-button,
#mobile-header .mobile-header-button-wrap .button {
	background: var(--az-btn-gradient);
	box-shadow: var(--az-btn-shadow);
	border: 0;
	font-weight: 600;
	transition: box-shadow .15s ease, transform .15s ease;
}
#masthead .header-button:hover,
#mobile-header .mobile-header-button-wrap .button:hover {
	background: var(--az-btn-gradient);
	box-shadow: var(--az-btn-shadow-hover);
	transform: translateY(-1px);
}

/* --- Kadence footer: the Footer HTML item (Customizer → Footer → HTML) --------------
   Stacked and centred: logo, tagline, legal menu, copyright (design canvas v66). */
.site-bottom-footer-wrap { border-top: 1px solid var(--az-border); }
.site-bottom-footer-wrap .site-footer-row-container-inner { padding-top: 48px; padding-bottom: 40px; }
.footer-html-inner > p:has(.az-footer) { margin: 0; width: 100%; }
.az-footer { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 100%; text-align: center; }
.az-footer__logo { display: inline-flex; border-radius: 8px; }
.az-footer__logo img { display: block; width: 160px; height: 32px; }
.az-footer__tag { font-size: 14px; line-height: 1.5; color: var(--az-muted); }
/* Two link rows in one footer navigation: Compliance pages, then legal pages. */
.az-footer__nav { display: flex; flex-direction: column; align-items: center; font-size: 14px; }
.az-footer__row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; column-gap: 24px; }
.az-footer__nav a, .az-footer__copy a { color: var(--az-body); text-decoration: underline; text-underline-offset: 3px; }
.az-footer__nav a { display: inline-flex; align-items: center; min-height: 44px; }
.az-footer__nav a:hover, .az-footer__copy a:hover { color: var(--az-ink); }
.az-footer__copy { font-size: 13px; line-height: 1.5; color: var(--az-muted); }

/* --- Legal section (/legal/ and its pages) -------------------------------------------
   Kadence left sidebar (Sidebar 2) holding the "Legal" Navigation Menu widget. The body class
   az-legal, the layout and the sidebar are each page's Kadence settings (scripts/wp/section-nav.php).
   Desktop: sidebar left, sticky below the header. Phones/tablets: the links sit above the text. */
.az-legal .widget_nav_menu .widget-title { margin: 0 0 12px; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; color: var(--az-muted); }
.az-legal .widget_nav_menu ul { list-style: none; margin: 0; padding: 0; }
.az-legal .widget_nav_menu li { margin: 0; padding: 0; border: 0; }
.az-legal .widget_nav_menu a { display: flex; align-items: center; min-height: 40px; padding: 8px 12px; border-left: 2px solid var(--az-border); color: var(--az-body); font-size: 15px; line-height: 1.4; text-decoration: none; }
.az-legal .widget_nav_menu a:hover { color: var(--az-ink); border-left-color: var(--az-muted); }
.az-legal .widget_nav_menu .current-menu-item > a { border-left-color: var(--az-primary-dark); background: var(--az-tint); color: var(--az-ink); font-weight: 600; }
/* Overview pages: each page title is a link — underline it so it reads as one. */
.az-legal .entry-content :is(h2, h3) a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.az-legal .entry-content :is(h2, h3) a:hover { color: var(--az-primary-dark); }
@media (min-width: 1025px) {
	/* Sidebar lines up with the header logo; the text column takes the rest. */
	.az-legal .content-container { grid-template-columns: 260px minmax(0, 1fr); justify-content: start; }
	.az-legal.has-sticky-sidebar .sidebar-inner-wrap { top: calc(var(--az-header-h) + 24px); }
}
@media (max-width: 1024px) {
	.az-legal .content-container { display: flex; flex-direction: column; }
	/* Indent matches the text inside Kadence's boxed content: box padding 32px from 768px, 24px
	   below; the box runs full-bleed below 720px. Measured 360–1440px. */
	.az-legal #secondary { order: -1; margin: 0 0 24px; padding-inline: 32px; }
	.az-legal .widget_nav_menu ul { display: flex; flex-wrap: wrap; gap: 8px; }
	.az-legal .widget_nav_menu a { padding: 6px 14px; border: 1px solid var(--az-border); border-radius: 999px; font-size: 14px; }
	.az-legal .widget_nav_menu a:hover { border-color: var(--az-muted); }
	.az-legal .widget_nav_menu .current-menu-item > a { border-color: var(--az-primary-dark); background: var(--az-primary-dark); color: #fff; }
}
@media (max-width: 767px) {
	.az-legal #secondary { padding-inline: 24px; }
}
@media (max-width: 719px) {
	.az-legal #secondary { padding-inline: 8px; }
}

/* =============================================================================
   Waitlist landing — everything below is scoped to .az-landing (or the modal)
   ============================================================================= */
.az-landing {
	color: var(--az-body);
	font-family: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.az-landing *, dialog.az-dialog * { box-sizing: border-box; }
/* Kadence wraps Group content in .wp-block-group__inner-container unless its "Optimized Group
   Block" option is on. Make the wrapper layout-transparent so the flex/grid rules below apply to
   the real children either way — the Customizer setting stays the owner's choice. */
.az-landing .wp-block-group__inner-container { display: contents; }
/* Kadence's content styles give every Group block and form a bottom margin (--global-md-spacing).
   The design spaces sections with its own padding/margin-top, so drop those bottom margins here. */
.az-landing .wp-block-group.wp-block-group, .az-landing .wp-block-buttons, .az-landing form.frm-fluent-form { margin-bottom: 0; }
.az-landing :is(p, h1, h2, h3, ul, figure),
dialog.az-dialog :is(p, h2, h3, ul) { margin: 0; }
.az-landing :is(h1, h2, h3), dialog.az-dialog :is(h2, h3) { color: var(--az-ink); font-family: inherit; font-weight: 600; text-wrap: balance; }
.az-landing p { text-wrap: pretty; }
.az-landing .num { font-variant-numeric: tabular-nums; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.az-landing a:focus-visible, .az-landing button:focus-visible, .az-landing summary:focus-visible,
.az-landing select:focus-visible, .az-landing input:focus-visible, dialog.az-dialog :focus-visible {
	outline: 2px solid var(--az-primary);
	outline-offset: 3px;
}

/* Type scale (fluid between the design's mobile and desktop sizes) */
.az-landing .az-h1 { font-size: clamp(38px, 2.375rem + ((1vw - 3.2px) * 2.955), 64px); line-height: 1.08; letter-spacing: -0.04em; }
.az-landing .az-h2 { font-size: clamp(30px, 1.875rem + ((1vw - 3.2px) * 1.591), 44px); line-height: 1.12; letter-spacing: -0.035em; }
.az-landing .az-h3 { font-size: 18px; line-height: 1.35; letter-spacing: -0.01em; }
.az-landing .az-lede { font-size: clamp(16px, 1rem + ((1vw - 3.2px) * 0.227), 18px); line-height: 1.6; }

/* Layout */
.az-landing .az-wrap { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: var(--az-gutter); }
.az-landing .az-wrap--narrow { max-width: 880px; }

/* Buttons */
.az-landing .az-btn .wp-block-button__link,
.fluentform .ff-btn-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: var(--az-btn-gradient);
	color: #FFFFFF;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: var(--az-btn-shadow);
	transition: box-shadow .15s ease, transform .15s ease;
}
.az-landing .az-btn .wp-block-button__link:hover,
.fluentform .ff-btn-submit:hover {
	background: var(--az-btn-gradient);
	color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow: var(--az-btn-shadow-hover);
}
.az-landing .az-btn--lg .wp-block-button__link { min-height: 52px; padding: 0 28px; font-size: 16px; }

/* Hero — Kadence's transparent header (Kadence Settings on the page) sits over its top */
.az-landing .az-hero {
	padding-top: calc(var(--az-header-h) + 1px);
	background:
		radial-gradient(55% 45% at 12% 8%, #FFE5EE 0%, rgba(255, 229, 238, 0) 70%),
		radial-gradient(45% 40% at 88% 12%, #FFEDE6 0%, rgba(255, 237, 230, 0) 70%),
		radial-gradient(60% 40% at 50% 62%, #FFEEF3 0%, rgba(255, 238, 243, 0) 72%),
		linear-gradient(180deg, #FFF8FA 0%, #FFFFFF 100%);
}
.az-landing .az-hero__in { padding-top: 72px; padding-bottom: 96px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.az-landing .az-eyebrow { font-size: 13px; line-height: 1.4; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--az-primary-dark); }
.az-landing .az-h1 { margin-top: 20px; max-width: 900px; }
.az-landing .az-hero__lede { margin-top: 20px; max-width: 640px; }
.az-landing .az-hero__cta { margin-top: 32px; display: flex; justify-content: center; scroll-margin-top: 96px; }
.az-landing .az-hero__note { margin-top: 16px; max-width: 520px; font-size: 15px; line-height: 1.6; }

/* Shared surfaces (class names kept from the design) */
.az-landing .glass, dialog.az-dialog .glass {
	background: rgba(255, 255, 255, .74);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
	border: 1px solid rgba(240, 226, 231, .95);
	box-shadow: 0 1px 2px rgba(36, 0, 12, .04), 0 24px 56px -24px rgba(204, 0, 68, .34);
}
.az-landing .card {
	background: #FFFFFF;
	border: 1px solid var(--az-border);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(36, 0, 12, .04), 0 12px 32px -20px rgba(204, 0, 68, .30);
}
.az-landing .grid-auto { display: grid; gap: 20px; }

/* Sections */
.az-landing .az-sec { padding: 112px 0; }
.az-landing .az-sec--tint { background: var(--az-tint); }
.az-landing .az-sec--flush { padding-top: 0; }
.az-landing .az-sec--final { padding: 0 0 96px; }
.az-landing .az-sec__head { max-width: 640px; display: flex; flex-direction: column; gap: 14px; }

.az-landing .az-grid { display: grid; gap: 20px; }
.az-landing .az-grid--reports { margin-top: 48px; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); }
.az-landing .az-grid--why { margin-top: 48px; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); }
.az-landing .az-grid--get { margin-top: 40px; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.az-landing .az-grid--int { margin-top: 40px; gap: 12px; padding: 0; list-style: none; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); }

.az-landing .az-report { padding: 12px; display: flex; flex-direction: column; gap: 16px; }
.az-landing .az-card__cap { padding: 4px 8px 10px; display: flex; flex-direction: column; gap: 4px; }
.az-landing .az-card__cap p, .az-landing .az-why p, .az-landing .az-get p { font-size: 15px; }

.az-landing .az-why { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.az-landing .az-why__title { margin-top: 6px; min-height: 2.7em; }

.az-landing .az-works__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }
.az-landing .az-works__head .az-sec__head { max-width: 560px; }
.az-landing .az-stat { display: flex; align-items: baseline; gap: 10px; color: var(--az-body); }
.az-landing .az-stat__num { font-size: 56px; line-height: 1; font-weight: 600; letter-spacing: -0.04em; color: var(--az-primary-dark); }
.az-landing .az-stat__label { font-size: 18px; font-weight: 500; }
.az-landing .az-int { height: 76px; padding: 0 20px; display: flex; align-items: center; gap: 14px; box-shadow: none; font-size: 15px; font-weight: 500; color: var(--az-ink); }
.az-landing .az-int__logo { width: 36px; height: 36px; flex: none; border-radius: 10px; object-fit: contain; }
.az-landing .az-int--more { background: var(--az-tint); color: var(--az-body); }

.az-landing .az-panel { border-radius: 24px; border: 1px solid var(--az-border); }
.az-landing .az-panel--get {
	padding: 56px 48px;
	background:
		radial-gradient(60% 80% at 0% 0%, #FFE9F0 0%, rgba(255, 233, 240, 0) 70%),
		radial-gradient(50% 70% at 100% 100%, #FFEFE8 0%, rgba(255, 239, 232, 0) 70%),
		#FFF8FA;
}
.az-landing .az-get { border-radius: 12px; padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.az-landing .az-get .az-h3 { margin-top: 6px; font-size: 17px; }

/* FAQ */
.az-landing .az-faqs { margin-top: 32px; border-top: 1px solid var(--az-border); }
.az-landing .az-faq { border-bottom: 1px solid var(--az-border); margin: 0; }
.az-landing .az-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 68px;
	padding: 18px 6px;
	list-style: none;
	cursor: pointer;
	color: var(--az-ink);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	border-radius: 8px;
}
.az-landing .az-faq summary::-webkit-details-marker { display: none; }
.az-landing .az-faq summary::marker { content: ""; }
.az-landing .az-faq summary::after {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: var(--az-primary-dark);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s ease;
}
.az-landing .az-faq[open] summary::after { transform: rotate(180deg); }
.az-landing .az-faq summary:hover { color: var(--az-primary-dark); }
.az-landing .az-faq > p { padding: 0 6px 24px; max-width: 660px; }

/* Final CTA */
.az-landing .az-panel--final {
	padding: 72px 48px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	background:
		radial-gradient(55% 70% at 15% 0%, #FFE5EE 0%, rgba(255, 229, 238, 0) 70%),
		radial-gradient(50% 70% at 90% 100%, #FFEDE6 0%, rgba(255, 237, 230, 0) 70%),
		#FFF8FA;
}
.az-landing .az-final__title { max-width: 720px; }
.az-landing .az-final__lede { margin-top: 16px; max-width: 560px; }
.az-landing .az-wl { width: 100%; max-width: 640px; margin-top: 32px; display: flex; flex-direction: column; gap: 16px; padding: 24px; border-radius: 12px; text-align: left; }

.az-help { font-size: 13px; line-height: 1.5; color: var(--az-muted); text-align: center; }
.az-help a { color: var(--az-body); text-decoration: underline; text-underline-offset: 2px; }
.az-help a:hover { color: var(--az-ink); }

.az-perks { margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--az-border); }
.az-perks__title { font-size: 13px; color: var(--az-muted); }
.az-landing .az-perks ul, dialog.az-dialog .az-perks ul { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; line-height: 1.4; color: var(--az-body); }
.az-perks li { display: flex; align-items: center; gap: 6px; margin: 0; }

/* --- Fluent Forms, styled to the design ------------------------------------------ */
.fluentform .ff-el-group { margin-bottom: 16px; }
.fluentform .ff-el-input--label { margin-bottom: 6px; }
.fluentform .ff-el-input--label label { font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--az-ink); }
.fluentform .ff-el-is-required.asterisk-right label::after,
.fluentform .ff-el-is-required.asterisk-left label::before { content: none; }
.fluentform .az-optional .ff-el-input--label label::after { content: " (optional)"; font-weight: 400; color: var(--az-muted); }
.fluentform .ff-el-form-control {
	display: block;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #9A8790;
	border-radius: 8px;
	background-color: #FFFFFF;
	color: var(--az-ink);
	font: inherit;
	font-size: 16px;
	line-height: 1.2;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .15s ease;
}
.fluentform .ff-el-form-control::placeholder { color: var(--az-muted); opacity: 1; }
.fluentform .ff-el-form-control:hover { border-color: var(--az-muted); }
.fluentform .ff-el-form-control:focus { outline: none; border-color: var(--az-primary); box-shadow: none; }
.fluentform .ff-el-form-control:focus-visible { border-color: var(--az-primary); outline: 2px solid var(--az-primary); outline-offset: 2px; }
.fluentform select.ff-el-form-control {
	padding-right: 42px;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234F3A43' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 18px;
}
.fluentform .ff-el-is-error .ff-el-form-control,
.fluentform .ff-el-is-error .ff-el-form-control:hover { border-color: var(--az-error); }
.fluentform .ff-el-is-error .ff-el-form-control:focus-visible { border-color: var(--az-error); outline-color: var(--az-error); }
.fluentform .error.text-danger,
.fluentform .ff-el-is-error .text-danger {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-top: 6px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--az-error);
}
.ff-errors-in-stack {
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #FDF1F2;
	border: 1px solid #F1C9CC;
	color: #7E1E24;
	font-size: 14px;
	line-height: 1.45;
}
.ff-errors-in-stack:empty { display: none; }
.fluentform .ff_submit_btn_wrapper { margin: 4px 0 0; }
.fluentform .ff-btn-submit { width: 100%; min-height: 52px; padding: 0 28px; font-size: 16px; }
.fluentform .ff-btn-submit[disabled], .fluentform .ff_submitting .ff-btn-submit { cursor: progress; transform: none; opacity: .85; }
.ff-message-success {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 8px 4px;
	border: 0;
	background: none;
	box-shadow: none;
	text-align: center;
	color: var(--az-body);
}
.ff-message-success::before {
	content: "";
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: #E6F4EE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23167A55' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 24px no-repeat;
}
.ff-message-success h3 { margin: 0; font-size: 22px; line-height: 1.3; letter-spacing: -0.02em; font-weight: 600; color: var(--az-ink); }
.ff-message-success p { max-width: 380px; margin: 0; }
.az-wl:has(.ff-message-success) .az-help, .az-wl:has(.ff-message-success) .az-perks,
.az-modal:has(.ff-message-success) .az-help, .az-modal:has(.ff-message-success) .az-perks,
.az-modal:has(.ff-message-success) .az-modal__title, .az-modal:has(.ff-message-success) .az-modal__lede { display: none; }

/* --- Modal --------------------------------------------------------------------- */
.az-modal { display: none; }
dialog.az-dialog {
	width: calc(100% - 32px);
	max-width: 480px;
	margin: 120px auto 32px;
	padding: 32px 28px 24px;
	border: 1px solid var(--az-border);
	border-radius: 16px;
	background: #FFFFFF;
	color: var(--az-body);
	font-family: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	box-shadow: 0 1px 2px rgba(36, 0, 12, .06), 0 32px 80px -24px rgba(36, 0, 12, .45);
	overflow: visible;
}
dialog.az-dialog::backdrop { background: rgba(36, 0, 12, .42); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
dialog.az-dialog .az-modal { display: flex; flex-direction: column; gap: 16px; }
dialog.az-dialog .az-modal__title { font-size: 24px; line-height: 1.25; letter-spacing: -0.025em; padding-right: 40px; }
dialog.az-dialog .az-modal__lede { margin-top: -10px; font-size: 15px; }
.az-dialog__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--az-body);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: none;
}
.az-dialog__close:hover { background: var(--az-tint); color: var(--az-body); }

/* --- Feature pages: /compliance/… and /performance/ (D72) ---------------------------
   Same look and classes as the landing page (.az-landing); these are the extra pieces. Built by
   scripts/wp/compliance/build.py. */
.az-landing .az-hero__cta .wp-block-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.az-landing .az-btn--ghost .wp-block-button__link,
.az-landing .az-btn--ghost .wp-block-button__link:hover { background: #FFFFFF; color: var(--az-ink); border: 1px solid var(--az-border); box-shadow: none; }
.az-landing .az-btn--ghost .wp-block-button__link:hover { border-color: #E2C6D1; }
.az-landing .az-chips { margin: 32px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.az-landing .az-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .8); border: 1px solid var(--az-border); font-size: 14px; line-height: 1.4; font-weight: 500; color: var(--az-ink); }
.az-landing .az-chip svg { flex: none; }

/* Privacy laws row ([analyzine_privacy_nav], the "Compliance" menu) */
.az-lawnav { border-top: 1px solid var(--az-border); border-bottom: 1px solid var(--az-border); background: #FFFFFF; }
.az-lawnav__in { display: flex; align-items: center; justify-content: center; gap: 8px 12px; padding-block: 14px; }
.az-lawnav__label { flex: none; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--az-muted); }
.az-lawnav__list { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.az-lawnav__list li { margin: 0; }
.az-lawnav__list a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--az-border); color: var(--az-body); font-size: 14px; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.az-lawnav__list a:hover { border-color: #E2C6D1; color: var(--az-ink); }
.az-lawnav__list .current-menu-item > a { background: var(--az-primary-dark); border-color: var(--az-primary-dark); color: #FFFFFF; font-weight: 600; }

/* Section heads, split layout, key points */
.az-landing .az-sec__head--center { margin-inline: auto; text-align: center; align-items: center; }
.az-landing .az-sec__head .az-lede { margin: 0; }
.az-landing .az-h2--sm { font-size: clamp(24px, 1.5rem + ((1vw - 3.2px) * 0.6), 30px); line-height: 1.2; letter-spacing: -0.03em; }
.az-landing .az-split { display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(32px, 5vw, 72px); }
.az-landing .az-split--center { align-items: center; }
/* Kadence wraps group content in .wp-block-group__inner-container (display: contents here), so the
   columns are the wrapper's children. */
.az-landing .az-split > :not(.wp-block-group__inner-container),
.az-landing .az-split > .wp-block-group__inner-container > * { flex: 1 1 400px; min-width: 0; }
.az-landing .az-split__main { display: flex; flex-direction: column; gap: 14px; }
.az-landing .az-split__main p { margin: 0; }
.az-landing .az-keys { margin: 0; padding: 28px; }
.az-landing .az-keys__title { margin: 0 0 14px; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--az-primary-dark); }
.az-landing :is(.az-keys, .az-checks) ul, .az-landing ul.az-checks { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.az-landing :is(.az-keys, .az-checks) li { display: flex; gap: 12px; align-items: flex-start; }
.az-landing :is(.az-keys, .az-checks) li svg { flex: none; margin-top: 4px; }
.az-landing .az-checks strong { color: var(--az-ink); font-weight: 600; }
.az-feature .az-grid--why { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); } /* six cards: 3 × 2 */
.az-feature .az-grid--why .az-why__title { min-height: 0; }

/* Data-flow diagram */
.az-landing .az-flow { margin: 48px 0 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 16px; }
.az-landing .az-flow__step { flex: 1 1 0; min-width: 0; padding: 24px; background: #FFFFFF; border: 1px solid var(--az-border); border-radius: 16px; display: flex; flex-direction: column; gap: 8px; }
.az-landing .az-flow__step--end { border: 2px solid var(--az-primary-dark); }
.az-landing .az-flow__n { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--az-muted); }
.az-landing .az-flow__step--end .az-flow__n { color: var(--az-primary-dark); }
.az-landing .az-flow__t { font-size: 18px; line-height: 1.35; font-weight: 600; color: var(--az-ink); }
.az-landing .az-flow__d { font-size: 15px; }
.az-landing .az-flow__arrow { flex: none; display: flex; }
.az-landing .az-flow__note { margin: 24px auto 0; max-width: 760px; padding: 18px 22px; border: 1px dashed #D9B8C4; border-radius: 12px; display: flex; align-items: flex-start; gap: 14px; font-size: 15px; }
.az-landing .az-flow__note svg { flex: none; margin-top: 2px; }
.az-landing .az-flow__note strong { color: var(--az-ink); font-weight: 600; }

/* Settings illustration — drawn in the plugin's admin style (Analyzine design system) */
.az-landing .az-settings { margin: 0; }
.az-landing .az-settings__frame { padding: clamp(16px, 3vw, 32px); border-radius: 20px; background: #F5F7FA; border: 1px solid var(--az-border); font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.az-landing .az-settings__card { background: #FFFFFF; border-radius: 16px; box-shadow: 0 1px 2px rgba(10, 13, 20, .03), 0 24px 48px -28px rgba(14, 18, 27, .25); overflow: hidden; }
.az-landing .az-settings__head { padding: 16px 20px; border-bottom: 1px solid #E1E4EA; display: flex; align-items: center; gap: 10px; font-size: 16px; line-height: 24px; font-weight: 500; color: #0E121B; }
.az-landing .az-settings__ico { width: 32px; height: 32px; border-radius: 999px; background: rgba(71, 108, 255, .1); color: #335CFF; display: flex; align-items: center; justify-content: center; }
.az-landing .az-settings__row { margin: 0 20px; padding: 14px 0; border-bottom: 1px solid #E1E4EA; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: 14px; line-height: 20px; font-weight: 500; color: #0E121B; }
.az-landing .az-settings__row:last-child { border-bottom: 0; padding-bottom: 20px; }
.az-landing .az-seg { display: inline-flex; padding: 4px; gap: 4px; background: #F2F5F8; border-radius: 8px; }
.az-landing .az-seg span { padding: 4px 12px; border-radius: 6px; font-size: 13px; color: #525866; }
.az-landing .az-seg .is-on { background: #FFFFFF; color: #0E121B; box-shadow: 0 2px 4px rgba(14, 18, 27, .03), 0 6px 10px rgba(14, 18, 27, .06); }
.az-landing .az-select { display: inline-flex; align-items: center; gap: 24px; padding: 6px 10px 6px 12px; border: 1px solid #E1E4EA; border-radius: 8px; font-weight: 400; }
.az-landing .az-badge { padding: 2px 8px; border-radius: 6px; background: #E0FAEC; color: #0B4627; font-size: 12px; line-height: 16px; }
.az-landing .az-settings figcaption { margin-top: 12px; font-size: 13px; line-height: 1.5; color: var(--az-muted); text-align: center; }

/* Link cards (explore more, overview regions) and number tiles */
.az-landing .az-grid--more { margin: 24px 0 0; padding: 0; list-style: none; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.az-landing .az-grid--more li { margin: 0; display: flex; }
.az-landing .az-more { flex: 1; padding: 22px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; box-shadow: none; }
.az-landing .az-more:hover { border-color: #E2C6D1; }
.az-landing .az-more__t { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--az-ink); font-size: 17px; font-weight: 600; line-height: 1.35; }
.az-landing .az-more__t svg { flex: none; }
.az-landing .az-more__d { color: var(--az-body); font-size: 15px; line-height: 1.5; }
.az-landing .az-regions { margin-top: 40px; display: flex; flex-direction: column; gap: 40px; }
.az-landing .az-region__t { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--az-muted); }
.az-landing .az-region .az-grid--more { margin-top: 16px; }
.az-landing .az-sec--tiles { padding: 56px 0 clamp(56px, 7vw, 96px); }
.az-landing .az-tiles { margin: 0; padding: 0; list-style: none; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.az-landing .az-tile { padding: 24px; display: flex; flex-direction: column; gap: 6px; box-shadow: none; }
.az-landing .az-tile__n { font-size: 40px; line-height: 1.1; font-weight: 600; letter-spacing: -0.04em; color: var(--az-primary-dark); font-variant-numeric: tabular-nums; }
.az-landing .az-tile__l { font-size: 15px; color: var(--az-body); }
.az-landing .az-note { margin: 24px auto 0; max-width: 720px; font-size: 13px; line-height: 1.6; color: var(--az-muted); text-align: center; }
.az-landing .az-note a { color: var(--az-body); text-decoration: underline; text-underline-offset: 2px; }

/* --- Explained: hub (/explained/) and articles (D73) ------------------------------------
   Templates archive-explained.php and single-explained.php; same type, colours and cards as the
   landing page. Normal (not transparent) header. */
/* Kadence spaces .content-area for archives and posts; these templates start with their own band. */
body:is(.post-type-archive-explained, .single-explained) .content-area { margin-top: 0; margin-bottom: 0; }
.az-landing .az-xhero { background: radial-gradient(55% 60% at 12% 0%, #FFE5EE 0%, rgba(255, 229, 238, 0) 70%), radial-gradient(45% 50% at 88% 10%, #FFEDE6 0%, rgba(255, 237, 230, 0) 70%), linear-gradient(180deg, #FFF8FA 0%, #FFFFFF 100%); }
.az-landing .az-xhero__in { padding-top: 64px; padding-bottom: 48px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.az-landing .az-xhero__title { margin: 16px 0 0; max-width: 820px; }
.az-landing .az-xhero__lede { margin: 16px 0 0; max-width: 620px; }
.az-landing .az-xsearch { margin-top: 32px; width: 100%; max-width: 560px; display: flex; gap: 8px; padding: 6px; background: #FFFFFF; border: 1px solid var(--az-border); border-radius: 999px; box-shadow: 0 1px 2px rgba(36, 0, 12, .04), 0 12px 32px -20px rgba(204, 0, 68, .30); }
.az-landing .az-xsearch input { flex: 1; min-width: 0; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: 16px; color: var(--az-ink); }
.az-landing .az-xsearch input:focus-visible { outline-offset: 0; }
.az-landing .az-xsearch button { min-height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--az-btn-gradient); color: #FFFFFF; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; box-shadow: var(--az-btn-shadow); }
.az-landing .az-xtopics ul { margin: 20px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.az-landing .az-xtopics a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--az-border); background: #FFFFFF; color: var(--az-body); font-size: 14px; text-decoration: none; }
.az-landing .az-xtopics a:hover { border-color: #E2C6D1; color: var(--az-ink); }
.az-landing .az-xtopics a[aria-current="page"] { background: var(--az-primary-dark); border-color: var(--az-primary-dark); color: #FFFFFF; font-weight: 600; }
.az-landing .az-xlist { padding-top: 40px; }
.az-landing .az-xcount { margin: 0 0 20px; font-size: 14px; color: var(--az-muted); }
.az-landing .az-xcount a { color: var(--az-body); }
.az-landing .az-xgrid { margin: 0; padding: 0; list-style: none; display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); }
.az-landing .az-xgrid li { margin: 0; display: flex; }
.az-landing .az-xcard { position: relative; flex: 1; padding: 24px; display: flex; flex-direction: column; gap: 8px; box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease; }
.az-landing .az-xcard:hover { border-color: #E2C6D1; box-shadow: 0 1px 2px rgba(36, 0, 12, .04), 0 12px 32px -20px rgba(204, 0, 68, .30); }
.az-landing .az-xcard__topic { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--az-primary-dark); }
.az-landing .az-xcard__title { margin: 0; font-size: 19px; line-height: 1.35; letter-spacing: -0.01em; }
.az-landing .az-xcard__title a { color: var(--az-ink); text-decoration: none; }
.az-landing .az-xcard__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* whole card clickable */
.az-landing .az-xcard__title a:focus-visible { outline: none; }
.az-landing .az-xcard:has(a:focus-visible) { outline: 2px solid var(--az-primary); outline-offset: 3px; }
.az-landing .az-xcard__text { margin: 0; font-size: 15px; line-height: 1.55; }
.az-landing .az-xcard__meta { margin: auto 0 0; padding-top: 8px; font-size: 13px; color: var(--az-muted); }
.az-landing .az-xpages { margin-top: 40px; }
.az-landing .az-xpages ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.az-landing .az-xpages :is(a, span) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--az-border); color: var(--az-body); font-size: 15px; text-decoration: none; }
.az-landing .az-xpages .current { background: var(--az-primary-dark); border-color: var(--az-primary-dark); color: #FFFFFF; font-weight: 600; }
.az-landing .az-xpages .dots { border: 0; }
.az-landing .az-xempty { padding: 48px 24px; text-align: center; border: 1px dashed #D9B8C4; border-radius: 16px; }

/* Article */
.az-landing .az-xhead { padding-top: 40px; background: linear-gradient(180deg, #FFF8FA 0%, #FFFFFF 100%); }
.az-landing .az-crumbs ol { margin: 0 0 24px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--az-muted); }
.az-landing .az-crumbs li + li::before { content: "›"; margin-right: 6px; }
.az-landing .az-crumbs a { color: var(--az-body); }
.az-landing .az-xhead .az-eyebrow a { color: inherit; text-decoration: none; }
.az-landing .az-xtitle { margin: 12px 0 0; max-width: 860px; font-size: clamp(34px, 2.125rem + ((1vw - 3.2px) * 1.6), 52px); }
.az-landing .az-xbyline { margin: 16px 0 0; font-size: 15px; color: var(--az-muted); }
.az-landing .az-prose { padding-top: 24px; padding-bottom: 32px; font-size: 17px; line-height: 1.75; }
.az-landing .az-prose > * + * { margin-top: 1.1em; }
.az-landing .az-prose :is(h2, h3) { color: var(--az-ink); font-weight: 600; }
.az-landing .az-prose h2 { margin-top: 2.2em; font-size: clamp(24px, 1.5rem + ((1vw - 3.2px) * 0.5), 30px); line-height: 1.25; letter-spacing: -0.025em; scroll-margin-top: calc(var(--az-header-h) + 24px); }
.az-landing .az-prose h3 { margin-top: 1.8em; font-size: 20px; line-height: 1.35; letter-spacing: -0.01em; }
.az-landing .az-prose :is(ul, ol) { padding-left: 1.3em; }
.az-landing .az-prose li + li { margin-top: .4em; }
.az-landing .az-prose a { color: var(--az-primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.az-landing .az-prose strong { color: var(--az-ink); }
.az-landing .az-prose .wp-block-table { margin-inline: 0; overflow-x: auto; }
.az-landing .az-prose table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.az-landing .az-prose :is(th, td) { padding: 10px 12px; border: 1px solid var(--az-border); text-align: left; vertical-align: top; }
.az-landing .az-prose th { background: var(--az-tint); color: var(--az-ink); font-weight: 600; }
.az-landing .az-answer { margin-top: 8px; padding: 22px 24px; border: 1px solid var(--az-border); border-radius: 16px; background: var(--az-tint); }
.az-landing .az-answer__label { margin: 0 0 6px !important; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--az-primary-dark); }
.az-landing .az-answer p { margin: 0; }
.az-landing .az-formula { padding: 16px 20px; border: 1px solid var(--az-border); border-radius: 12px; background: #FFFFFF; font-weight: 600; color: var(--az-ink); font-variant-numeric: tabular-nums; }
.az-landing .az-prose .az-faqs { margin-top: 16px; }
/* Article layout: head (breadcrumb, title, byline, share), then article + sidebar. Pieces marked azs-
   come from the Analyzine Site plugin; the theme only styles them. */
.az-landing .az-xhead { padding-bottom: 24px; }
.az-landing .az-xlayout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; padding-top: 8px; padding-bottom: 72px; }
.az-landing .az-xmain { min-width: 0; max-width: 760px; }
.az-landing .az-xmain .az-prose { padding-top: 0; }
.az-landing .az-xside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
@media (min-width: 1025px) {
	/* The sidebar column runs the full article height (grid stretch) so On this page, the last card, can
	   stick below the header for the rest of the article; Ask AI and the others scroll away normally. */
	.az-landing .az-xlayout { grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; align-items: stretch; }
	.az-landing .az-xside .azs-toc { position: sticky; top: calc(var(--az-header-h) + 24px); max-height: calc(100vh - var(--az-header-h) - 48px); overflow-y: auto; }
}
@media (max-width: 1024px) {
	/* Phones and tablets: the sidebar follows the article, where a contents list no longer helps. */
	.az-landing .az-xside .azs-toc { display: none; }
}

/* Share row */
.az-landing .azs-share { margin-top: 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.az-landing .azs-share__label { margin-right: 4px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--az-muted); }
.az-landing .azs-share__list { margin: 0; padding: 0; list-style: none; display: flex; gap: 8px; }
.az-landing .azs-share__list li { margin: 0; }
.az-landing .azs-share__btn { width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--az-border); background: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; color: var(--az-ink); transition: border-color .15s ease, color .15s ease; }
.az-landing .azs-share__btn:hover { border-color: #E2C6D1; color: var(--az-primary-dark); }
.az-landing :is(.azs-share__copy, .azs-share__native) { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--az-border); background: #FFFFFF; display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 14px; color: var(--az-ink); cursor: pointer; }
.az-landing :is(.azs-share__copy, .azs-share__native):hover { border-color: #E2C6D1; }
.az-landing .azs-share__native[hidden] { display: none; }

/* Featured image */
.az-landing .az-xfeatured { margin: 0 0 32px; }
.az-landing .az-xfeatured img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; border: 1px solid var(--az-border); }
.az-landing .az-xfeatured figcaption { margin-top: 10px; font-size: 14px; color: var(--az-muted); }

/* Sidebar cards */
.az-landing .azs-card { padding: 22px; border: 1px solid var(--az-border); border-radius: 16px; background: #FFFFFF; }
.az-landing .azs-card__title { margin: 0 0 6px; font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--az-ink); }
.az-landing .azs-card__label { margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--az-muted); }
.az-landing .azs-ai { padding-bottom: 12px; box-shadow: 0 1px 2px rgba(36, 0, 12, .04), 0 12px 32px -24px rgba(204, 0, 68, .30); }
.az-landing .azs-ai__list { margin: 0; padding: 0; list-style: none; }
.az-landing .azs-ai__list li { margin: 0; }
.az-landing .azs-ai__item { width: 100%; display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 4px; border: 0; border-radius: 8px; background: none; font: inherit; font-size: 15px; line-height: 1.3; color: var(--az-body); text-align: left; text-decoration: none; cursor: pointer; }
.az-landing .azs-ai__item:hover { color: var(--az-ink); background: var(--az-tint); }
.az-landing .azs-ai__label { flex: 1; }
.az-landing .azs-ai__item .azs-icon { flex: none; color: var(--az-ink); }
.az-landing .azs-ai__item--claude .azs-icon { color: #D97757; }
.az-landing .azs-ai__item .azs-ui-icon--external { flex: none; width: 14px; height: 14px; color: var(--az-muted); }
.az-landing .azs-toc ol { margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--az-border); }
.az-landing .azs-toc li { margin: 0; }
.az-landing .azs-toc a { display: block; margin-left: -2px; padding: 6px 12px; border-left: 2px solid transparent; font-size: 14px; line-height: 1.45; color: var(--az-body); text-decoration: none; }
.az-landing .azs-toc a:hover { color: var(--az-ink); }
.az-landing .azs-toc a[aria-current="true"] { border-left-color: var(--az-primary-dark); color: var(--az-ink); font-weight: 600; }
.az-landing .az-xcats ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.az-landing .az-xcats li { margin: 0; }
.az-landing .az-xcats a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 10px; color: var(--az-body); font-size: 15px; text-decoration: none; }
.az-landing .az-xcats a:hover { background: var(--az-tint); color: var(--az-ink); }
.az-landing .az-xcats a.is-current { background: var(--az-tint); color: var(--az-ink); font-weight: 600; box-shadow: inset 0 0 0 1px #F0C9D6; }
.az-landing .az-xrel ol { margin: 0; padding: 0; list-style: none; }
.az-landing .az-xrel li { margin: 0; border-bottom: 1px solid var(--az-border); }
.az-landing .az-xrel li:last-child { border-bottom: 0; }
.az-landing .az-xrel a { display: block; padding: 12px 0; text-decoration: none; }
.az-landing .az-xrel li:last-child a { padding-bottom: 0; }
.az-landing .az-xrel__t { display: block; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--az-ink); }
.az-landing .az-xrel a:hover .az-xrel__t { color: var(--az-primary-dark); }
.az-landing .az-xrel__m { display: block; margin-top: 4px; font-size: 13px; color: var(--az-muted); }

/* Kadence's author box at the end of the article (Customizer → Posts → Single Post → Author box). Styled
   after the design: photo centred on a thin line, name, role, bio, round social buttons. */
.az-landing .az-xauthorbox { margin-top: 56px; }
.az-landing .az-xauthorbox .entry-author { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; text-align: center; }
.az-landing .az-xauthorbox .entry-author-profile { position: static; padding: 0; min-height: 0; }
.az-landing .az-xauthorbox .entry-author-avatar { position: static; float: none; margin: 0 0 16px; display: flex; align-items: center; gap: 24px; }
.az-landing .az-xauthorbox .entry-author-avatar::before,
.az-landing .az-xauthorbox .entry-author-avatar::after { content: ""; flex: 1; height: 1px; background: var(--az-border); }
.az-landing .az-xauthorbox .entry-author-avatar img { width: 112px; height: 112px; border-radius: 999px; object-fit: cover; box-shadow: 0 0 0 4px #FFFFFF, 0 0 0 5px var(--az-border); }
.az-landing .az-xauthorbox .entry-author-name { display: block; font-size: 26px; line-height: 1.25; letter-spacing: -0.02em; font-weight: 600; color: var(--az-ink); }
.az-landing .az-xauthorbox .entry-author-name a { color: inherit; text-decoration: none; }
.az-landing .az-xauthorbox .entry-author-occupation { margin: 4px 0 0; font-size: 15px; color: var(--az-muted); }
.az-landing .az-xauthorbox .entry-author-description { margin: 12px auto 0; max-width: 560px; font-size: 16px; line-height: 1.65; color: var(--az-body); }
.az-landing .az-xauthorbox .entry-author-follow { margin-top: 18px; display: flex; justify-content: center; gap: 10px; }
.az-landing .az-xauthorbox .entry-author-follow .social-button { width: 44px; height: 44px; margin: 0; border-radius: 999px; background: var(--az-primary-dark); color: #FFFFFF; display: inline-flex; align-items: center; justify-content: center; border: 0; }
.az-landing .az-xauthorbox .entry-author-follow .social-button:hover { background: var(--az-primary-darker); color: #FFFFFF; }

/* --- Small screens (the design's 760px breakpoint) --------------------------------- */
@media (max-width: 760px) {
	:root { --az-gutter: 16px; --az-header-h: 64px; }
	.az-landing .az-sec { padding: 72px 0; }
	.az-landing .az-sec--flush { padding-top: 0; }
	.az-landing .az-sec--final { padding: 0 0 72px; }
	.az-landing .az-eyebrow { letter-spacing: 0.12em; }
	.az-landing .az-hero__in { padding-top: 28px; padding-bottom: 56px; }
	.az-landing .az-wl { padding: 18px; }
	.az-landing .az-faq summary { font-size: 16px; }
	.az-landing .az-panel--get, .az-landing .az-panel--final { padding: 32px 16px; }
	.az-landing .shot-pad { padding: 8px !important; border-radius: 18px !important; }
	.az-landing .app-body { padding: 12px !important; }
	/* Feature pages */
	.az-lawnav__in { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; padding-inline: var(--az-gutter); }
	.az-lawnav__list { flex-wrap: nowrap; justify-content: flex-start; }
	.az-landing .az-flow { flex-direction: column; align-items: stretch; }
	.az-landing .az-flow__arrow { align-self: center; transform: rotate(90deg); }
	.az-landing .az-keys { padding: 22px; }
	/* Explained */
	.az-landing .az-xhero__in { padding-top: 40px; padding-bottom: 32px; }
	.az-landing .az-xsearch button { padding: 0 16px; }
	.az-landing .az-prose { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.az-landing .az-btn .wp-block-button__link, .fluentform .ff-btn-submit, .az-landing .az-faq summary::after,
	#masthead .header-button, #mobile-header .mobile-header-button-wrap .button { transition: none; transform: none; }
}
