/* Presidio front page, Oct 2026 (Kate Harris mockups 4 and 8).
   Loaded by index-home.php only, and every rule is scoped to body.fp, so no other page changes.

   EVERYTHING YOU MIGHT WANT TO CHANGE IS IN :root BELOW.
   - Direction (Kate, 13 Oct 2026): the Presidio AI Academy site (presidio-ai-academy.vercel.app) is
     the look she wants: bold dark colours, warm gold that leans away from yellow, no grey grounds.
     Its tokens are used here: ink #141A22 / #1D2530, gold #C79E62 on dark grounds, deep brass
     #8A6A3B for gold text on white (AA contrast). Her updated brand standards sheet is still to come.
   - Fonts, as on the Academy site, loaded from Google Fonts in index-home.php: Newsreader (headings),
     Public Sans (body), IBM Plex Mono (small uppercase eyebrows).
     Termina (the wordmark font) is Adobe-licensed and is NOT used; the wordmark is the logo PNG. */
:root {
	--fp-charcoal: #141A22;   /* ink: every dark ground */
	--fp-ink-2: #1D2530;      /* second dark ground */
	--fp-gold: #C79E62;       /* gold on dark grounds, gold buttons (ink text on it) */
	--fp-gold-hover: #D4B07C;
	--fp-brass: #8A6A3B;      /* gold TEXT on white, 5.4:1 */
	--fp-honey: #E3C796;      /* hover and focus on dark */
	--fp-muted-on-dark: #C3CAD4;
	--fp-white: #FFFFFF;
	--fp-font-display: "Newsreader", Georgia, "Times New Roman", serif;
	--fp-font-body: "Public Sans", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
	--fp-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	--fp-max: 1320px;
	--fp-gutter: 64px;
	--fp-nav-h: 92px;
}

body.fp {
	font-family: var(--fp-font-body);
	color: var(--fp-charcoal);
	background: var(--fp-white);
}

/* ---------- header (markup is bootstrap/header.php, unchanged; restyled on this page only) ---------- */
body.fp nav.navbar {
	background: transparent;
	transition: background-color .25s ease, box-shadow .25s ease;
	padding-top: 14px;
	padding-bottom: 14px;
}
body.fp nav.navbar.fp-solid {
	background: var(--fp-charcoal);
	box-shadow: 0 2px 18px rgba(0, 0, 0, .25);
}
body.fp nav.navbar > .container {
	max-width: var(--fp-max);
	padding-left: 32px;
	padding-right: 32px;
}
/* Brand: the white side logo, unless this is an agent's own site (fp-agent keeps the agent card). */
body.fp:not(.fp-agent) .navbar .navbar-brand.with-account {
	width: 190px;
	height: 46px;
	padding: 0;
	background: url(/bootstrap/img/fp/presidio-logo-side-white.png) no-repeat left center / contain;
}
body.fp:not(.fp-agent) .navbar .navbar-brand.with-account .header-owner {
	display: none;
}
body.fp .navbar-nav .nav-link {
	color: var(--fp-white);
	font-family: var(--fp-font-body);
	font-size: 15px;
	letter-spacing: .06em;
	padding-left: 14px;
	padding-right: 14px;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}
body.fp .navbar-nav .nav-link:hover,
body.fp .navbar-nav .nav-link:focus {
	color: var(--fp-honey);
}
body.fp .navbar-nav .nav-link.active {
	color: var(--fp-white);
	text-decoration: none;
	box-shadow: inset 0 -2px 0 var(--fp-gold);
}
/* LOGIN / Back Office: the gold-outlined box in mockup 4. */
body.fp .navbar-nav > .nav-item:last-child .nav-link {
	border: 1.5px solid var(--fp-gold);
	margin-left: 12px;
	padding-left: 22px;
	padding-right: 22px;
}
body.fp .navbar-nav > .nav-item:last-child .nav-link:hover {
	background: var(--fp-gold);
	color: var(--fp-charcoal);
	text-shadow: none;
}

/* ---------- shared bits ---------- */
body.fp .fp-wrap {
	max-width: var(--fp-max);
	margin: 0 auto;
	padding-left: var(--fp-gutter);
	padding-right: var(--fp-gutter);
}
body.fp .fp-eyebrow {
	font-family: var(--fp-font-mono);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .24em;
	text-transform: uppercase;
	margin: 0 0 14px;
}
body.fp .fp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	font-family: var(--fp-font-body);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 18px 30px;
	border: 1.5px solid var(--fp-gold);
	transition: background-color .2s ease, color .2s ease;
}
body.fp .fp-btn:focus-visible,
body.fp .fp-search input:focus-visible,
body.fp .fp-search button:focus-visible {
	outline: 2px solid var(--fp-honey);
	outline-offset: 2px;
}
/* Placeholder marker: any image or text block that is a stand-in carries data-placeholder. Visible
   only on the sandbox build (KOKEN_SANDBOX); production never shows it. */
body.fp.fp-review [data-placeholder] {
	position: relative;
}
body.fp.fp-review [data-placeholder]::after {
	content: "PLACEHOLDER: " attr(data-placeholder);
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 5;
	background: rgba(199, 158, 98, .95);
	color: var(--fp-charcoal);
	font: 600 11px/1.3 var(--fp-font-body);
	letter-spacing: .06em;
	padding: 6px 9px;
	max-width: 60%;
	pointer-events: none;
}
body.fp.fp-review .fp-hero[data-placeholder]::after,
body.fp.fp-review .fp-founder-photo[data-placeholder]::after {
	top: auto;
	bottom: 12px;
}
body.fp .fp-press,
body.fp .fp-stats {
	position: relative;
}

/* ---------- 1. hero (mockup 4) ---------- */
body.fp .fp-hero {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	align-items: center;
	color: var(--fp-white);
	background: var(--fp-charcoal) url(/bootstrap/img/bg-001.jpg) no-repeat center center / cover;
	padding: calc(var(--fp-nav-h) + 40px) 0 72px;
}
body.fp .fp-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(20, 26, 34, .88) 0%, rgba(20, 26, 34, .6) 48%, rgba(20, 26, 34, .2) 100%),
		linear-gradient(180deg, rgba(20, 26, 34, .6) 0%, rgba(20, 26, 34, 0) 22%);
}
body.fp .fp-hero .fp-wrap {
	position: relative;
	z-index: 1;
	width: 100%;
}
body.fp .fp-hero-copy {
	max-width: 1000px;
}
body.fp .fp-hero .fp-eyebrow {
	color: var(--fp-gold);
	font-size: 20px;
	letter-spacing: .26em;
	margin-bottom: 18px;
}
body.fp .fp-hero h1 {
	font-family: var(--fp-font-display);
	font-weight: 600;
	font-size: clamp(38px, 5.2vw, 78px); /* Jennifer 14 Oct: was clamp(56px, 8.6vw, 136px), read as bubbly */
	line-height: .96;
	letter-spacing: -.018em;
	margin: 0;
}
body.fp .fp-rule {
	display: block;
	width: 98px;
	height: 3px;
	background: var(--fp-gold);
	margin: 34px 0 30px;
	border: 0;
	opacity: 1;
}
body.fp .fp-hero .fp-sub {
	color: var(--fp-muted-on-dark);
	font-size: clamp(18px, 1.75vw, 28px);
	line-height: 1.5;
	max-width: 720px;
	margin: 0 0 42px;
}
body.fp .fp-search {
	display: flex;
	max-width: 995px;
	background: var(--fp-white);
	padding: 8px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
}
body.fp .fp-search input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: transparent;
	font-family: var(--fp-font-body);
	font-size: 17px;
	color: var(--fp-charcoal);
	padding: 14px 26px;
}
body.fp .fp-search input::placeholder {
	color: #8a8a8a;
}
body.fp .fp-search button {
	flex: 0 0 auto;
	width: 215px;
	border: 0;
	background: var(--fp-gold);
	color: var(--fp-charcoal);
	font-family: var(--fp-font-body);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s ease;
}
body.fp .fp-search button:hover {
	background: var(--fp-gold-hover);
}
body.fp .fp-quick {
	background: transparent; /* it is a <nav>; styles-main.css gives every nav a grey ground */
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 50px;
	max-width: 995px;
	margin-top: 32px;
}
body.fp .fp-quick .fp-btn {
	color: var(--fp-white);
	background: rgba(20, 26, 34, .6);
	padding: 20px 10px;
	font-weight: 500;
}
body.fp .fp-quick .fp-btn:hover {
	background: var(--fp-gold);
	color: var(--fp-charcoal);
}

/* ---------- 2. image band under the hero (mockup 4, bottom) ---------- */
body.fp .fp-band {
	height: clamp(220px, 28vw, 420px);
	background: var(--fp-charcoal) url(/bootstrap/img/bg-003.jpg) no-repeat center center / cover;
	border-top: 38px solid var(--fp-charcoal);
}

/* ---------- 3. As Seen In (grey in mockup 8; dark per Kate's 13 Oct direction) ---------- */
body.fp .fp-press {
	background: var(--fp-ink-2);
	color: var(--fp-white);
	padding: 64px 0 56px;
	text-align: center;
}
body.fp .fp-press .fp-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 48px;
	color: var(--fp-gold);
	font-size: 18px;
	letter-spacing: .3em;
}
body.fp .fp-press .fp-eyebrow::before,
body.fp .fp-press .fp-eyebrow::after {
	content: "";
	width: 185px;
	height: 1px;
	background: var(--fp-gold);
}
body.fp .fp-press h2 {
	font-family: var(--fp-font-display);
	font-weight: 600;
	font-size: clamp(34px, 3.6vw, 54px);
	margin: 18px 0 22px;
}
body.fp .fp-press p {
	color: var(--fp-muted-on-dark);
	font-size: 20px;
	line-height: 1.5;
	max-width: 960px;
	margin: 0 auto 40px;
}
/* Press logos: the images the current home page already publishes (bnr1-4.png), not links. */
body.fp .fp-press-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.fp .fp-press-list li {
	display: flex;
	align-items: center;
	height: 76px;
	padding: 0 42px;
	border-left: 1px solid rgba(255, 255, 255, .14);
}
body.fp .fp-press-list img {
	display: block;
	max-height: 72px;
	max-width: 240px;
	width: auto;
	height: auto;
	filter: brightness(0) invert(1); /* the press PNGs are transparent: render them white on ink */
	opacity: .88;
}
body.fp .fp-press-list li:first-child {
	border-left: 0;
}

/* ---------- 4. Leaders in Real Estate (mockup 8, mountain band) ---------- */
body.fp .fp-stats {
	position: relative;
	color: var(--fp-white);
	background: var(--fp-charcoal) url(/bootstrap/img/bg-012.jpg) no-repeat center 35% / cover;
	padding: 52px 0;
}
body.fp .fp-stats::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(20, 26, 34, .74);
}
body.fp .fp-stats .fp-wrap {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.3fr 2fr;
	gap: 48px;
	align-items: center;
}
body.fp .fp-stats h2 {
	font-family: var(--fp-font-display);
	font-weight: 600;
	font-size: clamp(32px, 3.2vw, 48px);
	margin: 0 0 10px;
}
body.fp .fp-stats .fp-stats-intro p {
	font-size: 20px;
	line-height: 1.5;
	margin: 0;
}
body.fp .fp-stats-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}
body.fp .fp-stat-num {
	display: block;
	color: var(--fp-gold);
	font-family: var(--fp-font-display);
	font-weight: 600;
	font-size: clamp(44px, 4.4vw, 66px);
	line-height: 1.1;
}
body.fp .fp-stat-label {
	display: block;
	font-family: var(--fp-font-mono);
	font-size: 15px;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1.4;
	margin-top: 6px;
}

/* ---------- 5. Meet our Founder (mockup 8, bottom) ---------- */
body.fp .fp-founder {
	background: var(--fp-white);
	border-top: 4px solid var(--fp-gold);
	overflow: hidden;
}
body.fp .fp-founder .fp-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: end;
}
body.fp .fp-founder-copy {
	padding: 64px 0 72px;
	align-self: center;
}
body.fp .fp-founder .fp-eyebrow {
	color: var(--fp-brass);
	font-size: 17px;
	letter-spacing: .26em;
}
body.fp .fp-founder h2 {
	font-family: var(--fp-font-display);
	font-weight: 600;
	font-size: clamp(52px, 5.4vw, 84px);
	line-height: 1.05;
	margin: 8px 0 10px;
}
body.fp .fp-founder-title {
	font-weight: 700;
	font-size: 17px;
	letter-spacing: .3em;
	text-transform: uppercase;
	margin: 0 0 30px;
}
body.fp .fp-founder-copy p {
	font-size: 21px;
	line-height: 1.55;
	max-width: 640px;
	margin: 0 0 26px;
}
body.fp .fp-founder .fp-btn {
	color: var(--fp-brass);
	border-color: var(--fp-brass);
	margin-top: 12px;
	padding: 20px 64px;
}
body.fp .fp-founder .fp-btn:hover {
	background: var(--fp-charcoal);
	border-color: var(--fp-charcoal);
	color: var(--fp-gold);
}
body.fp .fp-arrow {
	display: inline-block;
	width: 58px;
	height: 1.5px;
	background: currentColor;
	position: relative;
}
body.fp .fp-arrow::after {
	content: "";
	position: absolute;
	right: 0;
	top: -4px;
	width: 9px;
	height: 9px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
	transform-origin: center;
}
body.fp .fp-founder-photo {
	align-self: end;
	text-align: center;
}
body.fp .fp-founder-photo img {
	display: block;
	width: 118%;
	max-width: none;
	margin-left: -6% !important;
	height: auto;
	margin: 0 auto;
}

/* ---------- 6. the kept sections below the founder block, and the footer (home page only) ----------
   These are the old site's markup (video, Buy / Sell / Career panels, Featured Listings, contact form,
   bootstrap/footer.php). Restyled here, scoped to body.fp, so their grey panels and the grey footer give way
   to ink without touching any other page. */
body.fp h2,
body.fp h3 {
	font-family: var(--fp-font-display);
	font-weight: 600;
}
body.fp .col-lg-8 > div.text {
	background: rgba(20, 26, 34, .84);
	border-left: 3px solid var(--fp-gold);
}
body.fp .col-lg-8 > div.text p {
	font-family: var(--fp-font-body);
}
body.fp a.object-card {
	background: var(--fp-white);
	border: 1px solid #DCE0E6;
}
body.fp a.button-white {
	background: var(--fp-charcoal);
	color: var(--fp-gold);
	border: 1px solid var(--fp-charcoal);
	font-family: var(--fp-font-body);
}
body.fp a.button-white:hover {
	background: var(--fp-gold);
	color: var(--fp-charcoal);
}
body.fp .bg013 {
	background: var(--fp-charcoal) !important;
}

/* ---------- tablet ---------- */
@media (max-width: 991.98px) {
	:root { --fp-gutter: 32px; }
	body.fp .fp-quick { gap: 18px; }
	body.fp .fp-stats .fp-wrap { grid-template-columns: 1fr; text-align: center; }
	body.fp .fp-founder .fp-wrap { grid-template-columns: 1fr; }
	body.fp .fp-founder-copy { padding-bottom: 8px; }
	body.fp .fp-founder-photo img { width: 100%; max-width: 460px; margin-left: auto !important; }
}

/* Collapsed (hamburger) menu: give it a ground so the white links stay readable. */
@media (max-width: 767.98px) {
	body.fp nav.navbar > .container { padding-left: 16px; padding-right: 16px; }
	body.fp .navbar-collapse.show,
	body.fp .navbar-collapse.collapsing {
		background: var(--fp-charcoal);
		margin: 12px -16px -14px;
		padding: 8px 16px 18px;
	}
	body.fp .navbar-nav > .nav-item:last-child .nav-link { margin: 10px 0 0; display: inline-block; }
	body.fp:not(.fp-agent) .navbar .navbar-brand.with-account { width: 150px; height: 38px; }
}

/* ---------- phone ---------- */
@media (max-width: 575.98px) {
	:root { --fp-gutter: 16px; --fp-nav-h: 70px; }
	body.fp .fp-hero { padding-bottom: 48px; align-items: flex-end; }
	body.fp .fp-hero .fp-eyebrow { font-size: 13px; }
	body.fp.fp-review [data-placeholder]::after { font-size: 9px; padding: 4px 6px; max-width: 70%; }
	body.fp.fp-review .fp-hero[data-placeholder]::after { bottom: auto; top: calc(var(--fp-nav-h) + 8px); }
	body.fp .fp-rule { margin: 22px 0 20px; width: 72px; }
	body.fp .fp-hero .fp-sub { margin-bottom: 28px; }
	body.fp .fp-search { padding: 6px; }
	body.fp .fp-search input { font-size: 16px; padding: 12px 12px; }
	body.fp .fp-search button { width: 112px; font-size: 13px; letter-spacing: .16em; }
	body.fp .fp-quick { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
	body.fp .fp-quick .fp-btn { padding: 15px 6px; font-size: 13px; }
	body.fp .fp-band { border-top-width: 16px; }
	body.fp .fp-press { padding: 44px 0 40px; }
	body.fp .fp-press .fp-eyebrow { font-size: 14px; gap: 16px; }
	body.fp .fp-press .fp-eyebrow::before,
	body.fp .fp-press .fp-eyebrow::after { width: 44px; }
	body.fp .fp-press p { font-size: 17px; margin-bottom: 24px; }
	body.fp .fp-press-list li { padding: 0 16px; height: 56px; }
	body.fp .fp-press-list img { max-height: 48px; max-width: 120px; }
	body.fp .fp-press-list li:nth-child(3) { border-left: 0; }
	body.fp .fp-stats .fp-stats-intro p { font-size: 17px; }
	body.fp .fp-stats-list { grid-template-columns: 1fr; gap: 18px; }
	body.fp .fp-stat-label { font-size: 16px; }
	body.fp .fp-founder .fp-eyebrow { font-size: 13px; letter-spacing: .2em; }
	body.fp .fp-founder-title { font-size: 13px; letter-spacing: .22em; }
	body.fp .fp-founder-copy { padding-top: 44px; }
	body.fp .fp-founder-copy p { font-size: 17px; }
	body.fp .fp-founder .fp-btn { padding: 16px 30px; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	body.fp nav.navbar, body.fp .fp-btn, body.fp .fp-search button { transition: none; }
}

/* Self-hosted fonts (13 Oct 2026). Newsreader, Public Sans and IBM Plex Mono are SIL Open Font License
   fonts; the Latin subsets are served from /bootstrap/fonts/fp/ so the H1 font arrives early from the same
   host (preloaded in index-home.php) instead of via two Google hops. Variable files cover the weight range. */
/* Newsreader: one static 600 instance (opsz 72), Latin subset, 20 KB. The 129 KB variable file made the H1 repaint late
   and set mobile LCP (3.8-4.1 s throttled); every display-font use on this page is weight 600. */
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 600; font-display: swap;
	src: url(/bootstrap/fonts/fp/newsreader-latin-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
	src: url(/bootstrap/fonts/fp/public-sans-latin-var.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap;
	src: url(/bootstrap/fonts/fp/ibm-plex-mono-latin-500.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap;
	src: url(/bootstrap/fonts/fp/ibm-plex-mono-latin-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- score fixes, 13 Oct 2026 (deliverables/frontpage-2026-10/score/SCORE-NOTE.md) ----------
   WebP photos at display size with the original JPEG as fallback, smaller files on phones, "Utah's Premier"
   inside the H1, the office address block inside <main>, and 44px tap targets. */
body.fp .fp-hero {
	background-image: url(/bootstrap/img/bg-001.jpg);
	background-image: image-set(url(/bootstrap/img/fp/hero-1600.webp) type("image/webp"), url(/bootstrap/img/bg-001.jpg) type("image/jpeg"));
}
body.fp .fp-band {
	background-image: url(/bootstrap/img/bg-003.jpg);
	background-image: image-set(url(/bootstrap/img/fp/band-1600.webp) type("image/webp"), url(/bootstrap/img/bg-003.jpg) type("image/jpeg"));
}
body.fp .fp-stats {
	background-image: url(/bootstrap/img/bg-012.jpg);
	background-image: image-set(url(/bootstrap/img/fp/stats-1600.webp) type("image/webp"), url(/bootstrap/img/bg-012.jpg) type("image/jpeg"));
}
/* The kept lower sections' photos (their rules live in styles-main.css; this overrides them on this page only). */
body.fp .container.w100.bg006 {
	background-image: image-set(url(/bootstrap/img/fp/buy-1600.webp) type("image/webp"), url(/bootstrap/img/bg-006.jpg) type("image/jpeg"));
}
body.fp .container.w100.bg006.bg008-bg {
	background-image: image-set(url(/bootstrap/img/fp/sell-1600.webp) type("image/webp"), url(/bootstrap/img/bg-008.jpg) type("image/jpeg"));
}
body.fp .container.w100.bg006.bg010-bg {
	background-image: url(/bootstrap/img/elevate_your_career.jpg);
}
body.fp .container.w100.bg006.bg011-bg {
	background-image: image-set(url(/bootstrap/img/fp/contact-1366.webp) type("image/webp"), url(/bootstrap/img/bg-011-2.jpg) type("image/jpeg"));
}
@media (max-width: 800px) {
	body.fp .fp-hero { background-image: image-set(url(/bootstrap/img/fp/hero-800.webp) type("image/webp"), url(/bootstrap/img/bg-001.jpg) type("image/jpeg")); }
	body.fp .fp-band { background-image: image-set(url(/bootstrap/img/fp/band-800.webp) type("image/webp"), url(/bootstrap/img/bg-003.jpg) type("image/jpeg")); }
	body.fp .fp-stats { background-image: image-set(url(/bootstrap/img/fp/stats-800.webp) type("image/webp"), url(/bootstrap/img/bg-012.jpg) type("image/jpeg")); }
	body.fp .container.w100.bg006 { background-image: image-set(url(/bootstrap/img/fp/buy-800.webp) type("image/webp"), url(/bootstrap/img/bg-006.jpg) type("image/jpeg")); }
	body.fp .container.w100.bg006.bg008-bg { background-image: image-set(url(/bootstrap/img/fp/sell-800.webp) type("image/webp"), url(/bootstrap/img/bg-008.jpg) type("image/jpeg")); }
	body.fp .container.w100.bg006.bg011-bg { background-image: image-set(url(/bootstrap/img/fp/contact-800.webp) type("image/webp"), url(/bootstrap/img/bg-011-2.jpg) type("image/jpeg")); }
}

/* "Utah's Premier" is now the first line of the H1, styled exactly as the eyebrow was. */
body.fp .fp-hero h1 .fp-eyebrow {
	display: block;
	font-family: var(--fp-font-mono);
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
}

/* Corporate office: address and phone in the page body, where search and AI extractors read it. */
body.fp .fp-office {
	background: var(--fp-ink-2);
	color: var(--fp-muted-on-dark);
	padding: 22px 0;
}
body.fp .fp-office address {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 28px;
	margin: 0;
	font-size: 17px;
	font-style: normal;
	text-align: center;
}
body.fp .fp-office-label {
	font-family: var(--fp-font-mono);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--fp-gold);
}
body.fp .fp-office a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--fp-white);
	text-decoration: none;
	border-bottom: 1px solid var(--fp-gold);
}
body.fp .fp-office a:hover { color: var(--fp-honey); }

/* Tap targets: 44px minimum for the logo link, the menu button and the kept form fields. */
body.fp .navbar-toggler { min-height: 44px; min-width: 44px; }
body.fp .bg011-bg form .form-control,
body.fp .bg013 .form-control,
body.fp .bg013 .btn,
body.fp .bg011-bg form .btn { min-height: 44px; }
@media (max-width: 767.98px) {
	body.fp:not(.fp-agent) .navbar .navbar-brand.with-account { width: 174px; height: 44px; }
}
@media (max-width: 575.98px) {
	body.fp .fp-office address { flex-direction: column; font-size: 16px; }
}

/* Press strip, Jennifer 14 Oct 2026: plain text titles, no links, plus a marked slot for Inside Magazine. */
body.fp .fp-press-list li {
	font-family: var(--fp-font-display);
	font-weight: 600;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.2;
	letter-spacing: .01em;
	color: var(--fp-white);
	opacity: .92;
	height: auto;
	min-height: 56px;
}
body.fp .fp-press-list li.fp-press-slot {
	opacity: .6;
	font-style: italic;
	outline: 1px dashed var(--fp-gold);
	outline-offset: -6px;
}
body.fp.fp-review .fp-press-list li.fp-press-slot {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 28px;
}
body.fp.fp-review .fp-press-list li.fp-press-slot::after {
	position: static;
	max-width: 340px;
	text-align: center;
	font-style: normal;
}
@media (max-width: 640px) {
	body.fp .fp-press-list li { font-size: 19px; padding: 0 14px; }
}
