:root {
  --so-charcoal: #1F2326;
  --so-bronze: #7A5C38;
  --so-red: #7B1F23;
  --so-ivory: #E6E2DA;
  --so-steel: #4E5256;
  --so-white: #FFFFFF;
  --so-radius: 14px;
  --so-shadow: 0 10px 28px rgba(31, 35, 38, 0.09);
  --so-content: 1200px;
}

.streamops-home {
  color: var(--so-charcoal);
  font-family: "Source Sans 3", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

.streamops-home *,
.streamops-home *::before,
.streamops-home *::after {
  box-sizing: border-box;
}

.streamops-home h1,
.streamops-home h2,
.streamops-home h3,
.streamops-home h4 {
  color: var(--so-charcoal);
  font-family: "Montserrat", Arial, sans-serif;
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: 0.025em;
  text-wrap: balance;
}

.streamops-home h1 {
  font-size: clamp(2.25rem, 5vw, 4.4rem);
  margin-bottom: 1.25rem;
}

.streamops-home h2 {
  font-size: clamp(1.8rem, 3.3vw, 3rem);
}

.streamops-home h3 {
  font-size: clamp(1.3rem, 2vw, 1.65rem);
}

.streamops-home p {
  margin-top: 0;
}

.streamops-home .home-section {
  padding: clamp(3.5rem, 7vw, 6.5rem)
    clamp(1.25rem, 4vw, 3rem);
}

.streamops-home .home-section > * {
  max-width: var(--so-content);
  margin-left: auto;
  margin-right: auto;
}

.streamops-home .home-hero {
  background: var(--so-white);
  padding-top: 1rem;
  text-align: center;
}

.streamops-home .home-hero p {
  max-width: 820px;
}

.streamops-home .home-logo {
  width: min(100%, 900px);
  margin: 0 auto;
}

.streamops-home .home-logo img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.streamops-home .home-intro,
.streamops-home .home-final {
  background: var(--so-ivory);
}

.streamops-home .home-intro > *,
.streamops-home .home-final > * {
  max-width: 820px;
}

.streamops-home .home-pathway-section {
  background: var(--so-white);
  scroll-margin-top: 90px;
}

.streamops-home .home-pathways {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2rem);
  align-items: stretch;
  margin-top: 2.5rem;
}

.streamops-home .path-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--so-ivory);
  border: 1px solid rgba(78, 82, 86, 0.35);
  border-top: 4px solid var(--so-bronze);
  border-radius: var(--so-radius);
  box-shadow: var(--so-shadow);
  transition: border-color 160ms ease, transform 160ms ease;
}

.streamops-home .path-card:hover {
  border-color: var(--so-red);
  transform: translateY(-2px);
}

.streamops-home .path-card .wp-block-buttons {
  margin-top: auto;
  padding-top: 1.25rem;
}

.streamops-home .wp-block-button__link {
  min-height: 48px;
  padding: 0.8rem 1.35rem;
  border: 2px solid var(--so-red);
  border-radius: 8px;
  background: var(--so-red);
  color: var(--so-white);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background 160ms ease, color 160ms ease,
    border-color 160ms ease;
}

.streamops-home .wp-block-button__link:hover {
  border-color: var(--so-charcoal);
  background: var(--so-charcoal);
  color: var(--so-white);
}

.streamops-home
  .wp-block-button.is-style-outline
  .wp-block-button__link {
  background: transparent;
  color: var(--so-red);
}

.streamops-home
  .wp-block-button.is-style-outline
  .wp-block-button__link:hover {
  background: var(--so-charcoal);
  color: var(--so-white);
}

.streamops-home a:focus-visible,
.streamops-home button:focus-visible,
.streamops-home .wp-block-button__link:focus-visible {
  outline: 3px solid var(--so-bronze);
  outline-offset: 4px;
}

.streamops-home .home-credibility {
  background: var(--so-charcoal);
  color: var(--so-ivory);
}

.streamops-home .home-credibility h2,
.streamops-home .home-credibility h3 {
  color: var(--so-ivory);
}

.streamops-home .home-credibility::before {
  display: block;
  width: 72px;
  height: 3px;
  margin: 0 auto 1.5rem;
  background: var(--so-bronze);
  content: "";
}

.streamops-home .home-final {
  text-align: center;
}

.streamops-home .home-final .wp-block-buttons,
.streamops-home .home-hero .wp-block-buttons {
  justify-content: center;
  gap: 0.8rem;
}

@media (max-width: 781px) {
  .streamops-home {
    font-size: 17px;
  }

  .streamops-home .home-section {
    padding: 3.5rem 1.25rem;
  }

  .streamops-home .home-pathways {
    grid-template-columns: 1fr;
  }

  .streamops-home .path-card {
    padding: 1.5rem;
  }

  .streamops-home .wp-block-buttons {
    width: 100%;
    flex-direction: column;
  }

  .streamops-home .wp-block-button,
  .streamops-home .wp-block-button__link {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .streamops-home *,
  .streamops-home *::before,
  .streamops-home *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
.streamops-home
  .wp-block-button.so-home-secondary-button
  .wp-block-button__link {
  background: var(--so-bronze);
  border-color: var(--so-bronze);
  color: var(--so-white);
}

.streamops-home
  .wp-block-button.so-home-secondary-button
  .wp-block-button__link:hover {
  background: var(--so-charcoal);
  border-color: var(--so-charcoal);
  color: var(--so-white);
}
/* ==================================================
   STREAM-OPS — BECOME AN EVENT OPERATOR PAGE
   Scoped to the recruiting page only
   ================================================== */

.streamops-recruit-page {
	--so-charcoal: #1F2326;
	--so-bronze: #7A5C38;
	--so-red: #7B1F23;
	--so-red-hover: #64181C;
	--so-ivory: #E6E2DA;
	--so-steel: #4E5256;
	--so-white: #FFFFFF;

	background: var(--so-ivory);
	color: var(--so-charcoal);
	font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
	font-size: 1.0625rem;
	line-height: 1.65;
}

/* Hero */
.streamops-recruit-page .streamops-operator-hero {
	padding: clamp(3rem, 7vw, 5rem) clamp(1.25rem, 4vw, 3rem);
	background: var(--so-charcoal);
	color: var(--so-ivory);
}

.streamops-recruit-page .streamops-operator-hero h1 {
	max-width: 720px;
	margin-top: 0.5rem;
	margin-bottom: 1.25rem;
	color: var(--so-white);
	font-family: Montserrat, "Segoe UI", Arial, sans-serif;
	font-size: clamp(2.25rem, 5vw, 4rem);
	line-height: 1.1;
	letter-spacing: 0.01em;
}

.streamops-recruit-page .streamops-operator-hero p {
	max-width: 700px;
}

.streamops-recruit-page .streamops-operator-logo img {
	display: block;
	width: 100%;
	max-width: 560px;
	height: auto;
	margin-inline: auto;
	object-fit: contain;
}

/* Main page sections */
.streamops-recruit-page .streamops-section {
	padding: clamp(3rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
}

.streamops-recruit-page .streamops-section > * {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
}

.streamops-recruit-page .streamops-section > .wp-block-columns {
	max-width: 1100px;
}

.streamops-recruit-page .streamops-section-white {
	background: var(--so-white);
}

.streamops-recruit-page .streamops-section-ivory,
.streamops-recruit-page .streamops-requirements,
.streamops-recruit-page .streamops-assignment-process,
.streamops-recruit-page .streamops-application-process {
	background: var(--so-ivory);
}

.streamops-recruit-page .streamops-section h2 {
	margin-top: 0;
	margin-bottom: 1.25rem;
	color: var(--so-charcoal);
	font-family: Montserrat, "Segoe UI", Arial, sans-serif;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	line-height: 1.2;
}

.streamops-recruit-page .streamops-section ul,
.streamops-recruit-page .streamops-section ol {
	padding-left: 1.4rem;
}

.streamops-recruit-page .streamops-section li {
	margin-bottom: 0.65rem;
}

/* Highlighted notices */
.streamops-recruit-page .streamops-notice {
	max-width: 900px;
	margin: 2rem auto;
	padding: 1.25rem 1.5rem;
	background: var(--so-white);
	border-left: 6px solid var(--so-bronze);
	border-radius: 6px;
	box-shadow: 0 6px 18px rgba(31, 35, 38, 0.08);
}

.streamops-recruit-page .streamops-contractor-notice {
	border: 1px solid rgba(122, 92, 56, 0.45);
	border-left: 6px solid var(--so-bronze);
}

/* FAQ Details blocks */
.streamops-recruit-page .streamops-faq details {
	margin-bottom: 0.85rem;
	padding: 1rem 1.15rem;
	background: var(--so-ivory);
	border: 1px solid rgba(78, 82, 86, 0.32);
	border-radius: 7px;
}

.streamops-recruit-page .streamops-faq summary {
	cursor: pointer;
	font-weight: 700;
}

.streamops-recruit-page .streamops-faq details p {
	margin-bottom: 0;
}

/* Primary CTA button */
.streamops-recruit-page .streamops-primary-cta .wp-block-button__link,
.streamops-recruit-page a.streamops-primary-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.8rem 1.4rem;
	background: var(--so-red);
	color: var(--so-white);
	border: 2px solid var(--so-red);
	border-radius: 7px;
	font-family: Montserrat, "Segoe UI", Arial, sans-serif;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.streamops-recruit-page .streamops-primary-cta .wp-block-button__link:hover,
.streamops-recruit-page .streamops-primary-cta .wp-block-button__link:focus-visible,
.streamops-recruit-page a.streamops-primary-cta:hover,
.streamops-recruit-page a.streamops-primary-cta:focus-visible {
	background: var(--so-red-hover);
	border-color: var(--so-red-hover);
	color: var(--so-white);
}

/* Final CTA */
.streamops-recruit-page .streamops-final-cta {
	padding: clamp(3.5rem, 7vw, 5rem) clamp(1.25rem, 4vw, 3rem);
	background: var(--so-charcoal);
	color: var(--so-ivory);
	text-align: center;
}

.streamops-recruit-page .streamops-final-cta h2 {
	margin-top: 0;
	color: var(--so-white);
	font-family: Montserrat, "Segoe UI", Arial, sans-serif;
	font-size: clamp(2rem, 4vw, 3rem);
}

.streamops-recruit-page .streamops-final-cta p {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

/* Keyboard accessibility */
.streamops-recruit-page a:focus-visible,
.streamops-recruit-page button:focus-visible,
.streamops-recruit-page summary:focus-visible {
	outline: 3px solid var(--so-red);
	outline-offset: 3px;
}

/* Mobile */
@media (max-width: 781px) {
	.streamops-recruit-page {
		font-size: 1rem;
		line-height: 1.6;
	}

	.streamops-recruit-page .streamops-operator-hero {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	.streamops-recruit-page .streamops-operator-logo img {
		max-width: 420px;
	}

	.streamops-recruit-page .wp-block-buttons {
		gap: 0.75rem;
	}

	.streamops-recruit-page .streamops-primary-cta,
	.streamops-recruit-page .streamops-primary-cta .wp-block-button__link {
		width: 100%;
	}

	.streamops-recruit-page .streamops-notice {
		margin-left: 1.25rem;
		margin-right: 1.25rem;
	}
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
	.streamops-recruit-page *,
	.streamops-recruit-page *::before,
	.streamops-recruit-page *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
/* ==================================================
   STREAM-OPS OPERATOR PORTAL — LOGGED-OUT PAGE
   Scoped only to .streamops-portal-page
   ================================================== */

.streamops-portal-page {
	--so-charcoal: #1F2326;
	--so-bronze: #7A5C38;
	--so-red: #7B1F23;
	--so-red-hover: #64181C;
	--so-ivory: #E6E2DA;
	--so-steel: #4E5256;
	--so-white: #FFFFFF;

	box-sizing: border-box;
	min-height: 680px;
	padding: clamp(2.5rem, 6vw, 5rem) 1.25rem;
	background: var(--so-charcoal);
	color: var(--so-ivory);
	font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
	font-size: 1.0625rem;
	line-height: 1.6;
}

/* Keep sizing predictable */
.streamops-portal-page *,
.streamops-portal-page *::before,
.streamops-portal-page *::after {
	box-sizing: border-box;
}

/* Main white login panel */
.streamops-portal-page .streamops-login-panel {
	width: min(100%, 580px) !important;
	max-width: 580px !important;
	margin: 0 auto !important;
	padding: clamp(1.5rem, 5vw, 2.5rem) !important;
	background: var(--so-white);
	color: var(--so-charcoal);
	border: 1px solid var(--so-bronze);
	border-radius: 14px;
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.28);
	text-align: center;
}

/* Remove unwanted outer margins inside the panel */
.streamops-portal-page .streamops-login-panel > :first-child {
	margin-top: 0;
}

.streamops-portal-page .streamops-login-panel > :last-child {
	margin-bottom: 0;
}

/* Operator logo display width */
.streamops-portal-page .streamops-operator-logo {
	width: 100%;
	max-width: 420px;
	margin: 0 auto 1.5rem;
}

.streamops-portal-page .streamops-operator-logo img,
.streamops-portal-page figure.streamops-operator-logo img {
	display: block;
	width: 100% !important;
	max-width: 420px !important;
	height: auto !important;
	margin: 0 auto;
	object-fit: contain;
}

/* Main portal heading */
.streamops-portal-page .streamops-login-panel h1 {
	margin: 0 0 1rem;
	color: var(--so-charcoal);
	font-family: Montserrat, "Segoe UI", Arial, sans-serif;
	font-size: clamp(2rem, 5vw, 2.75rem);
	font-weight: 600;
	line-height: 1.15;
}

/* Secondary headings */
.streamops-portal-page .streamops-login-panel h2 {
	margin: 1.5rem 0 0.75rem;
	color: var(--so-charcoal);
	font-family: Montserrat, "Segoe UI", Arial, sans-serif;
	font-size: clamp(1.35rem, 3vw, 1.7rem);
	font-weight: 600;
	line-height: 1.25;
}

/* Paragraph spacing */
.streamops-portal-page .streamops-login-panel p {
	margin-top: 0.75rem;
	margin-bottom: 1rem;
}

/* Make the WordPress Buttons container full width */
.streamops-portal-page .wp-block-buttons {
	width: 100%;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
}

/* Primary login Button block */
.streamops-portal-page .streamops-primary-cta.wp-block-button,
.streamops-portal-page .wp-block-button.streamops-primary-cta,
.streamops-portal-page
.wp-block-buttons.streamops-primary-cta
.wp-block-button {
	width: 100% !important;
}

/* Primary login button link */
.streamops-portal-page
.streamops-primary-cta
.wp-block-button__link,
.streamops-portal-page
.wp-block-button.streamops-primary-cta
.wp-block-button__link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 50px;
	padding: 0.85rem 1.25rem !important;
	background: var(--so-red) !important;
	color: var(--so-white) !important;
	border: 2px solid var(--so-red) !important;
	border-radius: 7px !important;
	font-family: Montserrat, "Segoe UI", Arial, sans-serif;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
}

/* Primary button hover */
.streamops-portal-page
.streamops-primary-cta
.wp-block-button__link:hover,
.streamops-portal-page
.wp-block-button.streamops-primary-cta
.wp-block-button__link:hover {
	background: var(--so-red-hover) !important;
	border-color: var(--so-red-hover) !important;
	color: var(--so-white) !important;
}

/* Secondary recruiting Button block */
.streamops-portal-page .streamops-secondary-cta.wp-block-button,
.streamops-portal-page .wp-block-button.streamops-secondary-cta {
	width: 100% !important;
}

/* Secondary recruiting button */
.streamops-portal-page
.streamops-secondary-cta
.wp-block-button__link,
.streamops-portal-page
.wp-block-button.streamops-secondary-cta
.wp-block-button__link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 48px;
	padding: 0.8rem 1.2rem !important;
	background: transparent !important;
	color: var(--so-red) !important;
	border: 2px solid var(--so-red) !important;
	border-radius: 7px !important;
	font-family: Montserrat, "Segoe UI", Arial, sans-serif;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
}

/* Secondary button hover */
.streamops-portal-page
.streamops-secondary-cta
.wp-block-button__link:hover,
.streamops-portal-page
.wp-block-button.streamops-secondary-cta
.wp-block-button__link:hover {
	background: var(--so-red) !important;
	color: var(--so-white) !important;
}

/* Regular text links */
.streamops-portal-page .streamops-login-panel a:not(.wp-block-button__link) {
	color: var(--so-red);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.streamops-portal-page
.streamops-login-panel
a:not(.wp-block-button__link):hover {
	color: var(--so-red-hover);
}

/* Separator width and centering */
.streamops-portal-page .streamops-login-panel .wp-block-separator {
	width: 64% !important;
	max-width: 300px !important;
	margin: 2rem auto !important;
	border: 0;
	border-top: 1px solid var(--so-bronze);
	opacity: 1;
}

/* Account support section */
.streamops-portal-page .streamops-portal-support {
	margin-top: 0.5rem;
	padding: 1rem 1.1rem;
	background: var(--so-ivory);
	border-left: 5px solid var(--so-bronze);
	border-radius: 6px;
	text-align: left;
}

.streamops-portal-page .streamops-portal-support h2 {
	margin-top: 0;
}

/* Security note */
.streamops-portal-page .streamops-security-note {
	margin-top: 1.5rem;
	color: var(--so-steel);
	font-size: 0.9rem;
	line-height: 1.5;
}

/* Keyboard focus */
.streamops-portal-page a:focus-visible,
.streamops-portal-page button:focus-visible,
.streamops-portal-page input:focus-visible {
	outline: 3px solid var(--so-red) !important;
	outline-offset: 3px;
}

/* Tablet and mobile */
@media (max-width: 640px) {
	.streamops-portal-page {
		min-height: 0;
		padding: 1.5rem 1rem;
		font-size: 1rem;
	}

	.streamops-portal-page .streamops-login-panel {
		width: 100% !important;
		padding: 1.4rem !important;
		border-radius: 10px;
	}

	.streamops-portal-page .streamops-operator-logo {
		max-width: 330px;
		margin-bottom: 1.25rem;
	}

	.streamops-portal-page .streamops-operator-logo img,
	.streamops-portal-page figure.streamops-operator-logo img {
		max-width: 330px !important;
	}

	.streamops-portal-page .streamops-login-panel .wp-block-separator {
		width: 75% !important;
	}

	.streamops-portal-page .streamops-primary-cta,
	.streamops-portal-page .streamops-secondary-cta,
	.streamops-portal-page .wp-block-button__link {
		width: 100% !important;
	}
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
	.streamops-portal-page *,
	.streamops-portal-page *::before,
	.streamops-portal-page *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
/* =========================================================
   STREAM-OPS EVENT OPERATOR PORTAL — LOGGED-IN PAGE
   Scoped only to .stream-ops-operator-portal
   ========================================================= */

.stream-ops-operator-portal {
	--so-charcoal: #1F2326;
	--so-bronze: #7A5C38;
	--so-red: #7B1F23;
	--so-red-hover: #64181C;
	--so-ivory: #E6E2DA;
	--so-steel: #4E5256;
	--so-white: #FFFFFF;
	--so-soft-white: #F8F7F3;
	--so-pale-red: #FFF5F5;
	--so-content-width: 1120px;
	--so-radius-large: 18px;
	--so-radius-medium: 12px;
	--so-shadow: 0 12px 30px rgba(31, 35, 38, 0.09);

	/* Minimal embedded line icons */
	--so-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01M16 18h.01'/%3E%3C/svg%3E");

	--so-icon-availability: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='m16 11 2 2 4-4'/%3E%3C/svg%3E");

	--so-icon-support: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a8 8 0 0 1 16 0'/%3E%3Cpath d='M18 19c0 1.1-.9 2-2 2h-3'/%3E%3Cpath d='M4 14v3a2 2 0 0 0 2 2h1v-7H6a2 2 0 0 0-2 2ZM20 14v3a2 2 0 0 1-2 2h-1v-7h1a2 2 0 0 1 2 2Z'/%3E%3C/svg%3E");

	--so-icon-logout: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3C/svg%3E");

	--so-icon-season: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-5v12L3 14v-3Z'/%3E%3Cpath d='M11.6 16.8 13 21H8l-1.2-5.3M21 10v4'/%3E%3C/svg%3E");

	--so-icon-expansion: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M16.24 7.76a6 6 0 0 1 0 8.49M7.76 16.24a6 6 0 0 1 0-8.49M19.07 4.93a10 10 0 0 1 0 14.14M4.93 19.07a10 10 0 0 1 0-14.14'/%3E%3C/svg%3E");

	--so-icon-operator: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M2 21v-2a4 4 0 0 1 4-4h5'/%3E%3Cpath d='m16 19 2 2 4-4'/%3E%3C/svg%3E");

	--so-icon-payment: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h2'/%3E%3C/svg%3E");

	--so-icon-tips: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4M8.5 14.5A7 7 0 1 1 15.5 14.5c-.9.7-1.5 1.8-1.5 3.5h-4c0-1.7-.6-2.8-1.5-3.5Z'/%3E%3C/svg%3E");

	--so-icon-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2.5 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5-5.8-3.1-5.8 3.1 1.1-6.5-4.7-4.6 6.5-.9L12 2.5Z'/%3E%3C/svg%3E");

	width: 100%;
	max-width: none;
	margin: 0;
	padding:
		clamp(1rem, 2.5vw, 2rem)
		clamp(1rem, 4vw, 3rem)
		clamp(3rem, 6vw, 5rem);
	overflow-x: clip;
	background: var(--so-ivory);
	color: var(--so-charcoal);
	font-family: "Source Sans 3", "Segoe UI", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.62;
}


/* =========================================================
   FOUNDATION AND OVERFLOW PROTECTION
   ========================================================= */

.stream-ops-operator-portal *,
.stream-ops-operator-portal *::before,
.stream-ops-operator-portal *::after {
	box-sizing: border-box;
}

.stream-ops-operator-portal img,
.stream-ops-operator-portal iframe,
.stream-ops-operator-portal video,
.stream-ops-operator-portal table {
	max-width: 100%;
}

.stream-ops-operator-portal .wp-block-columns,
.stream-ops-operator-portal .wp-block-column,
.stream-ops-operator-portal .wp-block-group {
	min-width: 0;
}

.stream-ops-operator-portal p,
.stream-ops-operator-portal li,
.stream-ops-operator-portal a {
	overflow-wrap: anywhere;
}


/* =========================================================
   TYPOGRAPHY AND DEFAULT SPACING
   ========================================================= */

.stream-ops-operator-portal :is(h1, h2, h3, h4, summary),
.stream-ops-operator-portal .wp-block-button__link {
	font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
}

.stream-ops-operator-portal :is(h1, h2, h3, h4) {
	margin-top: 0;
	color: var(--so-charcoal);
	font-weight: 600;
	line-height: 1.18;
	letter-spacing: 0.025em;
	text-wrap: balance;
}

.stream-ops-operator-portal h1 {
	margin-bottom: 1rem;
	font-size: clamp(2.15rem, 4vw, 3.4rem);
}

.stream-ops-operator-portal h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.65rem, 3vw, 2.3rem);
}

.stream-ops-operator-portal h3 {
	margin-bottom: 0.7rem;
	font-size: clamp(1.2rem, 2vw, 1.5rem);
}

.stream-ops-operator-portal p {
	max-width: 72ch;
	margin-top: 0;
	margin-bottom: 1rem;
}

.stream-ops-operator-portal ul,
.stream-ops-operator-portal ol {
	margin-top: 0.75rem;
	margin-bottom: 1rem;
	padding-left: 1.35em;
}

.stream-ops-operator-portal li + li {
	margin-top: 0.45rem;
}

.stream-ops-operator-portal a:not(.wp-block-button__link) {
	color: var(--so-red);
	font-weight: 600;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.16em;
}


/* =========================================================
   SHARED SECTION WIDTH AND VERTICAL RHYTHM
   ========================================================= */

.stream-ops-operator-portal .operator-portal-hero,
.stream-ops-operator-portal .operator-portal-actions,
.stream-ops-operator-portal .operator-updates,
.stream-ops-operator-portal .operator-payment-policy,
.stream-ops-operator-portal .operator-tips,
.stream-ops-operator-portal .operator-spotlight,
.stream-ops-operator-portal .operator-support,
.stream-ops-operator-portal .operator-closing-action {
	width: min(100%, var(--so-content-width));
	margin-right: auto;
	margin-left: auto;
}

.stream-ops-operator-portal .operator-portal-hero + *,
.stream-ops-operator-portal .operator-portal-actions + *,
.stream-ops-operator-portal .operator-updates + *,
.stream-ops-operator-portal .operator-payment-policy + *,
.stream-ops-operator-portal .operator-tips + *,
.stream-ops-operator-portal .operator-spotlight + *,
.stream-ops-operator-portal .operator-support + * {
	margin-top: clamp(1.6rem, 3.2vw, 2.25rem);
}

.stream-ops-operator-portal .operator-updates,
.stream-ops-operator-portal .operator-payment-policy,
.stream-ops-operator-portal .operator-spotlight,
.stream-ops-operator-portal .operator-closing-action {
	padding: clamp(1.4rem, 4vw, 2.5rem);
	background: var(--so-white);
	border: 1px solid rgba(122, 92, 56, 0.35);
	border-radius: var(--so-radius-large);
	box-shadow: var(--so-shadow);
}


/* =========================================================
   HERO
   ========================================================= */

.stream-ops-operator-portal .operator-portal-hero {
	padding: clamp(1.5rem, 4vw, 3rem);
	overflow: hidden;
	background: var(--so-charcoal);
	color: var(--so-ivory);
	border: 1px solid var(--so-bronze);
	border-radius: var(--so-radius-large);
	box-shadow: var(--so-shadow);
}

.stream-ops-operator-portal
.operator-portal-hero
.wp-block-columns {
	align-items: center;
	gap: clamp(1.75rem, 4vw, 3rem);
	margin: 0;
}

.stream-ops-operator-portal
.operator-portal-hero
.wp-block-image {
	margin: 0;
	padding: clamp(0.5rem, 2vw, 1.25rem);
	text-align: center;
}

.stream-ops-operator-portal
.operator-portal-hero
.wp-block-image img {
	display: block;
	width: min(100%, 420px);
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}

.stream-ops-operator-portal
.operator-portal-hero
:is(h1, h2, h3) {
	color: var(--so-white);
}

.stream-ops-operator-portal
.operator-portal-hero p {
	color: var(--so-ivory);
}

.stream-ops-operator-portal .operator-portal-greeting {
	margin: 0 0 0.75rem;
	color: var(--so-ivory);
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	font-weight: 600;
	line-height: 1.4;
}

.stream-ops-operator-portal
.operator-portal-hero
.wp-block-buttons {
	gap: 0.75rem;
	margin-top: 1.25rem;
}


/* =========================================================
   BUTTON SYSTEM
   ========================================================= */

.stream-ops-operator-portal .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0.82rem 1.35rem;
	border: 2px solid transparent;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.025em;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		color 160ms ease,
		transform 160ms ease;
}

/* Primary action: View My Schedule */

.stream-ops-operator-portal
.wp-block-button.operator-primary-action
.wp-block-button__link,
.stream-ops-operator-portal
.operator-primary-action.wp-block-button
.wp-block-button__link,
.stream-ops-operator-portal
.operator-action-card.operator-primary-action
.wp-block-button__link,
.stream-ops-operator-portal
.operator-closing-action
.operator-primary-action
.wp-block-button__link {
	min-height: 54px;
	padding-right: 1.65rem;
	padding-left: 1.65rem;
	background: var(--so-red) !important;
	color: var(--so-white) !important;
	border-color: var(--so-red) !important;
}

.stream-ops-operator-portal
.wp-block-button.operator-primary-action
.wp-block-button__link:hover,
.stream-ops-operator-portal
.operator-primary-action.wp-block-button
.wp-block-button__link:hover,
.stream-ops-operator-portal
.operator-action-card.operator-primary-action
.wp-block-button__link:hover,
.stream-ops-operator-portal
.operator-closing-action
.operator-primary-action
.wp-block-button__link:hover {
	background: var(--so-red-hover) !important;
	border-color: var(--so-red-hover) !important;
	transform: translateY(-1px);
}

/* Secondary actions on light backgrounds */

.stream-ops-operator-portal
.wp-block-button.operator-secondary-action
.wp-block-button__link,
.stream-ops-operator-portal
.operator-secondary-action.wp-block-button
.wp-block-button__link,
.stream-ops-operator-portal
.operator-action-card
.operator-secondary-action
.wp-block-button__link {
	background: var(--so-charcoal) !important;
	color: var(--so-white) !important;
	border-color: var(--so-charcoal) !important;
}

.stream-ops-operator-portal
.wp-block-button.operator-secondary-action
.wp-block-button__link:hover,
.stream-ops-operator-portal
.operator-secondary-action.wp-block-button
.wp-block-button__link:hover,
.stream-ops-operator-portal
.operator-action-card
.operator-secondary-action
.wp-block-button__link:hover {
	background: var(--so-steel) !important;
	border-color: var(--so-steel) !important;
}

/* Secondary action inside the dark hero */

.stream-ops-operator-portal
.operator-portal-hero
.operator-secondary-action
.wp-block-button__link {
	background: transparent !important;
	color: var(--so-ivory) !important;
	border-color: var(--so-bronze) !important;
}

.stream-ops-operator-portal
.operator-portal-hero
.operator-secondary-action
.wp-block-button__link:hover {
	background: var(--so-bronze) !important;
	color: var(--so-white) !important;
	border-color: var(--so-bronze) !important;
}

/* Lower-emphasis Logout button */

.stream-ops-operator-portal
.wp-block-button.operator-tertiary-action
.wp-block-button__link,
.stream-ops-operator-portal
.operator-tertiary-action.wp-block-button
.wp-block-button__link {
	background: transparent !important;
	color: var(--so-steel) !important;
	border-color: var(--so-steel) !important;
}

.stream-ops-operator-portal
.wp-block-button.operator-tertiary-action
.wp-block-button__link:hover,
.stream-ops-operator-portal
.operator-tertiary-action.wp-block-button
.wp-block-button__link:hover {
	background: var(--so-soft-white) !important;
	color: var(--so-charcoal) !important;
	border-color: var(--so-charcoal) !important;
}

/* Fallback for action-card buttons without an assigned class */

.stream-ops-operator-portal
.operator-action-card:not(.operator-primary-action)
.wp-block-button__link {
	background: var(--so-charcoal);
	color: var(--so-white);
	border-color: var(--so-charcoal);
}

.stream-ops-operator-portal
.operator-action-card:not(.operator-primary-action)
.wp-block-button__link:hover {
	background: var(--so-steel);
	color: var(--so-white);
	border-color: var(--so-steel);
}


/* =========================================================
   CSS ICON SYSTEM
   ========================================================= */

.stream-ops-operator-portal .operator-icon-schedule {
	--operator-icon: var(--so-icon-calendar);
}

.stream-ops-operator-portal .operator-icon-availability {
	--operator-icon: var(--so-icon-availability);
}

.stream-ops-operator-portal .operator-icon-support {
	--operator-icon: var(--so-icon-support);
}

.stream-ops-operator-portal .operator-icon-logout {
	--operator-icon: var(--so-icon-logout);
}

.stream-ops-operator-portal .operator-icon-season {
	--operator-icon: var(--so-icon-season);
}

.stream-ops-operator-portal .operator-icon-expansion {
	--operator-icon: var(--so-icon-expansion);
}

.stream-ops-operator-portal .operator-icon-operator {
	--operator-icon: var(--so-icon-operator);
}

/* Card heading icons */

.stream-ops-operator-portal
.operator-action-card[class*="operator-icon-"]
h3:first-of-type,
.stream-ops-operator-portal
.operator-update-card[class*="operator-icon-"]
h3:first-of-type {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
}

.stream-ops-operator-portal
.operator-action-card[class*="operator-icon-"]
h3:first-of-type::before,
.stream-ops-operator-portal
.operator-update-card[class*="operator-icon-"]
h3:first-of-type::before {
	display: inline-block;
	flex: 0 0 1.35rem;
	width: 1.35rem;
	height: 1.35rem;
	margin-top: 0.05rem;
	background-color: var(--so-bronze);
	content: "";
	-webkit-mask-image: var(--operator-icon);
	mask-image: var(--operator-icon);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.stream-ops-operator-portal
.operator-update-card[class*="operator-icon-"]
h3:first-of-type::before {
	background-color: var(--so-red);
}

/* Button icons */

.stream-ops-operator-portal
.wp-block-button[class*="operator-icon-"]
.wp-block-button__link,
.stream-ops-operator-portal
.operator-action-card[class*="operator-icon-"]
.wp-block-button__link {
	gap: 0.55rem;
}

.stream-ops-operator-portal
.wp-block-button[class*="operator-icon-"]
.wp-block-button__link::before,
.stream-ops-operator-portal
.operator-action-card[class*="operator-icon-"]
.wp-block-button__link::before {
	display: inline-block;
	flex: 0 0 1.05rem;
	width: 1.05rem;
	height: 1.05rem;
	background-color: currentColor;
	content: "";
	-webkit-mask-image: var(--operator-icon);
	mask-image: var(--operator-icon);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* Section heading icon assignments */

.stream-ops-operator-portal .operator-updates {
	--operator-section-icon: var(--so-icon-season);
}

.stream-ops-operator-portal .operator-payment-policy {
	--operator-section-icon: var(--so-icon-payment);
}

.stream-ops-operator-portal .operator-tips {
	--operator-section-icon: var(--so-icon-tips);
}

.stream-ops-operator-portal .operator-spotlight {
	--operator-section-icon: var(--so-icon-star);
}

.stream-ops-operator-portal .operator-support {
	--operator-section-icon: var(--so-icon-support);
}

.stream-ops-operator-portal .operator-closing-action {
	--operator-section-icon: var(--so-icon-calendar);
}

.stream-ops-operator-portal
.operator-updates > h2:first-child,
.stream-ops-operator-portal
.operator-payment-policy > h2:first-child,
.stream-ops-operator-portal
.operator-tips > h2:first-child,
.stream-ops-operator-portal
.operator-spotlight > h2:first-child,
.stream-ops-operator-portal
.operator-support > h2:first-child,
.stream-ops-operator-portal
.operator-closing-action > h2:first-child {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.stream-ops-operator-portal
.operator-updates > h2:first-child::before,
.stream-ops-operator-portal
.operator-payment-policy > h2:first-child::before,
.stream-ops-operator-portal
.operator-tips > h2:first-child::before,
.stream-ops-operator-portal
.operator-spotlight > h2:first-child::before,
.stream-ops-operator-portal
.operator-support > h2:first-child::before,
.stream-ops-operator-portal
.operator-closing-action > h2:first-child::before {
	display: inline-block;
	flex: 0 0 1.55rem;
	width: 1.55rem;
	height: 1.55rem;
	background-color: var(--so-bronze);
	content: "";
	-webkit-mask-image: var(--operator-section-icon);
	mask-image: var(--operator-section-icon);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.stream-ops-operator-portal
.operator-updates > h2:first-child::before {
	background-color: var(--so-red);
}


/* =========================================================
   QUICK ACTIONS
   ========================================================= */

.stream-ops-operator-portal .operator-portal-actions {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
}

.stream-ops-operator-portal
.operator-portal-actions > p {
	margin-bottom: 1.25rem;
}

.stream-ops-operator-portal
.operator-portal-actions > .operator-action-card {
	margin-top: 1.25rem;
}

.stream-ops-operator-portal
.operator-portal-actions
.wp-block-columns {
	align-items: stretch;
	gap: clamp(1rem, 2vw, 1.25rem);
	margin-top: 1.25rem;
	margin-bottom: 0;
}

.stream-ops-operator-portal
.operator-portal-actions
.wp-block-column {
	display: flex;
}

.stream-ops-operator-portal .operator-action-card {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: clamp(1.25rem, 3vw, 1.65rem);
	background: var(--so-white);
	border: 1px solid rgba(122, 92, 56, 0.45);
	border-top: 4px solid var(--so-bronze);
	border-radius: var(--so-radius-medium);
	box-shadow: 0 8px 20px rgba(31, 35, 38, 0.07);
}

.stream-ops-operator-portal
.operator-action-card > :last-child {
	margin-bottom: 0;
}

.stream-ops-operator-portal
.operator-action-card
.wp-block-buttons {
	margin-top: auto;
	padding-top: 1rem;
}

/* Dominant schedule card */

.stream-ops-operator-portal
.operator-action-card.operator-primary-action {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	column-gap: 1.5rem;
	align-items: center;
	padding: clamp(1.5rem, 3vw, 2rem);
	background: var(--so-charcoal);
	color: var(--so-ivory);
	border-color: var(--so-bronze);
	border-top-width: 1px;
}

.stream-ops-operator-portal
.operator-action-card.operator-primary-action h3 {
	grid-column: 1;
	grid-row: 1;
	color: var(--so-white);
}

.stream-ops-operator-portal
.operator-action-card.operator-primary-action p {
	grid-column: 1;
	grid-row: 2;
	margin-bottom: 0;
	color: var(--so-ivory);
}

.stream-ops-operator-portal
.operator-action-card.operator-primary-action
.wp-block-buttons {
	grid-column: 2;
	grid-row: 1 / span 2;
	margin-top: 0;
	padding-top: 0;
}


/* =========================================================
   IMPORTANT UPDATES — SIDE-BY-SIDE CARDS
   ========================================================= */

.stream-ops-operator-portal .operator-updates {
	border-top: 5px solid var(--so-red);
}

.stream-ops-operator-portal
.operator-updates > p {
	margin-bottom: 1.4rem;
}

.stream-ops-operator-portal .operator-updates-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.35rem);
	align-items: stretch;
	margin: 1.25rem 0 0;
}

.stream-ops-operator-portal
.operator-updates-grid > .wp-block-column {
	display: flex;
	flex-basis: auto;
	width: auto;
	margin: 0;
}

.stream-ops-operator-portal .operator-update-card {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: clamp(1.2rem, 2.5vw, 1.55rem);
	background: var(--so-soft-white);
	border: 1px solid rgba(122, 92, 56, 0.38);
	border-top: 3px solid var(--so-bronze);
	border-radius: var(--so-radius-medium);
}

.stream-ops-operator-portal
.operator-update-card h3 {
	color: var(--so-red);
}

.stream-ops-operator-portal
.operator-update-card > :last-child {
	margin-bottom: 0;
}


/* =========================================================
   PAYMENT POLICY
   ========================================================= */

.stream-ops-operator-portal
.operator-payment-policy
.wp-block-columns {
	align-items: stretch;
	gap: 1.5rem;
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

.stream-ops-operator-portal
.operator-payment-policy
.wp-block-column {
	display: flex;
}

.stream-ops-operator-portal
.operator-payment-policy
.wp-block-column > .wp-block-group {
	width: 100%;
	height: 100%;
	padding: clamp(1.15rem, 3vw, 1.6rem);
	background: var(--so-soft-white);
	border: 1px solid rgba(78, 82, 86, 0.2);
	border-radius: var(--so-radius-medium);
}

.stream-ops-operator-portal .operator-cancellation-rule {
	margin-top: 1.75rem;
	margin-bottom: 1.75rem;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	background: var(--so-pale-red);
	border: 2px solid var(--so-red);
	border-left-width: 8px;
	border-radius: var(--so-radius-medium);
}

.stream-ops-operator-portal
.operator-cancellation-rule h3,
.stream-ops-operator-portal
.operator-cancellation-rule strong {
	color: var(--so-red);
}


/* =========================================================
   PRODUCTION TIPS
   ========================================================= */

.stream-ops-operator-portal .operator-tips {
	padding: clamp(1.4rem, 4vw, 2.5rem);
	background: var(--so-charcoal);
	color: var(--so-ivory);
	border: 1px solid var(--so-bronze);
	border-radius: var(--so-radius-large);
	box-shadow: var(--so-shadow);
}

.stream-ops-operator-portal
.operator-tips > :is(h2, h3),
.stream-ops-operator-portal
.operator-tips > p {
	color: var(--so-white);
}

.stream-ops-operator-portal
.operator-tips .wp-block-details,
.stream-ops-operator-portal
.operator-tips details {
	margin-top: 0.85rem;
	padding: 0;
	overflow: hidden;
	background: var(--so-white);
	color: var(--so-charcoal);
	border: 1px solid var(--so-bronze);
	border-radius: var(--so-radius-medium);
}

.stream-ops-operator-portal
.operator-tips summary {
	min-height: 52px;
	padding: 0.9rem 1rem;
	cursor: pointer;
	color: var(--so-charcoal);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.stream-ops-operator-portal
.operator-tips details[open] summary {
	border-bottom: 1px solid rgba(122, 92, 56, 0.35);
}

.stream-ops-operator-portal
.operator-tips details > :not(summary) {
	margin-right: 1.15rem;
	margin-left: 1.15rem;
}

.stream-ops-operator-portal
.operator-tips details > :last-child {
	margin-bottom: 1.15rem;
}


/* =========================================================
   OPERATOR SPOTLIGHT
   ========================================================= */

.stream-ops-operator-portal
.operator-spotlight
.wp-block-columns {
	align-items: stretch;
	gap: 1.5rem;
	margin-top: 1.5rem;
	margin-bottom: 0;
}

.stream-ops-operator-portal
.operator-spotlight
.wp-block-column {
	display: flex;
}

.stream-ops-operator-portal
.operator-spotlight
.wp-block-column > .wp-block-group {
	width: 100%;
	height: 100%;
	padding: clamp(1.15rem, 3vw, 1.6rem);
	background: var(--so-soft-white);
	border: 1px solid rgba(122, 92, 56, 0.4);
	border-radius: var(--so-radius-medium);
}

.stream-ops-operator-portal
.operator-spotlight
.wp-block-column:first-child > .wp-block-group {
	background: var(--so-ivory);
}


/* =========================================================
   OPERATOR SUPPORT
   ========================================================= */

.stream-ops-operator-portal .operator-support {
	padding: clamp(1.4rem, 4vw, 2.25rem);
	background: var(--so-charcoal);
	color: var(--so-ivory);
	border: 1px solid var(--so-bronze);
	border-radius: var(--so-radius-large);
	box-shadow: var(--so-shadow);
}

.stream-ops-operator-portal
.operator-support :is(h2, h3),
.stream-ops-operator-portal
.operator-support p,
.stream-ops-operator-portal
.operator-support li {
	color: var(--so-ivory);
}

.stream-ops-operator-portal
.operator-support a:not(.wp-block-button__link) {
	color: var(--so-ivory);
	text-decoration-color: var(--so-bronze);
}


/* =========================================================
   CLOSING ACTION
   ========================================================= */

.stream-ops-operator-portal .operator-closing-action {
	margin-bottom: 0;
	text-align: center;
}

.stream-ops-operator-portal
.operator-closing-action > h2:first-child {
	justify-content: center;
}

.stream-ops-operator-portal
.operator-closing-action p {
	margin-right: auto;
	margin-left: auto;
}

.stream-ops-operator-portal
.operator-closing-action ul {
	display: inline-block;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}

.stream-ops-operator-portal
.operator-closing-action
.wp-block-buttons {
	justify-content: center;
	margin-top: 1.25rem;
}


/* =========================================================
   KEYBOARD ACCESSIBILITY
   ========================================================= */

.stream-ops-operator-portal a:focus-visible,
.stream-ops-operator-portal button:focus-visible,
.stream-ops-operator-portal summary:focus-visible,
.stream-ops-operator-portal
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--so-red);
	outline-offset: 4px;
}

.stream-ops-operator-portal
.operator-portal-hero
.wp-block-button__link:focus-visible,
.stream-ops-operator-portal
.operator-support a:focus-visible,
.stream-ops-operator-portal
.operator-tips summary:focus-visible {
	outline-color: var(--so-white);
	box-shadow: 0 0 0 3px var(--so-red);
}


/* =========================================================
   RESPONSIVE LAYOUT
   ========================================================= */

/* Medium desktop and tablet */
@media (max-width: 1024px) {
	.stream-ops-operator-portal
	.operator-updates-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.stream-ops-operator-portal
	.operator-updates-grid > .wp-block-column:last-child {
		grid-column: 1 / -1;
	}
}

/* Mobile */
@media (max-width: 781px) {
	.stream-ops-operator-portal {
		padding-right: 1rem;
		padding-left: 1rem;
		font-size: 17px;
	}

	.stream-ops-operator-portal
	.operator-portal-hero
	.wp-block-columns,
	.stream-ops-operator-portal
	.operator-payment-policy
	.wp-block-columns,
	.stream-ops-operator-portal
	.operator-spotlight
	.wp-block-columns {
		flex-direction: column;
	}

	.stream-ops-operator-portal .wp-block-column {
		width: 100%;
	}

	.stream-ops-operator-portal
	.operator-action-card.operator-primary-action {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.stream-ops-operator-portal
	.operator-action-card.operator-primary-action
	.wp-block-buttons {
		width: 100%;
		margin-top: auto;
		padding-top: 1rem;
	}

	.stream-ops-operator-portal
	.operator-updates-grid {
		grid-template-columns: 1fr;
	}

	.stream-ops-operator-portal
	.operator-updates-grid > .wp-block-column:last-child {
		grid-column: auto;
	}

	.stream-ops-operator-portal .wp-block-buttons {
		width: 100%;
		flex-direction: column;
		gap: 0.75rem;
	}

	.stream-ops-operator-portal .wp-block-button,
	.stream-ops-operator-portal .wp-block-button__link {
		width: 100%;
	}

	.stream-ops-operator-portal .wp-block-button__link {
		min-height: 50px;
	}

	.stream-ops-operator-portal
	.operator-portal-hero
	.wp-block-image {
		padding-right: 0;
		padding-left: 0;
	}
}

/* Small phones */
@media (max-width: 520px) {
	.stream-ops-operator-portal {
		font-size: 16px;
	}

	.stream-ops-operator-portal .operator-portal-hero,
	.stream-ops-operator-portal .operator-updates,
	.stream-ops-operator-portal .operator-payment-policy,
	.stream-ops-operator-portal .operator-tips,
	.stream-ops-operator-portal .operator-spotlight,
	.stream-ops-operator-portal .operator-support,
	.stream-ops-operator-portal .operator-closing-action {
		border-radius: 12px;
	}

	.stream-ops-operator-portal .operator-action-card,
	.stream-ops-operator-portal .operator-update-card {
		border-radius: 10px;
	}

	.stream-ops-operator-portal h1 {
		font-size: clamp(1.85rem, 10vw, 2.4rem);
	}

	.stream-ops-operator-portal h2 {
		font-size: clamp(1.45rem, 7vw, 1.85rem);
	}
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	.stream-ops-operator-portal *,
	.stream-ops-operator-portal *::before,
	.stream-ops-operator-portal *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
/* =========================================================
   PAYMENT POLICY — ALIGNMENT AND CARD CORRECTIONS
   ========================================================= */

/* Keep policy card content aligned to one consistent left edge */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule,
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy {
	text-align: left;
}

/*
 * WordPress constrained layouts can center individual child blocks.
 * Override that behavior inside these two operational policy cards.
 */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule > *,
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy > * {
	width: 100%;
	max-width: none;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* Remove the general portal paragraph width restriction in these cards */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule p,
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy p {
	width: 100%;
	max-width: none;
}

/* Consistent heading alignment */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule > h3,
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy > h3 {
	width: 100%;
	margin-bottom: 1rem;
	text-align: left;
}

/* Consistent list width and indentation */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule ul,
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule ol,
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy ul,
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy ol {
	width: 100%;
	max-width: none;
	margin: 0.75rem 0 1.25rem !important;
	padding-left: 1.4rem;
	list-style-position: outside;
}

/* Prevent the final list from creating excessive bottom space */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule > :last-child,
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy > :last-child {
	margin-bottom: 0 !important;
}

/* Cancellation card: prominent but restrained policy warning */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule {
	margin-top: 1.75rem;
	margin-bottom: 1.75rem;
	padding: clamp(1.35rem, 3vw, 1.85rem);
	background: var(--so-pale-red);
	border: 1px solid rgba(123, 31, 35, 0.42) !important;
	border-left: 8px solid var(--so-red) !important;
	border-radius: var(--so-radius-medium);
}

/* Cancellation heading and essential policy text */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule > h3 {
	color: var(--so-red);
}

.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule strong {
	color: #7A2A27;
}

/* Payment Accuracy: quieter supporting policy card */
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy {
	margin-top: 1.5rem;
	padding: clamp(1.25rem, 3vw, 1.65rem);
	background: var(--so-soft-white);
	border: 1px solid rgba(122, 92, 56, 0.42) !important;
	border-left: 5px solid var(--so-bronze) !important;
	border-radius: var(--so-radius-medium);
}

/* Payment Accuracy heading */
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy > h3 {
	color: var(--so-charcoal);
}

/* Improve spacing between policy statements */
.stream-ops-operator-portal
.operator-payment-policy
.operator-cancellation-rule p + p,
.stream-ops-operator-portal
.operator-payment-policy
.operator-payment-accuracy p + p {
	margin-top: 0.9rem;
}

/* Mobile adjustments */
@media (max-width: 781px) {
	.stream-ops-operator-portal
	.operator-payment-policy
	.operator-cancellation-rule,
	.stream-ops-operator-portal
	.operator-payment-policy
	.operator-payment-accuracy {
		padding: 1.25rem;
	}

	.stream-ops-operator-portal
	.operator-payment-policy
	.operator-cancellation-rule {
		border-left-width: 6px !important;
	}

	.stream-ops-operator-portal
	.operator-payment-policy
	.operator-payment-accuracy {
		border-left-width: 4px !important;
	}
}
/* =====================================================
   STREAM-OPS AVAILABILITY UPDATE PAGE
   ===================================================== */

.so-availability-page {
    background: #E6E2DA;
    color: #1F2326;
    min-height: 80vh;
    padding-bottom: 64px;
    font-family: "Source Sans 3", Arial, sans-serif;
}

/* Hero */

.so-availability-hero {
    position: relative;
    overflow: hidden;
    background: #1F2326;
    color: #FFFFFF;
    padding: 48px 24px 72px;
    text-align: center;
}

/* Subtle broadcast-style background lines */

.so-availability-hero::before {
    content: "";
    position: absolute;
    top: -90px;
    right: -80px;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(122, 92, 56, 0.32);
    border-radius: 50%;
    pointer-events: none;
}

.so-availability-hero::after {
    content: "";
    position: absolute;
    bottom: -150px;
    left: -100px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(122, 92, 56, 0.2);
    border-radius: 50%;
    pointer-events: none;
}

.so-availability-hero > * {
    position: relative;
    z-index: 1;
}

.so-availability-hero img {
    display: block;
    width: min(260px, 75%);
    height: auto;
    margin: 0 auto 26px;
}

.so-availability-title {
    margin: 0;
    color: #FFFFFF;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.so-availability-subtitle {
    max-width: 700px;
    margin: 18px auto 0;
    color: #E6E2DA;
    font-size: 1.15rem;
    line-height: 1.6;
}

/* Main availability card */

.so-availability-card {
    position: relative;
    z-index: 2;
    width: min(900px, calc(100% - 40px));
    margin: -34px auto 0;
    padding: 40px;
    background: #FFFFFF;
    border: 1px solid rgba(122, 92, 56, 0.4);
    border-top: 4px solid #7A5C38;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(31, 35, 38, 0.12);
}

.so-availability-card h2,
.so-availability-card h3 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #1F2326;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.so-availability-card > p {
    max-width: 760px;
    color: #4E5256;
    font-size: 1.08rem;
    line-height: 1.65;
}

/* Shortcode/form wrapper */

.so-availability-form {
    margin-top: 28px;
    padding: 28px;
    background: #F7F5F1;
    border: 1px solid rgba(78, 82, 86, 0.22);
    border-radius: 8px;
}

/* Form fields generated by shortcode */

.so-availability-form input[type="text"],
.so-availability-form input[type="email"],
.so-availability-form input[type="date"],
.so-availability-form input[type="time"],
.so-availability-form input[type="number"],
.so-availability-form input[type="tel"],
.so-availability-form select,
.so-availability-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    color: #1F2326;
    background: #FFFFFF;
    border: 1px solid #9A9DA0;
    border-radius: 5px;
    font-family: "Source Sans 3", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.4;
    box-sizing: border-box;
}

.so-availability-form textarea {
    min-height: 120px;
    resize: vertical;
}

.so-availability-form input:focus,
.so-availability-form select:focus,
.so-availability-form textarea:focus {
    border-color: #7A5C38;
    outline: 3px solid rgba(122, 92, 56, 0.2);
    outline-offset: 1px;
}

.so-availability-form label {
    display: block;
    margin-bottom: 6px;
    color: #1F2326;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 0.92rem;
    font-weight: 600;
}

/* Submit buttons generated by shortcode */

.so-availability-form button,
.so-availability-form input[type="submit"],
.so-availability-form .button {
    min-height: 46px;
    padding: 12px 24px;
    color: #FFFFFF !important;
    background: #7B1F23 !important;
    border: 2px solid #7B1F23 !important;
    border-radius: 5px;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.so-availability-form button:hover,
.so-availability-form input[type="submit"]:hover,
.so-availability-form .button:hover {
    background: #5F171A !important;
    border-color: #5F171A !important;
    transform: translateY(-1px);
}

.so-availability-form button:focus-visible,
.so-availability-form input[type="submit"]:focus-visible,
.so-availability-form .button:focus-visible {
    outline: 3px solid rgba(123, 31, 35, 0.3);
    outline-offset: 3px;
}

/* Availability reminder */

.so-availability-note {
    margin: 24px 0 0;
    padding: 16px 18px;
    color: #4E5256;
    background: #E6E2DA;
    border-left: 4px solid #7A5C38;
    border-radius: 0 6px 6px 0;
    font-size: 0.96rem;
    line-height: 1.55;
}

/* Support section */

.so-availability-support {
    width: min(760px, calc(100% - 40px));
    margin: 38px auto 0;
    padding: 26px 30px;
    text-align: center;
    background: transparent;
    border-top: 1px solid rgba(122, 92, 56, 0.45);
}

.so-availability-support h2,
.so-availability-support h3 {
    margin: 0 0 10px;
    color: #1F2326;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 600;
}

.so-availability-support p {
    margin: 0 auto 20px;
    color: #4E5256;
    font-size: 1rem;
    line-height: 1.6;
}

/* Primary support button */

.so-button-primary .wp-block-button__link,
a.so-button-primary,
.so-button-primary a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    min-height: 46px;
    padding: 12px 24px;
    color: #FFFFFF !important;
    background: #7B1F23 !important;
    border: 2px solid #7B1F23;
    border-radius: 5px;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    text-transform: uppercase;
}

.so-button-primary .wp-block-button__link:hover,
a.so-button-primary:hover,
.so-button-primary a:hover {
    color: #FFFFFF !important;
    background: #5F171A !important;
    border-color: #5F171A;
}

/* Mobile */

@media (max-width: 700px) {
    .so-availability-hero {
        padding: 38px 20px 58px;
    }

    .so-availability-title {
        font-size: 1.9rem;
        letter-spacing: 0.055em;
    }

    .so-availability-subtitle {
        font-size: 1.02rem;
    }

    .so-availability-card {
        width: calc(100% - 24px);
        margin-top: -24px;
        padding: 26px 20px;
        border-radius: 9px;
    }

    .so-availability-form {
        padding: 20px 16px;
    }

    .so-availability-form button,
    .so-availability-form input[type="submit"],
    .so-availability-form .button {
        width: 100%;
    }

    .so-availability-support {
        width: calc(100% - 30px);
        padding: 24px 10px;
    }
}
/* =====================================================
   STREAM-OPS EVENT SCHEDULE PAGE
   ===================================================== */

.so-schedule-page {
    min-height: 80vh;
    padding-bottom: 64px;
    color: #1F2326;
    background: #E6E2DA;
    font-family: "Source Sans 3", Arial, sans-serif;
}

/* =====================================================
   SCHEDULE HERO
   ===================================================== */

.so-schedule-hero {
    position: relative;
    overflow: hidden;
    padding: 48px 24px 72px;
    color: #FFFFFF;
    text-align: center;
    background: #1F2326;
}

/* Restrained broadcast-style decorative lines */

.so-schedule-hero::before {
    position: absolute;
    top: -100px;
    right: -80px;
    width: 340px;
    height: 340px;
    content: "";
    border: 1px solid rgba(122, 92, 56, 0.32);
    border-radius: 50%;
    pointer-events: none;
}

.so-schedule-hero::after {
    position: absolute;
    bottom: -165px;
    left: -110px;
    width: 380px;
    height: 380px;
    content: "";
    border: 1px solid rgba(122, 92, 56, 0.20);
    border-radius: 50%;
    pointer-events: none;
}

.so-schedule-hero > * {
    position: relative;
    z-index: 1;
}

.so-schedule-hero img {
    display: block;
    width: min(260px, 75%);
    height: auto;
    margin: 0 auto 26px;
}

.so-schedule-title {
    margin: 0;
    color: #FFFFFF;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.so-schedule-subtitle {
    max-width: 720px;
    margin: 18px auto 0;
    color: #E6E2DA;
    font-size: 1.15rem;
    line-height: 1.6;
}

/* =====================================================
   MAIN SCHEDULE CARD
   ===================================================== */

.so-schedule-card {
    position: relative;
    z-index: 2;
    width: min(1100px, calc(100% - 40px));
    margin: 28px auto 0;
    padding: 40px;
    background: #FFFFFF;
    border: 1px solid rgba(122, 92, 56, 0.40);
    border-top: 4px solid #7A5C38;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(31, 35, 38, 0.12);
}

.so-schedule-card h2,
.so-schedule-card h3 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #1F2326;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.so-schedule-card > p {
    max-width: 800px;
    color: #4E5256;
    font-size: 1.08rem;
    line-height: 1.65;
}

/* =====================================================
   SCHEDULE SHORTCODE AREA
   ===================================================== */

.so-schedule-table {
    width: 100%;
    margin-top: 28px;
    padding: 24px;
    overflow-x: auto;
    background: #F7F5F1;
    border: 1px solid rgba(78, 82, 86, 0.22);
    border-radius: 8px;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
}

/* Generic shortcode-generated tables */

.so-schedule-table table {
    width: 100%;
    min-width: 700px;
    margin: 0;
    border-collapse: collapse;
    background: #FFFFFF;
}

.so-schedule-table th {
    padding: 13px 14px;
    color: #FFFFFF;
    text-align: left;
    vertical-align: middle;
    background: #1F2326;
    border: 1px solid #4E5256;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.so-schedule-table td {
    padding: 13px 14px;
    color: #1F2326;
    vertical-align: middle;
    background: #FFFFFF;
    border: 1px solid rgba(78, 82, 86, 0.25);
    font-size: 0.98rem;
    line-height: 1.45;
}

.so-schedule-table tbody tr:nth-child(even) td {
    background: #F3F1EC;
}

.so-schedule-table tbody tr:hover td {
    background: #ECE8E0;
}

/* Links generated by the schedule shortcode */

.so-schedule-table a {
    color: #7B1F23;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.so-schedule-table a:hover {
    color: #5F171A;
}

/* Buttons generated by the shortcode */

.so-schedule-table button,
.so-schedule-table input[type="button"],
.so-schedule-table input[type="submit"],
.so-schedule-table .button,
.so-schedule-table a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    color: #FFFFFF !important;
    background: #7B1F23 !important;
    border: 2px solid #7B1F23 !important;
    border-radius: 5px;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.035em;
    text-decoration: none !important;
    text-transform: uppercase;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.so-schedule-table button:hover,
.so-schedule-table input[type="button"]:hover,
.so-schedule-table input[type="submit"]:hover,
.so-schedule-table .button:hover,
.so-schedule-table a.button:hover {
    color: #FFFFFF !important;
    background: #5F171A !important;
    border-color: #5F171A !important;
    transform: translateY(-1px);
}

.so-schedule-table button:focus-visible,
.so-schedule-table input:focus-visible,
.so-schedule-table select:focus-visible,
.so-schedule-table a:focus-visible {
    outline: 3px solid rgba(123, 31, 35, 0.30);
    outline-offset: 3px;
}

/* Empty-state messages generated by the shortcode */

.so-schedule-table .empty,
.so-schedule-table .no-events,
.so-schedule-table .no-results,
.so-schedule-table p:only-child {
    padding: 24px;
    color: #4E5256;
    text-align: center;
    background: #FFFFFF;
    border: 1px dashed rgba(122, 92, 56, 0.55);
    border-radius: 6px;
    font-size: 1rem;
    line-height: 1.6;
}

/* =====================================================
   ASSIGNMENT REMINDER
   ===================================================== */

.so-schedule-note {
    margin: 24px 0 0;
    padding: 16px 18px;
    color: #4E5256;
    background: #E6E2DA;
    border-left: 4px solid #7A5C38;
    border-radius: 0 6px 6px 0;
    font-size: 0.96rem;
    line-height: 1.55;
}

/* =====================================================
   UPDATE AVAILABILITY CTA
   ===================================================== */

.so-schedule-availability {
    position: relative;
    width: min(900px, calc(100% - 40px));
    margin: 38px auto 0;
    padding: 32px 34px;
    overflow: hidden;
    text-align: center;
    background: #FFFFFF;
    border: 1px solid rgba(122, 92, 56, 0.42);
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(31, 35, 38, 0.08);
}

.so-schedule-availability::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    content: "";
    background: #7A5C38;
}

.so-schedule-availability h2,
.so-schedule-availability h3 {
    margin: 0 0 12px;
    color: #1F2326;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.so-schedule-availability p {
    max-width: 650px;
    margin: 0 auto 22px;
    color: #4E5256;
    font-size: 1.05rem;
    line-height: 1.6;
}

/* =====================================================
   SHARED PRIMARY BUTTON
   ===================================================== */

.so-button-primary .wp-block-button__link,
a.so-button-primary,
.so-button-primary a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    min-height: 46px;
    padding: 12px 24px;
    color: #FFFFFF !important;
    background: #7B1F23 !important;
    border: 2px solid #7B1F23 !important;
    border-radius: 5px;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.so-button-primary .wp-block-button__link:hover,
a.so-button-primary:hover,
.so-button-primary a:hover {
    color: #FFFFFF !important;
    background: #5F171A !important;
    border-color: #5F171A !important;
    transform: translateY(-1px);
}

/* =====================================================
   SUPPORT AREA
   ===================================================== */

.so-schedule-support {
    width: min(760px, calc(100% - 40px));
    margin: 38px auto 0;
    padding: 28px 30px;
    text-align: center;
    border-top: 1px solid rgba(122, 92, 56, 0.45);
}

.so-schedule-support h2,
.so-schedule-support h3 {
    margin: 0 0 10px;
    color: #1F2326;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 600;
}

.so-schedule-support p {
    max-width: 680px;
    margin: 0 auto 20px;
    color: #4E5256;
    font-size: 1rem;
    line-height: 1.6;
}

/* SO-Live secondary CTA — Request an Onsite Assessment */
.wp-block-button.so-btn-secondary .wp-block-button__link {
  background: transparent !important;
  color: #E6E2DA !important;
  border: 2px solid #7A5C38 !important;
  border-radius: 8px;
  padding: 12px 24px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.wp-block-button.so-btn-secondary .wp-block-button__link:hover,
.wp-block-button.so-btn-secondary .wp-block-button__link:focus {
  background: #7A5C38 !important;
  color: #FFFFFF !important;
  border-color: #7A5C38 !important;
}
/* SO-Live secondary button — supports either class placement */
.wp-block-button.so-btn-secondary .wp-block-button__link,
.wp-block-button__link.so-btn-secondary,
.so-btn-secondary .wp-block-button__link {
  background-color: transparent !important;
  border: 2px solid #7A5C38 !important;
  color: #E6E2DA !important;
  -webkit-text-fill-color: #E6E2DA !important;
}

/* Hover and keyboard focus */
.wp-block-button.so-btn-secondary .wp-block-button__link:hover,
.wp-block-button__link.so-btn-secondary:hover,
.so-btn-secondary .wp-block-button__link:hover,
.wp-block-button.so-btn-secondary .wp-block-button__link:focus,
.wp-block-button__link.so-btn-secondary:focus,
.so-btn-secondary .wp-block-button__link:focus {
  background-color: #7A5C38 !important;
  border-color: #7A5C38 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
/* =====================================================
   MOBILE SCHEDULE LAYOUT
   ===================================================== */

@media (max-width: 700px) {
    .so-schedule-hero {
        padding: 38px 20px 58px;
    }

    .so-schedule-title {
        font-size: 1.9rem;
        letter-spacing: 0.055em;
    }

    .so-schedule-subtitle {
        font-size: 1.02rem;
    }

    .so-schedule-card {
        width: calc(100% - 24px);
        margin-top: -20px;
        padding: 26px 20px;
        border-radius: 9px;
    }

    .so-schedule-table {
        padding: 14px;
    }

    .so-schedule-table::before {
        display: block;
        margin-bottom: 10px;
        color: #4E5256;
        content: "Swipe left or right to view the complete schedule.";
        font-size: 0.88rem;
        font-style: italic;
        line-height: 1.4;
    }

    .so-schedule-table table {
        min-width: 680px;
    }

    .so-schedule-availability {
        width: calc(100% - 24px);
        padding: 28px 20px;
    }

    .so-schedule-support {
        width: calc(100% - 30px);
        padding: 24px 10px;
    }

    .so-button-primary,
    .so-button-secondary,
    .so-button-primary .wp-block-button__link,
    .so-button-secondary .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
    }
}
.so-challenge-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.so-solution-card {
  width: 100%;
  min-height: 220px;
  height: auto;
  padding: 28px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: 0;
}

.so-solution-card h3 {
  margin-top: 0;
  margin-bottom: 18px;
}

.so-solution-card p {
  margin: 0;
}
/* =========================
   PORTAL CTA BOXES
   ========================= */

.so-portal-cta {
  background: #E6E2DA;
  border: 1px solid #7A5C38;
  border-radius: 12px;
  padding: 28px 24px;
  margin-top: 32px;
  text-align: center;
}

.so-portal-cta .wp-block-buttons {
  justify-content: center;
  gap: 14px;
  margin-top: 18px;
}


/* =========================
   PRIMARY CTA BUTTON
   Event Operator Portal
   ========================= */

.wp-block-button.so-btn-primary .wp-block-button__link {
  background: #7B1F23;
  color: #FFFFFF;
  border: 2px solid #7B1F23;
  border-radius: 8px;
  padding: 12px 24px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.wp-block-button.so-btn-primary .wp-block-button__link:hover,
.wp-block-button.so-btn-primary .wp-block-button__link:focus {
  background: #1F2326;
  border-color: #1F2326;
  color: #FFFFFF;
}


/* =========================
   SECONDARY CTA BUTTON
   Schedule
   ========================= */

.wp-block-button.so-btn-secondary .wp-block-button__link {
  background: transparent;
  color: #1F2326;
  border: 2px solid #7A5C38;
  border-radius: 8px;
  padding: 12px 24px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.wp-block-button.so-btn-secondary .wp-block-button__link:hover,
.wp-block-button.so-btn-secondary .wp-block-button__link:focus {
  background: #7A5C38;
  color: #FFFFFF;
  border-color: #7A5C38;
}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 600px) {

  .so-portal-cta {
    padding: 24px 18px;
  }

  .so-portal-cta-dual .wp-block-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .so-portal-cta-dual .wp-block-button {
    width: 100%;
  }

  .so-portal-cta-dual .wp-block-button__link {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}
.so-portal-cta {
  width: calc(100% - 40px);
  max-width: 650px;
  margin-left: auto;
  margin-right: auto;
}
.so-service-item {
  min-height: 260px;
  padding: 28px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.so-service-item h3 {
  margin-top: 0;
  margin-bottom: 18px;
}

.so-service-item p {
  margin: 0;
}
@media (max-width: 781px) {
  .so-service-item {
    min-height: 0;
  }
}
.so-audience-card {
  height: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.so-audience-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.so-audience-card h3 {
  margin-top: 20px;
  margin-bottom: 12px;
}

.so-audience-card p {
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 24px;
}
.so-staffing-list {
  margin-top: 24px;
}

.so-staffing-list li {
  margin-bottom: 10px;
}

.so-staffing-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.so-staffing-callout {
  margin-top: 16px;
  border-left: 3px solid #7A5C38;
}
.so-remote-diagram img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.so-remote-section ol li {
  margin-bottom: 10px;
}
.so-process-card {
  min-height: 260px;
  padding: 28px;
  box-sizing: border-box;
}

.so-process-card h3 {
  margin-top: 8px;
  margin-bottom: 14px;
}

.so-process-card p {
  margin-bottom: 0;
}
.so-credibility-card {
  min-height: 210px;
  padding: 26px;
  box-sizing: border-box;
}

.so-credibility-card h3 {
  margin-top: 0;
  margin-bottom: 14px;
}

.so-credibility-card p {
  margin-bottom: 0;
}
.so-pilot-card {
  max-width: 900px;
  margin: 0 auto;
  box-sizing: border-box;
}
.so-consultation-section {
  width: 100%;
  box-sizing: border-box;
}

.so-consultation-section .wp-block-group__inner-container {
  max-width: 1100px;
  margin: 0 auto;
}

.so-consultation-section h2 {
  margin-bottom: 12px;
}

.so-consultation-section .so-section-intro {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 32px;
}

.so-consultation-section .wpforms-container {
  max-width: 820px;
  margin: 0 auto;
}
.so-faq-item {
  margin-bottom: 12px;
  border: 1px solid #7A5C38;
  border-radius: 8px;
  padding: 8px 16px;
  background: #FFFFFF;
}

.so-faq-item summary {
  font-weight: 600;
  cursor: pointer;
}
/* Stream-Ops WPForms submit button */
.so-consultation-section .wpforms-submit {
  background-color: #7B1F23 !important;
  color: #E6E2DA !important;
  border: 1px solid #7B1F23 !important;
  border-radius: 6px;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
  padding: 12px 24px;
  transition: all 0.2s ease;
}

.so-consultation-section .wpforms-submit:hover,
.so-consultation-section .wpforms-submit:focus {
  background-color: #1F2326 !important;
  border-color: #7A5C38 !important;
  color: #E6E2DA !important;
}
.so-final-cta {
  text-align: center;
  box-sizing: border-box;
}

.so-final-cta-copy {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}

.so-final-cta .wp-block-buttons {
  justify-content: center;
  gap: 16px;
}

@media (max-width: 781px) {
  .so-final-cta .wp-block-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .so-final-cta .wp-block-button,
  .so-final-cta .wp-block-button__link {
    width: 100%;
  }
}
/* =========================================================
   SECTION 3 — OPERATOR PATHS
   ========================================================= */

/* Main section wrapper */
.so-operator-paths {
	padding: 72px 24px;
	background: #E6E2DA;
}

/* Shared card styling */
.so-operator-path-card {
	height: 100%;
	padding: 30px;
	background: #FFFFFF;
	border: 1px solid rgba(78, 82, 86, 0.28);
	border-radius: 12px;
	box-shadow: 0 8px 24px rgba(31, 35, 38, 0.08);
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Subtle hover effect */
.so-operator-path-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(31, 35, 38, 0.12);
}

/* Entry / Intermediate path */
.so-path-entry {
	border-top: 4px solid #4E5256;
}

/* Advanced production path */
.so-path-advanced {
	border-top: 4px solid #7A5C38;
}

/* Camera operator path */
.so-path-camera {
	border-top: 4px solid #7B1F23;
}


/* =========================================================
   TYPOGRAPHY INSIDE PATH CARDS
   ========================================================= */

.so-operator-path-card h3 {
	margin-top: 8px;
	margin-bottom: 16px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #1F2326;
	line-height: 1.25;
}

.so-operator-path-card p {
	font-family: "Source Sans 3", sans-serif;
	color: #4E5256;
	line-height: 1.6;
}

/* First paragraph acts as the eyebrow label */
.so-operator-path-card > p:first-child {
	margin-bottom: 4px;
	font-family: "Montserrat", sans-serif;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #7A5C38;
}

/* Last paragraph acts as the emphasis line */
.so-operator-path-card > p:last-child {
	margin-top: auto;
	padding-top: 18px;
	font-weight: 600;
	color: #1F2326;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 781px) {

	.so-operator-paths {
		padding: 52px 20px;
	}

	.so-operator-path-card {
		padding: 24px;
		margin-bottom: 20px;
	}
}
/* =========================================================
   SECTION 9 — APPLICATION & QUALIFICATION PROCESS
   ========================================================= */

.so-application-process {
	padding: 70px 24px;
}

/* Individual Details / accordion steps */
.so-process-step {
	margin-bottom: 14px;
	background: #FFFFFF;
	border: 1px solid rgba(78, 82, 86, 0.28);
	border-left: 4px solid #7A5C38;
	border-radius: 9px;
	box-shadow: 0 5px 16px rgba(31, 35, 38, 0.06);
	overflow: hidden;
}

/* Clickable Details heading */
.so-process-step summary {
	padding: 18px 22px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 1.05rem;
	color: #1F2326;
	cursor: pointer;
	line-height: 1.4;
}

/* Hover treatment */
.so-process-step summary:hover {
	background: rgba(230, 226, 218, 0.45);
}

/* Content inside an opened Details block */
.so-process-step > *:not(summary) {
	margin-left: 22px;
	margin-right: 22px;
}

.so-process-step > *:last-child {
	margin-bottom: 22px;
}

/* Open state */
.so-process-step[open] {
	box-shadow: 0 8px 20px rgba(31, 35, 38, 0.09);
}

/* Final qualification disclaimer */
.so-process-disclaimer {
	margin-top: 26px;
	padding: 18px 22px;
	background: rgba(122, 92, 56, 0.08);
	border-left: 4px solid #7A5C38;
	border-radius: 6px;
	font-weight: 600;
	color: #1F2326;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 781px) {

	.so-application-process {
		padding: 50px 20px;
	}

	.so-process-step summary {
		padding: 16px 18px;
		font-size: 1rem;
	}

	.so-process-step > *:not(summary) {
		margin-left: 18px;
		margin-right: 18px;
	}
}
/* =========================================================
   SECTION 10 — OPERATOR DEVELOPMENT PATH
   ========================================================= */

.so-operator-development {
	padding: 72px 24px;
	background: #E6E2DA;
}

/* Shared progression card styling */
.so-development-step {
	height: 100%;
	padding: 28px;
	background: #FFFFFF;
	border: 1px solid rgba(122, 92, 56, 0.35);
	border-top: 4px solid #7A5C38;
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba(31, 35, 38, 0.07);
}

/* Headings inside development cards */
.so-development-step h3 {
	margin-top: 0;
	margin-bottom: 14px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #1F2326;
	line-height: 1.25;
}

/* Body copy inside cards */
.so-development-step p {
	margin-bottom: 0;
	font-family: "Source Sans 3", sans-serif;
	color: #4E5256;
	line-height: 1.6;
}

/* Optional hover effect */
.so-development-step:hover {
	transform: translateY(-2px);
	box-shadow: 0 11px 26px rgba(31, 35, 38, 0.10);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 781px) {

	.so-operator-development {
		padding: 52px 20px;
	}

	.so-development-step {
		padding: 24px;
		margin-bottom: 18px;
	}
}
/* =========================================================
   STREAM-OPS — OPERATOR APPLICATION PAGE
   ========================================================= */


/* =========================================================
   1. APPLICATION HERO
   ========================================================= */

.so-application-hero {
	padding: 76px 24px;
	background: #1F2326;
	text-align: center;
}

.so-application-hero > * {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.so-application-hero h1 {
	margin-bottom: 22px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #FFFFFF;
	letter-spacing: 0.04em;
}

.so-application-hero p {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
	font-family: "Source Sans 3", sans-serif;
	font-size: 18px;
	line-height: 1.65;
	color: #E6E2DA;
}

/* Eyebrow / first paragraph */
.so-application-hero p:first-of-type {
	margin-bottom: 10px;
	font-family: "Montserrat", sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #7A5C38;
}


/* =========================================================
   2. BEFORE YOU BEGIN
   ========================================================= */

.so-application-prep {
	padding: 72px 24px;
	background: #E6E2DA;
}

.so-application-prep > * {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

.so-application-prep h2 {
	color: #1F2326;
}

/* Cards inside the prep section */
.so-application-prep .wp-block-column {
	padding: 26px;
	background: #FFFFFF;
	border: 1px solid rgba(78, 82, 86, 0.22);
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(31, 35, 38, 0.06);
}

/* Advanced applicant callout */
.so-application-prep .wp-block-group:last-child {
	margin-top: 28px;
	padding: 22px 26px;
	background: rgba(122, 92, 56, 0.08);
	border-left: 4px solid #7A5C38;
	border-radius: 8px;
}


/* =========================================================
   3. APPLICATION NOTICE
   ========================================================= */

.so-application-notice {
	max-width: 900px;
	margin: 42px auto 0;
	padding: 24px 28px;
	background: #FFFFFF;
	border-left: 5px solid #7A5C38;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(31, 35, 38, 0.07);
}

.so-application-notice h2,
.so-application-notice h3 {
	margin-top: 0;
	margin-bottom: 10px;
	color: #1F2326;
}

.so-application-notice p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   4. FORM SECTION
   ========================================================= */

.so-operator-application-form-section {
	padding: 64px 24px 78px;
	background: #E6E2DA;
}


/* Main form container */
.so-operator-application-form {
	max-width: 880px;
	margin: 0 auto;
	padding: 38px 42px;
	background: #FFFFFF;
	border: 1px solid rgba(78, 82, 86, 0.20);
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(31, 35, 38, 0.09);
}

.so-operator-application-form > h2 {
	margin-top: 0;
	margin-bottom: 10px;
	color: #1F2326;
}

.so-operator-application-form > p {
	margin-bottom: 30px;
	color: #4E5256;
}


/* =========================================================
   WPFORMS — GENERAL
   ========================================================= */

.so-operator-application-form .wpforms-container {
	margin-top: 10px;
	margin-bottom: 0;
}

.so-operator-application-form .wpforms-form {
	font-family: "Source Sans 3", sans-serif;
	color: #1F2326;
}


/* Individual field spacing */
.so-operator-application-form .wpforms-field {
	padding-top: 0;
	padding-bottom: 24px;
}


/* Labels */
.so-operator-application-form .wpforms-field-label {
	margin-bottom: 8px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #1F2326;
}


/* Required indicator */
.so-operator-application-form .wpforms-required-label {
	color: #7B1F23;
}


/* Field descriptions / help text */
.so-operator-application-form .wpforms-field-description {
	margin-top: 7px;
	font-size: 14px;
	line-height: 1.5;
	color: #4E5256;
}


/* =========================================================
   WPFORMS — INPUTS
   ========================================================= */

.so-operator-application-form input[type="text"],
.so-operator-application-form input[type="email"],
.so-operator-application-form input[type="tel"],
.so-operator-application-form input[type="url"],
.so-operator-application-form input[type="number"],
.so-operator-application-form input[type="password"],
.so-operator-application-form select,
.so-operator-application-form textarea {
	width: 100%;
	padding: 12px 14px;
	background: #FFFFFF;
	border: 1px solid #A7AAAD;
	border-radius: 6px;
	font-family: "Source Sans 3", sans-serif;
	font-size: 16px;
	color: #1F2326;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}


/* Focus state */
.so-operator-application-form input:focus,
.so-operator-application-form select:focus,
.so-operator-application-form textarea:focus {
	outline: none;
	border-color: #7A5C38;
	box-shadow: 0 0 0 3px rgba(122, 92, 56, 0.14);
}


/* Textarea */
.so-operator-application-form textarea {
	min-height: 130px;
	line-height: 1.55;
	resize: vertical;
}


/* =========================================================
   WPFORMS — CHECKBOXES & RADIO BUTTONS
   ========================================================= */

.so-operator-application-form .wpforms-field-checkbox ul,
.so-operator-application-form .wpforms-field-radio ul {
	margin-top: 8px;
}

.so-operator-application-form .wpforms-field-checkbox li,
.so-operator-application-form .wpforms-field-radio li {
	margin-bottom: 9px;
	line-height: 1.45;
}

.so-operator-application-form input[type="checkbox"],
.so-operator-application-form input[type="radio"] {
	accent-color: #7B1F23;
}


/* =========================================================
   WPFORMS — SECTION DIVIDERS / PAGE BREAKS
   ========================================================= */

.so-operator-application-form .wpforms-field-divider {
	margin-top: 10px;
	margin-bottom: 26px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(122, 92, 56, 0.30);
}

.so-operator-application-form .wpforms-field-divider h3 {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #1F2326;
}


/* =========================================================
   WPFORMS — MULTI-PAGE PROGRESS
   ========================================================= */

.so-operator-application-form .wpforms-page-indicator {
	margin-bottom: 32px;
}

.so-operator-application-form .wpforms-page-indicator-steps {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #4E5256;
}

/* Active progress indicator where supported */
.so-operator-application-form .wpforms-page-indicator-page.active,
.so-operator-application-form .wpforms-page-indicator-page.active .wpforms-page-indicator-page-number {
	color: #7B1F23;
}


/* =========================================================
   WPFORMS — FILE UPLOAD
   ========================================================= */

.so-operator-application-form .wpforms-field-file-upload {
	padding: 22px;
	background: rgba(230, 226, 218, 0.35);
	border: 1px dashed #7A5C38;
	border-radius: 8px;
}


/* =========================================================
   WPFORMS — BUTTONS
   ========================================================= */

.so-operator-application-form button[type="submit"],
.so-operator-application-form .wpforms-page-button {
	min-width: 150px;
	padding: 12px 24px !important;
	background: #7B1F23 !important;
	border: 1px solid #7B1F23 !important;
	border-radius: 6px !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #FFFFFF !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease,
	            transform 0.2s ease;
}

.so-operator-application-form button[type="submit"]:hover,
.so-operator-application-form .wpforms-page-button:hover {
	background: #64191C !important;
	border-color: #64191C !important;
	transform: translateY(-1px);
}


/* Previous button — secondary treatment */
.so-operator-application-form .wpforms-page-prev {
	background: #4E5256 !important;
	border-color: #4E5256 !important;
}

.so-operator-application-form .wpforms-page-prev:hover {
	background: #3F4346 !important;
	border-color: #3F4346 !important;
}


/* Navigation spacing */
.so-operator-application-form .wpforms-page-button-container,
.so-operator-application-form .wpforms-submit-container {
	margin-top: 12px;
	padding-top: 22px;
	border-top: 1px solid rgba(78, 82, 86, 0.18);
}


/* =========================================================
   WPFORMS — VALIDATION
   ========================================================= */

.so-operator-application-form label.wpforms-error,
.so-operator-application-form em.wpforms-error {
	margin-top: 6px;
	color: #7B1F23;
	font-size: 14px;
}

.so-operator-application-form input.wpforms-error,
.so-operator-application-form select.wpforms-error,
.so-operator-application-form textarea.wpforms-error {
	border-color: #7B1F23 !important;
}


/* =========================================================
   5. WHAT HAPPENS NEXT
   ========================================================= */

.so-application-next-steps {
	padding: 72px 24px;
	background: #FFFFFF;
}

.so-application-next-steps > * {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.so-application-next-steps .wp-block-column {
	padding: 24px;
	background: #E6E2DA;
	border-top: 4px solid #7A5C38;
	border-radius: 10px;
}

.so-application-next-steps h3 {
	color: #1F2326;
}


/* =========================================================
   6. EXISTING OPERATOR CTA
   ========================================================= */

.so-application-existing-operator {
	padding: 58px 24px;
	background: #1F2326;
	text-align: center;
}

.so-application-existing-operator h2 {
	color: #FFFFFF;
}

.so-application-existing-operator p {
	color: #E6E2DA;
}

.so-application-existing-operator .wp-block-button__link {
	padding: 12px 24px;
	background: #7B1F23;
	border-radius: 6px;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #FFFFFF;
	text-transform: uppercase;
}

.so-application-existing-operator .wp-block-button__link:hover {
	background: #64191C;
	color: #FFFFFF;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 781px) {

	.so-application-hero {
		padding: 54px 20px;
	}

	.so-application-prep {
		padding: 52px 20px;
	}

	.so-application-prep .wp-block-column {
		margin-bottom: 18px;
	}

	.so-application-notice {
		margin: 30px 20px 0;
		padding: 20px;
	}

	.so-operator-application-form-section {
		padding: 45px 16px 58px;
	}

	.so-operator-application-form {
		padding: 26px 20px;
		border-radius: 10px;
	}

	.so-operator-application-form .wpforms-field {
		padding-bottom: 20px;
	}

	.so-operator-application-form button[type="submit"],
	.so-operator-application-form .wpforms-page-button {
		width: 100%;
		margin: 5px 0 !important;
	}

	.so-application-next-steps {
		padding: 52px 20px;
	}

	.so-application-next-steps .wp-block-column {
		margin-bottom: 18px;
	}

	.so-application-existing-operator {
		padding: 48px 20px;
	}
}
/* =========================================================
   OPERATOR APPLICATION — FINAL POLISH
   Add below existing application page CSS
   ========================================================= */


/* ---------------------------------------------------------
   WPFORMS MULTI-PAGE PROGRESS BAR
   --------------------------------------------------------- */

.so-operator-application-form .wpforms-page-indicator {
	margin: 0 0 34px;
	padding-bottom: 22px;
	border-bottom: 1px solid rgba(78, 82, 86, 0.18);
}

.so-operator-application-form .wpforms-page-indicator.progress {
	background: transparent;
	height: auto;
	overflow: visible;
}

/* Progress bar track */
.so-operator-application-form
.wpforms-page-indicator.progress
.wpforms-page-indicator-page-progress-wrap {
	background: rgba(78, 82, 86, 0.15);
	border-radius: 20px;
	overflow: hidden;
}

/* Active progress */
.so-operator-application-form
.wpforms-page-indicator.progress
.wpforms-page-indicator-page-progress {
	background: #7A5C38 !important;
	border-radius: 20px;
}

/* Progress text */
.so-operator-application-form
.wpforms-page-indicator-page-title,
.so-operator-application-form
.wpforms-page-indicator-page-sep {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: #4E5256;
}


/* ---------------------------------------------------------
   PAGE BREAK / PAGE CONTENT
   --------------------------------------------------------- */

.so-operator-application-form .wpforms-page {
	animation: soFormFadeIn 0.18s ease-in;
}

@keyframes soFormFadeIn {
	from {
		opacity: 0;
		transform: translateY(3px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* ---------------------------------------------------------
   CHECKBOX / RADIO GROUP CLEANUP
   --------------------------------------------------------- */

.so-operator-application-form
.wpforms-field-checkbox ul,
.so-operator-application-form
.wpforms-field-radio ul {
	padding-left: 0;
	list-style: none;
}

.so-operator-application-form
.wpforms-field-checkbox li,
.so-operator-application-form
.wpforms-field-radio li {
	padding: 4px 0;
}

.so-operator-application-form
.wpforms-field-checkbox label,
.so-operator-application-form
.wpforms-field-radio label {
	color: #1F2326;
	line-height: 1.45;
}


/* ---------------------------------------------------------
   APPLICATION ACKNOWLEDGMENTS
   --------------------------------------------------------- */

.so-operator-application-form
.wpforms-field-checkbox:last-of-type {
	margin-top: 12px;
	padding: 22px 24px;
	background: rgba(230, 226, 218, 0.38);
	border-left: 4px solid #7A5C38;
	border-radius: 8px;
}


/* ---------------------------------------------------------
   RESUME / CV UPLOAD
   --------------------------------------------------------- */

.so-operator-application-form
.wpforms-field-file-upload {
	margin-top: 6px;
	padding: 24px;
	background: rgba(230, 226, 218, 0.30);
	border: 1px dashed #7A5C38;
	border-radius: 9px;
}

.so-operator-application-form
.wpforms-field-file-upload .wpforms-field-label {
	color: #1F2326;
}


/* ---------------------------------------------------------
   NEXT / PREVIOUS BUTTON LAYOUT
   --------------------------------------------------------- */

.so-operator-application-form
.wpforms-page-button-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

/* Keep a single Next button on the right */
.so-operator-application-form
.wpforms-page-button-container
.wpforms-page-next:only-child {
	margin-left: auto !important;
}


/* ---------------------------------------------------------
   FINAL SUBMIT BUTTON
   --------------------------------------------------------- */

.so-operator-application-form
.wpforms-submit-container {
	text-align: right;
}

.so-operator-application-form
button.wpforms-submit {
	min-width: 240px;
}


/* ---------------------------------------------------------
   CONDITIONAL FIELD TRANSITIONS
   --------------------------------------------------------- */

.so-operator-application-form
.wpforms-conditional-field {
	transition: opacity 0.18s ease;
}


/* ---------------------------------------------------------
   FORM CONFIRMATION / SUCCESS MESSAGE
   --------------------------------------------------------- */

.so-operator-application-form
.wpforms-confirmation-container-full {
	margin: 0;
	padding: 26px 28px;
	background: rgba(230, 226, 218, 0.55);
	border: 1px solid rgba(122, 92, 56, 0.40);
	border-left: 5px solid #7A5C38;
	border-radius: 10px;
	color: #1F2326;
}

.so-operator-application-form
.wpforms-confirmation-container-full p:last-child {
	margin-bottom: 0;
}


/* ---------------------------------------------------------
   MOBILE POLISH
   --------------------------------------------------------- */

@media (max-width: 781px) {

	.so-operator-application-form
	.wpforms-page-button-container {
		display: flex;
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.so-operator-application-form
	.wpforms-page-button,
	.so-operator-application-form
	button.wpforms-submit {
		width: 100%;
		min-width: 0;
	}

	.so-operator-application-form
	.wpforms-submit-container {
		text-align: center;
	}

	.so-operator-application-form
	.wpforms-field-file-upload {
		padding: 20px 16px;
	}
}
/* =========================================================
   STREAM-OPS ABOUT PAGE
   ========================================================= */


/* ---------------------------------------------------------
   SHARED SECTION SPACING
   --------------------------------------------------------- */

.so-about-hero,
.so-about-real,
.so-about-invisible,
.so-about-process,
.so-about-support,
.so-about-cta {
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   SECTION 1 — HERO
   --------------------------------------------------------- */

.so-about-hero {
    padding-top: 54px;
    padding-bottom: 54px;
}

.so-about-hero h1,
.so-about-hero h2 {
    line-height: 1.15;
    margin-bottom: 24px;
}

.so-about-hero img {
    width: 100%;
    height: auto;
    display: block;
}


/* ---------------------------------------------------------
   SECTION 2 — BUILT AROUND REAL LIVE PRODUCTION
   --------------------------------------------------------- */

.so-about-real {
    padding-top: 34px;
    padding-bottom: 46px;
}

.so-about-real h2 {
    margin-bottom: 24px;
}

.so-about-real p {
    line-height: 1.55;
}


/* ---------------------------------------------------------
   SECTION 3 — THE WORK SHOULD BE INVISIBLE
   --------------------------------------------------------- */

.so-about-invisible {
    padding-top: 22px;
    padding-bottom: 34px;
}

.so-about-invisible h2 {
    margin-bottom: 28px;
}

.so-about-invisible img {
    width: 100%;
    height: auto;
    display: block;
}

.so-about-invisible p {
    line-height: 1.55;
}


/* Bronze emphasis bar used in Sections 3 and 5 */

.so-about-accent {
    border-left: 3px solid #7A5C38;
    padding-left: 16px;
    margin-top: 22px;
}


/* ---------------------------------------------------------
   SECTION 4 — HOW WE WORK
   --------------------------------------------------------- */

.so-about-process {
    padding-top: 30px;
    padding-bottom: 38px;
}

.so-about-process h2 {
    margin-bottom: 18px;
}


/* Individual workflow cards */

.so-about-process-card {
    background: #FFFFFF;
    border: 1px solid rgba(122, 92, 56, 0.8);
    border-radius: 10px;
    padding: 24px 18px;
    height: 100%;
    box-sizing: border-box;
    box-shadow: 0 8px 18px rgba(31, 35, 38, 0.08);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.so-about-process-card h3 {
    margin-top: 0;
    margin-bottom: 18px;
    line-height: 1.2;
}

.so-about-process-card p {
    line-height: 1.55;
}


/* Very restrained hover — optional but professional */

@media (hover: hover) {
    .so-about-process-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 22px rgba(31, 35, 38, 0.12);
    }
}


/* ---------------------------------------------------------
   SECTION 5 — WHO WE SUPPORT
   --------------------------------------------------------- */

.so-about-support {
    padding-top: 30px;
    padding-bottom: 34px;
}

.so-about-support h2 {
    margin-bottom: 24px;
}

.so-about-support p {
    line-height: 1.55;
}


/* Right-side Who We Serve panel */

.so-about-support-card {
    background: #E6E2DA;
    border: 1px solid #7A5C38;
    border-radius: 10px;
    padding: 24px 30px;
    box-sizing: border-box;
    box-shadow: 0 8px 20px rgba(31, 35, 38, 0.10);
}

.so-about-support-card ul {
    margin-top: 0;
    margin-bottom: 0;
}

.so-about-support-card li {
    margin-bottom: 7px;
    line-height: 1.45;
}

.so-about-support-card li:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   SECTION 6 — FINAL CTA
   --------------------------------------------------------- */

.so-about-cta {
    padding-top: 26px;
    padding-bottom: 44px;
    text-align: center;
}

.so-about-cta h2 {
    margin-bottom: 24px;
}

.so-about-cta p {
    line-height: 1.55;
}

.so-about-cta .wp-block-buttons {
    justify-content: center;
    margin-top: 26px;
    margin-bottom: 24px;
}


/* CTA Button */

.so-about-cta .wp-block-button__link {
    background: #7B1F23;
    color: #FFFFFF;
    border-radius: 4px;
    padding: 12px 24px;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    text-decoration: none;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.so-about-cta .wp-block-button__link:hover {
    background: #64191C;
    color: #FFFFFF;
    transform: translateY(-1px);
}

.so-about-cta .wp-block-button__link:focus-visible {
    outline: 3px solid #E6E2DA;
    outline-offset: 3px;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .so-about-hero,
    .so-about-real,
    .so-about-invisible,
    .so-about-process,
    .so-about-support,
    .so-about-cta {
        padding-left: 24px;
        padding-right: 24px;
    }

    .so-about-process-card {
        min-height: auto;
    }

    .so-about-support-card {
        padding: 24px;
    }
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 781px) {

    .so-about-hero,
    .so-about-real,
    .so-about-invisible,
    .so-about-process,
    .so-about-support,
    .so-about-cta {
        padding-top: 34px;
        padding-bottom: 34px;
    }

    .so-about-hero .wp-block-columns,
    .so-about-invisible .wp-block-columns,
    .so-about-support .wp-block-columns {
        gap: 28px;
    }

    .so-about-process-card {
        padding: 22px 18px;
    }

    .so-about-support-card {
        margin-top: 8px;
    }

    .so-about-cta .wp-block-button {
        width: 100%;
    }

    .so-about-cta .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}
/* =========================================================
   STREAM-OPS — REMOTE PRODUCTION PAGE
   Consolidated / Gutenberg / Blocksy Free
   ========================================================= */

:root {
  --so-charcoal: #1F2326;
  --so-bronze: #7A5C38;
  --so-red: #7B1F23;
  --so-red-hover: #64191C;
  --so-ivory: #E6E2DA;
  --so-steel: #4E5256;
  --so-white: #FFFFFF;
}

/* =========================================================
   GLOBAL PAGE SHELL + TYPOGRAPHY
   ========================================================= */

.so-rp-section {
  padding: 68px 24px 72px;
  box-sizing: border-box;
}

.so-rp-inner {
  max-width: 1120px;
  margin: 0 auto;
}

.so-rp-section h1,
.so-rp-section h2,
.so-rp-section h3,
.so-rp-section h4,
.so-rp-hero h1,
.so-rp-final-cta h2 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}

.so-rp-section p,
.so-rp-section li,
.so-rp-hero p,
.so-rp-final-cta p {
  font-family: "Source Sans 3", sans-serif;
  line-height: 1.65;
}

.so-rp-eyebrow {
  color: var(--so-bronze) !important;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 14px;
  margin: 0 0 12px !important;
}

.so-rp-light {
  background: var(--so-ivory);
  color: var(--so-charcoal);
}

.so-rp-white {
  background: var(--so-white);
  color: var(--so-charcoal);
}

.so-rp-dark {
  background: var(--so-charcoal);
  color: var(--so-ivory);
}

.so-rp-light h2,
.so-rp-white h2 {
  color: var(--so-charcoal);
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.15;
  margin: 0 0 18px;
}

.so-rp-dark h2,
.so-rp-dark h3,
.so-rp-dark h4 {
  color: var(--so-white);
}

.so-rp-section-intro {
  max-width: 760px;
  color: var(--so-steel) !important;
  font-size: 19px !important;
  line-height: 1.65;
  margin-bottom: 42px !important;
}

/* =========================================================
   SHARED BUTTONS
   ========================================================= */

.so-rp-primary-button .wp-block-button__link {
  background: var(--so-red) !important;
  color: var(--so-white) !important;
  border: 2px solid var(--so-red) !important;
  border-radius: 6px !important;
  padding: 13px 22px !important;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
  transition: 0.2s ease;
}

.so-rp-primary-button .wp-block-button__link:hover {
  background: var(--so-red-hover) !important;
  border-color: var(--so-red-hover) !important;
  transform: translateY(-1px);
}

.so-rp-secondary-button .wp-block-button__link {
  background: transparent !important;
  color: var(--so-ivory) !important;
  border: 2px solid var(--so-bronze) !important;
  border-radius: 6px !important;
  padding: 13px 22px !important;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  text-decoration: none;
  transition: 0.2s ease;
}

.so-rp-secondary-button .wp-block-button__link:hover {
  background: var(--so-bronze) !important;
  color: var(--so-white) !important;
  transform: translateY(-1px);
}

/* =========================================================
   SECTION 1 — HERO
   ========================================================= */

.so-rp-hero {
  background: var(--so-charcoal);
  color: var(--so-ivory);
  padding: 56px 24px 60px;
}

.so-rp-hero .so-rp-inner {
  max-width: 1180px;
  margin: 0 auto;
}

.so-rp-hero .wp-block-columns {
  align-items: center;
  gap: 52px;
  margin-bottom: 0;
}

.so-rp-hero .so-rp-eyebrow {
  font-size: 15px;
  margin-bottom: 20px !important;
}

.so-rp-hero h1 {
  color: var(--so-white);
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 24px;
  max-width: 650px;
}

.so-rp-hero p {
  color: var(--so-ivory);
  font-size: 18px;
  max-width: 650px;
  margin: 0 0 20px;
}

.so-rp-hero .wp-block-buttons {
  margin-top: 30px;
  gap: 14px;
}

.so-rp-hero img {
  display: block;
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(0,0,0,0.28);
}

/* =========================================================
   SECTION 2 — PROBLEM
   ========================================================= */

.so-rp-light.so-rp-section {
  padding: 68px 24px 72px;
}

.so-rp-light .wp-block-columns {
  gap: 48px;
  align-items: stretch;
  margin-bottom: 0;
}

.so-rp-light h3 {
  color: var(--so-charcoal);
  font-size: 22px;
  line-height: 1.3;
  margin: 0 0 18px;
}

.so-rp-light p {
  font-size: 18px;
}

.so-rp-problem-box {
  height: 100%;
  box-sizing: border-box;
  background: var(--so-white);
  border-left: 4px solid var(--so-red);
  border-radius: 0 10px 10px 0;
  padding: 30px 32px;
  box-shadow: 0 8px 22px rgba(31,35,38,0.07);
}

.so-rp-problem-box h3 {
  margin-bottom: 14px;
}

.so-rp-problem-box p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   SECTION 3 — SERVICE DEFINITION CARDS
   ========================================================= */

.so-rp-white.so-rp-section {
  padding: 68px 24px 72px;
}

.so-rp-white .so-rp-inner > p:not(.so-rp-eyebrow) {
  color: var(--so-steel);
  font-size: 18px;
  line-height: 1.65;
}

.so-rp-card-grid {
  gap: 28px;
  margin-top: 36px;
}

.so-rp-card {
  background: var(--so-white);
  border: 1px solid rgba(78,82,86,0.22);
  border-radius: 12px;
  padding: 28px 26px;
  box-shadow: 0 8px 24px rgba(31,35,38,0.06);
  height: 100%;
  box-sizing: border-box;
}

.so-rp-card::before {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  background: var(--so-bronze);
  margin-bottom: 18px;
}

.so-rp-card h3 {
  color: var(--so-charcoal);
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 10px;
}

.so-rp-card p {
  color: var(--so-steel);
  font-size: 17px;
  line-height: 1.6;
}

/* =========================================================
   SECTION 4 — REMOTE CAPABILITIES
   ========================================================= */

.so-rp-dark.so-rp-section {
  padding: 70px 24px 76px;
}

.so-rp-dark .so-rp-inner > p {
  color: var(--so-ivory);
  max-width: 760px;
  font-size: 18px;
  line-height: 1.65;
  margin-bottom: 36px;
}

.so-rp-dark .wp-block-columns {
  gap: 34px;
  margin-bottom: 26px;
}

.so-rp-capability {
  border-top: 2px solid var(--so-bronze);
  padding-top: 18px;
}

.so-rp-capability h4 {
  color: var(--so-white) !important;
  font-size: 20px;
  line-height: 1.3;
  margin: 0 0 10px;
}

.so-rp-capability p {
  color: var(--so-ivory) !important;
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 0;
}

/* =========================================================
   SECTION 5 — PROCESS
   ========================================================= */

.so-rp-process {
  background: var(--so-ivory);
  color: var(--so-charcoal);
}

.so-rp-step {
  border-top: 2px solid var(--so-bronze);
  padding-top: 20px;
  min-height: 0 !important;
  height: auto !important;
}

.so-rp-step-number {
  color: var(--so-red) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  margin: 0 0 12px !important;
}

.so-rp-step h3 {
  color: var(--so-charcoal) !important;
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 14px;
}

.so-rp-step > p:not(.so-rp-step-number) {
  color: var(--so-steel) !important;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
}

.so-rp-step .wp-block-paragraph {
  max-width: none;
}

/* =========================================================
   SECTION 6 — EXISTING SYSTEMS
   ========================================================= */

.so-rp-systems-copy h2 {
  color: var(--so-charcoal) !important;
}

.so-rp-systems-copy > p {
  color: var(--so-steel) !important;
  font-size: 18px;
  line-height: 1.65;
}

.so-rp-system-panel {
  background: var(--so-charcoal) !important;
  color: var(--so-ivory) !important;
  border-radius: 12px;
  padding: 34px 36px;
  box-sizing: border-box;
}

.so-rp-system-panel h3 {
  color: var(--so-white) !important;
  font-size: 23px;
  line-height: 1.3;
  margin: 0 0 20px;
}

.so-rp-system-panel ul {
  color: var(--so-ivory) !important;
  margin-bottom: 22px;
}

.so-rp-system-panel li {
  color: var(--so-ivory) !important;
  font-size: 17px;
  line-height: 1.55;
  margin-bottom: 5px;
}

.so-rp-system-panel p {
  color: var(--so-ivory) !important;
  font-size: 17px;
  line-height: 1.6;
}

.so-rp-system-note {
  border-top: 1px solid rgba(122,92,56,0.75);
  padding-top: 18px;
  margin-top: 20px;
  font-weight: 600;
}

/* =========================================================
   SECTION 7 — INDUSTRIES
   Current Gutenberg structure uses title/copy paragraphs
   ========================================================= */

.so-rp-industries {
  padding-top: 76px !important;
  padding-bottom: 82px !important;
}

.so-rp-usecase-title {
  color: var(--so-white) !important;
  font-family: "Montserrat", sans-serif;
  font-size: 19px !important;
  line-height: 1.3;
  font-weight: 600 !important;
  margin: 0 0 7px !important;
}

.so-rp-usecase-copy {
  color: var(--so-ivory) !important;
  font-family: "Source Sans 3", sans-serif;
  font-size: 17px !important;
  line-height: 1.55;
  margin: 0 0 28px !important;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(230,226,218,0.12);
}

.so-rp-usecase-copy:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0;
  border-bottom: none;
}

/* =========================================================
   SECTION 8 — WHY STREAM-OPS
   ========================================================= */

.so-rp-why-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(122,92,56,0.50);
  border-radius: 10px;
  padding: 28px 30px;
  height: 100%;
  box-sizing: border-box;
}

.so-rp-why-card::before {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: var(--so-bronze);
  margin-bottom: 18px;
}

.so-rp-why-card h3 {
  color: var(--so-white) !important;
  font-size: 21px;
  line-height: 1.3;
  margin: 0 0 12px !important;
}

.so-rp-why-card p {
  color: var(--so-ivory) !important;
  font-size: 17px;
  line-height: 1.6;
  margin: 0 !important;
}

/* =========================================================
   SECTION 9 — ENGAGEMENT OPTIONS
   ========================================================= */

.so-rp-engagement-card {
  background: var(--so-white);
  border: 1px solid rgba(78,82,86,0.18);
  border-radius: 10px;
  padding: 26px 24px;
  box-sizing: border-box;
  height: 100%;
  box-shadow: 0 6px 18px rgba(31,35,38,0.05);
}

.so-rp-engagement-card::before {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  background: var(--so-bronze);
  margin-bottom: 16px;
}

.so-rp-engagement-card h4 {
  color: var(--so-charcoal) !important;
  font-size: 20px;
  line-height: 1.3;
  margin: 0 0 12px !important;
}

.so-rp-engagement-card p {
  color: var(--so-steel) !important;
  font-size: 17px;
  line-height: 1.55;
  margin: 0 !important;
}

/* =========================================================
   SECTION 10 — REAL-WORLD SCENARIOS
   ========================================================= */

.so-rp-scenario-grid {
  gap: 24px;
}

.so-rp-scenario-grid > .wp-block-column {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.so-rp-scenario-card {
  background: var(--so-white);
  border: 1px solid rgba(122,92,56,0.28);
  border-radius: 10px;
  padding: 26px 28px;
  box-sizing: border-box;
  margin-bottom: 24px !important;
  box-shadow: 0 6px 18px rgba(31,35,38,0.04);
}

.so-rp-scenario-card::before {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  background: var(--so-bronze);
  margin-bottom: 17px;
}

.so-rp-scenario-card h4 {
  color: var(--so-charcoal) !important;
  font-size: 21px;
  line-height: 1.3;
  margin: 0 0 12px !important;
}

.so-rp-scenario-card p {
  color: var(--so-steel) !important;
  font-size: 17px;
  line-height: 1.6;
  margin: 0 !important;
}

.so-rp-scenario-card > * {
  margin-top: 0;
}

/* =========================================================
   SECTION 11 — FAQ
   ========================================================= */

.so-rp-faq {
  max-width: 980px;
  margin: 0 auto;
}

.so-rp-faq .wp-block-details {
  border-bottom: 1px solid rgba(230,226,218,0.16);
  padding: 18px 0;
  margin: 0;
}

.so-rp-faq .wp-block-details:first-of-type {
  border-top: 1px solid rgba(230,226,218,0.16);
}

.so-rp-faq summary {
  color: var(--so-white) !important;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.4;
  cursor: pointer;
}

.so-rp-faq .wp-block-details p {
  color: var(--so-ivory) !important;
  font-size: 17px;
  line-height: 1.65;
  max-width: 820px;
  margin: 16px 0 4px 18px;
}

.so-rp-faq .wp-block-details[open] summary {
  color: var(--so-ivory) !important;
}

/* =========================================================
   SECTION 12 — FINAL CTA
   ========================================================= */

.wp-block-group.so-rp-final-cta {
  background-color: var(--so-charcoal) !important;
  color: var(--so-ivory) !important;
  text-align: center;
  padding: 82px 24px 86px !important;
}

.wp-block-group.so-rp-final-cta .so-rp-eyebrow {
  margin-bottom: 18px !important;
}

.wp-block-group.so-rp-final-cta h2 {
  color: var(--so-white) !important;
  font-size: clamp(32px, 3.5vw, 46px);
  line-height: 1.15;
  max-width: 820px;
  margin: 0 auto 20px !important;
}

.wp-block-group.so-rp-final-cta > p:not(.so-rp-eyebrow) {
  color: var(--so-ivory) !important;
  font-size: 18px;
  line-height: 1.65;
  max-width: 700px;
  margin: 0 auto 30px !important;
}

.wp-block-group.so-rp-final-cta .wp-block-buttons {
  justify-content: center !important;
  gap: 14px !important;
  margin-top: 30px !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 781px) {
  .so-rp-section {
    padding: 52px 20px;
  }

  .so-rp-hero {
    padding: 48px 20px;
  }

  .so-rp-hero .wp-block-columns {
    gap: 32px;
  }

  .so-rp-hero h1 {
    font-size: 38px;
  }

  .so-rp-hero .wp-block-buttons {
    flex-direction: column;
    align-items: flex-start;
  }

  .so-rp-light .wp-block-columns {
    gap: 26px;
  }

  .so-rp-section-intro {
    margin-bottom: 30px !important;
  }

  .so-rp-problem-box {
    padding: 26px 24px;
  }

  .so-rp-card,
  .so-rp-why-card,
  .so-rp-engagement-card {
    padding: 22px;
  }

  .so-rp-system-panel {
    padding: 28px 24px;
  }

  .so-rp-dark .wp-block-columns,
  .so-rp-card-grid,
  .so-rp-scenario-grid {
    gap: 22px;
  }

  .wp-block-group.so-rp-final-cta {
    padding: 56px 20px !important;
  }
}
/* =========================================================
   STREAM-OPS — REQUEST MORE INFORMATION PAGE
   ========================================================= */


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.so-info-hero {
    background: #1F2326;
    padding: 64px 24px;
    text-align: center;
}

.so-info-hero > .wp-block-group__inner-container,
.so-info-hero > .wp-block-group {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.so-info-hero h1 {
    margin-top: 0;
    margin-bottom: 22px;
    color: #E6E2DA;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.15;
}

.so-info-hero p {
    max-width: 720px;
    margin: 0 auto;
    color: #E6E2DA;
    font-family: "Source Sans 3", sans-serif;
    font-size: 18px;
    line-height: 1.65;
}


/* ---------------------------------------------------------
   MAIN FORM SECTION
   --------------------------------------------------------- */

.so-info-section {
    background: #E6E2DA;
    padding: 64px 24px 76px;
}


/* ---------------------------------------------------------
   FORM CARD
   --------------------------------------------------------- */

.so-info-form-card {
    max-width: 850px;
    margin: 0 auto;
    padding: 42px 44px 38px;
    background: #FFFFFF;
    border-top: 4px solid #7A5C38;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(31, 35, 38, 0.10);
}

.so-info-form-card h2 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #1F2326;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    letter-spacing: 0.035em;
    line-height: 1.2;
}

.so-info-form-card > p {
    margin-bottom: 32px;
    color: #4E5256;
    font-family: "Source Sans 3", sans-serif;
    font-size: 17px;
    line-height: 1.6;
}


/* ---------------------------------------------------------
   WPFORMS — GENERAL
   --------------------------------------------------------- */

.so-info-form-card .wpforms-container {
    margin-top: 0;
    margin-bottom: 0;
}

.so-info-form-card .wpforms-field {
    padding-top: 0;
    padding-bottom: 22px;
}

.so-info-form-card .wpforms-field-label {
    margin-bottom: 7px !important;
    color: #1F2326 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.35;
}

.so-info-form-card .wpforms-required-label {
    color: #7B1F23 !important;
}


/* ---------------------------------------------------------
   FIELD WIDTHS
   --------------------------------------------------------- */

/*
   WPForms "medium" fields are intentionally narrower by
   default. On this page we want a consistent professional
   intake-form width.
*/

.so-info-form-card .wpforms-field-medium,
.so-info-form-card .wpforms-field-large,
.so-info-form-card input[type="text"],
.so-info-form-card input[type="email"],
.so-info-form-card input[type="tel"],
.so-info-form-card input[type="number"],
.so-info-form-card select,
.so-info-form-card textarea {
    max-width: 100% !important;
    width: 100% !important;
}


/* Keep First / Last Name side by side */
.so-info-form-card .wpforms-field-name .wpforms-field-row {
    max-width: 100% !important;
}


/* ---------------------------------------------------------
   INPUT APPEARANCE
   --------------------------------------------------------- */

.so-info-form-card input[type="text"],
.so-info-form-card input[type="email"],
.so-info-form-card input[type="tel"],
.so-info-form-card input[type="number"],
.so-info-form-card select {
    min-height: 48px !important;
    padding: 10px 13px !important;
    background: #FFFFFF !important;
    border: 1px solid #A9A9A5 !important;
    border-radius: 5px !important;
    color: #1F2326 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 16px !important;
    box-shadow: none !important;
}

.so-info-form-card textarea {
    min-height: 170px !important;
    padding: 13px !important;
    background: #FFFFFF !important;
    border: 1px solid #A9A9A5 !important;
    border-radius: 5px !important;
    color: #1F2326 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5;
    box-shadow: none !important;
}


/* ---------------------------------------------------------
   FIELD FOCUS
   --------------------------------------------------------- */

.so-info-form-card input:focus,
.so-info-form-card select:focus,
.so-info-form-card textarea:focus {
    border-color: #7A5C38 !important;
    outline: 2px solid rgba(122, 92, 56, 0.18) !important;
    outline-offset: 1px;
    box-shadow: none !important;
}


/* ---------------------------------------------------------
   FIELD DESCRIPTIONS
   --------------------------------------------------------- */

.so-info-form-card .wpforms-field-description {
    margin-top: 7px !important;
    color: #4E5256 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}


/* ---------------------------------------------------------
   CHECKBOXES / RADIO BUTTONS
   --------------------------------------------------------- */

.so-info-form-card .wpforms-field-checkbox ul,
.so-info-form-card .wpforms-field-radio ul {
    margin-top: 8px !important;
}

.so-info-form-card .wpforms-field-checkbox li,
.so-info-form-card .wpforms-field-radio li {
    margin-bottom: 8px !important;
    color: #1F2326;
    font-family: "Source Sans 3", sans-serif;
    font-size: 16px;
}

.so-info-form-card input[type="checkbox"],
.so-info-form-card input[type="radio"] {
    accent-color: #7B1F23;
}


/* ---------------------------------------------------------
   SUBMIT BUTTON
   --------------------------------------------------------- */

.so-info-form-card .wpforms-submit-container {
    padding-top: 8px !important;
}

.so-info-form-card button.wpforms-submit,
.so-info-form-card .wpforms-submit {
    min-height: 48px !important;
    padding: 13px 26px !important;
    background: #7B1F23 !important;
    border: 1px solid #7B1F23 !important;
    border-radius: 5px !important;
    color: #FFFFFF !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    box-shadow: none !important;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.so-info-form-card button.wpforms-submit:hover,
.so-info-form-card .wpforms-submit:hover {
    background: #64191D !important;
    border-color: #64191D !important;
    color: #FFFFFF !important;
}

.so-info-form-card button.wpforms-submit:focus,
.so-info-form-card .wpforms-submit:focus {
    outline: 3px solid rgba(123, 31, 35, 0.22) !important;
    outline-offset: 2px;
}


/* ---------------------------------------------------------
   REASSURANCE
   --------------------------------------------------------- */

.so-info-reassurance {
    max-width: 650px;
    margin: 28px auto 0 !important;
    color: #4E5256 !important;
    font-family: "Source Sans 3", sans-serif;
    font-size: 15px !important;
    line-height: 1.5;
    text-align: center;
}


/* ---------------------------------------------------------
   CONSULTATION CTA
   --------------------------------------------------------- */

.so-info-consultation {
    background: #1F2326;
    padding: 46px 44px;
    color: #E6E2DA;
}

.so-info-consultation > .wp-block-group__inner-container,
.so-info-consultation > .wp-block-group {
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
}

.so-info-consultation h2,
.so-info-consultation h3 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #E6E2DA;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.so-info-consultation p {
    max-width: 720px;
    margin-bottom: 24px;
    color: #E6E2DA;
    font-family: "Source Sans 3", sans-serif;
    font-size: 17px;
    line-height: 1.6;
}


/* Consultation Button */
.so-info-consultation .wp-block-button__link {
    padding: 13px 24px;
    background: #7B1F23 !important;
    border: 1px solid #7B1F23;
    border-radius: 5px;
    color: #FFFFFF !important;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.025em;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.so-info-consultation .wp-block-button__link:hover {
    background: #64191D !important;
    border-color: #64191D;
    color: #FFFFFF !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 768px) {

    .so-info-hero {
        padding: 48px 22px;
    }

    .so-info-hero h1 {
        font-size: 30px;
    }

    .so-info-hero p {
        font-size: 17px;
    }

    .so-info-section {
        padding: 42px 16px 52px;
    }

    .so-info-form-card {
        padding: 30px 22px;
        border-radius: 8px;
    }

    .so-info-form-card h2 {
        font-size: 26px;
    }

    .so-info-form-card .wpforms-field-name .wpforms-field-row-block {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .so-info-form-card .wpforms-field-name .wpforms-field-row-block + .wpforms-field-row-block {
        margin-top: 12px !important;
    }

    .so-info-form-card button.wpforms-submit,
    .so-info-form-card .wpforms-submit {
        width: 100% !important;
    }

    .so-info-consultation {
        padding: 38px 24px;
        text-align: center;
    }

    .so-info-consultation p {
        margin-left: auto;
        margin-right: auto;
    }

    .so-info-consultation .wp-block-buttons {
        justify-content: center;
    }

    .so-info-consultation .wp-block-button,
    .so-info-consultation .wp-block-button__link {
        width: 100%;
    }

    .so-info-consultation .wp-block-button__link {
        text-align: center;
    }
}
/* Stream-Ops reusable section eyebrow */
.so-eyebrow {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #7B1F23;
    margin: 0 0 12px;
}
/* =========================================================
   STREAM-OPS CONTACT PAGE
   ========================================================= */


/* ---------------------------------------------------------
   EYEBROWS
   --------------------------------------------------------- */

.so-eyebrow {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #7B1F23;
    margin: 0 0 14px;
}


/* ---------------------------------------------------------
   MAIN CONTACT / HERO AREA
   --------------------------------------------------------- */

.so-contact-main {
    background: #1F2326;
    padding: 55px 40px;
}

.so-contact-main h1,
.so-contact-main h2 {
    color: #FFFFFF;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
}

.so-contact-main > p,
.so-contact-main .wp-block-group > p {
    color: #E6E2DA;
}


/* ---------------------------------------------------------
   CONTACT FORM WRAPPER
   --------------------------------------------------------- */

.so-contact-form-wrap {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    padding: 55px 40px 60px;
}

.so-contact-form-wrap h2 {
    margin-bottom: 18px;
}

.so-contact-form-wrap > p {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 34px;
}


/* ---------------------------------------------------------
   CONTACT FORM — WPForms 1436 ONLY
   --------------------------------------------------------- */

#wpforms-1436 {
    font-family: "Source Sans 3", sans-serif;
}

#wpforms-1436 .wpforms-field {
    padding-top: 8px;
    padding-bottom: 12px;
}

#wpforms-1436 .wpforms-field-label {
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #1F2326;
    margin-bottom: 7px;
}

#wpforms-1436 input[type="text"],
#wpforms-1436 input[type="email"],
#wpforms-1436 input[type="tel"],
#wpforms-1436 input[type="number"],
#wpforms-1436 select,
#wpforms-1436 textarea {
    background: #FFFFFF;
    border: 1px solid #B8B5AE;
    border-radius: 4px;
    color: #1F2326;
    font-family: "Source Sans 3", sans-serif;
    font-size: 16px;
    min-height: 46px;
    box-shadow: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

#wpforms-1436 textarea {
    min-height: 140px;
}

#wpforms-1436 input:focus,
#wpforms-1436 select:focus,
#wpforms-1436 textarea:focus {
    border-color: #7A5C38;
    box-shadow: 0 0 0 2px rgba(122, 92, 56, 0.15);
    outline: none;
}


/* Required-field marker */

#wpforms-1436 .wpforms-required-label {
    color: #7B1F23;
}


/* ---------------------------------------------------------
   WPForms SEND MESSAGE BUTTON
   --------------------------------------------------------- */

#wpforms-1436 button[type="submit"],
#wpforms-1436 .wpforms-submit {
    background: #7B1F23 !important;
    border: 1px solid #7B1F23 !important;
    border-radius: 4px !important;
    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;

    padding: 13px 25px !important;
    min-height: 46px;

    box-shadow: none !important;
    text-transform: none;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.15s ease;
}

#wpforms-1436 button[type="submit"]:hover,
#wpforms-1436 .wpforms-submit:hover {
    background: #64191C !important;
    border-color: #64191C !important;
}

#wpforms-1436 button[type="submit"]:focus,
#wpforms-1436 .wpforms-submit:focus {
    outline: 2px solid #7A5C38 !important;
    outline-offset: 3px;
}


/* ---------------------------------------------------------
   CONDITIONAL ROUTING / HTML NOTES
   --------------------------------------------------------- */

.so-form-routing-note {
    background: #FFFFFF;
    border-left: 4px solid #7B1F23;
    border-radius: 5px;
    padding: 20px 24px;
    margin: 10px 0 18px;
}

.so-form-routing-note h3 {
    margin: 0 0 8px;
    font-family: "Montserrat", sans-serif;
    font-size: 19px;
    font-weight: 600;
    color: #1F2326;
}

.so-form-routing-note p {
    margin: 0 0 10px;
    color: #4E5256;
    font-family: "Source Sans 3", sans-serif;
    line-height: 1.55;
}

.so-form-routing-note p:last-child {
    margin-bottom: 0;
}

.so-form-routing-link {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: #7B1F23;
    text-decoration: none;
}

.so-form-routing-link:hover {
    color: #64191C;
    text-decoration: underline;
}


/* Event Operator variation */

.so-operator-routing-note {
    border-left-color: #7A5C38;
}

.so-form-routing-subtext {
    font-weight: 600;
    color: #1F2326 !important;
}


/* ---------------------------------------------------------
   PRODUCTION SERVICES CTA
   --------------------------------------------------------- */

.so-contact-production-cta {
    background: #1F2326;
    color: #E6E2DA;
    text-align: center;
    padding: 60px 30px;
}

.so-contact-production-cta h2 {
    color: #FFFFFF;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    margin-bottom: 18px;
}

.so-contact-production-cta p:not(.so-eyebrow) {
    color: #E6E2DA;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}


/* Production CTA button */

.so-contact-production-cta .wp-block-button__link {
    background: #7B1F23 !important;
    color: #FFFFFF !important;
    border: 1px solid #7B1F23;
    border-radius: 4px;

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;

    padding: 13px 25px;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.so-contact-production-cta .wp-block-button__link:hover {
    background: #64191C !important;
    border-color: #64191C;
    color: #FFFFFF !important;
}


/* ---------------------------------------------------------
   CONSULTATION CTA
   --------------------------------------------------------- */

.so-contact-consultation {
    background: #E6E2DA;
    text-align: center;
    padding: 60px 30px 65px;
}

.so-contact-consultation h2 {
    color: #1F2326;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    margin-bottom: 18px;
}

.so-contact-consultation p:not(.so-eyebrow) {
    color: #4E5256;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}


/* Consultation button */

.so-contact-consultation .wp-block-button__link {
    background: #7B1F23 !important;
    color: #FFFFFF !important;
    border: 1px solid #7B1F23;
    border-radius: 4px;

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;

    padding: 13px 25px;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.so-contact-consultation .wp-block-button__link:hover {
    background: #64191C !important;
    border-color: #64191C;
    color: #FFFFFF !important;
}


/* ---------------------------------------------------------
   BUTTON FOCUS ACCESSIBILITY
   --------------------------------------------------------- */

.so-contact-production-cta .wp-block-button__link:focus,
.so-contact-consultation .wp-block-button__link:focus {
    outline: 2px solid #7A5C38;
    outline-offset: 3px;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 781px) {

    .so-contact-main {
        padding: 45px 22px;
    }

    .so-contact-form-wrap {
        padding: 42px 20px 48px;
    }

    .so-contact-form-wrap > p {
        margin-bottom: 26px;
    }

    #wpforms-1436 .wpforms-field {
        padding-top: 6px;
        padding-bottom: 10px;
    }

    #wpforms-1436 input[type="text"],
    #wpforms-1436 input[type="email"],
    #wpforms-1436 input[type="tel"],
    #wpforms-1436 input[type="number"],
    #wpforms-1436 select,
    #wpforms-1436 textarea {
        width: 100%;
        max-width: 100%;
    }

    #wpforms-1436 button[type="submit"],
    #wpforms-1436 .wpforms-submit {
        width: 100%;
    }

    .so-form-routing-note {
        padding: 18px;
    }

    .so-contact-production-cta,
    .so-contact-consultation {
        padding: 50px 22px;
    }

    .so-contact-production-cta .wp-block-button,
    .so-contact-consultation .wp-block-button {
        width: 100%;
    }

    .so-contact-production-cta .wp-block-button__link,
    .so-contact-consultation .wp-block-button__link {
        width: 100%;
        text-align: center;
    }
}
/* =========================================================
   CONTACT PAGE — MOBILE FIX
   ========================================================= */

@media (max-width: 781px) {

    /* Prevent horizontal overflow across the page */
    .so-contact-page,
    .so-contact-main,
    .so-contact-form-section,
    .so-contact-form-wrap,
    .so-contact-production-cta,
    .so-contact-consultation {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    /* Main hero */
    .so-contact-main {
        padding: 42px 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Override Gutenberg's 250px desktop paragraph padding */
    .so-contact-main p {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    /* Hero description specifically */
    .so-contact-main .wp-block-paragraph:not(.so-eyebrow) {
        padding: 0 0 30px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        line-height: 1.6;
    }

    /* Keep hero heading safely inside viewport */
    .so-contact-main h1,
    .so-contact-main h2 {
        max-width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-wrap: normal;
        word-break: normal;
    }

    /* Form section */
    .so-contact-form-section {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Override Gutenberg's 200px desktop form-wrapper padding */
    .so-contact-form-wrap {
        padding: 42px 20px 48px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 100% !important;
    }

    /* WPForms must stay inside viewport */
    #wpforms-1436,
    #wpforms-1436 form,
    #wpforms-1436 .wpforms-field-container,
    #wpforms-1436 .wpforms-field {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    #wpforms-1436 input,
    #wpforms-1436 select,
    #wpforms-1436 textarea {
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* Stack first/last name fields */
    #wpforms-1436 .wpforms-field-row-block.wpforms-one-half {
        width: 100% !important;
        margin-left: 0 !important;
        float: none !important;
    }

    #wpforms-1436 .wpforms-field-row-block.wpforms-one-half + 
    .wpforms-field-row-block.wpforms-one-half {
        margin-top: 12px;
    }

    /* Bottom CTA sections */
    .so-contact-production-cta,
    .so-contact-consultation {
        padding: 48px 20px !important;
    }
}
/* ========================================
   STREAM-OPS FOOTER — BRAND COLUMN
   ======================================== */

.so-footer-brand {
    max-width: 300px;
}

.so-footer-logo-text {
    font-family: "Montserrat", sans-serif;
    font-size: 27px;
    font-weight: 600;
    letter-spacing: 5px;
    line-height: 1.2;
    color: #E6E2DA;
    margin-bottom: 7px;
}

.so-footer-live {
    display: flex;
    align-items: center;
    gap: 9px;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 3px;
    color: #7A5C38;
    margin-bottom: 30px;
}

.so-footer-live-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: #7B1F23;
}

.so-footer-tagline {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
    color: #E6E2DA;
}

.so-footer-accent-line {
    width: 55px;
    height: 2px;
    margin: 22px 0 24px;
    background: #7A5C38;
}

.so-footer-description {
    margin: 0;
    max-width: 285px;
    font-family: "Source Sans 3", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;
    color: rgba(230, 226, 218, 0.82);
}


/* MOBILE */
@media (max-width: 689px) {

    .so-footer-brand {
        max-width: 100%;
    }

    .so-footer-logo-text {
        font-size: 24px;
        letter-spacing: 4px;
    }

    .so-footer-live {
        margin-bottom: 24px;
    }

    .so-footer-tagline {
        font-size: 19px;
    }

    .so-footer-description {
        max-width: 100%;
    }
}
.so-footer-link-list a:hover {
    color: #7B1F23 !important;
}
.so-footer-cta-button:hover {
    background-color: #64181c !important;
    color: #FFFFFF !important;
}
.so-footer-cta {
    border-left: 1px solid #7A5C38;
    padding-left: 28px;
}
@media (max-width: 689px) {
    .so-footer-cta {
        border-left: none;
        padding-left: 0;
    }
}
/* Stream-Ops Footer Legal Menu */

footer .footer-menu {
    font-family: "Source Sans 3", sans-serif;
}

footer .footer-menu a {
    color: #E6E2DA !important;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}

footer .footer-menu a:hover {
    color: #7B1F23 !important;
}
/* =========================================================
   STREAM-OPS SERVICES PAGE
   ========================================================= */


/* ---------- PAGE HERO ---------- */

.so-services-hero {
    background: #1F2326;
    color: #E6E2DA;
    border-bottom: 3px solid #7A5C38;
    padding: 64px 24px 58px;
}

.so-services-hero-inner {
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
}

.so-services-title {
    margin: 0 0 24px;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #E6E2DA;
}

.so-services-subtitle {
    margin: 0 0 20px;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 600;
    line-height: 1.3;
    color: #E6E2DA;
}

.so-services-hero p {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    font-family: "Source Sans 3", sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: #E6E2DA;
}


/* =========================================
   SERVICES PAGE - CLEAN CARD TREATMENT
   ========================================= */

/* Outer Gutenberg wrapper should disappear visually */
.so-service-card {
    max-width: 1100px;
    margin: 34px auto;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}


/* Style the inner group as the actual service card */
.so-service-card > .wp-block-group {
    position: relative;

    padding: 44px 46px;

    background: #FFFFFF;
    border: 1px solid rgba(78, 82, 86, 0.35);
    border-top: 4px solid #7A5C38;
    border-radius: 8px;

    box-shadow: 0 8px 22px rgba(31, 35, 38, 0.10);
}


/* Service label */
.so-service-name {
    margin: 0 0 18px;

    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;

    letter-spacing: 2px;
    text-transform: uppercase;

    color: #7A5C38 !important;
}


/* Main sales headline */
.so-service-tagline {
    margin: 0 0 20px;

    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 600;
    line-height: 1.25;

    color: #1F2326;
}


/* Body */
.so-service-card p {
    font-family: "Source Sans 3", sans-serif;
    font-size: 17px;
    line-height: 1.65;
    color: #4E5256;
}


/* Best-for label */
.so-service-card strong {
    color: #1F2326;
    font-weight: 600;
}


/* Lists */
.so-service-list {
    margin-top: 14px;
    margin-bottom: 26px;
    padding-left: 22px;
}

.so-service-list li {
    margin-bottom: 6px;

    font-family: "Source Sans 3", sans-serif;
    font-size: 16px;
    line-height: 1.5;

    color: #4E5256;
}

.so-service-list li::marker {
    color: #7A5C38;
}


/* Button */
.so-service-button .wp-block-button__link {
    background: #7B1F23 !important;
    color: #FFFFFF !important;

    border: 1px solid #7B1F23 !important;
    border-radius: 4px !important;

    padding: 13px 22px !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.so-service-button .wp-block-button__link:hover {
    background: #64191C !important;
    border-color: #64191C !important;
}


/* Mobile */
@media (max-width: 768px) {

    .so-service-card {
        margin: 24px 16px;
    }

    .so-service-card > .wp-block-group {
        padding: 32px 24px;
    }
}

/* ---------- SERVICE LISTS ---------- */

.so-service-list {
    margin-top: 14px;
    margin-bottom: 26px;
    padding-left: 24px;
}

.so-service-list li {
    margin-bottom: 7px;
    font-family: "Source Sans 3", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #4E5256;
}

.so-service-list li::marker {
    color: #7A5C38;
}


/* ---------- SERVICE BUTTONS ---------- */

.so-service-button .wp-block-button__link {
    background: #7B1F23 !important;
    color: #FFFFFF !important;
    border: 1px solid #7B1F23 !important;
    border-radius: 4px !important;
    padding: 13px 22px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.so-service-button .wp-block-button__link:hover {
    background: #64191C !important;
    border-color: #64191C !important;
    transform: translateY(-1px);
}


/* ---------- FINAL CTA ---------- */

.so-services-final-cta {
    max-width: 1100px;
    margin: 48px auto 0;
    padding: 52px 32px;
    background: #1F2326;
    border-top: 4px solid #7A5C38;
    border-radius: 10px;
    text-align: center;
}

.so-services-final-cta h2 {
    margin-top: 0;
    margin-bottom: 20px;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 600;
    letter-spacing: 1px;
    color: #E6E2DA;
}

.so-services-final-cta p {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
    font-family: "Source Sans 3", sans-serif;
    font-size: 17px;
    line-height: 1.65;
    color: #E6E2DA;
}

.so-services-cta-buttons {
    margin-top: 28px;
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}


/* Primary CTA */

.so-services-cta-buttons
.wp-block-button:first-child
.wp-block-button__link {
    background: #7B1F23 !important;
    color: #FFFFFF !important;
    border: 1px solid #7B1F23 !important;
    border-radius: 4px !important;
    padding: 13px 24px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}


/* Secondary CTA */

.so-services-cta-buttons
.wp-block-button:last-child
.wp-block-button__link {
    background: transparent !important;
    color: #E6E2DA !important;
    border: 1px solid #7A5C38 !important;
    border-radius: 4px !important;
    padding: 13px 24px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.so-services-cta-buttons
.wp-block-button:last-child
.wp-block-button__link:hover {
    background: #7A5C38 !important;
    color: #FFFFFF !important;
}


/* ---------- MOBILE ---------- */

@media (max-width: 768px) {

    .so-services-hero {
        padding: 46px 22px 42px;
    }

    .so-service-card {
        margin: 20px 16px;
        padding: 32px 24px;
    }

    .so-services-final-cta {
        margin: 36px 16px 0;
        padding: 40px 24px;
    }

    .so-services-cta-buttons {
        flex-direction: column;
    }

    .so-services-cta-buttons .wp-block-button {
        width: 100%;
    }

    .so-services-cta-buttons .wp-block-button__link {
        width: 100%;
        text-align: center;
    }
}
/* =========================================================
   REQUEST MORE INFORMATION — MOBILE FIX
   ========================================================= */

@media (max-width: 768px) {

    /* Main section */
    .so-rmi-section {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 32px 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden !important;
    }

    /* Prevent nested Gutenberg blocks from exceeding screen width */
    .so-rmi-section .wp-block-group,
    .so-rmi-section .wp-block-columns,
    .so-rmi-section .wp-block-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Stack any desktop columns vertically */
    .so-rmi-section .wp-block-columns {
        display: block !important;
    }

    .so-rmi-section .wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Heading */
    .so-rmi-section h1,
    .so-rmi-section h2 {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 30px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    /* Body copy */
    .so-rmi-section p {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 17px !important;
        line-height: 1.55 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    /* WPForms */
    .so-rmi-section .wpforms-container,
    .so-rmi-section .wpforms-form,
    .so-rmi-section .wpforms-field-container,
    .so-rmi-section .wpforms-field {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .so-rmi-section input,
    .so-rmi-section select,
    .so-rmi-section textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}