/* ==========================================================================
   Bradford Strategies — custom layer on top of theme.json
   ========================================================================== */

/*
 * Official brand palette (future reference — see COLOR-PALETTE.md)
 *
 * --wp--custom--brand--primary-purple     #702B90
 * --wp--custom--brand--secondary-indigo   #3C2F8F
 * --wp--custom--brand--primary-blue        #0066B3
 * --wp--custom--brand--secondary-blue      #3AA1BF
 * --wp--custom--brand--accent-green        #33BA8A
 * --wp--custom--brand--accent-magenta      #AD2088
 * --wp--custom--brand--background          #000000
 * --wp--custom--brand--light-background    #F7F7FA
 * --wp--custom--brand--body-text           #25252B
 * --wp--custom--brand--muted-text          #747580
 *
 * --wp--custom--gradient--primary-brand
 * --wp--custom--gradient--cool-technology
 * --wp--custom--gradient--dark-premium
 */

/* Ensure pattern canvas pages allow alignfull breakout */
main .wp-block-post-content > .alignfull {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* Prevent horizontal scroll from full-width bands */
body {
	overflow-x: clip;
}

/* ---- Signature pill buttons -------------------------------------------- */

/* Every outline style: transparent fill, 2px colored border, white text.
   The ↗ arrow is typed into the button label in the patterns. */
.wp-block-button.is-style-outline-green .wp-block-button__link,
.wp-block-button.is-style-outline-pink .wp-block-button__link,
.wp-block-button.is-style-outline-blue .wp-block-button__link,
.wp-block-button.is-style-outline-white .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border-width: 2px;
	border-style: solid;
	border-radius: 999px;
	transition: background-color .25s ease, color .25s ease;
}

.wp-block-button.is-style-outline-green .wp-block-button__link { border-color: var(--wp--preset--color--green); }
.wp-block-button.is-style-outline-pink .wp-block-button__link { border-color: var(--wp--preset--color--pink); }
.wp-block-button.is-style-outline-blue .wp-block-button__link { border-color: var(--wp--preset--color--bright-blue); }
.wp-block-button.is-style-outline-white .wp-block-button__link { border-color: rgba(255, 255, 255, .85); }

.wp-block-button.is-style-outline-green .wp-block-button__link:hover { background: var(--wp--preset--color--green); }
.wp-block-button.is-style-outline-pink .wp-block-button__link:hover { background: var(--wp--preset--color--pink); color: #000; }
.wp-block-button.is-style-outline-blue .wp-block-button__link:hover { background: var(--wp--preset--color--bright-blue); }
.wp-block-button.is-style-outline-white .wp-block-button__link:hover { background: rgba(255, 255, 255, .95); color: #000; }

/* Reference .btn / .btn.ghost on core Buttons blocks — chrome lives on the link only. */
.wp-block-button.btn {
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
	margin: 0;
}

.wp-block-button.btn .wp-block-button__link {
	display: inline-block;
	box-sizing: border-box;
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.25;
	padding: 13px 24px;
	border-radius: 8px;
	text-decoration: none;
}

.wp-block-button.btn:not(.ghost) .wp-block-button__link {
	border: 1px solid transparent;
}

.wp-block-button.btn.ghost .wp-block-button__link {
	background: transparent !important;
	border: 1px solid var(--wp--custom--brand--border, #e7e6e2) !important;
	box-shadow: none;
}

/* ---- Photo card: rounded image with offset accent block ----------------- */

.wp-block-group.is-style-photo-card {
	position: relative;
	border-radius: 20px;
}

.wp-block-group.is-style-photo-card img {
	border-radius: 16px;
	display: block;
	width: 100%;
	height: auto;
}

.wp-block-group.is-style-photo-card::before {
	content: "";
	position: absolute;
	inset: auto auto -28px -28px;
	width: 55%;
	height: 55%;
	border-radius: 20px;
	background: var(--wp--preset--color--bright-blue);
	z-index: -1;
}

/* White frame around the photo, like the live site's rounded cards */
.wp-block-group.is-style-photo-card > .wp-block-image {
	background: #fff;
	padding: 6px;
	border-radius: 20px;
	margin: 0;
}

/* ---- Process timeline rail ("What You Can Expect") ---------------------- */

.wp-block-group.is-style-timeline {
	border-left: 1px solid rgba(255, 255, 255, .35);
	padding-left: clamp(1.5rem, 4vw, 3.5rem);
	position: relative;
}

.wp-block-group.is-style-timeline > .wp-block-group {
	position: relative;
}

.wp-block-group.is-style-timeline > .wp-block-group::before {
	content: "";
	position: absolute;
	left: calc(-1 * clamp(1.5rem, 4vw, 3.5rem) - 6px);
	top: .5em;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--wp--preset--color--green);
	box-shadow: 0 0 0 4px rgba(35, 164, 85, .25);
}

/* ---- Logo strips --------------------------------------------------------- */

.bradford-logo-strip img {
	max-height: 56px;
	width: auto;
	opacity: .75;
	filter: grayscale(1) brightness(1.6);
	transition: opacity .2s ease, filter .2s ease;
}

.bradford-logo-strip img:hover {
	opacity: 1;
	filter: none;
}

.bradford-logo-strip.bradford-marquee {
	display: flex;
	align-items: center;
}

.bradford-marquee-viewport {
	overflow: hidden;
}

.bradford-marquee-track {
	overflow: hidden;
	width: 100%;
	max-width: 100%;
}

/* Desktop: edge-to-edge scrolling marquee */
@media (min-width: 782px) {
	.bradford-marquee-track {
		margin-left: calc(-1 * var(--wp--preset--spacing--50));
		margin-right: calc(-1 * var(--wp--preset--spacing--50));
		width: calc(100% + 2 * var(--wp--preset--spacing--50));
		max-width: none;
	}

	.bradford-marquee-track .bradford-marquee {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center;
		width: max-content !important;
		max-width: none !important;
		gap: 4rem;
		margin: 0 !important;
	}

	.bradford-marquee-track .bradford-marquee > figure {
		flex: 0 0 auto;
		margin: 0;
	}
}

@media (min-width: 782px) and (prefers-reduced-motion: no-preference) {
	.bradford-marquee-track .bradford-marquee {
		animation: bradford-scroll 35s linear infinite;
		will-change: transform;
	}
}

@keyframes bradford-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* Mobile: static 3-column logo grid (no scroll) */
@media (max-width: 781px) {
	.bradford-marquee-track {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}

	.bradford-marquee-track .bradford-marquee {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.75rem 1.25rem;
		width: 100% !important;
		max-width: 100% !important;
		animation: none !important;
		transform: none !important;
	}

	.bradford-marquee-track .bradford-marquee > figure {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 72px;
		margin: 0;
		padding: 0.5rem;
	}

	.bradford-marquee-track .bradford-marquee img {
		width: auto !important;
		max-width: 100% !important;
		max-height: 72px !important;
		height: auto !important;
		object-fit: contain;
	}

	/* Hide duplicated scroll set on mobile */
	.bradford-marquee-track .bradford-marquee > figure:nth-child(n+13) {
		display: none;
	}
}

@media (max-width: 480px) {
	.bradford-marquee-track .bradford-marquee {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem 1rem;
	}

	.bradford-marquee-track .bradford-marquee > figure {
		min-height: 64px;
	}

	.bradford-marquee-track .bradford-marquee img {
		max-height: 64px !important;
	}
}

/* ---- Cards & misc -------------------------------------------------------- */

.bradford-card {
	border-radius: 20px;
	transition: transform .25s ease, box-shadow .25s ease;
}

.bradford-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}

@media (max-width: 781px) {
	.bradford-service-cards__grid {
		flex-direction: column;
	}

	.bradford-service-cards__grid > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* FAQ accordion (core Details block) */
.bradford-faq details {
	border-bottom: 1px solid rgba(255, 255, 255, .2);
	padding: 1.25rem 0;
}

.bradford-faq summary {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 1.25rem;
	cursor: pointer;
}

/* Uppercase, letter-spaced service headings (legacy — prefer bradford-service-row h3) */
.bradford-caps-heading {
	text-transform: uppercase;
	letter-spacing: .08em;
}

/* Homepage services band — matches live site row borders */
.bradford-services-showcase {
	background-color: #000;
}

.bradford-band-aqua {
	background-color: var(--wp--preset--color--deep-teal);
}

.bradford-band-cta {
	background-color: var(--wp--preset--color--brand-blue);
}

.bradford-band-shape {
	background-color: var(--wp--preset--color--surface);
}

.bradford-band-aqua .wp-block-image img,
.bradford-band-shape .wp-block-image img,
.bradford-service-row .wp-block-image img {
	object-fit: cover;
}

.bradford-band-aqua .wp-block-column:first-child .wp-block-image img,
.bradford-band-shape .wp-block-column .wp-block-image img {
	object-fit: contain;
}

.bradford-service-intro {
	gap: 1.5rem;
	margin-bottom: 0.5rem;
}

.bradford-service-row {
	border-bottom: 2px solid var(--wp--preset--color--pink);
	padding-top: clamp(1.25rem, 3vw, 3rem);
	padding-bottom: clamp(1.25rem, 3vw, 3rem);
}

.bradford-service-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.bradford-service-row h3 {
	text-transform: capitalize;
}

.bradford-service-row .wp-block-image img {
	width: 100%;
	height: auto;
	min-height: 200px;
	object-fit: cover;
}

@media (max-width: 781px) {
	.bradford-service-row {
		padding-left: clamp(0.5rem, 4vw, 2rem);
		padding-right: clamp(0.5rem, 4vw, 2rem);
	}

	.bradford-service-row .wp-block-image img {
		min-height: 160px;
	}
}

/* Thin colored rule between alternating service rows (legacy separator blocks) */
hr.wp-block-separator.bradford-rule-pink {
	border: 0;
	height: 2px;
	background: var(--wp--preset--color--pink);
	opacity: .8;
	width: 100%;
}

/* Sticky left column for the process section on desktop */
@media (min-width: 782px) {
	.bradford-sticky-col {
		position: sticky;
		top: 120px;
		align-self: flex-start;
	}
}

/* Header polish */
.bradford-header {
	z-index: 100;
	transition: background-color .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}

.bradford-header .wp-block-site-title {
	display: none;
}

.bradford-header.is-scrolled {
	background-color: rgba(0, 0, 0, .92) !important;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	backdrop-filter: blur(10px);
}

.bradford-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--bright-blue);
}

@media (max-width: 781px) {
	.bradford-header .alignwide {
		row-gap: .75rem;
	}

	.bradford-header .wp-block-buttons {
		width: 100%;
	}
}

/* Accessible focus states */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
.wp-block-button__link:focus-visible,
.bradford-form-submit:focus-visible,
.bradford-contact-form input:focus-visible,
.bradford-contact-form textarea:focus-visible {
	outline: 2px solid var(--wp--preset--color--bright-blue);
	outline-offset: 3px;
}

/* Inline SVG icon helpers */
.bradford-icon {
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	vertical-align: -.15em;
	margin-right: .35em;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.bradford-icon-phone {
	-webkit-mask-image: 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='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	mask-image: 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='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.bradford-icon-location {
	-webkit-mask-image: 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='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	mask-image: 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='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.bradford-phone-link a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	white-space: nowrap;
}

/* Contact form */
.bradford-contact-form-wrap {
	margin-top: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--50);
	border: 1px solid #2a5a68;
	border-radius: 20px;
}

.bradford-contact-form {
	display: grid;
	gap: 1.25rem;
}

.bradford-form-row {
	display: grid;
	gap: 1rem;
}

@media (min-width: 600px) {
	.bradford-form-row--2 {
		grid-template-columns: 1fr 1fr;
	}
}

.bradford-contact-form label,
.bradford-form-fieldset legend {
	font-size: .95rem;
	font-weight: 600;
}

.bradford-contact-form label span,
.bradford-form-fieldset legend {
	display: block;
	margin-bottom: .4rem;
}

.bradford-contact-form input[type="text"],
.bradford-contact-form input[type="email"],
.bradford-contact-form input[type="tel"],
.bradford-contact-form input[type="url"],
.bradford-contact-form textarea {
	width: 100%;
	padding: .75rem 1rem;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 10px;
	background: rgba(0, 0, 0, .25);
	color: var(--wp--preset--color--contrast);
	font: inherit;
}

.bradford-form-fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.bradford-form-checkboxes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: .5rem 1rem;
	margin-top: .5rem;
}

.bradford-form-checkboxes label {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-weight: 400;
}

.bradford-form-submit {
	justify-self: start;
	margin-top: .5rem;
	padding: .9rem 2.25rem;
	border: 2px solid var(--wp--preset--color--green);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease;
}

.bradford-form-submit:hover {
	background: var(--wp--preset--color--green);
}

.bradford-form-notice {
	padding: .85rem 1rem;
	border-radius: 10px;
}

.bradford-form-notice--success {
	background: rgba(35, 164, 85, .2);
	border: 1px solid rgba(35, 164, 85, .45);
}

.bradford-form-notice--error {
	background: rgba(255, 133, 223, .12);
	border: 1px solid rgba(255, 133, 223, .35);
}

/* Hero typed text cursor */
[data-bradford-typed]::after {
	content: "|";
	margin-left: .08em;
	opacity: .75;
	animation: bradford-blink 1s step-end infinite;
}

@media (prefers-reduced-motion: reduce) {
	[data-bradford-typed]::after {
		content: none;
		animation: none;
	}
}

@keyframes bradford-blink {
	50% { opacity: 0; }
}

/* Footer list styling: chevron markers like the live site */
.bradford-footer ul {
	list-style: none;
	padding-left: 0;
}

.bradford-footer ul li {
	padding-left: 1.1em;
	position: relative;
	margin-bottom: .55em;
}

.bradford-footer ul li::before {
	content: "›";
	position: absolute;
	left: 0;
	color: rgba(255, 255, 255, .6);
}

.bradford-footer a {
	text-decoration: none;
}

.bradford-footer a:hover {
	color: var(--wp--preset--color--bright-blue);
}

/* ---- AI share widget bar (fixed right rail) ----------------------------- */

.bradford-ai-share-bar {
	position: fixed;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 90;
	width: 4.25rem;
	box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
}

.bradford-ai-share-bar__label {
	margin: 0;
	line-height: 1.2;
}

.bradford-ai-share-bar .wp-block-buttons {
	gap: .55rem;
}

.bradford-ai-share-bar .bradford-ai-btn {
	width: 100%;
}

.bradford-ai-share-bar .bradford-ai-btn .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	min-height: 2.75rem;
	padding: 0;
	margin: 0 auto;
	border: 2px solid rgba(48, 166, 255, .55);
	border-radius: 50%;
	background: rgba(0, 0, 0, .35);
	color: transparent;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
	transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.bradford-ai-share-bar .bradford-ai-btn .wp-block-button__link::before {
	content: "";
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.bradford-ai-share-bar .bradford-ai-btn--chatgpt .wp-block-button__link::before {
	background-image: url("../images/ai-chatgpt.svg");
}

.bradford-ai-share-bar .bradford-ai-btn--gemini .wp-block-button__link::before {
	background-image: url("../images/ai-gemini.svg");
}

.bradford-ai-share-bar .bradford-ai-btn--google .wp-block-button__link::before {
	background-image: url("../images/ai-google.svg");
}

.bradford-ai-share-bar .bradford-ai-btn .wp-block-button__link:hover {
	background: rgba(48, 166, 255, .18);
	border-color: var(--wp--preset--color--bright-blue);
}

@media (max-width: 781px) {
	.bradford-ai-share-bar {
		right: .65rem;
		width: 3.75rem;
		padding: .55rem !important;
	}

	.bradford-ai-share-bar .bradford-ai-btn .wp-block-button__link {
		width: 2.45rem;
		height: 2.45rem;
		min-height: 2.45rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bradford-ai-share-bar .bradford-ai-btn .wp-block-button__link {
		transition: none;
	}
}

/* ---- Breadcrumbs -------------------------------------------------------- */

.bradford-breadcrumbs a {
	color: var(--wp--preset--color--bright-blue);
	text-decoration: none;
}

.bradford-breadcrumbs a:hover {
	text-decoration: underline;
}

.bradford-breadcrumb-sep {
	opacity: 0.45;
	margin: 0 0.35rem;
}

/* ---- Cookie notice ------------------------------------------------------ */

.bradford-cookie-notice {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1rem 1.5rem;
	background: rgba(0, 0, 0, 0.92);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	color: #fff;
	font-size: 0.95rem;
}

.bradford-cookie-notice p {
	margin: 0;
}

.bradford-cookie-notice a {
	color: var(--wp--preset--color--bright-blue);
}

.bradford-cookie-notice button {
	background: var(--wp--preset--color--brand-blue);
	color: #fff;
	border: none;
	border-radius: 999px;
	padding: 0.5rem 1.25rem;
	cursor: pointer;
	font-size: 0.95rem;
}

.bradford-cookie-notice button:hover {
	background: var(--wp--preset--color--bright-blue);
}

/* ---- Cloudflare Turnstile ------------------------------------------------ */

.bradford-turnstile-wrap {
	margin: 1rem 0 1.25rem;
}

/* ---- Live service page layouts (match bradfordstrategies.com) ------------- */

.bradford-service-hero {
	position: relative;
}

.bradford-service-hero__title {
	font-size: clamp(2.5rem, 5.5vw, 4.5rem) !important;
	font-weight: 700;
	line-height: 1.15;
	text-transform: capitalize;
	text-align: left;
	max-width: 580px;
}

.bradford-service-hero__subtitle {
	font-size: clamp(1.125rem, 2.2vw, 1.625rem);
	line-height: 1.55;
	text-align: left;
	max-width: 640px;
	margin-top: 1rem;
}

.bradford-service-hero__arrow-col {
	display: flex;
	justify-content: center;
}

.bradford-service-hero__arrow {
	margin: 0 auto;
}

.bradford-service-photo-band {
	background: linear-gradient(180deg, #000 60%, #0067B5 60%);
	padding: 0 clamp(1rem, 4vw, 2.5rem) clamp(2rem, 4vw, 4rem);
}

.bradford-service-photo-band__frame {
	position: relative;
	min-height: clamp(220px, 42vw, 550px);
	border-radius: 10px;
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	box-shadow: 8px 8px 36px -6px rgba(0, 0, 0, .5);
	max-width: 1280px;
	margin: 0 auto;
}

.bradford-service-photo-band__dots {
	position: absolute;
	top: 21px;
	left: 60px;
	display: flex;
	gap: 10px;
}

.bradford-service-photo-band__dots span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--green);
	opacity: .85;
}

.bradford-split-section__columns {
	align-items: flex-start;
}

.bradford-split-section__gutter {
	position: relative;
	min-height: 120px;
}

.bradford-split-section__accent {
	position: absolute;
	left: 10px;
	bottom: -20px;
	width: 3px;
	height: min(280px, 50vh);
	background: var(--wp--preset--color--green);
	border-radius: 999px;
}

.bradford-split-section__heading {
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	line-height: 1.2;
	text-align: left;
	margin-bottom: 1rem;
}

.bradford-split-section__body {
	text-align: left;
	max-width: 680px;
}

.bradford-split-section__list {
	margin: 1.25rem 0;
	padding-left: 1.25rem;
}

.bradford-split-section__cta,
.bradford-split-section__cta-row {
	margin-top: 1.5rem;
}

.bradford-eyebrow-heading__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0;
	font-size: .95rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pink);
}

.bradford-eyebrow-heading__icon {
	color: var(--wp--preset--color--pink);
}

.bradford-eyebrow-heading__title {
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	margin: 0;
}

.bradford-icon-card-grid .wp-block-column {
	display: flex;
}

.bradford-icon-card {
	height: 100%;
	padding: 1.5rem;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 16px;
	background: rgba(255, 255, 255, .03);
}

.bradford-icon-card__icon img {
	border: 2px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
	padding: .65rem;
	background: rgba(0, 0, 0, .25);
}

.bradford-subsection-grid h3 {
	font-size: 1.35rem;
}

.bradford-image-box-grid__heading {
	margin-bottom: 0;
}

.bradford-image-box {
	height: 100%;
	padding: 1.25rem;
	border: 1px solid #2a3942;
	border-radius: 16px;
	background: var(--wp--preset--color--surface);
}

.bradford-image-box__icon img {
	object-fit: contain;
}

@media (max-width: 781px) {
	.bradford-service-hero__columns {
		flex-direction: column;
	}

	.bradford-service-hero__arrow-col {
		order: -1;
		max-width: 180px;
	}

	.bradford-split-section__gutter {
		display: none;
	}

	.bradford-split-section__content {
		flex-basis: 100% !important;
	}

	.bradford-icon-card-grid {
		flex-direction: column;
	}

	.bradford-image-box-grid {
		flex-direction: column;
	}
}

/* ---- Live service page layouts (match bradfordstrategies.com) ------------- */

.bradford-svc-page,
.bradford-ls-page {
	--wp--style--root--padding-left: 10px;
	--wp--style--root--padding-right: 10px;
}

.bradford-svc-page > .alignfull,
.bradford-ls-page > .alignfull {
	margin-top: 0;
	margin-bottom: 0;
}

.bradford-svc-page .bradford-service-hero,
.bradford-ls-page .bradford-service-hero {
	padding: 140px 10px 10px !important;
}

.bradford-svc-page .bradford-service-hero--photo,
.bradford-ls-page .bradford-service-hero--photo {
	padding: 150px 10px 100px !important;
	background-color: #000 !important;
	background-blend-mode: multiply;
}

.bradford-svc-page .bradford-service-hero--tall,
.bradford-ls-page .bradford-service-hero--tall {
	padding: 150px 10px 10px !important;
}

.bradford-svc-page .bradford-service-hero__subtitle,
.bradford-ls-page .bradford-service-hero__subtitle {
	margin-top: 0;
}

.bradford-svc-photo-band,
.bradford-ls-photo-band {
	background: linear-gradient(180deg, #000 60%, #0067B5 60%);
	padding: 0 0 4vw;
}

.bradford-svc-photo-band__frame,
.bradford-ls-photo-band__frame {
	max-width: 1280px;
	margin: 0 auto;
}

.bradford-svc-photo-band__image,
.bradford-ls-photo-band__image {
	position: relative;
	min-height: clamp(300px, 42vw, 550px);
	border-radius: 10px;
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	box-shadow: 8px 8px 36px -6px rgba(0, 0, 0, .5);
}

.bradford-svc-photo-band__dots,
.bradford-ls-photo-band__dots {
	position: absolute;
	top: 21px;
	left: 60px;
	display: flex;
	gap: 10px;
}

.bradford-svc-photo-band__dots span,
.bradford-ls-photo-band__dots span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--green);
	opacity: .85;
}

.bradford-svc-intro,
.bradford-ls-intro {
	padding: 0 10px 100px;
	margin-top: 0;
}

.bradford-svc-intro__columns,
.bradford-svc-feature-row__columns,
.bradford-ls-intro__columns,
.bradford-ls-feature-row__columns {
	gap: 10px !important;
	align-items: center;
}

.bradford-svc-intro__image-col,
.bradford-svc-feature-row__image,
.bradford-ls-intro__image-col,
.bradford-ls-feature-row__image {
	flex-basis: 48% !important;
	padding-bottom: 20px;
}

.bradford-svc-intro__content-col,
.bradford-svc-feature-row__content,
.bradford-ls-intro__content-col,
.bradford-ls-feature-row__content {
	flex-basis: 52% !important;
}

.bradford-svc-image-col,
.bradford-ls-image-col {
	position: relative;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}

.bradford-svc-image-col__photo,
.bradford-ls-image-col__photo {
	position: relative;
	z-index: 2;
	min-height: clamp(300px, 40vw, 620px);
	border: 6px solid #fff;
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .5);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.bradford-svc-image-col__accent,
.bradford-ls-image-col__accent {
	position: absolute;
	bottom: -20px;
	width: 60%;
	height: clamp(200px, 28vw, 340px);
	border-radius: 15px;
	z-index: 1;
}

.bradford-svc-image-col__accent--left,
.bradford-ls-image-col__accent--left {
	left: -20px;
}

.bradford-svc-image-col__accent--right,
.bradford-ls-image-col__accent--right {
	right: 0;
}

.bradford-svc-content-col > :first-child,
.bradford-ls-content-col > :first-child {
	margin-top: 0;
}

.bradford-svc-content-col__heading,
.bradford-svc-heading-band__title,
.bradford-ls-content-col__heading,
.bradford-ls-plus-heading__title {
	font-size: clamp(1.875rem, 3.5vw, 3.375rem);
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	margin: 0 0 1.25rem;
}

.bradford-svc-content-col__body,
.bradford-svc-heading-band__body,
.bradford-ls-content-col__body {
	font-size: clamp(1rem, 2vw, 1.625rem);
	line-height: 1.55;
	text-align: left;
	max-width: 680px;
	margin: 0 0 1.5rem;
}

.bradford-svc-heading-band {
	padding: 80px 10px 30px;
}

.bradford-svc-heading-band__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 .75rem;
	font-size: .95rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--pink);
}

.bradford-svc-heading-band__title.has-text-align-center {
	text-align: center;
}

.bradford-svc-feature-row,
.bradford-ls-feature-row {
	padding: 40px 10px;
}

.bradford-svc-feature-row.bradford-ls-plus-content,
.bradford-svc-feature-row.bradford-svc-plus-content {
	padding-top: 10px;
	padding-bottom: 80px;
}

.bradford-svc-page .bradford-svc-icon-grid-band {
	padding: 30px 0 80px;
}

.bradford-svc-page .bradford-svc-subsection-band {
	padding: 80px 10px;
}

.bradford-svc-page .bradford-svc-image-box-band {
	padding: 80px 10px;
}

.bradford-svc-checklist,
.bradford-ls-checklist {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.bradford-svc-checklist li,
.bradford-ls-checklist li {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	padding: .35rem 0;
	font-size: clamp(1rem, 1.8vw, 1.25rem);
	font-weight: 300;
	line-height: 1.45;
}

.bradford-svc-checklist li::before,
.bradford-ls-checklist li::before {
	content: "✓";
	flex: 0 0 auto;
	color: var(--wp--preset--color--green);
	font-weight: 700;
}

.bradford-svc-content-col__cta,
.bradford-ls-content-col__cta {
	margin: 0;
}

.bradford-svc-btn .wp-block-button__link,
.bradford-ls-btn .wp-block-button__link {
	background: transparent !important;
	border: 2px solid #003A4B;
	border-radius: 50px;
	font-size: clamp(1rem, 2vw, 1.5rem);
	font-weight: 300;
	padding: 18px 45px 18px 35px;
}

.bradford-svc-btn .wp-block-button__link:hover,
.bradford-ls-btn .wp-block-button__link:hover {
	background: #003A4B !important;
}

/* Inline photo on solid band (social / digital secondary photos) */
.bradford-svc-inline-photo {
	background-color: var(--wp--preset--color--brand-blue, #0067B5);
}

.bradford-svc-inline-photo__frame {
	max-width: 1280px;
	margin: 0 auto;
}

.bradford-svc-inline-photo__image {
	min-height: clamp(260px, 36vw, 480px);
	border-radius: 10px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	box-shadow: 8px 8px 36px -6px rgba(0, 0, 0, .5);
}

/* Icon items row (WordPress trust row, e-commerce stats) */
.bradford-svc-icon-items-row__grid {
	gap: 24px;
}

.bradford-svc-icon-item {
	text-align: center;
}

.bradford-svc-icon-item__icon {
	margin: 0 auto 16px;
	max-width: 72px;
}

.bradford-svc-icon-item__icon img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: contain;
	margin: 0 auto;
}

.bradford-svc-icon-item__title {
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	font-weight: 600;
	margin: 0 0 8px;
}

.bradford-svc-icon-item__body {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
	opacity: .92;
}

/* Prose content bands (digital advertising) */
.bradford-svc-prose-block__inner {
	max-width: 1280px;
	margin: 0 auto;
}

.bradford-svc-prose-block__heading {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	margin: 0 0 20px;
	line-height: 1.2;
}

.bradford-svc-prose-block__body {
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0 0 16px;
	max-width: 900px;
}

.bradford-svc-prose-block__body:last-child {
	margin-bottom: 0;
}

/* Icon column inside feature rows (SEO local band, WordPress purple bands) */
.bradford-svc-image-col--items {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.bradford-svc-image-col__item-icon {
	margin: 0 0 12px;
	max-width: 72px;
}

.bradford-svc-image-col__item-icon img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: contain;
}

.bradford-svc-image-col__item-title {
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0 0 6px;
}

.bradford-svc-image-col__item-body {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
	opacity: .92;
}

/* Text-only intro (web-design) */
.bradford-svc-intro--text-only .bradford-svc-intro__content-col--solo {
	max-width: 1280px;
	margin: 0 auto;
}

/* Platform cards row (web-design) */
.bradford-svc-platform-row__columns {
	gap: 40px;
	align-items: flex-start;
}

.bradford-svc-platform-row__heading {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
}

.bradford-svc-platform-row__cards-col {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.bradford-svc-platform-card {
	background: rgba(255, 255, 255, .04);
	border-radius: 12px;
	padding: 24px;
}

.bradford-svc-platform-card__icon img {
	width: 80px;
	height: 80px;
	object-fit: contain;
}

.bradford-svc-platform-card__title {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 12px 0 8px;
}

.bradford-svc-platform-card__body {
	margin: 0 0 16px;
	line-height: 1.6;
	font-weight: 300;
}

/* Icon list band (social-media) */
.bradford-svc-icon-list-band__heading {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	margin: 0 0 16px;
}

.bradford-svc-icon-list-band__body {
	font-size: 1.05rem;
	line-height: 1.65;
	font-weight: 300;
	margin: 0 0 24px;
	max-width: 900px;
}

.bradford-svc-icon-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bradford-svc-icon-list li {
	padding: 8px 0;
	font-size: 1.05rem;
	font-weight: 500;
}

.bradford-svc-icon-list-band__lists {
	gap: 24px;
}

/* Solid process band (#003A4B) */
.bradford-svc-process-band {
	background-color: #003A4B !important;
	padding: 80px 10px !important;
}

.bradford-svc-process-band__eyebrow {
	font-size: .95rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.bradford-svc-page .bradford-contact-form-band,
.bradford-ls-page .bradford-contact-form-band {
	padding-top: 80px !important;
	padding-bottom: 80px !important;
	padding-left: 10px !important;
	padding-right: 10px !important;
}

.bradford-svc-page .bradford-band-aqua {
	padding: 80px 10px !important;
}

@media (max-width: 781px) {
	.bradford-svc-page .bradford-service-hero,
	.bradford-ls-page .bradford-service-hero {
		padding: 80px 10px 10px !important;
	}

	.bradford-svc-photo-band,
	.bradford-ls-photo-band {
		padding: 1px 10px;
	}

	.bradford-svc-intro__columns,
	.bradford-svc-feature-row__columns,
	.bradford-ls-intro__columns,
	.bradford-ls-feature-row__columns {
		flex-direction: column;
	}

	.bradford-svc-intro__content-col,
	.bradford-svc-feature-row__content,
	.bradford-svc-feature-row__image,
	.bradford-svc-intro__image-col,
	.bradford-ls-intro__content-col,
	.bradford-ls-feature-row__content,
	.bradford-ls-feature-row__image,
	.bradford-ls-intro__image-col {
		flex-basis: 100% !important;
	}

	.bradford-svc-intro__content-col,
	.bradford-ls-intro__content-col {
		margin-top: 20px;
	}

	.bradford-svc-content-col__heading,
	.bradford-svc-content-col__body,
	.bradford-svc-heading-band__title,
	.bradford-ls-content-col__heading,
	.bradford-ls-content-col__body,
	.bradford-ls-plus-heading__title {
		text-align: center;
	}

	.bradford-svc-content-col__body,
	.bradford-ls-content-col__body {
		margin-left: auto;
		margin-right: auto;
	}

	.bradford-svc-image-col__photo,
	.bradford-ls-image-col__photo {
		min-height: 300px;
	}

	.bradford-svc-image-col__accent,
	.bradford-ls-image-col__accent {
		width: 70%;
		height: 200px;
	}

	.bradford-svc-photo-band__dots,
	.bradford-ls-photo-band__dots {
		left: 24px;
	}

	.bradford-svc-page .bradford-service-hero__arrow img,
	.bradford-ls-page .bradford-service-hero__arrow img {
		max-width: 50px;
	}
}
