/*
 * Brand faces + cross-page polish. Loaded on every front-end page by
 * Frontend\PerformanceTweaks.
 *
 * 260913 NW - the site referenced Comfortaa and Open Sans in ~40 rules but
 * shipped no @font-face for either, so headings only rendered branded for
 * visitors who happened to have the fonts installed locally. Firefox honours a
 * locally-installed family by name; Safari restricts that for fingerprinting
 * reasons, which is why the same Mac looked branded in one and generic in the
 * other - and why almost every real visitor saw the fallback.
 *
 * The chain: Oxygen's own Google Fonts are disabled, PerformanceTweaks
 * enqueued a css2 URL with both families, and LiteSpeed's "Load Google Fonts
 * Asynchronously" rewrote that single link into a WebFontConfig that kept only
 * `Open Sans` and dropped `Comfortaa`. Self-hosting sidesteps the whole path:
 * LiteSpeed only rewrites fonts.googleapis.com URLs, so a local stylesheet is
 * left alone, and there is no third-party request on the critical path.
 *
 * Fonts are the latin + latin-ext subsets of the variable faces, SIL Open Font
 * License. Weight ranges match the source: Comfortaa 300-700, Open Sans
 * 300-800 with a true italic.
 */

/*
 * Hero type scale.
 *
 * The four nav pages had hero headlines at 46px (Features), 56px (Home) and
 * 72px (Pricing, Support) - a 26px spread that read as four different sites.
 * Pricing and Support share Oxygen's `saas-heading-one` class, which was a
 * fixed 72px with no media query, so it never scaled down on a phone either.
 * Matching Home's clamp fixes both the inconsistency and the mobile overflow.
 * Features keeps its own smaller cap: its headline is roughly three times
 * longer, so the same size would optically dominate.
 *
 * Selectors carry a `body` prefix purely for weight: Oxygen's own rules are
 * `.saas-heading-one` and `#_nav_menu-167-12 .menu-item a`, and this file is
 * enqueued early, so matching their specificity exactly would lose on source
 * order. One extra element bumps it past them regardless of load order.
 */
body .saas-heading-one {
	font-size: clamp(32px, 5.5vw, 56px);
	line-height: 1.14;
}

/*
 * Header navigation.
 *
 * Oxygen gave the menu links `padding: 8px 16px 8px 0` - right side only. With
 * no left padding the items butt together, the gap between words is the only
 * separation, and every hover/active area sits off-centre against its label.
 * Symmetric padding spreads the row and centres each target.
 */
body #_nav_menu-167-12 .menu-item a {
	padding: 8px 22px;
}

@media (max-width: 1100px) {
	body #_nav_menu-167-12 .menu-item a {
		padding: 8px 14px;
	}
}

/*
 * Support / Contact page (page-id-14).
 *
 * The hero was pulling a 356 KB PNG from http://saas2.oxy.host - Oxygen's 2017
 * demo site - over plain HTTP on an HTTPS page. Every visit fetched a
 * third-party asset that could change or disappear without notice, and the
 * pale blue arcs matched nothing else on the site. Replaced with the same dark
 * ground the Home, Features and Pricing heroes use, plus a CSS starfield that
 * echoes their constellation motif without another request.
 */
body.page-id-14 #section-51-31 {
	background-color: #12121f;
	background-image:
		radial-gradient(1.5px 1.5px at 12% 32%, rgba(255, 255, 255, 0.32) 50%, transparent 50%),
		radial-gradient(1.5px 1.5px at 78% 22%, rgba(255, 255, 255, 0.26) 50%, transparent 50%),
		radial-gradient(1.5px 1.5px at 34% 72%, rgba(246, 78, 110, 0.45) 50%, transparent 50%),
		radial-gradient(1.5px 1.5px at 88% 64%, rgba(255, 255, 255, 0.22) 50%, transparent 50%),
		radial-gradient(1.5px 1.5px at 58% 48%, rgba(255, 255, 255, 0.18) 50%, transparent 50%),
		radial-gradient(1.5px 1.5px at 22% 86%, rgba(255, 255, 255, 0.20) 50%, transparent 50%),
		radial-gradient(120% 90% at 50% 0%, #1b1b30 0%, #12121f 62%);
	background-repeat: no-repeat;
	background-size: cover;
}

/*
 * The form panel sat at 6px while every card on the Features page is 16px.
 */
body.page-id-14 #div_block-77-31 {
	border-radius: 16px;
}

/*
 * Fallback stacks.
 *
 * 260913 NW - 26 rules in the Oxygen stylesheets name a webfont with no
 * fallback at all, including the two that matter most:
 *
 *     body                { font-family: 'Open Sans' }
 *     h1,h2,h3,h4,h5,h6   { font-family: 'Comfortaa' }
 *
 * A bare family with no fallback and no generic means that if the webfont is
 * unavailable for any reason - still downloading, blocked, a cache serving an
 * older stylesheet - the browser drops to its default, which on Safari and
 * most desktop browsers is Times. That is why a single font hiccup turned the
 * wordmark into a serif rather than into a near-miss sans.
 *
 * Re-declaring the same families with real stacks means the worst case is now
 * a reasonable system face instead of Times. Selectors carry an extra element
 * only to outweigh the originals; the fonts themselves are unchanged.
 */
html body {
	font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .saas-heading-one,
body .saas-heading-two,
body .saas-pricing-tier-name,
body .saas-pricing-price,
body .saas-pricing-price-amount,
body .saas-cases-name,
body .saas-about-icon-title,
body .saas-learn-title,
body .saas-home-icon-title {
	font-family: Comfortaa, ui-rounded, "SF Pro Rounded", "Segoe UI", "Trebuchet MS", sans-serif;
}

body .saas-pricing-caption,
body .saas-pricing-eyebrow,
body .saas-pricing-tagline,
body .saas-pricing-price-period,
body .saas-pricing-price-note,
body .saas-pricing-feature-text,
body .saas-pricing-cta,
body .saas-pricing-cta-popular,
body .saas-pricing-badge-text,
body .saas-contact-link,
body .saas-primary-button,
body .saas-secondary-button,
body .saas-about-bullet,
body .saas-about-history-paragraph,
body .saas-home-review-text {
	font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/*
 * Legal documents (Privacy Policy, Terms of Service, DPA).
 *
 * 260913 NW - these three pages each held their whole document inside a single
 * Custom HTML block: one 50 KB blob of raw markup with a <style> tag on the
 * front, which meant the owner could not edit a sentence without editing code.
 * The bodies are now native blocks (headings, paragraphs, lists, tables,
 * quotes, separators) wrapped in a group carrying `.fsr-legal`, and this is the
 * stylesheet that used to sit inline in each page. Moving it here keeps ~1.3 KB
 * of CSS out of the editor and keeps the three documents visually identical to
 * each other without copy-pasting styles between them.
 */
.fsr-legal {
	max-width: 820px;
	margin: 0 auto;
	padding: 40px 24px 80px;
	color: #1a1a2e;
	line-height: 1.65;
	font-size: 16px;
}

.fsr-legal .fsr-legal__notice {
	background: #fff4e5;
	border: 1px solid #f0c36d;
	border-radius: 8px;
	padding: 14px 18px;
	margin-bottom: 32px;
	font-size: 14px;
	color: #6b4e00;
}

.fsr-legal h1 { font-size: 30px; margin: 0 0 6px; }
.fsr-legal h2 { font-size: 22px; margin: 40px 0 12px; border-top: 1px solid #e5e5e5; padding-top: 28px; }
.fsr-legal h3 { font-size: 17px; margin: 24px 0 8px; }
.fsr-legal p { margin: 0 0 14px; }
.fsr-legal hr { border: none; border-top: 1px solid #e5e5e5; margin: 28px 0; }

.fsr-legal table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 14px; }
.fsr-legal th,
.fsr-legal td { border: 1px solid #e0e0e0; padding: 8px 10px; text-align: left; vertical-align: top; }
.fsr-legal th { background: #f7f7fa; font-weight: 700; }

.fsr-legal blockquote { border-left: 3px solid #d8d8d8; margin: 16px 0; padding: 4px 0 4px 16px; color: #444; }
.fsr-legal a { color: #6b46c1; }
.fsr-legal em { color: #555; }

.fsr-legal .fsr-legal__placeholder {
	background: #fff1a8;
	color: #6b4e00;
	font-weight: 700;
	padding: 1px 4px;
	border-radius: 3px;
}
