/* ============================================================
   Overrides — migrated out of Appearance → Customize → Additional CSS.

   This file exists because the Customizer is not the codebase. Rules kept
   there are invisible to the repo, survive no theme upload, and get lost the
   moment someone rebuilds the site. Everything the Customizer was carrying on
   2026-08-19 now lives here instead.

   LOADS LAST, ON PURPOSE. The Customizer prints its CSS at wp_head priority
   101 — after the theme sheets AND after Elementor's per-post CSS. These rules
   were written against that position, so several of them only work from there.
   functions.php enqueues this file at wp_enqueue_scripts priority 9999 to
   reproduce it. Do not add it as a dependency of anything, and do not move it
   earlier in the chain.

   Rule order below matches the Customizer verbatim — later rules in this file
   were beating earlier ones, so resequencing would silently change the page.

   MOBILE PASS (2026-08-19): every rule here was written against a single 1512
   desktop screenshot, with no media query anywhere. Because this file loads
   last it beats the other agents' mobile work rule-for-rule, even when a rule
   was never meant to apply below the width it was measured at. Rules that only
   make sense at desktop are now wrapped in `@media (min-width: 901px)` — the
   ladder used elsewhere in this theme is 1180 / 900 / 600, so 901 is the
   natural desktop floor. Wrapping, not retuning: nothing below changes what a
   rule does at 1512, verified before this pass. Where a desktop value simply
   needs to stop applying on mobile, it is released to whatever base rule
   already exists in the relevant stylesheet rather than inventing a new
   mobile magic number.
   ============================================================ */

/* ---------- Nav ---------- */
/* Unscoped, this beat style.css's own mobile nav padding
   (.nav-menu a { padding: 10px 14px } inside its max-width:900px block) at
   equal specificity (0,1,1) purely because this file loads after style.css —
   the open mobile menu was getting the desktop 8px/21px padding regardless of
   viewport. Scoped so the mobile rule governs below 901px. */
@media (min-width: 901px) {
	.nav-menu a{
		padding: 8px 21px;
	}
}

/* Not scoped: style.css hides .nav .btn-outline entirely
   (display: none inside its max-width:900px block), so this padding is
   already inert on mobile — there is nothing to conflict with. */
.nav .btn-outline{
	padding: 13px 26px;
}

/* ---------- Home: hero ---------- */
/* The Customizer also carried a rule greening the hero button's label on
   hover:

       .st-sec.st-hero .st-btn-disc:hover span { color: var(--st-green-accent); }

   It is deliberately not migrated. The accent green is a hover colour for the
   arrow disc and for the dark pill's fill, never for a label (node 40:5212),
   and that rule was the reason the hero label still turned green after
   css/style.css was corrected — it outranked the fix at (0,4,1) against
   (0,3,2). Dropping it lets style.css govern, and the label stays black.
   See docs/interaction-states.md. */

/* ---------- Home: services ---------- */
/* Scoped for the same reason as the hero disc button: releases to
   home-sections.css's base .st-btn padding (10px 20px) on mobile instead of
   carrying this desktop card's fractional 24.3px figure everywhere. */
@media (min-width: 901px) {
	.st-svc-grid .st-btn{
		padding: 17px 24.3px;
	}
}

/* Decorative only — cursor has no effect on a touch screen, so this is
   guarded to avoid asserting a mouse affordance where there is no mouse. */
@media (hover: hover) and (pointer: fine) {
	.st-services .st-svc-grid .st-svc-card:hover{
		cursor: pointer;
	}
}
	.st-services .st-svc-grid .st-svc-card:active{
		cursor: pointer;
	}

/* ---------- Home: one team ---------- */
/* Same treatment as the other card buttons above: releases to the 10px 20px
   base padding on mobile rather than carrying the desktop card's 28.3px. */
@media (min-width: 901px) {
	.st-oneteam-inner .st-ot-cta .st-btn{
		padding: 13px 28.3px;
	}
}

/* ---------- Home: insights ---------- */
@media (min-width: 901px) {
	.st-sec.st-insights .st-ins-head .st-btn{
		padding: 17px 27px;
	}
}

/* ---------- Button widths vs design ---------- */
/* The investments hero button is the shared dark-arrow-btn (st-btn markup):
   st-btn carries no fixed height, so the 268px width and 50px height come
   from here. */
@media (min-width: 901px) {
	.inv-hero .dark-arrow-btn { height: 50px; padding: 0 32px; }
	section#cio .btn-light { padding: 0 28px; }
	/* The steps card button is the shared dark-arrow-btn too — same reason
	   the height and width come from here. */
	.inv-models-card .dark-arrow-btn { height: 50px; padding: 0 27px; }
	.st-cta-left .st-btn-disc,
	.plan-cta-copy .btn-primary,
	.inv-cta-body .btn-primary,
	.team-cta__actions .btn-primary { padding-left: 38px; }
}

@media (min-width: 901px) {
	.st-sec .st-ins-txt .st-ins-title{
		height: 117px;
	}
}

@media (min-width: 901px) {
	.st-sec .st-ins-txt {
		gap: 48px;
	}
}

/* ---------- Footer ---------- */
.footer-bottom p, .footer-bottom a{
	margin-block-end: 0;
}

@media (hover: hover) and (pointer: fine) {
	.cta-card:hover{
		border-color: var(--signal-blue);
	}
}
	.cta-card:active{
		border-color: var(--signal-blue);
	}

.cta-card:focus-within {
	border-color: var(--signal-blue);
}

/* ---------- Insights cards: image zoom on hover ---------- */
.st-ins-card .st-ins-img {
  overflow: hidden; /* keeps the zoomed image clipped inside the box */
}

.st-ins-card .st-ins-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.st-ins-card .st-ins-img{
	border: 1px solid;
}

.st-ins-subtitle {
	font-size: 16px;
	line-height: 1.5;
	color: #44474F;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (min-width: 901px) {
	.st-sec .st-ins-txt:has(.st-ins-subtitle) {
		gap: 16px;
	}

	.st-sec .st-ins-txt:has(.st-ins-subtitle) .st-ins-title {
		height: auto;
	}
}

/* Not guarded, deliberately. This is not a hover enhancement — it neutralises
   Elementor's kit rule (.elementor-kit-5 a:hover) that would otherwise tint
   the insights title green, the same bug as issue 2 in docs/issues.md. Many
   mobile browsers still fire :hover on tap (and can leave it "stuck" until
   the next tap elsewhere), so if this were wrapped in
   (hover: hover) and (pointer: fine) a touch tap could trigger the kit's
   green hover with nothing here to cancel it. A defensive reset needs to be
   live wherever :hover can fire, touch included — only the decorative
   hover-only effects below get the guard. */
.st-sec.st-insights .st-ins-title a:hover {
	color: unset;
}

/* Decorative zoom effect, guarded for the same reason as the service card
   cursor above — nothing to trigger it without a pointing device, and
   guarding avoids a tap leaving the image visibly "stuck" zoomed on a phone
   that simulates :hover on tap. */
@media (hover: hover) and (pointer: fine) {
	.st-ins-card:hover .st-ins-img img {
	  transform: scale(1.08);
	}
}
	.st-ins-card:active .st-ins-img img {
	  transform: scale(1.08);
	}

/* ---------- Section gaps ---------- */
/* What To Expect is a full-bleed grey band. Its Elementor container was
   boxed (1512px + 10px inline padding) inside a boxed page wrapper, so
   the bleed had to come from the section itself and landed 7px off
   centre — and the grey the container carries in its Elementor settings
   stayed boxed. Bleed the WRAPPER instead: it goes full viewport width
   (its Elementor background + our 100px block padding now form the band,
   matching Figma 2049:1683 where the grey covers the 100px padding), and
   the section just fills it. The inner row still caps at --content-max. */
body.wp-theme-statera .elementor-186 > .elementor-element-a789a89 {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	padding-left: 0;
	padding-right: 0;
}
/* The strict spacing lives at the ELEMENTOR WRAPPER level: every top-level
   container carries the section padding and the gap, so section markup
   stays clean and nothing else can leak space between systems.
   Desktop: 100px padding + 56px gap. Mobile (<=900): 48px + 36px.
   Applied to every Elementor page: home (4), about (1635), planning (186),
   investments (1636) and the utility pages — insights (185), faq (656),
   careers (539), privacy (3), important-information (184), contact (2066),
   contact-us-2 (188), terms-and-conditions (2091). The team page
   (187) stacks its sections as widgets inside ONE container, so it gets
   the same model one level down below. */
body.wp-theme-statera .elementor-4 > .elementor-element,
body.wp-theme-statera .elementor-1635 > .elementor-element,
body.wp-theme-statera .elementor-186 > .elementor-element,
body.wp-theme-statera .elementor-1636 > .elementor-element,
body.wp-theme-statera .elementor-185 > .elementor-element,
body.wp-theme-statera .elementor-656 > .elementor-element,
body.wp-theme-statera .elementor-539 > .elementor-element,
body.wp-theme-statera .elementor-3 > .elementor-element,
body.wp-theme-statera .elementor-184 > .elementor-element,
body.wp-theme-statera .elementor-2066 > .elementor-element,
body.wp-theme-statera .elementor-188 > .elementor-element,
body.wp-theme-statera .elementor-2091 > .elementor-element {
	margin-top: 56px;
	padding-top: 100px;
	padding-bottom: 100px;
	/* Elementor's default 10px inline container padding stacked with the
	   sections' own gutters (20px on mobile), giving a 30px effective
	   gutter instead of 20. The sections own the gutters; the wrapper
	   owns only block spacing. */
	padding-left: 0;
	padding-right: 0;
}
/* Navbar to hero is the plain 56px gap — no padding band above the hero. */
body.wp-theme-statera .elementor-4 > .elementor-element:first-child,
body.wp-theme-statera .elementor-1635 > .elementor-element:first-child,
body.wp-theme-statera .elementor-186 > .elementor-element:first-child,
body.wp-theme-statera .elementor-1636 > .elementor-element:first-child,
body.wp-theme-statera .elementor-185 > .elementor-element:first-child,
body.wp-theme-statera .elementor-656 > .elementor-element:first-child,
body.wp-theme-statera .elementor-539 > .elementor-element:first-child,
body.wp-theme-statera .elementor-3 > .elementor-element:first-child,
body.wp-theme-statera .elementor-184 > .elementor-element:first-child,
body.wp-theme-statera .elementor-2066 > .elementor-element:first-child,
body.wp-theme-statera .elementor-188 > .elementor-element:first-child,
body.wp-theme-statera .elementor-2091 > .elementor-element:first-child {
	padding-top: 0;
}
/* Team page: the single outer container only carries the navbar gap… */
body.wp-theme-statera .elementor-187 > .elementor-element {
	margin-top: 56px;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}
/* …and each section-widget inside it carries the standard spacing. The
   outer container is e-con-full, so the widgets are its direct children
   (no .e-con-inner), and its flex gap is zeroed so only the widget
   margin counts. */
body.wp-theme-statera .elementor-187 > .elementor-element {
	gap: 0;
}
body.wp-theme-statera .elementor-187 > .elementor-element > .elementor-widget {
	margin-top: 56px;
	padding-top: 100px;
	padding-bottom: 100px;
}
body.wp-theme-statera .elementor-187 > .elementor-element > .elementor-widget:first-child {
	margin-top: 0;
	padding-top: 0;
}
/* Sections themselves carry no vertical spacing of their own — the wrapper
   above is the single source. Neutralises the per-page paddings that used
   to create the gaps (about.css 80/100/150px, planning.css 82/100/112px,
   investment.css 100px, team.css 60px and their mobile variants) — this
   file loads last and the body-class prefix outranks them at every
   breakpoint, media queries included. */
body.wp-theme-statera .elementor .st-sec,
body.wp-theme-statera .about-hero,
body.wp-theme-statera .journey,
body.wp-theme-statera .commitment,
body.wp-theme-statera .leadership,
body.wp-theme-statera .legal,
body.wp-theme-statera .plan-hero,
body.wp-theme-statera .plan-why,
body.wp-theme-statera .plan-disciplines,
body.wp-theme-statera .inv-philosophy,
body.wp-theme-statera .inv-process,
body.wp-theme-statera .inv-cio,
body.wp-theme-statera .inv-steps-section,
body.wp-theme-statera .team-hero,
body.wp-theme-statera .team-grid-section,
body.wp-theme-statera .team-leadership {
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 0;
}
@media (max-width: 900px) {
	body.wp-theme-statera .elementor-4 > .elementor-element,
	body.wp-theme-statera .elementor-1635 > .elementor-element,
	body.wp-theme-statera .elementor-186 > .elementor-element,
	body.wp-theme-statera .elementor-1636 > .elementor-element,
	body.wp-theme-statera .elementor-185 > .elementor-element,
	body.wp-theme-statera .elementor-656 > .elementor-element,
	body.wp-theme-statera .elementor-539 > .elementor-element,
	body.wp-theme-statera .elementor-3 > .elementor-element,
	body.wp-theme-statera .elementor-184 > .elementor-element,
	body.wp-theme-statera .elementor-2066 > .elementor-element,
	body.wp-theme-statera .elementor-188 > .elementor-element,
	body.wp-theme-statera .elementor-2091 > .elementor-element,
	body.wp-theme-statera .elementor-187 > .elementor-element > .elementor-widget {
		margin-top: 36px;
		padding-top: 48px;
		padding-bottom: 48px;
	}
	body.wp-theme-statera .elementor-187 > .elementor-element {
		margin-top: 36px;
		padding-top: 0;
		padding-bottom: 0;
	}
}

/* The strict between-section gap (56px desktop / 36px mobile) lives on the
   theme's section margins. Elementor's default 20px gap on the page's
   top-level container sat on top of it, making every junction read 76px.
   Zero the container gap so the theme's rule is the only one that counts. */
body.wp-theme-statera .elementor > .e-con > .e-con-inner,
body.wp-theme-statera .elementor > .e-flex > .e-con-inner {
	gap: 0;
	padding-top: 0;
	padding-bottom: 0;
}

/* ---------- About ---------- */
body.wp-theme-statera .about-root p {
	margin-block: revert;
}

/* …but the Meet the Owners card spaces its text by flex gap alone
   (12/34/60 per Figma 2025:2085) — the reverted UA paragraph margins
   (20px top+bottom) were double-counting into every gap. */
body.wp-theme-statera .about-root .leader-card p {
	margin-block: 0;
}

/* Not scoped: the row this container holds is meant to bleed to the viewport
   edge as a scroll affordance (see the comment above .commitment-cards in
   about.css). Below the design's content-max width the container is already
   capped by the viewport itself, so max-width: unset has nothing left to
   affect on mobile — there is no competing value to lose to. */
#commitment .container {
	max-width: unset;
}

/* Unscoped, this pushed the commitment cards 156px right at every width. At
   max-width:600px about.css turns .commitment-cards into a stacked single
   column (flex-direction: column, margin-right: 0) but never touches
   margin-left, so this file's ID-specificity rule (1,2,0) kept winning
   regardless — 156px inside a 350px mobile content column left almost
   nothing for the card itself. Scoped to desktop; mobile releases straight to
   margin-left: 0 rather than a new figure, since nothing else sets it. */
@media (min-width: 901px) {
	#commitment .container  .commitment-cards{
		margin-left: 156px;
	}
}

body.wp-theme-statera  .legal-card .eyebrow-sm {
	color: var(--signal-blue);
}

/* Unscoped, this (0,2,1) rule outranked about.css's mobile
   .legal-cta { gap: 16px } (0,1,0, inside its max-width:600px block) by
   specificity, collapsing the gap between the legal card's icon badge and its
   text on every screen below 600px. Scoping restores the mobile 16px gap. */
@media (min-width: 901px) {
	section.legal .legal-cta{
		gap: 0;
	}
}

/* Not scoped: a small vertical nudge with no mobile-specific counterpart in
   about.css to fight, and it is not width-dependent — it reads the same
   whether the card is full width or narrow. */
section.legal .legal-cards .legal-cta-sub{
	margin-top: 11px;
}

/* Not scoped: unlike the cta-sub line-height above, 1 does not cause glyph
   overlap — it is merely tight, not extreme. about.css already lets
   .legal-cta-title wrap on mobile (white-space: normal inside its
   max-width:600px block); a wrapped two-line title at line-height: 1 is snug
   but legible, so there is nothing here worth overriding. */
section.legal .legal-cards .legal-cta-title{
	line-height: 1;
}

/* ---------- Investments ---------- */
/* Not scoped: line-height: 1 is tight, not extreme — see the same judgement
   on the legal-cta-title rule above. */
.inv-hero-card .inv-person-text .inv-person-name, .inv-hero-card .inv-person-text .inv-person-role {
	line-height: 1
}

body.wp-theme-statera .inv-root p {
	margin-block: revert;
}

/* Not scoped: line-height: 1, same judgement as above. */
section#cio .inv-cio-caption .inv-person-name, section#cio .inv-cio-caption .inv-person-role {
	line-height: 1;
}

/* Not scoped: gap: 0px is not width-dependent — it applies the same above and
   below 900px, and nothing in investment.css sets a competing mobile gap for
   .inv-head-text inside .inv-steps-section, so there is nothing to restore. */
section.inv-steps-section .inv-head-text{
	gap: 0px
}

/* Unscoped, this (0,2,1) rule outranked investment.css's own mobile
   body.wp-theme-statera .inv-planning-title { font-size: 24px } (also
   (0,2,1), inside its max-width:900px block) purely by load order, holding
   the title at the desktop-measured 28px on every screen below 900px.
   Scoping restores investment.css's intended 24px on mobile. */
@media (min-width: 901px) {
	body.wp-theme-statera .inv-planning-title {
		font-size: 28px;
	}
}

/* Not scoped: no competing mobile rule sets margin-block on
   .inv-planning-list p, so there is nothing here for width to affect. */
section#process .inv-planning-list p {
	margin-block: 0;
}

/* ---------- Planning ---------- */
@media (min-width: 901px) {
	section.plan-disciplines .plan-disciplines-grid .plan-discipline-card:nth-of-type(2) img {
		width: 140%;
		height: auto;
	}

	.plan-discipline-media img:not(.plan-discipline-point) {
		width: 140%;
		height: auto;
	}
}

section.plan-expect .plan-expect-tabs span {
	text-align: left;
}

/* ---------- Team ---------- */
/* The same .team-card markup also renders in the member page's Other
   Advisors rail (section.member-advisors), so every rule here lists both
   scopes — the card hover must behave identically on both pages. */
/* The green is the theme's --green-accent, not the Elementor kit's
   --e-global-color-accent: member pages are plain PHP templates and never
   load the kit stylesheet, so the kit var is undefined there and an
   undefined var is invalid at computed-value time — the disc went
   transparent on hover instead of green. Same colour (#A8E565), owned by
   the theme and loaded everywhere. */
section.team-grid-section .team-card .team-card__name,
section.member-advisors .team-card .team-card__name{
	text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
	section.team-grid-section  .team-card:hover .team-card__disc,
	section.member-advisors  .team-card:hover .team-card__disc{
		background-color: var(--green-accent);
	}

	section.team-grid-section  .team-card:hover .team-card__name,
	section.member-advisors  .team-card:hover .team-card__name{
		text-decoration: underline;
	}
}
	section.team-grid-section  .team-card:active .team-card__disc,
	section.member-advisors  .team-card:active .team-card__disc{
		background-color: var(--green-accent);
	}

	section.team-grid-section  .team-card:active .team-card__name,
	section.member-advisors  .team-card:active .team-card__name{
		text-decoration: underline;
	}

/* ---------- Mobile type scale ---------- */
/* STRICT rule, every page: at <=900px every h2 is 28px and every h3 is
   24px. !important because several per-page mobile rules carry higher
   specificity (e.g. home's card titles, team-leadership h2, planning's
   disciplines h2) and would otherwise keep their own sizes; those dead
   font-size declarations have been removed at source. */
@media (max-width: 900px) {
	body.wp-theme-statera h2,
	body.wp-theme-statera .h2 {
		font-size: 28px !important;
	}
	body.wp-theme-statera h3,
	body.wp-theme-statera .h3 {
		font-size: 24px !important;
	}
}

/* ---------- Footer gap ---------- *//* CTA card → footer follows the same gap as every other junction:
   56px desktop / 36px mobile. Was home.css-only (56px, home page just
   loaded it); moved here so every page gets it. */
.footer {
	margin-top: 56px;
}
@media (max-width: 900px) {
	.footer {
		margin-top: 36px;
	}
}

/* ---------- Team member ---------- */
/* The member template (single-awsm_team_member.php) has no Elementor
   wrappers and no .member-root — its sections are direct children of
   <main> — so the same model is applied straight to its sections:
   100px block padding + 56px gap (48/36 mobile). The hero is first —
   no padding-top, just the 56px navbar gap. The pull-quote is a dark
   card, so its 100px padding share rides on the margin (156 = 100 + 56)
   to keep the card background tight to its content. Insights carries no
   margin-top: the quote's 156 bottom margin already includes the gap
   (sibling margins collapse). */
section.member-hero {
	margin-top: 56px;
}
body.single-awsm_team_member .member-hero {
	padding-bottom: 100px;
}
body.single-awsm_team_member .member-bio-section {
	margin-top: 56px;
	padding-top: 100px;
	padding-bottom: 100px;
}
body.single-awsm_team_member .member-quote {
	margin-top: 156px;
	margin-bottom: 156px;
}
body.single-awsm_team_member .st-insights {
	margin-top: 0;
	padding-top: 100px;
	padding-bottom: 100px;
}
body.single-awsm_team_member .member-advisors {
	margin-top: 56px;
	padding-top: 100px;
	padding-bottom: 100px;
}
@media (max-width: 900px) {
	section.member-hero {
		margin-top: 36px;
	}
	body.single-awsm_team_member .member-hero {
		padding-bottom: 48px;
	}
	body.single-awsm_team_member .member-bio-section {
		margin-top: 36px;
		padding-top: 48px;
		padding-bottom: 48px;
	}
	body.single-awsm_team_member .member-quote {
		margin-top: 84px;
		margin-bottom: 84px;
	}
	body.single-awsm_team_member .st-insights {
		padding-top: 48px;
		padding-bottom: 48px;
	}
	body.single-awsm_team_member .member-advisors {
		margin-top: 36px;
		padding-top: 48px;
		padding-bottom: 48px;
	}
}

/* ---------- Legal pages (184, 2091) hero-to-body gap ----------
   The frame (39:3958) runs 60px from the hero divider to the first
   section, not the standard 100px padding + 56px gap + 100px padding
   stack. The divider's own 50px padding already spaces the rule off the
   meta line, so both inner paddings drop to zero at this junction only.
   Important Information (184) shares the same divider hero, so it gets
   the same junction. */
body.wp-theme-statera .elementor-2091 > .elementor-element:first-child,
body.wp-theme-statera .elementor-184 > .elementor-element:first-child {
	padding-bottom: 0;
}
body.wp-theme-statera .elementor-2091 > .elementor-element:nth-child(2),
body.wp-theme-statera .elementor-184 > .elementor-element:nth-child(2) {
	margin-top: 60px;
	padding-top: 0;
}
@media (max-width: 900px) {
	body.wp-theme-statera .elementor-2091 > .elementor-element:nth-child(2),
	body.wp-theme-statera .elementor-184 > .elementor-element:nth-child(2) {
		margin-top: 36px;
	}
}

/* ---------- Contact Us (188) section gaps ----------
   Figma "Contact page" (39:3216) does not use the standard 100 + 56 + 100
   stack at its two inner junctions: the hero band → form card gap is the
   plain 56px alone, and form card → disclosures is ~160px — the 56px gap
   plus the disclosures band's own 100px top padding. So the hero carries
   no bottom padding and the form container no vertical padding at all;
   the disclosures container keeps the standard 100px top and bottom, the
   bottom one setting the junction to the CTA card like every other page.
   Not width-dependent: zeroing the paddings leaves the responsive gap
   (56 desktop / 36 mobile) as the only spacer, so mobile scales with it —
   36px hero → form and 84px form → disclosures. */
body.wp-theme-statera .elementor-188 > .elementor-element:first-child {
	padding-bottom: 0;
}
body.wp-theme-statera .elementor-188 > .elementor-element:nth-child(2) {
	padding-top: 0;
	padding-bottom: 0;
}

/* The shared closing CTA ("Let get started" / "Clarity. Discipline.
   Consistency.") is redundant on the contact page itself — its Start a
   Conversation button links straight back here — and the Figma frame
   (39:3216) runs the disclosures band directly into the footer. Hidden on
   188 only; the disclosures' 100px bottom padding plus the footer's 56px
   margin keep the footer junction consistent with the design. */
body.page-id-188 .st-cta-wrap {
	display: none;
}
