/* ==========================================================================
   Interior pages: same tokens, type and card language as the homepage (native.css).
   ========================================================================== */

.ad-bg-navy { background-color: var(--ad-navy); background-image: radial-gradient(120% 140% at 85% 0%, rgba(99, 102, 241, 0.35) 0%, rgba(8, 22, 86, 0) 55%), linear-gradient(180deg, #081656 0%, #060f3d 100%); }
.ad-h--32 { font-size: clamp(24px, 2vw, 32px); line-height: 1.15; letter-spacing: -0.015em; }
.ad-lead { margin-top: 18px !important; max-width: 760px; font-size: clamp(17px, 1.05vw, 19px); line-height: 1.6; }
.ad-dark .ad-lead,
.ad-dark p { color: var(--ad-mist); }
.is-centered { text-align: center; }
.is-centered .ad-lead,
.is-centered .ad-h { margin-inline: auto !important; }
.is-centered .ad-btns { justify-content: center; }
.ad-section-head { margin-bottom: 48px; }
.ad-section-head.is-centered { max-width: 900px; margin-inline: auto; }

/* Page hero (interior) ---------------------------------------------------- */

.ad-page-hero {
	padding-block: clamp(72px, 7vw, 120px) clamp(64px, 6vw, 104px);
	background-color: var(--ad-navy);
	background-image:
		radial-gradient(90% 120% at 90% 10%, rgba(99, 102, 241, 0.45) 0%, rgba(8, 22, 86, 0) 60%),
		radial-gradient(60% 80% at 10% 100%, rgba(50, 132, 255, 0.25) 0%, rgba(8, 22, 86, 0) 60%),
		linear-gradient(180deg, #081656 0%, #050c33 100%);
	overflow: hidden;
}

.ad-page-hero--compact { padding-block: clamp(56px, 5vw, 88px); }
.ad-page-hero__copy { max-width: 980px; }
.ad-page-hero__copy.is-centered { margin-inline: auto; }
.ad-page-hero__title { font-size: clamp(38px, 3.6vw, 64px); line-height: 1.04; letter-spacing: -0.02em; color: #fff !important; }

.ad-page-hero__text,
.ad-page-hero .wp-block-post-excerpt__excerpt {
	margin-top: 22px !important;
	max-width: 720px;
	font-size: clamp(17px, 1.1vw, 20px);
	line-height: 1.55;
	color: var(--ad-mist);
}

.ad-page-hero .ad-btns { margin-top: 36px; }
.ad-page-hero .ad-hero__bar { margin-top: clamp(48px, 5vw, 80px); margin-bottom: calc(-1 * clamp(64px, 6vw, 104px)); }
.ad-hero-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 48px; }
.ad-hero-link { padding: 22px 24px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--ad-radius); }
.ad-hero-link a { font: 700 18px/1.3 var(--ad-font-heading); color: #fff; text-decoration: none; }
.ad-hero-link .ad-tile__text { margin-top: 6px !important; font-size: 15px; }

/* Article and entity heroes ---------------------------------------------- */

.ad-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 28px; font-size: 15px; color: var(--ad-mist); }
.ad-byline:empty { display: none; }
.ad-byline { font-weight: 700; color: #fff !important; }
.ad-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-chips a,
.ad-tile__label a { text-decoration: none; }

.ad-chips a {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid rgba(124, 196, 255, 0.4);
	border-radius: 999px;
	font: 700 12px/1 var(--ad-font-body);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ad-sky);
}

.ad-chips .wp-block-post-terms__separator { display: none; }
.ad-entity-hero { display: flex; align-items: center; gap: clamp(24px, 4vw, 56px); }

.ad-entity-hero__logo {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 160px;
	margin: 0;
	padding: 24px;
	background: #fff;
	border-radius: 16px;
}

.ad-entity-hero__logo img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.ad-entity-hero__photo { flex-shrink: 0; width: 180px; margin: 0; border-radius: 50%; overflow: hidden; border: 3px solid rgba(124, 196, 255, 0.4); }
.ad-story-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 56px; align-items: center; }
.ad-story-hero__image { margin: 0; border-radius: var(--ad-radius); overflow: hidden; box-shadow: 0 30px 80px rgba(0, 8, 40, 0.55); }

/* Article layout and table of contents ----------------------------------- */

.ad-article { padding-top: clamp(56px, 5vw, 88px); }

.ad-article__grid {
	display: grid;
	grid-template-columns: 260px minmax(0, 820px);
	justify-content: center;
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}

.ad-toc { position: sticky; top: 120px; padding: 24px; background: var(--ad-soft); border: 1px solid var(--ad-line); border-radius: var(--ad-radius); }
.ad-toc ol { margin: 0; padding: 0; list-style: none; }
.ad-toc li + li { margin-top: 12px; }
.ad-toc a { font-size: 14px; line-height: 1.4; color: var(--ad-body); text-decoration: none; }
.ad-toc a:hover { color: var(--ad-indigo); }
.ad-toc.is-empty { display: none; }
.ad-article__grid:has(.ad-toc.is-empty) { grid-template-columns: minmax(0, 820px); }
.ad-article__image { margin: 0 0 40px !important; border-radius: var(--ad-radius); overflow: hidden; }

/* Prose (migrated rich text) --------------------------------------------- */

.ad-prose { font-size: 18px; line-height: 1.75; color: var(--ad-body); }
.ad-prose > * + * { margin-top: 1.2em !important; }
.ad-prose h2 { margin-top: 2em !important; font: 700 clamp(28px, 2.2vw, 36px)/1.15 var(--ad-font-heading); letter-spacing: -0.015em; color: var(--ad-navy); scroll-margin-top: 110px; }
.ad-prose h3 { margin-top: 1.6em !important; font: 700 clamp(21px, 1.5vw, 24px)/1.25 var(--ad-font-heading); color: var(--ad-navy); }
.ad-prose h4,
.ad-prose h5 { margin-top: 1.4em !important; font: 700 19px/1.3 var(--ad-font-heading); color: var(--ad-navy); }
.ad-prose ul,
.ad-prose ol { padding-left: 1.3em; list-style: revert; }
.ad-prose li + li { margin-top: 0.45em; }
.ad-prose li::marker { color: var(--ad-indigo); }
.ad-prose a { color: var(--ad-indigo); text-underline-offset: 3px; }
.ad-prose img { border-radius: var(--ad-radius); }
.ad-prose blockquote { margin-inline: 0; padding: 8px 0 8px 24px; border-left: 3px solid var(--ad-indigo); font-size: 20px; color: var(--ad-navy); }
.ad-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ad-prose td { padding: 10px 12px; border: 1px solid var(--ad-line); vertical-align: top; }
.ad-prose .ad-section { padding-block: 40px; border-radius: 16px; }
.ad-prose .ad-section .ad-container { width: auto; padding-inline: clamp(20px, 4vw, 48px); }
.ad-prose .wp-block-buttons { margin-top: 32px !important; }
.ad-text__body { max-width: 860px; margin-inline: auto; }
.is-centered .ad-text__body { margin-inline: auto; text-align: left; }
.ad-dark .ad-prose,
.ad-dark .ad-prose h2,
.ad-dark .ad-prose h3 { color: #fff; }

/* Tiles: the shared card grid used by most interior sections -------------- */

.ad-tiles { display: grid; gap: 24px 26px; }
.ad-tiles--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ad-tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ad-tiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ad-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 32px 30px;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.ad-tile:hover { transform: translateY(-4px); border-color: rgba(99, 102, 241, 0.4); box-shadow: 0 18px 40px rgba(8, 22, 86, 0.08); }
.ad-tile__image { margin: -32px -30px 6px !important; overflow: hidden; border-radius: var(--ad-radius) var(--ad-radius) 0 0; background: var(--ad-gray); }
.ad-tile__image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ad-tile__icon img { width: 48px; height: 48px; object-fit: contain; }
.ad-tile__label,
.ad-tile__label a { font: 700 12px/1 var(--ad-font-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ad-indigo); }
.ad-tile__title { font: 700 clamp(19px, 1.3vw, 22px)/1.25 var(--ad-font-heading); color: var(--ad-navy); }
.ad-tile__title a { color: inherit; text-decoration: none; }
.ad-tile__title a::after { content: ""; position: absolute; inset: 0; }
.editor-styles-wrapper .ad-tile__title a::after { display: none; }
.ad-tile__text,
.ad-tile .wp-block-post-excerpt__excerpt { font-size: 15px; line-height: 1.6; color: var(--ad-body); }
.ad-tile .wp-block-post-excerpt__more-text { display: none; }
.ad-dark .ad-card { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.12); }
.ad-dark .ad-tile__title { color: #fff; }
.ad-tile .ad-arrow-link { margin-top: auto !important; }

/* Content section --------------------------------------------------------- */

.ad-content__grid.has-media { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.ad-content__grid.media-left .ad-content__media { order: -1; }
.ad-content__copy > * + * { margin-top: 18px !important; }
.ad-content__copy .ad-btns { margin-top: 32px !important; }
.ad-content__media { margin: 0; border-radius: var(--ad-radius); overflow: hidden; }
.ad-content .ad-tiles { margin-top: 56px; }
.ad-content .ad-trust__points { margin-top: 40px !important; }

/* Dense list --------------------------------------------------------------- */

.ad-dense__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.ad-dense__copy > * + * { margin-top: 18px !important; }
.ad-dense__item { padding: 24px 0; border-top: 1px solid var(--ad-line); }
.ad-dense__item .ad-tile__title { margin-bottom: 8px !important; }

/* FAQ (core Details block) ------------------------------------------------ */

.ad-faq { max-width: 960px; margin-inline: auto; border-top: 1px solid var(--ad-line); }
.ad-faq__item { border-bottom: 1px solid var(--ad-line); }

.ad-faq__item summary {
	position: relative;
	padding: 24px 48px 24px 0;
	font: 700 clamp(18px, 1.2vw, 21px)/1.35 var(--ad-font-heading);
	color: var(--ad-navy);
	cursor: pointer;
	list-style: none;
}

.ad-faq__item summary::-webkit-details-marker { display: none; }

.ad-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	font: 400 28px/1 var(--ad-font-body);
	color: var(--ad-indigo);
	transition: transform 0.2s ease;
}

.ad-faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.ad-faq__item > :not(summary) { padding-bottom: 20px; font-size: 16px; line-height: 1.7; }
.ad-prose .ad-faq { margin-block: 2em !important; }

/* Stats band and featured story ------------------------------------------- */

.ad-stat-band .ad-stats { margin-top: 24px !important; }
.ad-story__card { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 48px; padding: clamp(32px, 4vw, 56px); }
.ad-story__copy > * + * { margin-top: 16px !important; }
.ad-story__copy .ad-btns { margin-top: 28px !important; }
.ad-story__stats { display: grid; gap: 24px; align-content: center; }
.ad-story__stats .ad-stat__value { color: var(--ad-indigo); }
.ad-story__stats .ad-stat__label { color: var(--ad-body); }

/* Checklists ---------------------------------------------------------------- */

.ad-checklist li { position: relative; padding: 10px 0 10px 32px; border-top: 1px solid var(--ad-line); font-size: 16px; }
.ad-checklist li:first-child { border-top: 0; }

.ad-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 13px;
	width: 20px;
	height: 20px;
	background: var(--ad-indigo);
	-webkit-mask: url(../images/icon-check.svg) center / contain no-repeat;
	mask: url(../images/icon-check.svg) center / contain no-repeat;
}

.ad-checklist--cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 26px; }
.ad-checklist--cards li { padding: 22px 24px 22px 56px; background: #fff; border: 1px solid var(--ad-line); border-radius: var(--ad-radius); }
.ad-checklist--cards li::before { left: 24px; top: 24px; }

/* Tab panes (stacked, no script) ------------------------------------------ */

.ad-pane { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-block: 48px; border-top: 1px solid var(--ad-line); }
.ad-pane__copy > * + * { margin-top: 14px !important; }
.ad-pane__media { margin: 0; border-radius: var(--ad-radius); overflow: hidden; box-shadow: 0 18px 40px rgba(8, 22, 86, 0.1); }

/* People -------------------------------------------------------------------- */

.ad-person { align-items: center; text-align: center; }
.ad-person__photo { width: 140px; margin: 0 auto 4px !important; border-radius: 50%; overflow: hidden; }
.ad-person__photo img { aspect-ratio: 1; object-fit: cover; }

/* Logo strip ---------------------------------------------------------------- */

.ad-logo-strip { padding-block: 72px; }
.ad-logo-strip__title { margin-bottom: 40px !important; }
.ad-logo-strip .ad-logos { margin-top: 0; }

/* Shared CTA band and testimonial (synced patterns) ----------------------- */

.ad-cta-band { text-align: center; }
.ad-cta-band__inner { max-width: 900px; margin-inline: auto; }
.ad-cta-band__inner .ad-btns { margin-top: 36px; justify-content: center; }
.ad-cta-band .ad-form-placeholder { margin: 32px auto 0; max-width: 560px; text-align: left; }
.ad-quote__inner { max-width: 960px; margin-inline: auto; }
.ad-quote__text { font: 700 clamp(22px, 1.9vw, 32px)/1.35 var(--ad-font-heading); letter-spacing: -0.01em; color: var(--ad-navy); }
.ad-quote__cite { margin-top: 24px !important; font: 700 14px/1.4 var(--ad-font-body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ad-indigo); }
.ad-quote__logo { margin: 24px auto 0 !important; width: 140px; }
.ad-prose .ad-cta-band,
.ad-prose .ad-quote { margin-block: 2.5em !important; }

/* Form placeholder (HubSpot embeds come later) ---------------------------- */

.ad-form-placeholder { padding: 28px; background: #fff; border: 2px dashed var(--ad-indigo); border-radius: 12px; color: var(--ad-body); }
.ad-dark .ad-form-placeholder p { color: var(--ad-body); }
.ad-form-placeholder__title { color: var(--ad-navy) !important; }
.ad-form-placeholder__text { margin-top: 6px !important; font-size: 14px; }
.ad-hero-form__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.ad-hero-form .ad-page-hero__copy > * + * { margin-top: 14px !important; }

/* Listings ------------------------------------------------------------------ */

.ad-listing-section { padding-top: clamp(56px, 5vw, 88px); }
.ad-connector-card { align-items: center; text-align: center; padding: 24px; }
.ad-connector-card__logo { display: flex; align-items: center; justify-content: center; height: 72px; margin: 0; }
/* Many logos are SVGs without intrinsic size: give them a fixed box and let them scale inside it. */
.ad-connector-card__logo img { width: 140px !important; height: 72px !important; max-width: 100%; object-fit: contain !important; }
.ad-connector-card .ad-tile__title { font-size: 16px; }
.ad-pagination { margin-top: 56px; gap: 8px; font-weight: 700; }
.ad-pagination a,
.ad-pagination .current { padding: 8px 14px; border: 1px solid var(--ad-line); border-radius: 6px; color: var(--ad-navy); text-decoration: none; }
.ad-pagination .current { background: var(--ad-navy); color: #fff; }
.ad-search { max-width: 560px; margin-top: 28px; }
.ad-search .wp-block-search__input { padding: 14px 16px; border: 0; border-radius: 6px; }
.ad-search .wp-block-search__button { padding: 14px 24px; border: 0; border-radius: 6px; background: var(--ad-gradient); color: #fff; font-weight: 700; }
.ad-connector-note { margin-top: 40px !important; }
.ad-careers .ad-btns { justify-content: center; }

.wp-block-button.is-style-outline-dark .wp-block-button__link { background: transparent; border-color: var(--ad-navy); color: var(--ad-navy); }
.wp-block-button.is-style-outline-dark .wp-block-button__link:hover { background: var(--ad-navy); color: #fff; }

/* Responsive ---------------------------------------------------------------- */

@media (max-width: 1100px) {
	.ad-tiles--4,
	.ad-tiles--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.ad-content__grid.has-media,
	.ad-dense__grid,
	.ad-story__card,
	.ad-pane,
	.ad-hero-form__grid,
	.ad-story-hero,
	.ad-article__grid { grid-template-columns: minmax(0, 1fr); }

	.ad-content__grid.media-left .ad-content__media { order: 0; }
	.ad-toc { position: static; }
}

@media (max-width: 700px) {
	.ad-tiles--2,
	.ad-tiles--3,
	.ad-tiles--4,
	.ad-checklist--cards { grid-template-columns: minmax(0, 1fr); }

	.ad-entity-hero { flex-direction: column; align-items: flex-start; }
	.ad-entity-hero__logo { width: 112px; height: 112px; }
	.ad-entity-hero__photo { width: 128px; }
	.ad-prose { font-size: 17px; }
	.ad-faq__item summary { padding-right: 36px; }
}
