/* =========================================================
   PFC BRAND & DESIGN SYSTEM — /pfcbranding reference page
   Everything is scoped under .pfc-brand so it never leaks
   into other pages. This is the master visual reference.
   ========================================================= */

.pfc-brand { --b-blue:#1D4594; --b-blue-deep:#132E63; --b-blue-bright:#4A7BD9; --b-ok:#3DDC84; --b-warn:#F2B23C; }
/* Visually-hidden (screen-reader / SEO) — e.g. a logo-as-heading H1. */
.pfc-brand .pfc-sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pfc-brand * { box-sizing: border-box; }

/* ---- Section shell ---- */
.pfc-brand .b-sec {
	position: relative;
	overflow: hidden;
	padding: clamp(48px, 7vw, 104px) 24px;
}
.pfc-brand .b-inner { max-width: 1240px; margin: 0 auto; position: relative; z-index: 2; }
/* Decorative section backgrounds (grid/glow/rings/scanlines) must never sit over
   or intercept content. Keep them behind and non-interactive, and lift the
   section's own content above them so links/buttons stay clickable everywhere. */
.pfc-brand .b-bg-1::before, .pfc-brand .b-bg-1::after,
.pfc-brand .b-bg-2::before, .pfc-brand .b-bg-2::after,
.pfc-brand .b-bg-3::before, .pfc-brand .b-bg-3::after,
.pfc-brand .b-bg-4::before, .pfc-brand .b-bg-4::after { pointer-events: none; }
.pfc-brand .b-sec > * { position: relative; z-index: 1; }
.pfc-brand .b-eyebrow {
	font-family: 'Bebas Neue', sans-serif;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	font-size: 15px;
	margin: 0 0 14px;
	/* Vertical gradient: dark blue at the bottom rising to near-white at the top,
	   gently animated. Applies to every eyebrow site-wide. */
	background: linear-gradient(to top, #1D4594 0%, #EEF2F8 100%);
	background-size: 100% 200%;
	background-position: 50% 50%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	animation: pfc-eyebrow-grad 5s ease-in-out infinite;
}
@keyframes pfc-eyebrow-grad {
	0%, 100% { background-position: 50% 0%; }
	50% { background-position: 50% 100%; }
}

/* =========================================================
   TYPE SCALE  (Inter, scaled down; H1 < home hero)
   ========================================================= */
.pfc-brand .b-h1 { font-family:'Inter',sans-serif; font-weight:900; font-size:clamp(34px,5vw,64px); line-height:1.04; letter-spacing:-0.03em; margin:0 0 .25em; }
.pfc-brand .b-h2 { font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(28px,3.6vw,44px); line-height:1.1;  letter-spacing:-0.02em; margin:0 0 .3em; }
.pfc-brand .b-h3 { font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(22px,2.4vw,30px); line-height:1.2;  letter-spacing:-0.01em; margin:0 0 .35em; }
.pfc-brand .b-h4 { font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(18px,1.8vw,22px); line-height:1.3;  margin:0 0 .4em; }
.pfc-brand .b-body { font-family:'Inter',sans-serif; font-weight:400; font-size:17px; line-height:1.7; margin:0 0 1em; max-width:62ch; }
.pfc-brand .b-small { font-size:14px; line-height:1.6; }
/* Heading-as-link: keep the heading color (white on dark), underline on hover */
.pfc-brand .b-h1 a, .pfc-brand .b-h2 a, .pfc-brand .b-h3 a, .pfc-brand .b-h4 a { color:inherit; text-decoration:none; }
.pfc-brand .b-h1 a:hover, .pfc-brand .b-h2 a:hover, .pfc-brand .b-h3 a:hover, .pfc-brand .b-h4 a:hover { text-decoration:underline; text-underline-offset:4px; }

/* Text-color context */
.pfc-brand .b-dark  { color:#e8ecf3; }
.pfc-brand .b-dark  .b-h1, .pfc-brand .b-dark  .b-h2, .pfc-brand .b-dark  .b-h3, .pfc-brand .b-dark  .b-h4 { color:#ffffff; }
.pfc-brand .b-dark  .b-muted { color:#94a0b4; }
.pfc-brand .b-light { color:#2d333c; }
.pfc-brand .b-light .b-h1, .pfc-brand .b-light .b-h2, .pfc-brand .b-light .b-h3, .pfc-brand .b-light .b-h4 { color:#0f1830; }
.pfc-brand .b-light .b-muted { color:#5d6577; }
.pfc-brand .b-accent { background:linear-gradient(to top, #1D4594 0%, #EEF2F8 100%); background-size:100% 200%; background-position:50% 50%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:pfc-eyebrow-grad 5s ease-in-out infinite; }
.pfc-brand .b-light .b-accent { background:linear-gradient(to top, #132E63 0%, #4A7BD9 100%); background-size:100% 200%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* Text color swatches (show light + dark on every bg) */
.pfc-brand .b-textchips { display:flex; gap:14px; flex-wrap:wrap; margin-top:8px; }
.pfc-brand .b-chip { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; padding:7px 12px; border-radius:8px; border:1px solid rgba(125,140,165,.3); }
.pfc-brand .b-chip .dot { width:14px; height:14px; border-radius:4px; }
.pfc-brand .b-chip .dot.is-lighttext { background:#e8ecf3; }
.pfc-brand .b-chip .dot.is-darktext  { background:#0f1830; }
.pfc-brand .b-sample-light { color:#e8ecf3; }
.pfc-brand .b-sample-dark  { color:#0f1830; }

/* =========================================================
   FOUR BACKGROUNDS (complement each other in any order)
   ========================================================= */

/* 1 — Midnight Grid */
.pfc-brand .b-bg-1 { background:#0a0d14; }
.pfc-brand .b-bg-1::before { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(74,123,217,.16) 1px, transparent 1px); background-size:26px 26px; -webkit-mask-image:radial-gradient(ellipse at 72% 18%, #000 22%, transparent 72%); mask-image:radial-gradient(ellipse at 72% 18%, #000 22%, transparent 72%); z-index:0; }
.pfc-brand .b-bg-1::after { content:''; position:absolute; top:-25%; right:-12%; width:62%; height:90%; background:radial-gradient(circle, rgba(29,69,148,.42), transparent 62%); filter:blur(46px); z-index:0; }

/* 2 — Atmosphere Light (sky gradient + faint radar rings, aviation HUD feel) */
.pfc-brand .b-bg-2 { background:linear-gradient(160deg,#f4f7fc 0%, #e6edf6 58%, #d9e3f1 100%); }
.pfc-brand .b-bg-2::before { content:''; position:absolute; inset:0; background-image:repeating-radial-gradient(circle at 86% 20%, transparent 0 32px, rgba(29,69,148,.07) 32px 33px); z-index:0; }
.pfc-brand .b-bg-2::after { content:''; position:absolute; inset:0; background:radial-gradient(120% 85% at 50% -25%, rgba(74,123,217,.16), transparent 60%); z-index:0; }

/* 3 — Brand Gradient (topographic) */
.pfc-brand .b-bg-3 { background:linear-gradient(135deg,#1D4594 0%, #122a5f 55%, #0a1838 100%); }
.pfc-brand .b-bg-3::before { content:''; position:absolute; inset:0; background-image:repeating-radial-gradient(circle at 82% 28%, transparent 0 40px, rgba(255,255,255,.06) 40px 41px); z-index:0; }
.pfc-brand .b-bg-3::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent, rgba(5,12,28,.45)); z-index:0; }

/* 4 — Carbon Steel */
.pfc-brand .b-bg-4 { background:#171b22; }
.pfc-brand .b-bg-4::before { content:''; position:absolute; inset:0; background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 8px); z-index:0; }
.pfc-brand .b-bg-4::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, transparent, var(--b-blue-bright), transparent); z-index:1; }

/* =========================================================
   CARD / BLOCK STYLES  (all four work on all backgrounds)
   ========================================================= */
.pfc-brand .b-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:8px; }
.pfc-brand .b-card { border-radius:16px; padding:24px; min-height:190px; transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease; }
.pfc-brand .b-card:hover { transform:translateY(-5px); }
.pfc-brand .b-card .b-h4 { margin-top:0; }
.pfc-brand .b-card p { font-size:14px; line-height:1.6; margin:0; }

/* 1 Glass */
.pfc-brand .b-card-glass { background:rgba(255,255,255,.08); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.2); }
.pfc-brand .b-light .b-card-glass { background:rgba(15,28,60,.05); border-color:rgba(15,28,60,.14); }
/* 2 Solid elevated */
.pfc-brand .b-card-solid { background:#0f1726; border:1px solid rgba(255,255,255,.09); box-shadow:0 18px 44px rgba(0,0,0,.45); color:#e8ecf3; }
.pfc-brand .b-card-solid .b-h4 { color:#fff; }
.pfc-brand .b-card-solid p { color:#94a0b4; }
/* 3 Inset / recessed instrument-bezel panel */
.pfc-brand .b-card-outline { background:#0a0f1a; border:1px solid rgba(255,255,255,.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), inset 0 0 34px rgba(0,0,0,.55); color:#e8ecf3; position:relative; }
.pfc-brand .b-card-outline .b-h4 { color:#fff; }
.pfc-brand .b-card-outline p { color:#94a0b4; }
.pfc-brand .b-light .b-card-outline { background:#e7edf6; border-color:rgba(15,28,60,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 0 30px rgba(15,28,60,.07); color:#2d333c; }
.pfc-brand .b-light .b-card-outline .b-h4 { color:#0f1830; }
.pfc-brand .b-light .b-card-outline p { color:#5d6577; }
/* 4 Gradient accent */
.pfc-brand .b-card-gradient { position:relative; background:#0f1726; border:1px solid rgba(255,255,255,.08); box-shadow:0 0 0 1px rgba(29,69,148,.25), 0 18px 50px rgba(0,0,0,.4); color:#e8ecf3; overflow:hidden; }
.pfc-brand .b-card-gradient::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--b-blue), var(--b-blue-bright)); }
.pfc-brand .b-card-gradient::after { content:''; position:absolute; bottom:-40%; right:-20%; width:70%; height:80%; background:radial-gradient(circle, rgba(29,69,148,.4), transparent 65%); filter:blur(30px); }
.pfc-brand .b-card-gradient .b-h4 { color:#fff; position:relative; z-index:1; }
.pfc-brand .b-card-gradient p { color:#a9b6cc; position:relative; z-index:1; }

/* =========================================================
   BUTTONS
   ========================================================= */
.pfc-brand .b-btnrow { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.pfc-brand .b-btn { display:inline-flex; align-items:center; gap:9px; padding:13px 26px; border-radius:8px; font-family:'Inter',sans-serif; font-weight:600; font-size:15px; letter-spacing:.01em; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease; }
.pfc-brand .b-btn-primary { background:linear-gradient(74deg, var(--b-blue), var(--b-blue-deep)); color:#fff; box-shadow:0 8px 26px rgba(29,69,148,.45); }
.pfc-brand .b-btn-primary:hover { transform:translateY(-2px); box-shadow:0 12px 34px rgba(29,69,148,.55); }
.pfc-brand .b-btn-solid { background:#2d333c; color:#fff; }
.pfc-brand .b-light .b-btn-solid { background:#0f1830; }
.pfc-brand .b-btn-solid:hover { transform:translateY(-2px); }
.pfc-brand .b-btn-ghost { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.22); color:inherit; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.pfc-brand .b-light .b-btn-ghost { background:rgba(15,28,60,.04); border-color:rgba(15,28,60,.2); }
.pfc-brand .b-btn-ghost:hover { border-color:var(--b-blue-bright); background:rgba(29,69,148,.16); }
.pfc-brand .b-btn-link { background:none; padding:13px 4px; color:var(--b-blue-bright); }
.pfc-brand .b-btn-link::after { content:'→'; transition:transform .25s ease; }
.pfc-brand .b-btn-link:hover::after { transform:translateX(4px); }

/* =========================================================
   BADGES / TAGS / LINKS
   ========================================================= */
.pfc-brand .b-badge { display:inline-flex; align-items:center; gap:7px; padding:5px 13px; border-radius:100px; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.pfc-brand .b-badge-blue { background:#1c3768; color:#bcd2f5; border:1px solid #2a4d8f; }
.pfc-brand .b-badge-outline { background:#232b39; color:#cfd6e4; border:1px solid #3a4456; }
.pfc-brand .b-badge-status { background:#163a25; color:#5fe39a; border:1px solid #2c6b46; }
.pfc-brand .b-badge-status .dot { width:7px; height:7px; border-radius:50%; background:var(--b-ok); box-shadow:0 0 8px var(--b-ok); }
.pfc-brand .b-link { color:var(--b-blue-bright); text-decoration:none; border-bottom:1px solid rgba(74,123,217,.4); transition:border-color .2s ease, color .2s ease; }
.pfc-brand .b-link:hover { border-color:currentColor; color:#6f97e6; }

/* =========================================================
   LISTS / BLOCKQUOTE
   ========================================================= */
.pfc-brand .b-check { list-style:none; margin:0; padding:0; }
.pfc-brand .b-check li { position:relative; padding-left:32px; margin:0 0 12px; }
.pfc-brand .b-check li::before { content:''; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:6px; background:rgba(29,69,148,.2); border:1px solid var(--b-blue); }
.pfc-brand .b-check li::after { content:''; position:absolute; left:6px; top:6px; width:8px; height:5px; border-left:2px solid var(--b-blue-bright); border-bottom:2px solid var(--b-blue-bright); transform:rotate(-45deg); }
.pfc-brand .b-quote { margin:0; border-left:3px solid var(--b-blue); padding:6px 0 6px 22px; font-size:19px; line-height:1.5; font-style:italic; }
.pfc-brand .b-quote cite { display:block; margin-top:10px; font-size:14px; font-style:normal; opacity:.7; }

/* =========================================================
   FORM FIELDS
   ========================================================= */
.pfc-brand .b-form { display:grid; gap:16px; max-width:520px; }
.pfc-brand .b-field label { display:block; font-size:14px; font-weight:700; letter-spacing:.03em; margin-bottom:7px; opacity:.9; }
.pfc-brand .b-field input, .pfc-brand .b-field textarea, .pfc-brand .b-field select { width:100%; padding:14px 14px; border-radius:8px; background:#111a2a; border:1px solid rgba(255,255,255,.16); color:inherit; font-family:'Inter',sans-serif; font-size:16px; transition:border-color .2s ease, box-shadow .2s ease; }
.pfc-brand .b-light .b-field input, .pfc-brand .b-light .b-field textarea, .pfc-brand .b-light .b-field select { background:#ffffff; border-color:rgba(15,28,60,.18); color:#0f1830; }
.pfc-brand .b-field input::placeholder, .pfc-brand .b-field textarea::placeholder { color:#8893a8; }
.pfc-brand .b-light .b-field input::placeholder, .pfc-brand .b-light .b-field textarea::placeholder { color:#6a7790; }
.pfc-brand .b-field input:focus, .pfc-brand .b-field textarea:focus, .pfc-brand .b-field select:focus { outline:none; border-color:var(--b-blue-bright); box-shadow:0 0 0 3px rgba(74,123,217,.25); }
.pfc-brand .b-checkrow { display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.pfc-brand .b-checkrow label { display:inline-flex; align-items:center; gap:8px; font-size:14px; margin:0; opacity:1; }
.pfc-brand .b-checkrow input { width:auto; accent-color:var(--b-blue); }

/* =========================================================
   TABLE
   ========================================================= */
.pfc-brand .b-table { width:100%; border-collapse:collapse; font-size:15px; }
.pfc-brand .b-table th, .pfc-brand .b-table td { padding:13px 16px; text-align:left; border-bottom:1px solid rgba(125,140,165,.18); }
.pfc-brand .b-table thead th { font-weight:700; color:var(--b-blue-bright); text-transform:uppercase; letter-spacing:.05em; font-size:12px; }
.pfc-brand .b-dark .b-table tbody tr:hover { background:rgba(255,255,255,.03); }
.pfc-brand .b-light .b-table tbody tr:hover { background:rgba(15,28,60,.03); }

/* =========================================================
   ALERTS / NOTICES
   ========================================================= */
.pfc-brand .b-alert { display:flex; gap:12px; align-items:flex-start; padding:14px 18px; border-radius:10px; border:1px solid; font-size:15px; margin-bottom:14px; }
.pfc-brand .b-alert strong { font-weight:700; }
.pfc-brand .b-alert-info { background:#dce8fb; border-color:#a7c4ec; color:#1b3a73; }
.pfc-brand .b-alert-ok   { background:#d8f3e2; border-color:#8ad2ab; color:#15623c; }
.pfc-brand .b-alert-warn { background:#fceccc; border-color:#e6c879; color:#6f5212; }

/* =========================================================
   SWATCHES (color + type reference)
   ========================================================= */
.pfc-brand .b-swatches { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:14px; }
.pfc-brand .b-swatch { border-radius:12px; overflow:hidden; border:1px solid rgba(125,140,165,.2); }
.pfc-brand .b-swatch .chip { height:74px; }
.pfc-brand .b-swatch .meta { padding:10px 12px; font-size:12px; background:rgba(0,0,0,.25); }
.pfc-brand .b-swatch .meta b { display:block; font-size:13px; }

/* Utility */
.pfc-brand .b-reveal { opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.pfc-brand .b-reveal.is-visible { opacity:1; transform:none; }
.pfc-brand .b-row { display:flex; flex-wrap:wrap; gap:40px; }
.pfc-brand .b-col { flex:1 1 280px; min-width:0; }
.pfc-brand .b-divider { height:1px; background:linear-gradient(90deg, transparent, rgba(125,140,165,.4), transparent); border:0; margin:36px 0; }

/* =========================================================
   WHY PFC — video tabs + rotating testimonials (page + popup)
   ========================================================= */
.pfc-brand .pfc-whypfc { width:100%; }
.pfc-brand .pfc-wp-grid { display:grid; grid-template-columns:1fr 1fr; gap:38px; align-items:start; }
.pfc-brand .pfc-wp-col .b-eyebrow { margin:0 0 14px; }
/* video side */
.pfc-brand .pfc-wp-player { position:relative; aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#05070c; border:1px solid rgba(255,255,255,.1); cursor:pointer; }
.pfc-brand .pfc-wp-thumb { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.92; }
.pfc-brand .pfc-wp-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.pfc-brand .pfc-wp-player::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,11,18,.05),rgba(8,11,18,.45)); transition:opacity .3s; }
.pfc-brand .pfc-wp-player.is-playing::after, .pfc-brand .pfc-wp-player.is-playing .pfc-wp-play { opacity:0; pointer-events:none; }
.pfc-brand .pfc-wp-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:74px; height:74px; border:0; border-radius:50%; background:rgba(29,69,148,.95); z-index:2; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 0 8px rgba(29,69,148,.22); transition:transform .25s,box-shadow .25s; }
.pfc-brand .pfc-wp-play::before { content:''; position:absolute; top:50%; left:53%; transform:translate(-50%,-50%); border-style:solid; border-width:12px 0 12px 20px; border-color:transparent transparent transparent #fff; }
.pfc-brand .pfc-wp-player:hover .pfc-wp-play { transform:translate(-50%,-50%) scale(1.08); box-shadow:0 14px 38px rgba(0,0,0,.6),0 0 0 12px rgba(29,69,148,.18); }
.pfc-brand .pfc-wp-vtabs { display:flex; flex-direction:row; flex-wrap:wrap; gap:9px; margin:0 0 16px; }
.pfc-brand .pfc-wp-vtab { flex:1 1 0; min-width:108px; display:flex; align-items:center; justify-content:center; gap:8px; padding:12px 14px; border-radius:11px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); color:#cfd6e4; font-family:'Inter',sans-serif; font-weight:600; font-size:15px; text-align:center; cursor:pointer; transition:border-color .2s,background .2s,color .2s; }
.pfc-brand .pfc-wp-vtab:hover { border-color:rgba(91,141,239,.5); color:#fff; }
.pfc-brand .pfc-wp-vtab.is-active { border-color:var(--b-blue-bright); background:rgba(29,69,148,.22); color:#fff; }
.pfc-brand .pfc-wp-vt-ic { flex:0 0 auto; width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.08); position:relative; }
.pfc-brand .pfc-wp-vtab.is-active .pfc-wp-vt-ic { background:var(--b-blue); }
.pfc-brand .pfc-wp-vt-ic::before { content:''; position:absolute; top:50%; left:53%; transform:translate(-50%,-50%); border-style:solid; border-width:5px 0 5px 8px; border-color:transparent transparent transparent #fff; }
/* testimonial side */
.pfc-brand .pfc-wp-rotator { position:relative; }
.pfc-brand .pfc-wp-tslide { display:none; }
.pfc-brand .pfc-wp-tslide.is-active { display:block; animation:pfc-wp-fade .5s ease; }
@keyframes pfc-wp-fade { from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.pfc-brand .pfc-wp-tslide blockquote { margin:0; padding:0 4px 0 0; border:0; font-size:16px; line-height:1.7; color:#dbe2ee; max-height:300px; overflow-y:auto; }
.pfc-brand .pfc-wp-tslide blockquote::before { content:'\201C'; display:block; font-family:Georgia,serif; font-size:54px; line-height:.1; color:var(--b-blue-bright); margin:18px 0 6px; }
.pfc-brand .pfc-wp-tauthor { display:flex; align-items:center; gap:14px; margin-top:20px; }
.pfc-brand .pfc-wp-tauthor img { width:58px; height:58px; border-radius:50%; object-fit:cover; border:2px solid rgba(91,141,239,.5); }
.pfc-brand .pfc-wp-tmeta { display:flex; flex-direction:column; }
.pfc-brand .pfc-wp-tmeta strong { color:#fff; font-size:16px; }
.pfc-brand .pfc-wp-tmeta em { color:#9bbcf2; font-style:normal; font-size:14px; }
.pfc-brand .pfc-wp-tnav { display:flex; align-items:center; gap:16px; margin-top:24px; }
.pfc-brand .pfc-wp-tprev, .pfc-brand .pfc-wp-tnext { width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:transparent; color:#cfd6e4; font-size:22px; line-height:1; cursor:pointer; transition:background .2s,border-color .2s; }
.pfc-brand .pfc-wp-tprev:hover, .pfc-brand .pfc-wp-tnext:hover { background:rgba(29,69,148,.3); border-color:var(--b-blue-bright); color:#fff; }
.pfc-brand .pfc-wp-tdots { display:flex; gap:9px; flex:1; }
.pfc-brand .pfc-wp-tdot { width:9px; height:9px; border-radius:50%; border:0; background:rgba(255,255,255,.22); cursor:pointer; padding:0; transition:background .2s,transform .2s; }
.pfc-brand .pfc-wp-tdot.is-active { background:var(--b-blue-bright); transform:scale(1.25); }
@media (max-width:980px){ .pfc-brand .pfc-wp-grid { grid-template-columns:1fr; gap:44px; } }
/* popup modal */
.pfc-brand.pfc-wp-modal, .pfc-wp-modal { position:fixed; inset:0; z-index:99999; display:none; }
.pfc-wp-modal.is-open { display:flex; align-items:center; justify-content:center; padding:24px; }
.pfc-wp-modal-overlay { position:absolute; inset:0; background:rgba(5,8,14,.82); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.pfc-wp-modal-box { position:relative; z-index:2; width:min(1120px,100%); max-height:90vh; overflow-y:auto; background:linear-gradient(180deg,#0e1422,#0a0f1a); border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:clamp(24px,4vw,46px); box-shadow:0 40px 120px rgba(0,0,0,.6); }
.pfc-wp-modal-close { position:absolute; top:14px; right:16px; width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); color:#cfd6e4; font-size:24px; line-height:1; cursor:pointer; z-index:3; transition:background .2s,border-color .2s; }
.pfc-wp-modal-close:hover { background:rgba(255,255,255,.1); color:#fff; }
body.pfc-wp-noscroll { overflow:hidden; }

/* =========================================================
   CONTACT FORM
   ========================================================= */
.pfc-brand .pfc-cf { max-width:780px; margin:0 auto; text-align:left; }
.pfc-brand .pfc-cf-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.pfc-brand .pfc-cf-field { display:flex; flex-direction:column; gap:7px; }
.pfc-brand .pfc-cf-full { grid-column:1 / -1; }
.pfc-brand .pfc-cf-field span { font-size:14px; font-weight:600; color:#cfd6e4; }
.pfc-brand .pfc-cf-field span i { color:#6f97e6; font-style:normal; }
.pfc-brand .pfc-cf input, .pfc-brand .pfc-cf select, .pfc-brand .pfc-cf textarea { width:100%; box-sizing:border-box; padding:15px 15px; border-radius:10px; border:1px solid rgba(255,255,255,.14); background-color:rgba(255,255,255,.04); color:#eef2f8; font-family:'Inter',sans-serif; font-size:16px; transition:border-color .2s, background-color .2s; }
.pfc-brand .pfc-cf input::placeholder, .pfc-brand .pfc-cf textarea::placeholder { color:#8893a8; }
.pfc-brand .pfc-cf select:required:invalid { color:#8893a8; }
.pfc-brand .pfc-cf textarea { resize:vertical; min-height:130px; }
.pfc-brand .pfc-cf input:focus, .pfc-brand .pfc-cf select:focus, .pfc-brand .pfc-cf textarea:focus { outline:none; border-color:var(--b-blue-bright); background-color:rgba(29,69,148,.14); }
.pfc-brand .pfc-cf select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='%23a9b6cc'%3E%3Cpath d='M1.5 4l4.5 4 4.5-4'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; background-size:12px; padding-right:38px; }
.pfc-brand .pfc-cf select option { color:#1a2230; }
.pfc-brand .pfc-cf-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }
.pfc-brand .pfc-cf-foot { margin-top:24px; }
.pfc-brand .pfc-cf-submit { display:block; width:100%; font-family:'Inter',sans-serif; font-weight:600; font-size:15px; padding:15px 34px; border:0; border-radius:8px; color:#fff; cursor:pointer; background:linear-gradient(74deg,var(--b-blue),var(--b-blue-deep)); box-shadow:0 8px 26px rgba(29,69,148,.45); transition:transform .2s, box-shadow .2s, opacity .2s; }
.pfc-brand .pfc-cf-submit:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(29,69,148,.55); }
.pfc-brand .pfc-cf-submit:disabled { opacity:.6; cursor:default; transform:none; }
/* Form buttons (submit / next / back, etc.) — one size up, bold, all-caps */
.pfc-brand .pfc-cf-submit, .pfc-brand .pfc-cf button[type="submit"], .pfc-brand .b-form .b-btn { font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; justify-content:center; text-align:center; }
.pfc-brand .pfc-cf-status:not(:empty) { margin-top:20px; }
.pfc-brand .pfc-cf-status .b-alert { margin:0; font-size:15.5px; }
@media (max-width:680px){ .pfc-brand .pfc-cf-grid { grid-template-columns:1fr; } }

/* =========================================================
   QUOTE REQUEST FORM (.pfc-qf, builds on .pfc-cf)
   ========================================================= */
.pfc-brand .pfc-qf { position:relative; z-index:1; background:#e8eef7; padding:18px; border-radius:16px; }
.pfc-brand .pfc-qf-grid { display:grid; grid-template-columns:1fr; gap:18px; align-items:start; }
.pfc-brand .pfc-qf-field { display:flex; flex-direction:column; gap:7px; }
.pfc-brand .pfc-qf-full { grid-column:1 / -1; }
.pfc-brand .pfc-qf-cond { display:none; }
.pfc-brand .pfc-qf-cond.is-shown { display:flex; }
.pfc-brand .pfc-qf-title, .pfc-brand .pfc-qf-grouptitle { font-size:15px; font-weight:700; color:#2a3550; line-height:1.4; }
.pfc-brand .pfc-qf-title i, .pfc-brand .pfc-qf-grouptitle i { color:var(--b-blue); font-style:normal; }
.pfc-brand .pfc-qf-grouptitle { margin-bottom:9px; }
.pfc-brand .pfc-qf-name { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pfc-brand .pfc-qf-small input, .pfc-brand .pfc-qf-field input.pfc-qf-small { max-width:50%; }
.pfc-brand .pfc-qf-addr { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pfc-brand .pfc-qf-addr .pfc-qf-full { grid-column:1 / -1; }
.pfc-brand .pfc-qf-choices { display:flex; flex-wrap:wrap; gap:11px 24px; }
.pfc-brand .pfc-qf-choices--c2 { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 18px; }
.pfc-brand .pfc-qf-choices--c3 { display:grid; grid-template-columns:repeat(3,1fr); gap:12px 18px; }
.pfc-brand .pfc-qf-choices--stack { flex-direction:column; gap:10px; }
.pfc-brand .pfc-qf-choices-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:11px 18px; }
.pfc-brand .pfc-qf-choice { display:inline-flex; align-items:center; gap:9px; font-size:15px; color:#33405c; cursor:pointer; }
.pfc-brand .pfc-qf-choice input { width:18px; height:18px; accent-color:var(--b-blue); margin:0; flex:0 0 auto; }
.pfc-brand .pfc-qf-likertwrap { overflow-x:auto; border:1px solid rgba(15,28,60,.12); border-radius:10px; background:#fff; }
.pfc-brand .pfc-qf-likert { width:100%; border-collapse:collapse; font-size:14px; color:#33405c; min-width:560px; }
.pfc-brand .pfc-qf-likert th, .pfc-brand .pfc-qf-likert td { padding:11px 8px; text-align:center; border-bottom:1px solid rgba(15,28,60,.08); }
.pfc-brand .pfc-qf-likert tbody tr:last-child th, .pfc-brand .pfc-qf-likert tbody tr:last-child td { border-bottom:0; }
.pfc-brand .pfc-qf-likert thead th { font-weight:600; font-size:12.5px; color:#5a6678; }
.pfc-brand .pfc-qf-likert .pfc-qf-likert-row { text-align:left; font-weight:600; color:#2a3550; min-width:170px; }
.pfc-brand .pfc-qf-likert input { width:18px; height:18px; accent-color:var(--b-blue); }
.pfc-brand .pfc-qf .pfc-qf-err input, .pfc-brand .pfc-qf .pfc-qf-err select, .pfc-brand .pfc-qf .pfc-qf-err textarea { border-color:#d63637 !important; border-width:2px !important; box-shadow:0 0 0 3px rgba(214,54,55,.15) !important; }
.pfc-brand .pfc-qf-err .pfc-qf-title i, .pfc-brand .pfc-qf-err .pfc-qf-grouptitle i { color:#d63637 !important; font-weight:800; }
.pfc-brand .pfc-qf-errmsg { color:#d63637; font-size:13px; }
.pfc-brand .pfc-qf-heading { max-width:780px; margin:0 auto 22px; text-align:center; color:#16233f; }
.pfc-brand .pfc-qf-notice { max-width:780px; margin:24px auto 0; }
/* Quote form mobile fit: shrinkable grid tracks + stack the multi-column
   groups on phones so the form never overflows the viewport (right-edge cutoff).
   Desktop layout is unchanged; the stack only kicks in below 680px. */
.pfc-brand .pfc-qf-grid { grid-template-columns:minmax(0,1fr); }
.pfc-brand .pfc-qf-field { min-width:0; }
.pfc-brand .pfc-qf input, .pfc-brand .pfc-qf select, .pfc-brand .pfc-qf textarea { min-width:0; max-width:100%; }
.pfc-brand .pfc-qf-name { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.pfc-brand .pfc-qf-addr { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.pfc-brand .pfc-qf-choices--c2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pfc-brand .pfc-qf-choices--c3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:680px){
	.pfc-brand .pfc-qf-name, .pfc-brand .pfc-qf-addr,
	.pfc-brand .pfc-qf-choices--c2, .pfc-brand .pfc-qf-choices--c3 { grid-template-columns:1fr; }
}
.pfc-brand .pfc-page-head.pfc-qhero { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/Request-a-Quote-Hero.png'); background-size:cover; background-position:center; background-repeat:no-repeat; }
.pfc-brand .pfc-page-head.pfc-rrhero { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/Request-Received-Hero.jpg'); background-size:cover; background-position:center; background-repeat:no-repeat; }
body.page-id-42 .pfc-page-head { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/Leasing-Calculator-Hero.png'); background-size:cover; background-position:center; background-repeat:no-repeat; }
body.page-id-41 .pfc-page-head { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/MR-Systems-Hero.jpg'); background-size:cover; background-position:center right; background-repeat:no-repeat; }
body.term-fixed-wing-simulators .pfc-archive-head { background-image:linear-gradient(to bottom, rgba(10,13,20,0) 0%, rgba(10,13,20,0) 32%, rgba(10,13,20,.5) 100%),linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/Fixed-Wing-Category-Hero-scaled.png'); background-size:cover; background-position:center; background-repeat:no-repeat; }
body.term-rotary-wing .pfc-archive-head { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/Rotary-Wing-Category-Hero.jpg'); background-size:cover; background-position:center; background-repeat:no-repeat; }
body.page-id-39 .pfc-page-head { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/About-PFC-Hero.jpg'); background-size:cover; background-position:center; background-repeat:no-repeat; }
body.page-id-38 .pfc-page-head { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/contact-precision-flight-controls.webp'); background-size:cover; background-position:center; background-repeat:no-repeat; }
body.page-id-40 .pfc-page-head { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/PFC-Defense-Hero.jpg'); background-size:cover; background-position:center; background-repeat:no-repeat; }
/* Soft dark glow behind the PFC Defense logo so it pops off the background */
body.page-id-40 .pfc-page-head figure.wp-block-image { position:relative; }
body.page-id-40 .pfc-page-head figure.wp-block-image::before { content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:150%; height:185%; background:radial-gradient(ellipse at center, rgba(0,0,0,.55) 0%, rgba(0,0,0,.34) 42%, rgba(0,0,0,0) 75%); z-index:0; pointer-events:none; }
body.page-id-40 .pfc-page-head figure.wp-block-image img { position:relative; z-index:1; }
body.page-id-43 .pfc-page-head { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/Leasing-Calculator-Hero.png'); background-size:cover; background-position:center; background-repeat:no-repeat; }
body.term-training-systems .pfc-page-head { background-image:linear-gradient(rgba(10,13,20,.75),rgba(10,13,20,.75)),url('https://new.flypfc.com/wp-content/uploads/2026/06/flight-training-systems.webp'); background-size:cover; background-position:center; background-repeat:no-repeat; }
/* Generic hero drift parallax. JS tags an image-backed hero with .pfc-parallax-host and injects an
   oversized .pfc-parallax-bg layer (background copied from the hero, so the image never changes).
   The ±22% drift clamp + 26% overhang keep the image fully covering the hero — edges never show. */
.pfc-brand .pfc-parallax-host { position:relative; overflow:hidden; }
.pfc-brand .pfc-parallax-host > .pfc-parallax-bg { position:absolute; left:0; right:0; top:-26%; bottom:-26%; transform:translate3d(0,var(--pfc-parallax,0px),0); will-change:transform; z-index:0; pointer-events:none; }
.pfc-brand .pfc-parallax-host > *:not(.pfc-parallax-bg) { position:relative; z-index:1; }
@media (prefers-reduced-motion:reduce){ .pfc-brand .pfc-parallax-host > .pfc-parallax-bg { transform:none !important; } }
body.page-id-36 .pfc-page-head { text-align:center; }
@media (max-width:680px){ .pfc-brand .pfc-qf-grid, .pfc-brand .pfc-qf-name, .pfc-brand .pfc-qf-addr, .pfc-brand .pfc-qf-choices--c2, .pfc-brand .pfc-qf-choices--c3 { grid-template-columns:1fr; } }
/* Contact form on light (Atmosphere Light) sections */
.pfc-brand .b-light .pfc-cf-field span { color:#33405c; }
.pfc-brand .b-light .pfc-cf-field span i { color:var(--b-blue); }
.pfc-brand .b-light .pfc-cf input, .pfc-brand .b-light .pfc-cf select, .pfc-brand .b-light .pfc-cf textarea { background-color:#ffffff; border:1px solid rgba(15,28,60,.16); color:#0f1830; box-shadow:0 1px 2px rgba(15,28,60,.04); }
.pfc-brand .b-light .pfc-cf input:focus, .pfc-brand .b-light .pfc-cf select:focus, .pfc-brand .b-light .pfc-cf textarea:focus { border-color:var(--b-blue); background-color:#ffffff; box-shadow:0 0 0 3px rgba(29,69,148,.12); }
.pfc-brand .b-light .pfc-cf input::placeholder, .pfc-brand .b-light .pfc-cf textarea::placeholder { color:#6a7790; }
.pfc-brand .b-light .pfc-cf select:required:invalid { color:#6a7790; }
.pfc-brand .b-light .pfc-cf select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='%235a6a85'%3E%3Cpath d='M1.5 4l4.5 4 4.5-4'/%3E%3C/svg%3E"); }

/* Cool glowing section divider (e.g., under the PFC Defense logo) */
.pfc-brand .pfc-divider {
	border:0; height:2px; width:min(460px,72%);
	margin:28px auto 6px; border-radius:2px;
	background:linear-gradient(90deg, transparent, #1D4594 18%, #5b8def 50%, #1D4594 82%, transparent);
	box-shadow:0 0 18px rgba(91,141,239,.55);
	-webkit-mask:none; mask:none;
}

/* Support page polish: center hero + the Technical Support CTA band */
.page-id-37 .pfc-page-head .b-eyebrow,
.page-id-37 .pfc-page-head .b-h1 { text-align:center; }
.page-id-37 .b-sec.b-bg-1.b-dark:not(.pfc-page-head) .b-eyebrow,
.page-id-37 .b-sec.b-bg-1.b-dark:not(.pfc-page-head) .b-h2 { text-align:center; }
.page-id-37 .b-sec.b-bg-1.b-dark:not(.pfc-page-head) .wp-block-buttons { justify-content:center; }
.pfc-brand .b-mt { margin-top:36px; }

/* Responsive */
@media (max-width:900px){
	.pfc-brand .b-cards { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
	.pfc-brand .b-cards { grid-template-columns:1fr; }
}

/* =========================================================
   PRODUCT PAGE MOCKUP
   ========================================================= */
.pfc-brand .b-breadcrumb { font-size:13px; color:#8794a8; margin-bottom:26px; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.pfc-brand .b-breadcrumb a { color:#9bbcf2; text-decoration:none; }
.pfc-brand .b-breadcrumb .sep { opacity:.45; }
.pfc-brand .b-product { display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:start; }
.pfc-brand .b-gallery-main { border:1px solid rgba(255,255,255,.09); border-radius:16px; overflow:hidden; background:radial-gradient(circle at 50% 40%, #1a2436 0%, #0a0f1a 100%); display:grid; place-items:center; min-height:340px; }
.pfc-brand .b-gallery-main img { display:block; max-width:92%; max-height:92%; filter:drop-shadow(0 16px 30px rgba(0,0,0,.55)); }
.pfc-brand .b-gallery-thumbs { display:flex; gap:12px; margin-top:14px; flex-wrap:wrap; }
.pfc-brand .b-gallery-thumbs img { width:72px; height:72px; object-fit:cover; border-radius:10px; border:1px solid rgba(255,255,255,.12); opacity:.7; transition:opacity .2s, border-color .2s; }
.pfc-brand .b-gallery-thumbs img:hover, .pfc-brand .b-gallery-thumbs img.is-active { opacity:1; border-color:var(--b-blue-bright); }
.pfc-brand .b-thumbs-more { display:inline-flex; align-items:center; gap:6px; margin:13px 2px 0; background:none; border:0; padding:0; color:var(--b-blue-bright); font-weight:600; font-size:14px; cursor:pointer; font-family:inherit; }
.pfc-brand .b-thumbs-more:hover { text-decoration:underline; }
.pfc-brand .b-prod-title { font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(28px,3.4vw,40px); margin:10px 0 8px; color:#fff; letter-spacing:-.02em; }
.pfc-brand .b-prod-sub { color:#94a0b4; margin:0 0 18px; }
.pfc-brand .b-prod-actions { display:flex; gap:12px; flex-wrap:wrap; margin:22px 0; align-items:center; }
.pfc-brand .b-brochure { display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border:1px solid rgba(255,255,255,.14); border-radius:10px; color:#cfd6e4; text-decoration:none; font-size:14px; font-weight:600; transition:border-color .2s; }
.pfc-brand .b-brochure:hover { border-color:var(--b-blue-bright); }
.pfc-brand .b-brochure .ico { width:26px; height:26px; display:grid; place-items:center; background:#b3262b; color:#fff; border-radius:5px; font-size:9px; font-weight:800; }
.pfc-brand .b-prod-meta { border-top:1px solid rgba(255,255,255,.1); margin-top:24px; padding-top:18px; font-size:14px; color:#94a0b4; display:grid; gap:8px; }
.pfc-brand .b-prod-meta b { color:#cfd6e4; font-weight:600; }
.pfc-brand .b-prod-meta a { color:#9bbcf2; text-decoration:none; }
.pfc-brand .b-tabs { margin-top:56px; }
.pfc-brand .b-tabbar { display:flex; gap:8px; flex-wrap:wrap; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:7px; margin-bottom:28px; }
.pfc-brand .b-tab { display:inline-flex; align-items:center; justify-content:center; padding:12px 24px; border-radius:9px; font-weight:600; font-size:15px; color:#9aa6ba; cursor:pointer; transition:background .2s ease, color .2s ease, box-shadow .2s ease; }
.pfc-brand .b-tab:hover { color:#fff; background:rgba(255,255,255,.06); }
.pfc-brand .b-tab.is-active { color:#fff; background:linear-gradient(74deg,var(--b-blue),var(--b-blue-deep)); box-shadow:0 6px 18px rgba(29,69,148,.4); }
/* Product pages: darker inactive-tab text. #191C22 = the /pfcbranding Midnight Grid
   Ghost button surface (rgba(255,255,255,.06) flattened over #0a0d14). Active tab
   (blue/white) and hover behaviour unchanged. */
.pfc-brand .pfc-single-product .b-tab:not(.is-active) { color:#191C22; }
.pfc-brand .pfc-single-product .b-tab:not(.is-active):hover { color:#fff; }
@media (max-width:560px){
	.pfc-brand .b-tabbar { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; }
	.pfc-brand .b-tab { flex:0 0 auto; }
}

/* Horizontal scroll for wide tables on small screens */
.pfc-brand .b-tablewrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.pfc-brand .b-tablewrap .b-table { min-width:580px; }
/* Migrated media inside tab panels stays responsive */
.pfc-brand .b-tabpanel img { max-width:100%; height:auto; border-radius:10px; }
.pfc-brand .b-tabpanel iframe { width:100%; max-width:640px; aspect-ratio:16/9; height:auto; border:0; border-radius:12px; margin-top:6px; }
.pfc-brand .b-related { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:24px; }
/* drop stray empty <p> spacers auto-inserted into the related grid (kept cards in 2x2) */
.pfc-brand .b-related:not(.wp-block-post-template) > p { display:none !important; }
.pfc-brand .b-related:not(.wp-block-post-template) > :not(.b-prodcard) { display:none; }
.pfc-brand .b-prodcard { background:#0f1726; border:1px solid rgba(255,255,255,.08); border-radius:14px; overflow:hidden; transition:transform .35s, border-color .3s, box-shadow .3s; }
.pfc-brand .b-prodcard:hover { transform:translateY(-5px); border-color:var(--b-blue); box-shadow:0 18px 44px rgba(0,0,0,.45); }
.pfc-brand .b-prodcard .img { position:relative; aspect-ratio:4/3; background:radial-gradient(circle at 50% 45%, #18223a, #0a0f1a); }
.pfc-brand .b-prodcard .img img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:14px; box-sizing:border-box; }
.pfc-brand .b-prodcard .pad { padding:16px 18px; }
.pfc-brand .b-prodcard h4 { margin:0 0 6px; font-size:16px; color:#fff; }
.pfc-brand .b-prodcard .price { color:#9bbcf2; font-weight:700; font-size:14px; }

/* Tab icons */
.pfc-brand .b-tab-video::before, .pfc-brand .b-tab-download::before { content:''; display:inline-block; width:15px; height:15px; margin-right:8px; vertical-align:-2px; background-color:currentColor; }
.pfc-brand .b-tab-video::before { -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/contain no-repeat; }
.pfc-brand .b-tab-download::before { -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5v6h3l-4 5-4-5h3V5h2z'/%3E%3Cpath d='M5 18h14v2H5z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5v6h3l-4 5-4-5h3V5h2z'/%3E%3Cpath d='M5 18h14v2H5z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Inline video player (video-forward product layout) */
.pfc-brand .b-videoplayer { position:relative; border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,.09); aspect-ratio:16/9; background:#0a0f1a; cursor:pointer; }
.pfc-brand .b-videoplayer img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.9; }
.pfc-brand .b-videoplayer::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,11,18,.1), rgba(8,11,18,.55)); }
.pfc-brand .b-videoplayer .play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:80px; height:80px; border-radius:50%; background:rgba(29,69,148,.94); display:grid; place-items:center; z-index:2; box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 0 8px rgba(29,69,148,.22); transition:transform .25s, box-shadow .25s; }
.pfc-brand .b-videoplayer:hover .play { transform:translate(-50%,-50%) scale(1.08); box-shadow:0 14px 38px rgba(0,0,0,.6), 0 0 0 12px rgba(29,69,148,.18); }
.pfc-brand .b-videoplayer .play::before { content:''; border-style:solid; border-width:13px 0 13px 22px; border-color:transparent transparent transparent #fff; margin-left:6px; }
.pfc-brand .b-videoplayer .vlabel { position:absolute; left:18px; bottom:16px; z-index:2; color:#fff; font-weight:600; font-size:14px; background:rgba(0,0,0,.45); padding:7px 13px; border-radius:8px; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.pfc-brand .b-product-rev { display:grid; grid-template-columns:1.15fr 1fr; gap:48px; align-items:start; }
@media (max-width:860px){ .pfc-brand .b-product-rev { grid-template-columns:1fr; } }

/* ---- Live single-product page (renders to the mockup classes) ---- */
.pfc-brand .pfc-single-product .b-prod-desc { color:#c5cdda; font-size:15px; line-height:1.72; margin:4px 0; }
.pfc-brand .pfc-single-product .b-prod-desc p { margin:0 0 13px; }
.pfc-brand .pfc-single-product .b-prod-desc strong { color:#eef2f8; }
.pfc-brand .pfc-single-product .b-prod-desc a { color:var(--b-blue-bright); }
.pfc-brand .pfc-single-product .b-prod-desc h4 { color:#fff; margin:0 0 6px; }
.pfc-brand .pfc-single-product .b-prod-desc ul { list-style:none; margin:14px 0; padding:0; display:grid; gap:12px; }
.pfc-brand .pfc-single-product .b-prod-desc ul li { position:relative; padding-left:32px; color:#c5cdda; }
.pfc-brand .pfc-single-product .b-prod-desc ul li::before { content:''; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:6px; background:rgba(29,69,148,.2); border:1px solid var(--b-blue); }
.pfc-brand .pfc-single-product .b-prod-desc ul li::after { content:''; position:absolute; left:6px; top:6px; width:8px; height:5px; border-left:2px solid var(--b-blue-bright); border-bottom:2px solid var(--b-blue-bright); transform:rotate(-45deg); }
.pfc-brand .pfc-single-product .b-prod-addon { color:#eef2f8; font-weight:700; font-size:15px; line-height:1.5; margin:14px 0 0; }
.pfc-brand .b-tabpanel { display:none; color:#c5cdda; font-size:15px; line-height:1.72; }
.pfc-brand .b-tabpanel.is-active { display:block; animation:pfc-tabfade .4s ease both; }
.pfc-brand .b-tabpanel p { margin:0 0 12px; }
.pfc-brand .b-tabpanel strong { color:#eef2f8; }
.pfc-brand .b-tabpanel a { color:var(--b-blue-bright); }
.pfc-brand .b-tabpanel h3, .pfc-brand .b-tabpanel h4, .pfc-brand .b-tabpanel h5 { color:#fff; margin:18px 0 9px; font-weight:700; }
.pfc-brand .b-tabpanel ul { columns:240px; column-gap:34px; margin:10px 0; padding:0; list-style:none; }
.pfc-brand .b-tabpanel ul li { padding:4px 0 4px 22px; position:relative; break-inside:avoid; }
.pfc-brand .b-tabpanel ul li::before { content:''; position:absolute; left:0; top:10px; width:7px; height:7px; border-radius:50%; background:var(--b-blue-bright); }
.pfc-brand .b-tabpanel ul li i { display:none; }
.pfc-brand .b-prod-video { position:relative; padding-top:56.25%; border-radius:14px; overflow:hidden; border:1px solid rgba(255,255,255,.09); background:#0a0f1a; max-width:900px; }
.pfc-brand .b-prod-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.pfc-brand .pfc-single-product .b-gallery-main { aspect-ratio:4/3; min-height:0; position:relative; }
.pfc-brand .pfc-single-product .b-gallery-main img { position:absolute; inset:0; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; padding:24px; box-sizing:border-box; filter:drop-shadow(0 12px 26px rgba(0,0,0,.5)); cursor:zoom-in; }
.pfc-brand .pfc-single-product .b-prod-desc { position:relative; }
.pfc-brand .b-prod-desc.is-clamped { overflow:hidden; }
.pfc-brand .b-prod-desc.is-clamped::after { content:''; position:absolute; left:0; right:0; bottom:0; height:52px; background:linear-gradient(180deg, rgba(10,13,20,0), #0a0d14); pointer-events:none; }
.pfc-brand .b-readmore { display:inline-flex; align-items:center; gap:6px; margin:4px 0 2px; background:none; border:0; padding:0; color:var(--b-blue-bright); font-weight:600; font-size:14px; cursor:pointer; font-family:inherit; }
.pfc-brand .b-readmore:hover { text-decoration:underline; }
.pfc-brand .b-prod-testlink { display:inline-block; margin:4px 0 2px; color:#9bbcf2; font-size:14px; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(155,188,242,.35); }
.pfc-brand .b-prod-testlink:hover { color:#fff; border-color:var(--b-blue-bright); }
.pfc-lightbox { position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; background:rgba(6,9,16,.92); padding:30px; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.pfc-lightbox.is-open { display:flex; }
.pfc-lightbox img { max-width:94vw; max-height:90vh; width:auto; height:auto; border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.pfc-lightbox .pfc-lb-close { position:absolute; top:22px; right:26px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:rgba(0,0,0,.4); color:#fff; font-size:24px; line-height:1; cursor:pointer; }
.pfc-lightbox .pfc-lb-close:hover { background:rgba(29,69,148,.6); }
.pfc-lightbox .pfc-lb-nav { position:absolute; left:50%; bottom:26px; transform:translateX(-50%); display:flex; gap:16px; z-index:3; }
.pfc-lightbox .pfc-lb-prev, .pfc-lightbox .pfc-lb-next { width:54px; height:54px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:rgba(0,0,0,.5); color:#fff; font-size:30px; line-height:1; cursor:pointer; display:grid; place-items:center; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); transition:background .2s; }
.pfc-lightbox .pfc-lb-prev:hover, .pfc-lightbox .pfc-lb-next:hover { background:rgba(29,69,148,.75); }

/* ---- Itemized product tabs (Standard / Optional Features, Specifications) ----
   Every row reserves a 100px square image slot on the LEFT (thumbnail if set,
   else equal blank spacing), a 20px gap, then the text. Thumbnails enlarge to
   the full 1080px in the lightbox. Overrides the inherited multi-column
   .b-tabpanel ul layout. */
.pfc-brand .b-tabpanel .pfc-item-list { columns:auto; column-gap:0; list-style:none; margin:12px 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.pfc-brand .b-tabpanel .pfc-item-list .pfc-item { display:flex; align-items:center; gap:20px; break-inside:auto; padding:12px 16px; position:relative; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.09); border-radius:12px; }
.pfc-brand .b-tabpanel .pfc-item-list .pfc-item::before { content:none; }
.pfc-brand .b-tabpanel .pfc-item-list .pfc-item::after { content:none; }
.pfc-brand .b-tabpanel .pfc-item-list .pfc-item-blank { flex:0 0 100px; width:100px; height:100px; }
.pfc-brand .b-tabpanel .pfc-item-list .pfc-item-thumb { flex:0 0 100px; width:100px; height:100px; padding:0; border:1px solid rgba(255,255,255,.12); border-radius:10px; overflow:hidden; cursor:zoom-in; background:#0a0f1a; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.pfc-brand .b-tabpanel .pfc-item-list .pfc-item-thumb:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.45); border-color:var(--b-blue-bright); }
.pfc-brand .b-tabpanel .pfc-item-list .pfc-item-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.pfc-brand .b-tabpanel .pfc-item-list .pfc-item-text { flex:1 1 auto; color:#dbe2ee; font-weight:500; line-height:1.55; }

/* =========================================================
   POST / EVENT MOCKUP
   ========================================================= */
.pfc-brand .b-posthero { position:relative; border-radius:18px; overflow:hidden; min-height:400px; display:flex; align-items:flex-end; border:1px solid rgba(255,255,255,.09); }
.pfc-brand .b-posthero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pfc-brand .b-posthero::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,11,18,.15) 0%, rgba(8,11,18,.55) 55%, rgba(8,11,18,.94) 100%); }
.pfc-brand .b-posthero .inner { position:relative; z-index:2; padding:clamp(24px,4vw,44px); width:100%; }
.pfc-brand .b-postmeta { display:flex; gap:14px; align-items:center; flex-wrap:wrap; font-size:13px; color:#c4cedd; margin-bottom:16px; }
.pfc-brand .b-post-title { font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(26px,3.6vw,46px); color:#fff; margin:0; letter-spacing:-.02em; line-height:1.08; max-width:20ch; }
.pfc-brand .b-article { max-width:760px; margin:44px auto 0; font-size:17px; line-height:1.8; color:#c5cdda; }
.pfc-brand .b-article h2 { font-size:clamp(24px,2.6vw,32px); color:#fff; margin:38px 0 14px; font-weight:800; letter-spacing:-.02em; }
.pfc-brand .b-article h3 { font-size:22px; color:#fff; margin:28px 0 10px; font-weight:700; }
.pfc-brand .b-article p { margin:0 0 18px; }
.pfc-brand .b-article .lead { font-size:20px; line-height:1.7; color:#e8ecf3; }
.pfc-brand .b-article img { width:100%; border-radius:14px; margin:26px 0; border:1px solid rgba(255,255,255,.08); }
.pfc-brand .b-article a { color:var(--b-blue-bright); }
.pfc-brand .b-article .b-quote { font-size:22px; margin:30px 0; color:#eef2f8; }
.pfc-brand .b-eventcard { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:14px; overflow:hidden; margin:14px 0 30px; }
.pfc-brand .b-eventcard .cell { background:#0f1726; padding:22px; }
.pfc-brand .b-eventcard .lbl { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--b-blue-bright); font-weight:700; margin-bottom:6px; }
.pfc-brand .b-eventcard .val { color:#fff; font-weight:600; font-size:17px; }
.pfc-brand .b-tags { display:flex; gap:10px; flex-wrap:wrap; margin:30px 0; }
.pfc-brand .b-tag { padding:6px 14px; border-radius:100px; background:#1a2331; border:1px solid rgba(255,255,255,.1); font-size:13px; color:#cfd6e4; text-decoration:none; }
.pfc-brand .b-tag:hover { border-color:var(--b-blue-bright); }
.pfc-brand .b-postfoot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; border-top:1px solid rgba(255,255,255,.1); padding-top:24px; }
.pfc-brand .b-share { display:flex; gap:10px; align-items:center; }
.pfc-brand .b-share .s { width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.14); display:grid; place-items:center; color:#cfd6e4; font-size:13px; font-weight:700; transition:background .2s, border-color .2s; }
.pfc-brand .b-share .s:hover { background:rgba(29,69,148,.3); border-color:var(--b-blue-bright); }

/* ---- Single-post template: bridge dynamic blocks onto the locked post mockup ---- */
.pfc-brand .b-posthero .wp-block-post-featured-image { position:absolute; inset:0; margin:0; width:100%; height:100%; border-radius:0; }
.pfc-brand .b-posthero .wp-block-post-featured-image img { width:100%; height:100%; object-fit:cover; border-radius:0; }
.pfc-brand .b-posthero .inner { position:relative; z-index:2; padding:clamp(24px,4vw,44px); width:100%; }
.pfc-brand .b-postmeta .wp-block-post-terms { display:inline-flex; gap:8px; flex-wrap:wrap; font-size:0; }
.pfc-brand .b-postmeta .wp-block-post-terms a { display:inline-flex; align-items:center; padding:5px 13px; border-radius:100px; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; background:#1c3768; color:#bcd2f5; border:1px solid #2a4d8f; text-decoration:none; }
.pfc-brand .b-postmeta .wp-block-post-terms a:hover { border-color:var(--b-blue-bright); color:#fff; }
.pfc-brand .b-postmeta .wp-block-post-terms-separator { display:none; }
.pfc-brand .b-postmeta .wp-block-post-date, .pfc-brand .b-postmeta .pfc-byline { font-size:13px; color:#c4cedd; margin:0; }
.pfc-brand .b-article > .wp-block-post-content > * { max-width:none; }
.pfc-brand .b-tags .wp-block-post-terms { display:flex; gap:10px; flex-wrap:wrap; }
.pfc-brand .b-tags .wp-block-post-terms a { padding:6px 14px; border-radius:100px; background:#1a2331; border:1px solid rgba(255,255,255,.1); font-size:13px; color:#cfd6e4; text-decoration:none; }
.pfc-brand .b-tags .wp-block-post-terms a:hover { border-color:var(--b-blue-bright); }
.pfc-brand .b-tags:not(:has(a)) { display:none; }
.pfc-brand .b-share-label { color:#c4cedd; font-size:14px; }
.pfc-brand .b-share .s { text-decoration:none; cursor:pointer; }
/* Related posts grid (Query Loop) */
.pfc-brand .b-related.wp-block-post-template { list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pfc-brand .b-related.wp-block-post-template > li { margin:0; }
.pfc-brand .b-relcard { background:#0f1726; border:1px solid rgba(255,255,255,.08); border-radius:14px; overflow:hidden; height:100%; transition:transform .35s, border-color .3s, box-shadow .3s; }
.pfc-brand .b-relcard:hover { transform:translateY(-5px); border-color:var(--b-blue); box-shadow:0 18px 44px rgba(0,0,0,.45); }
.pfc-brand .b-relcard .wp-block-post-featured-image { margin:0; aspect-ratio:16/10; }
.pfc-brand .b-relcard .wp-block-post-featured-image img { width:100%; height:100%; object-fit:cover; border-radius:0; }
.pfc-brand .b-relcard .wp-block-post-title { margin:0; padding:14px 16px; font-size:15px; line-height:1.32; }
.pfc-brand .b-relcard .wp-block-post-title a { color:#fff; text-decoration:none; }
.pfc-brand .b-relcard .wp-block-post-title a:hover { color:var(--b-blue-bright); }
@media (max-width:860px){ .pfc-brand .b-related.wp-block-post-template { grid-template-columns:repeat(2,1fr); } }

@media (max-width:860px){
	.pfc-brand .b-product { grid-template-columns:1fr; }
	.pfc-brand .b-related { grid-template-columns:repeat(2,1fr); }
	.pfc-brand .b-eventcard { grid-template-columns:1fr; }
}

/* =========================================================
   MOTION (subtle, tasteful; disabled under reduced-motion below)
   ========================================================= */
/* Headline gradient now uses the shared vertical eyebrow gradient (pfc-eyebrow-grad)
   defined on .b-h1 / .b-accent above. */
@keyframes pfc-shimmer { 0%,100%{ background-position:0% center; } 50%{ background-position:120% center; } }
/* Gentle background texture drift */
.pfc-brand .b-bg-1::before { animation:pfc-dot-drift 28s linear infinite; }
@keyframes pfc-dot-drift { from{ background-position:0 0; } to{ background-position:26px 26px; } }
.pfc-brand .b-bg-4::before { animation:pfc-scan-drift 22s linear infinite; }
@keyframes pfc-scan-drift { from{ background-position:0 0; } to{ background-position:0 16px; } }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
	.pfc-brand .b-reveal { opacity:1; transform:none; transition:none; }
	.pfc-brand * { animation:none !important; }
}

/* =========================================================
   WOOCOMMERCE CATEGORY ARCHIVE (taxonomy-product_cat)
   ========================================================= */
.pfc-brand .pfc-archive-head .pfc-archive-intro { max-width:880px; margin:20px auto 0; font-size:16px; line-height:1.75; color:rgba(255,255,255,.82); text-align:center; }
.pfc-brand .pfc-archive-head .pfc-archive-sub { text-align:center; margin:12px 0 0; font-size:clamp(18px,2.4vw,23px); font-weight:600; letter-spacing:.01em; color:#bcd2f5; }
.pfc-brand .pfc-archive-head .woocommerce-breadcrumb { text-align:center; font-size:13px; letter-spacing:.02em; color:#9bbcf2; margin:0 0 16px; }
.pfc-brand .pfc-archive-head .woocommerce-breadcrumb a { color:#9bbcf2; text-decoration:none; }
.pfc-brand .pfc-archive-head .woocommerce-breadcrumb a:hover { text-decoration:underline; }
.pfc-brand .pfc-archive-body .term-description { max-width:780px; margin:0 auto 40px; text-align:center; color:#4a5568; font-size:17px; line-height:1.7; }
.pfc-brand .pfc-archive-body .woocommerce-result-count { color:#5d6577; font-size:14px; }
.pfc-brand .pfc-archive-body .woocommerce-ordering select { padding:9px 12px; border-radius:8px; border:1px solid rgba(15,28,60,.18); background:#fff; color:#0f1830; font-family:'Inter',sans-serif; }
/* Product + subcategory grid */
.pfc-brand .pfc-archive-body ul.products { list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:26px; }
.pfc-brand .pfc-archive-body ul.products::before, .pfc-brand .pfc-archive-body ul.products::after { content:none; }
.pfc-brand .pfc-archive-body ul.products li.product, .pfc-brand .pfc-archive-body ul.products li.product-category { width:auto !important; margin:0 !important; float:none !important; background:#fff; border:1px solid rgba(15,28,60,.09); border-radius:16px; box-shadow:0 10px 30px rgba(15,28,60,.06); padding:22px; text-align:center; transition:transform .25s ease, box-shadow .25s ease; }
.pfc-brand .pfc-archive-body ul.products li.product:hover, .pfc-brand .pfc-archive-body ul.products li.product-category:hover { transform:translateY(-4px); box-shadow:0 18px 44px rgba(15,28,60,.12); }
.pfc-brand .pfc-archive-body ul.products li a { text-decoration:none; }
.pfc-brand .pfc-archive-body ul.products li img { display:block; border-radius:10px; margin:0 auto 16px; }
.pfc-brand .pfc-archive-body .woocommerce-loop-category__title, .pfc-brand .pfc-archive-body .woocommerce-loop-product__title { font-family:'Inter',sans-serif; font-weight:700; font-size:19px; color:#0f1830; margin:0; }
.pfc-brand .pfc-archive-body .woocommerce-loop-category__title .count { display:inline-block; margin-left:6px; font-size:13px; font-weight:600; color:var(--b-blue-bright); background:none; }
.pfc-brand .pfc-archive-body ul.products li.product .price { display:block; margin-top:8px; color:var(--b-blue); font-weight:700; }
.pfc-brand .pfc-archive-body ul.products li.product .price del { color:#9aa6ba; font-weight:400; }
/* Buttons in the loop */
.pfc-brand .pfc-archive-body a.button, .pfc-brand .pfc-archive-body .added_to_cart { display:inline-flex; align-items:center; justify-content:center; gap:8px; margin-top:14px; padding:11px 22px; border-radius:8px; background:linear-gradient(74deg,var(--b-blue),var(--b-blue-deep)); color:#fff; font-family:'Inter',sans-serif; font-weight:600; font-size:14px; letter-spacing:.01em; text-transform:none; text-decoration:none; border:none; box-shadow:0 8px 22px rgba(29,69,148,.4); transition:transform .2s ease; }
.pfc-brand .pfc-archive-body a.button:hover, .pfc-brand .pfc-archive-body .added_to_cart:hover { transform:translateY(-2px); }
/* Anchor the loop "View ..." button to the BOTTOM of every product card so 1-line
   and 2-line titles still line up across a row. Cards already stretch to equal row
   height; making the card a flex column + margin-top:auto on the button drops the
   shorter-title buttons to the same baseline without changing any sizes. The image
   /title link stays full width; the button stays centered + auto-width. */
.pfc-brand .pfc-archive-body ul.products li.product { display:flex; flex-direction:column; align-items:center; }
.pfc-brand .pfc-archive-body ul.products li.product > a.woocommerce-LoopProduct-link { align-self:stretch; }
.pfc-brand .pfc-archive-body ul.products li.product > a.button { margin-top:auto; }
/* "Type Specific" corner ribbon (top-right), shown when _pfc_type_specific=yes.
   Card clips it to its rounded corner via overflow:hidden. On-brand: Bebas Neue
   label, brand-bright blue (#4A7BD9). */
.pfc-brand .pfc-archive-body ul.products li.product { position:relative; overflow:hidden; }
.pfc-brand .pfc-archive-body ul.products li.product > .pfc-type-ribbon {
	position:absolute; top:0; right:0; width:150px; height:150px; overflow:hidden; pointer-events:none; z-index:4;
}
.pfc-brand .pfc-archive-body ul.products li.product > .pfc-type-ribbon > span {
	position:absolute; top:34px; right:-50px; width:210px; padding:5px 0;
	transform:rotate(45deg);
	background:#0C0F15; color:#fff; text-align:center;
	font-family:'Bebas Neue', sans-serif; font-weight:400; font-size:13px; line-height:1.2; letter-spacing:.16em; text-transform:uppercase;
	box-shadow:0 6px 16px rgba(0,0,0,.32);
}
/* Notices / empty state */
.pfc-brand .pfc-archive-body .woocommerce-info, .pfc-brand .pfc-archive-body .woocommerce-no-products-found, .pfc-brand .pfc-archive-body .cart-empty { background:#eef3fb; border:1px solid rgba(15,28,60,.1); border-radius:12px; padding:18px 20px; color:#33415c; }
@media (max-width:560px){ .pfc-brand .pfc-archive-body ul.products { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:16px; } }
/* Training Systems subcategory landing cards */
.pfc-brand .pfc-subcat-grid { gap:28px; margin-top:8px; }
.pfc-brand .pfc-subcat-card { text-align:center; display:flex; flex-direction:column; }
.pfc-brand .pfc-subcat-card .wp-block-image { margin:0; }
.pfc-brand .pfc-subcat-card img { width:100%; height:auto; border-radius:12px; }
.pfc-brand .pfc-subcat-card .pfc-sub { margin:18px 0 8px; }
.pfc-brand .pfc-subcat-card .pfc-sub a { color:#0f1830; text-decoration:none; }
.pfc-brand .pfc-subcat-card .pfc-sub a:hover { color:var(--b-blue); }
.pfc-brand .pfc-subcat-card p { color:#4a5568; font-size:15.5px; line-height:1.6; margin:0 0 18px; }
.pfc-brand .pfc-subcat-card .wp-block-buttons { margin-top:auto; }
.pfc-brand .pfc-subcat-grid { max-width:940px; margin-left:auto; margin-right:auto; }
/* Home "Our Flight Training Systems" cards: match the archive card sizing (940px),
   styling unchanged. */
.pfc-brand .pfc-sys-grid { max-width:940px; margin-left:auto; margin-right:auto; }

/* =========================================================
   MR SYSTEMS — product showcase + testimonials
   ========================================================= */
.pfc-brand .pfc-prodgrid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:8px 0 0; max-width:940px; margin-left:auto; margin-right:auto; }
.pfc-brand .pfc-prodcard { text-align:center; }
.pfc-brand .pfc-prodcard img { width:100%; height:auto; border-radius:12px; display:block; }
.pfc-brand .pfc-prodcard .pfc-sub { margin:16px 0 0; }
.pfc-brand .pfc-prodcard .pfc-sub a { color:#0f1830; text-decoration:none; }
.pfc-brand .pfc-prodcard .pfc-sub a:hover { color:var(--b-blue); }
.pfc-brand .pfc-prodbanner { max-width:940px; margin:26px auto 0; }
.pfc-brand .pfc-prodbanner img { width:100%; height:auto; border-radius:16px; display:block; }
@media (max-width:680px){ .pfc-brand .pfc-prodgrid { grid-template-columns:1fr; } }
.pfc-brand .pfc-testigrid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:8px; }
@media (max-width:780px){ .pfc-brand .pfc-testigrid { grid-template-columns:1fr; } }
.pfc-brand .pfc-testi { position:relative; display:flex; flex-direction:column; gap:22px; padding:46px clamp(26px,4vw,52px) 34px; border-radius:18px; background:linear-gradient(180deg,#131c2d 0%,#0d1421 100%); border:1px solid rgba(255,255,255,.09); box-shadow:0 22px 54px rgba(0,0,0,.45); text-align:center; }
.pfc-brand .pfc-testi::before { content:'\201C'; position:absolute; top:4px; left:28px; font-family:Georgia,'Times New Roman',serif; font-size:96px; line-height:1; color:var(--b-blue-bright); opacity:.26; pointer-events:none; }
.pfc-brand .pfc-testi .pfc-testi-quote { position:relative; font-size:clamp(15px,1.7vw,17px); line-height:1.8; color:#d4dbe7; font-style:italic; margin:0 auto; max-width:60ch; }
.pfc-brand .pfc-testi .pfc-testi-who { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:auto; }
.pfc-brand .pfc-testi .pfc-testi-who .wp-block-image { margin:0; flex:0 0 auto; }
.pfc-brand .pfc-testi .pfc-testi-who img { width:60px; height:60px; border-radius:50%; object-fit:cover; flex:0 0 auto; border:2px solid rgba(74,123,217,.55); }
.pfc-brand .pfc-testi .pfc-testi-name { font-weight:700; font-size:15px; color:#fff; line-height:1.4; text-align:left; }
/* Inline auto-scrolling testimonial carousel */
.pfc-brand .pfc-testi-carousel { position:relative; max-width:880px; margin:8px auto 0; }
.pfc-brand .pfc-testi-viewport { overflow:hidden; }
.pfc-brand .pfc-testi-track { display:flex; align-items:stretch; transition:transform .55s cubic-bezier(.4,0,.2,1); }
.pfc-brand .pfc-tcslide { flex:0 0 100%; min-width:100%; padding:6px; box-sizing:border-box; display:flex; }
.pfc-brand .pfc-tcslide > .pfc-testi { width:100%; }
.pfc-brand .pfc-testi-cnav { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:26px; }

/* =========================================================
   ABOUT PFC — distributor / affiliate logo cards
   ========================================================= */
.pfc-brand .pfc-prose-narrow { max-width:880px; margin-left:auto; margin-right:auto; }
/* keep headings in the narrow prose aligned with the body paragraphs (62ch is font-relative and
   balloons on big heading fonts, so match the body column with a fixed px width) */
.pfc-brand .pfc-prose-narrow h1, .pfc-brand .pfc-prose-narrow h2, .pfc-brand .pfc-prose-narrow h3, .pfc-brand .pfc-prose-narrow h4, .pfc-brand .pfc-prose-narrow h5, .pfc-brand .pfc-prose-narrow h6 { max-width:665px; margin-left:auto; margin-right:auto; }
.pfc-brand .pfc-logogrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:22px; margin-top:8px; }
.pfc-brand .pfc-logogrid.is-affiliates { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
.pfc-brand .pfc-logocard { background:#fff; border:1px solid rgba(15,28,60,.1); border-radius:14px; box-shadow:0 8px 24px rgba(15,28,60,.07); padding:24px 22px; text-align:center; display:flex; flex-direction:column; gap:12px; transition:transform .25s ease, box-shadow .25s ease; }
.pfc-brand .pfc-logocard:hover { transform:translateY(-4px); box-shadow:0 16px 38px rgba(15,28,60,.13); }
.pfc-brand .pfc-logocard .wp-block-image { margin:0; height:72px; display:flex; align-items:center; justify-content:center; }
.pfc-brand .pfc-logocard img { max-height:72px; max-width:100%; width:auto; object-fit:contain; }
.pfc-brand .pfc-logocard h3 { font-family:'Inter',sans-serif; font-weight:700; font-size:16px; color:#0f1830; margin:4px 0 0; }
.pfc-brand .pfc-logocard p { font-size:13px; line-height:1.55; color:#5d6577; margin:0; }
.pfc-brand .pfc-logocard .pfc-logo-label { font-size:14px; font-weight:600; color:#0f1830; }
@media (max-width:560px){ .pfc-brand .pfc-logogrid, .pfc-brand .pfc-logogrid.is-affiliates { grid-template-columns:1fr 1fr; gap:14px; } }

/* =========================================================
   NATIVE BUTTON BLOCKS adopt the locked b-btn styles
   (so every wp:button matches the /pfcbranding guidelines)
   ========================================================= */
.pfc-brand .wp-block-button__link {
	font-family:'Inter',sans-serif; font-weight:600; font-size:15px; letter-spacing:.01em; text-transform:none;
	padding:13px 28px; border-radius:8px; border:1px solid transparent;
	background:linear-gradient(74deg, var(--b-blue), var(--b-blue-deep)); color:#fff;
	box-shadow:0 8px 26px rgba(29,69,148,.45);
	transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.pfc-brand .wp-block-button__link:hover { transform:translateY(-2px); box-shadow:0 12px 34px rgba(29,69,148,.55); color:#fff; }
.pfc-brand .wp-block-button.is-style-outline .wp-block-button__link { background:none; border:1px solid rgba(255,255,255,.24); color:#fff; box-shadow:none; }
.pfc-brand .b-light .wp-block-button.is-style-outline .wp-block-button__link { border-color:rgba(15,28,60,.25); color:#0f1830; }
.pfc-brand .wp-block-button.is-style-outline .wp-block-button__link:hover { border-color:var(--b-blue-bright); background:rgba(29,69,148,.16); }

/* Testimonials trigger link + modal carousel */
.pfc-brand .pfc-testi-source { display:none !important; }
.pfc-brand .pfc-testi-trigger { display:inline-flex; align-items:center; gap:9px; font-family:'Inter',sans-serif; font-weight:700; font-size:clamp(17px,1.9vw,20px); color:var(--b-blue-bright); text-decoration:none; cursor:pointer; transition:gap .2s ease, color .2s ease; }
.pfc-brand .pfc-testi-trigger::after { content:'\2192'; transition:transform .2s ease; }
.pfc-brand .pfc-testi-trigger:hover { color:#fff; }
.pfc-brand .pfc-testi-trigger:hover::after { transform:translateX(5px); }
.pfc-brand .pfc-tmodal { position:fixed; inset:0; z-index:9999; display:none; }
.pfc-brand .pfc-tmodal.is-open { display:block; }
.pfc-brand .pfc-tmodal-backdrop { position:fixed; inset:0; background:rgba(5,8,14,.85); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); animation:pfc-fade .25s ease; }
.pfc-brand .pfc-tmodal-dialog { position:relative; z-index:1; width:calc(100% - 36px); max-width:720px; margin:11vh auto 0; background:#0f1726; border:1px solid rgba(255,255,255,.1); border-radius:20px; box-shadow:0 30px 90px rgba(0,0,0,.65); padding:clamp(28px,4vw,44px); color:#e8ecf3; animation:pfc-pop .32s cubic-bezier(.2,.9,.3,1.15); }
.pfc-brand .pfc-tmodal-title { font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(22px,2.6vw,30px); color:#fff; letter-spacing:-.02em; margin:0 0 22px; }
.pfc-brand .pfc-tmodal-viewport { overflow:hidden; }
.pfc-brand .pfc-tmodal-track { display:flex; transition:transform .4s cubic-bezier(.4,0,.2,1); }
.pfc-brand .pfc-tslide { flex:0 0 100%; min-width:100%; padding:2px; }
.pfc-brand .pfc-tslide .pfc-testi-quote { font-size:16px; line-height:1.75; color:#cdd5e2; font-style:italic; margin:0 0 22px; max-height:44vh; overflow-y:auto; padding-right:6px; }
.pfc-brand .pfc-tslide .pfc-testi-who { display:flex; align-items:center; gap:14px; }
.pfc-brand .pfc-tslide .pfc-testi-who .wp-block-image { margin:0; flex:0 0 auto; }
.pfc-brand .pfc-tslide .pfc-testi-who img { width:58px; height:58px; border-radius:50%; object-fit:cover; border:2px solid rgba(74,123,217,.55); }
.pfc-brand .pfc-tslide .pfc-testi-name { font-weight:700; font-size:15px; color:#fff; line-height:1.4; }
.pfc-brand .pfc-tmodal-nav { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:26px; }
.pfc-brand .pfc-tprev, .pfc-brand .pfc-tnext { width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.05); color:#e8ecf3; font-size:24px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease, border-color .2s ease, transform .2s ease; }
.pfc-brand .pfc-tprev:hover, .pfc-brand .pfc-tnext:hover { background:rgba(29,69,148,.3); border-color:var(--b-blue-bright); transform:translateY(-2px); }
.pfc-brand .pfc-tdots { display:flex; gap:9px; }
.pfc-brand .pfc-tdot { width:9px; height:9px; border-radius:50%; border:0; padding:0; background:rgba(255,255,255,.25); cursor:pointer; transition:background .2s ease, transform .2s ease; }
.pfc-brand .pfc-tdot.is-active { background:var(--b-blue-bright); transform:scale(1.3); }
.pfc-brand .pfc-subcat-card { transition:transform .25s ease, box-shadow .25s ease; }
.pfc-brand .pfc-subcat-card:hover { transform:translateY(-5px); box-shadow:0 22px 50px rgba(15,28,60,.13); }

/* =========================================================
   MAIN PAGE HEADLINE — gradient on every primary H1
   (matches the home hero headline; applied site-wide)
   ========================================================= */
.pfc-brand .b-h1 {
	background:linear-gradient(to top, #1D4594 0%, #EEF2F8 100%);
	background-size:100% 200%;
	background-position:50% 50%;
	-webkit-background-clip:text; background-clip:text;
	-webkit-text-fill-color:transparent; color:transparent;
	animation:pfc-eyebrow-grad 5s ease-in-out infinite;
}
.pfc-brand .b-light .b-h1 {
	background:linear-gradient(to top, #132E63 0%, #4A7BD9 100%);
	background-size:100% 200%;
	-webkit-background-clip:text; background-clip:text;
	-webkit-text-fill-color:transparent; color:transparent;
}
.pfc-brand .b-h1 a { -webkit-text-fill-color:transparent; color:transparent; }

/* =========================================================
   SIMULATOR-TYPE PICKER MODAL
   ========================================================= */
.pfc-brand .pfc-modal { position:fixed; inset:0; z-index:9999; display:none; }
.pfc-brand .pfc-modal.is-open { display:block; }
.pfc-brand .pfc-modal-backdrop { position:fixed; inset:0; background:rgba(5,8,14,.85); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); animation:pfc-fade .25s ease; }
@keyframes pfc-fade { from{ opacity:0; } to{ opacity:1; } }
.pfc-brand .pfc-modal-dialog { position:relative; z-index:1; width:calc(100% - 36px); max-width:660px; margin:13vh auto 0; background:#0f1726; border:1px solid rgba(255,255,255,.1); border-radius:20px; box-shadow:0 30px 90px rgba(0,0,0,.65); padding:clamp(28px,4vw,46px); text-align:center; color:#e8ecf3; animation:pfc-pop .32s cubic-bezier(.2,.9,.3,1.15); }
@keyframes pfc-pop { from{ opacity:0; transform:translateY(16px) scale(.96); } to{ opacity:1; transform:none; } }
.pfc-brand .pfc-modal-close { position:absolute; top:12px; right:18px; background:none; border:0; color:#9aa6ba; font-size:30px; line-height:1; cursor:pointer; transition:color .2s ease; }
.pfc-brand .pfc-modal-close:hover { color:#fff; }
.pfc-brand .pfc-modal-eyebrow { font-family:'Bebas Neue',sans-serif; letter-spacing:.3em; text-transform:uppercase; font-size:14px; color:var(--b-blue-bright); margin:0 0 8px; }
.pfc-brand .pfc-modal-title { font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(24px,3vw,34px); color:#fff; letter-spacing:-.02em; margin:0 0 28px; }
.pfc-brand .pfc-simopts { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.pfc-brand .pfc-simopt { display:flex; flex-direction:column; align-items:center; gap:14px; padding:32px 18px; border-radius:14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); color:#e8ecf3; text-decoration:none; transition:transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.pfc-brand .pfc-simopt:hover, .pfc-brand .pfc-simopt:focus-visible { transform:translateY(-4px); border-color:var(--b-blue-bright); background:rgba(29,69,148,.2); box-shadow:0 16px 40px rgba(29,69,148,.4); outline:none; }
.pfc-brand .pfc-simopt-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; color:var(--b-blue-bright); transition:color .2s ease, transform .2s ease; }
.pfc-brand .pfc-simopt-icon svg { width:100%; height:auto; max-height:100%; }
.pfc-brand .pfc-simopt:hover .pfc-simopt-icon { color:#fff; transform:scale(1.06); }
.pfc-brand .pfc-simopt-label { font-family:'Inter',sans-serif; font-weight:700; font-size:17px; }
@media (max-width:520px){ .pfc-brand .pfc-simopts { grid-template-columns:1fr; gap:14px; } .pfc-brand .pfc-modal-dialog { margin-top:9vh; } .pfc-brand .pfc-simopt { padding:24px 16px; flex-direction:row; justify-content:center; } .pfc-brand .pfc-simopt-icon { width:40px; height:40px; } }

/* =========================================================
   FUNCTIONAL TABS (Support page, product pages)
   The tab bar is generated by theme.js initTabs().
   ========================================================= */
.pfc-brand .pfc-tabs { margin-top:8px; }
.pfc-brand .pfc-tabpanel { display:none; }
.pfc-brand .pfc-tabpanel.is-active { display:block; animation:pfc-tabfade .45s ease both; }
@keyframes pfc-tabfade { from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
/* Center + scroll the generated bar; tabs sized to fit 7 labels */
.pfc-brand .pfc-tabs > .b-tabbar { justify-content:flex-start; }
/* Light-section variant of the locked tab styles */
.pfc-brand .b-light .b-tabbar { background:rgba(15,28,60,.05); border-color:rgba(15,28,60,.1); }
.pfc-brand .b-light .b-tab { color:#5d6577; }
.pfc-brand .b-light .b-tab:hover { color:#0f1830; background:rgba(15,28,60,.06); }
.pfc-brand .b-light .b-tab.is-active { color:#fff; background:linear-gradient(74deg,var(--b-blue),var(--b-blue-deep)); box-shadow:0 6px 18px rgba(29,69,148,.28); }

/* =========================================================
   SUPPORT PAGE
   ========================================================= */
.pfc-brand .pfc-support .pfc-tabpanel > *:first-child { margin-top:0; }
/* White surface card for content sitting on Atmosphere Light */
.pfc-brand .pfc-lcard { background:#fff; border:1px solid rgba(15,28,60,.09); border-radius:16px; box-shadow:0 10px 30px rgba(15,28,60,.06); padding:clamp(20px,3vw,30px); margin:0 0 22px; }
.pfc-brand .pfc-lcard:last-child { margin-bottom:0; }
.pfc-brand .pfc-sub { font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(20px,2.2vw,26px); letter-spacing:-0.01em; color:#0f1830; margin:0 0 18px; }
/* Device row: product image beside its download links */
.pfc-brand .pfc-device { display:grid; grid-template-columns:minmax(180px,300px) 1fr; gap:clamp(20px,3vw,40px); align-items:center; }
.pfc-brand .pfc-device .pfc-device-media { display:flex; align-items:center; justify-content:center; }
.pfc-brand .pfc-device img { display:block; max-height:240px; width:auto; max-width:100%; }
.pfc-brand .pfc-device-imgs { display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:center; }
@media (max-width:680px){ .pfc-brand .pfc-device { grid-template-columns:1fr; } }
/* Download link list */
.pfc-brand .pfc-dl { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.pfc-brand .pfc-dl li { margin:0; }
.pfc-brand .pfc-dl a { display:flex; align-items:center; gap:13px; padding:14px 17px; border-radius:11px; background:#f3f6fb; border:1px solid rgba(15,28,60,.08); color:#0f1830; text-decoration:none; font-weight:600; font-size:15px; line-height:1.4; transition:background .2s ease, border-color .2s ease, transform .2s ease; }
.pfc-brand .pfc-dl a:hover { background:#e9f0fa; border-color:var(--b-blue-bright); transform:translateX(3px); }
.pfc-brand .pfc-dl a::before { content:''; flex:0 0 auto; width:22px; height:22px; background-color:var(--b-blue); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5v6h3l-4 5-4-5h3V5h2z'/%3E%3Cpath d='M5 18h14v2H5z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5v6h3l-4 5-4-5h3V5h2z'/%3E%3Cpath d='M5 18h14v2H5z'/%3E%3C/svg%3E") center/contain no-repeat; }
/* Driver/utility text */
.pfc-brand .pfc-support .pfc-lcard p { color:#4a5568; font-size:15.5px; line-height:1.65; }
.pfc-brand .pfc-support .pfc-lcard ul:not(.pfc-dl) { color:#4a5568; font-size:15px; line-height:1.6; margin:10px 0 0; padding-left:20px; }
.pfc-brand .pfc-support .pfc-lcard h3 { color:#0f1830; }
/* Red warning line (RMA) */
.pfc-brand .pfc-warn { color:#c0392b; font-weight:800; letter-spacing:.01em; background:#fdecea; border:1px solid #f3c5bf; border-radius:10px; padding:13px 16px; margin:18px 0 0; }
/* Flagged form placeholder until WPForms rebuild */
.pfc-brand .pfc-formnote { background:#eef3fb; border:1px dashed var(--b-blue-bright); border-radius:12px; padding:18px 20px; margin:18px 0 0; color:#33415c; font-size:14.5px; }
.pfc-brand .pfc-formnote strong { color:#0f1830; }
/* AnyDesk logo */
.pfc-brand .pfc-anydesk img { max-width:240px; height:auto; }
/* Closing support contact band */
.pfc-brand .pfc-supportcta { display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; }
.pfc-brand .pfc-contactchip { display:inline-flex; align-items:center; gap:10px; padding:13px 20px; border-radius:11px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); color:#e8ecf3; text-decoration:none; font-weight:600; font-size:15px; transition:border-color .2s ease, background .2s ease; }
.pfc-brand .pfc-contactchip:hover { border-color:var(--b-blue-bright); background:rgba(29,69,148,.18); }
/* Home "Our Flight Training Systems" cards: equal space below the image to
   match the card's 24px top padding, so the title doesn't touch the image. */
.pfc-brand .pfc-sys-grid .b-card .wp-block-image { margin-bottom:24px; }

/* Home hero background slider (Ken Burns drift + dissolve), injected by theme.js.
   Sits over the hero's base background, under all hero content. */
.pfc-brand .pfc-hero-fill { position:relative; }
/* Hero spotlight wash: clear over the simulator (right), fading to ~20% black over
   the rest. Sits above the Ken Burns images, below the content. Responsive (%). */
.pfc-brand .pfc-hero-spotlight { background:radial-gradient(circle at 70% 47%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 28%, rgba(0,0,0,.2) 60%); }
@media (max-width:781px){
	.pfc-brand .pfc-hero-spotlight { background:radial-gradient(circle at 50% 40%, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,.2) 66%); }
}
/* Home hero only: drop the subtle dot texture (keep the gradient + glow) so the
   slider/content read cleaner. */
.pfc-brand .pfc-hero-fill::before { background-image:none; }
.pfc-brand .pfc-hero-fill > :not(.pfc-hero-slider) { position:relative; z-index:1; }
.pfc-brand .pfc-hero-slider { position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.pfc-brand .pfc-hero-drift { position:absolute; left:0; right:0; top:-26%; bottom:-26%; will-change:transform; }
/* Floating simulator image: gentler, slower drift (half the previous speed). */
.pfc-brand .pfc-hero-art img { animation-duration:12s; }
/* Floating simulator: crossfade ("morph") between two images on a loop. The
   float lives on the wrapper so both images drift together in sync. */
.pfc-brand .pfc-hero-art .pfc-hero-morph { position:relative; display:block; animation:pfc-float 12s ease-in-out infinite; }
.pfc-brand .pfc-hero-art .pfc-hero-morph img { animation:none; }
.pfc-brand .pfc-hero-art .pfc-hero-morph > img:first-child { display:block; margin:0 auto; max-width:100%; height:auto; }
.pfc-brand .pfc-hero-morph-alt { position:absolute; top:0; left:50%; transform:translateX(-50%); height:100%; width:auto; max-width:100%; object-fit:contain; }
/* Crossfade: every slide fades on opacity; only the .is-shown one is visible. */
.pfc-brand .pfc-hero-morph-slide { opacity:0; transition:opacity 1.5s ease-in-out; }
.pfc-brand .pfc-hero-morph-slide.is-shown { opacity:1; }
/* Inline "Read more / Read less" toggle — hides the tail of a paragraph until clicked. */
.pfc-brand .pfc-readmore-more { display:none; }
.pfc-brand .is-expanded > .pfc-readmore-more { display:inline; }
.pfc-brand .pfc-readmore-toggle { color:var(--b-blue-bright); font-weight:600; text-decoration:underline; cursor:pointer; white-space:nowrap; }
.pfc-brand .pfc-readmore-toggle:hover { color:#fff; }

/* =========================================================
   IMAGE ACCENTS — layered photo frame + offset brand-color panel.
   Responsive: matte padding and panel offset use % so they scale
   with the image and stay correct at any screen size.
   .accent1 = white matte + deep-blue panel  → best on LIGHT backgrounds
   .accent2 = bright-blue keyline + blue panel → best on DARK backgrounds
   Usage: add class "accent accent1" (or "accent accent2") to a wp:image.
   ========================================================= */
.pfc-brand .accent { position:relative; display:block; width:-moz-fit-content; width:fit-content; max-width:100%; margin-inline:auto; }
.pfc-brand .accent img { display:block; max-width:100%; height:auto; position:relative; z-index:1; }
.pfc-brand .accent::before { content:''; position:absolute; z-index:0; inset:9% -8% -9% 8%; border-radius:6px; }
.pfc-brand .accent1 img { background:#fff; padding:4.5%; border-radius:3px; box-shadow:0 14px 34px rgba(19,46,99,.18); }
.pfc-brand .accent1::before { background:var(--b-blue); transform:rotate(2.5deg); }
.pfc-brand .accent2 img { border:3px solid var(--b-blue-bright); border-radius:3px; box-shadow:0 18px 46px rgba(0,0,0,.5); }
.pfc-brand .accent2::before { background:var(--b-blue); transform:rotate(2.5deg); }
@media (max-width:600px){ .pfc-brand .accent::before { inset:7% -6% -7% 6%; transform:rotate(2deg); } }

/* Accessory products: "Heads up" notice replaces the action buttons; span the full actions row. */
.pfc-brand .b-prod-actions .pfc-accessory-note { flex:1 1 100%; width:100%; margin:0; }

/* "Why Choose AATD Over FTD" popup — reuses the .pfc-wp-modal shell, narrower for text. */
.pfc-brand .pfc-aatd-modal .pfc-wp-modal-box { width:min(780px,100%); }
.pfc-brand .pfc-aatd-content { color:#cdd6e6; font-size:16px; line-height:1.7; }
.pfc-brand .pfc-aatd-content h2 { font-size:clamp(24px,3vw,32px); font-weight:800; color:#fff; line-height:1.15; margin:0 0 18px; }
.pfc-brand .pfc-aatd-content h3 { font-size:19px; font-weight:700; color:#fff; margin:26px 0 12px; }
.pfc-brand .pfc-aatd-content p { margin:0 0 16px; }
.pfc-brand .pfc-aatd-content strong { color:#fff; }
.pfc-brand .pfc-aatd-content .pfc-aatd-lead { text-decoration:underline; text-underline-offset:3px; }
.pfc-brand .pfc-aatd-content ul { list-style:none; margin:0 0 6px; padding:0; }
.pfc-brand .pfc-aatd-content li { position:relative; padding-left:24px; margin:0 0 12px; }
.pfc-brand .pfc-aatd-content li::before { content:''; position:absolute; left:3px; top:9px; width:7px; height:7px; border-radius:50%; background:var(--b-blue-bright); }
@media (prefers-reduced-motion:reduce){ .pfc-brand .pfc-hero-art .pfc-hero-morph { animation:none !important; } }
/* Hero dark gradient wash removed per Gene (2026-06-23) — images show without the dark overlay. */
.pfc-brand .pfc-hero-slide { position:absolute; inset:0; opacity:0; transition:opacity 1.6s ease-in-out; will-change:opacity; }
/* Images kept faint (30%) so the dark hero blends through and the content pops */
.pfc-brand .pfc-hero-slide.is-active { opacity:.30; }
/* Ken Burns runs on a real <img> (object-fit:cover) + scale3d/translate3d, so Firefox
   GPU-scales the image texture smoothly instead of re-rasterizing a scaled background. */
.pfc-brand .pfc-hero-slide-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; will-change:transform; backface-visibility:hidden; -webkit-backface-visibility:hidden; transform-style:preserve-3d; }
.pfc-brand .pfc-hero-slide-img.pfc-kb-0 { animation:pfc-kb0 18s ease-in-out infinite alternate; }
.pfc-brand .pfc-hero-slide-img.pfc-kb-1 { animation:pfc-kb1 18s ease-in-out infinite alternate; }
.pfc-brand .pfc-hero-slide-img.pfc-kb-2 { animation:pfc-kb2 18s ease-in-out infinite alternate; }
.pfc-brand .pfc-hero-slide-img.pfc-kb-3 { animation:pfc-kb3 18s ease-in-out infinite alternate; }
@keyframes pfc-kb0 { from{ transform:scale3d(1.05,1.05,1) translate3d(0,0,0); } to{ transform:scale3d(1.16,1.16,1) translate3d(-2.5%,-2%,0); } }
@keyframes pfc-kb1 { from{ transform:scale3d(1.16,1.16,1) translate3d(2%,1%,0); } to{ transform:scale3d(1.06,1.06,1) translate3d(0,-1.5%,0); } }
@keyframes pfc-kb2 { from{ transform:scale3d(1.06,1.06,1) translate3d(-1.5%,1.5%,0); } to{ transform:scale3d(1.16,1.16,1) translate3d(2%,-1.5%,0); } }
@keyframes pfc-kb3 { from{ transform:scale3d(1.16,1.16,1) translate3d(1.5%,-2%,0); } to{ transform:scale3d(1.06,1.06,1) translate3d(-1%,1%,0); } }
@media (prefers-reduced-motion:reduce){
	.pfc-brand .pfc-hero-slide-img { animation:none !important; transform:none !important; }
	.pfc-brand .pfc-hero-slide { transition:none; }
	.pfc-brand .pfc-hero-drift { transform:none !important; }
}

/* =========================================================
   /testing — candidate AVIATION-MAP backgrounds (light + dark)
   Scoped to .pfc-tb sections. Base color/gradient in CSS; the
   flight routes / waypoints / contours / compass / world map are
   inline <svg class="pfc-tb-svg"> overlays so everything scales.
   ========================================================= */
.pfc-brand .pfc-tb { position:relative; overflow:hidden; }
.pfc-brand .pfc-tb > .b-inner { position:relative; z-index:5; }
.pfc-brand .pfc-tb-svg { position:absolute; left:0; right:0; top:-16%; width:100%; height:132%; pointer-events:none; z-index:1; display:block; will-change:transform; }
/* graticule grid (lat/long), faded at the edges */
.pfc-brand .pfc-tb-grid::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
	background-image:linear-gradient(var(--tg) 1px,transparent 1px),linear-gradient(90deg,var(--tg) 1px,transparent 1px);
	background-size:66px 66px;
	-webkit-mask-image:radial-gradient(ellipse 80% 75% at 50% 45%, #000 55%, transparent 92%);
	        mask-image:radial-gradient(ellipse 80% 75% at 50% 45%, #000 55%, transparent 92%); }

/* ---------- LIGHT bases ---------- */
.pfc-brand .pfc-tb-l1 { background:
	radial-gradient(900px 520px at 16% 6%, rgba(208,224,246,.65), transparent 55%),
	radial-gradient(820px 540px at 90% 98%, rgba(202,220,244,.6), transparent 55%),
	linear-gradient(135deg,#f6faff 0%,#e9f0fa 52%,#f4f9ff 100%); --tg:rgba(29,69,148,.028); }
.pfc-brand .pfc-tb-l2 { background:
	radial-gradient(1100px 640px at 50% -8%, #ffffff, transparent 60%),
	linear-gradient(160deg,#eef4fc 0%,#dde8f6 100%); --tg:rgba(29,69,148,.07); }

/* ---------- DARK bases ---------- */
.pfc-brand .pfc-tb-d1 { background:
	radial-gradient(1150px 720px at 82% -6%, rgba(40,82,170,.6), transparent 60%),
	radial-gradient(940px 640px at 2% 104%, rgba(10,22,52,.7), transparent 55%),
	linear-gradient(150deg,#0f2150 0%,#0a1330 55%,#070d1e 100%); --tg:rgba(120,160,235,.035); }
.pfc-brand .pfc-tb-d2 { background:
	radial-gradient(1000px 640px at 50% 16%, #122142, transparent 62%),
	#0a0d14; --tg:rgba(120,160,235,.06); }

/* ---------- SVG element styling ---------- */
.pfc-brand .pfc-tb-svg .route { fill:none; stroke-width:1.5; stroke-dasharray:8 8; stroke-linecap:round; }
.pfc-brand .pfc-tb-svg .arc   { fill:none; stroke-width:1.2; }
.pfc-brand .pfc-tb-svg .contour { fill:none; stroke-width:1.2; }
.pfc-brand .pfc-tb-svg .ring  { fill:none; stroke-width:1.1; }
.pfc-brand .pfc-tb-svg .wpr   { fill:none; stroke-width:1.6; }
.pfc-brand .pfc-tb-svg .tick  { stroke-width:1.3; stroke-linecap:round; }
.pfc-brand .pfc-tb-svg .rose line { stroke-width:1.3; stroke-linecap:round; }
.pfc-brand .pfc-tb-svg .rose circle { fill:none; stroke-width:1.2; }

/* LIGHT strokes/fills */
.pfc-brand [class*="pfc-tb-l"] .route,
.pfc-brand [class*="pfc-tb-l"] .arc,
.pfc-brand [class*="pfc-tb-l"] .contour,
.pfc-brand [class*="pfc-tb-l"] .ring,
.pfc-brand [class*="pfc-tb-l"] .wpr,
.pfc-brand [class*="pfc-tb-l"] .tick,
.pfc-brand [class*="pfc-tb-l"] .rose line,
.pfc-brand [class*="pfc-tb-l"] .rose circle { stroke:rgba(80,110,172,.1); }
.pfc-brand [class*="pfc-tb-l"] .wpd,
.pfc-brand [class*="pfc-tb-l"] .plane { fill:rgba(74,104,166,.18); }
/* the moving plane stays a touch more visible than the static graphics */
.pfc-brand [class*="pfc-tb-l"] .pfc-plane { fill:rgba(60,92,158,.34); }
.pfc-brand [class*="pfc-tb-l"] .map { fill:rgba(50,86,156,.06); stroke:none; }

/* DARK strokes/fills */
.pfc-brand [class*="pfc-tb-d"] .route,
.pfc-brand [class*="pfc-tb-d"] .arc,
.pfc-brand [class*="pfc-tb-d"] .contour,
.pfc-brand [class*="pfc-tb-d"] .ring,
.pfc-brand [class*="pfc-tb-d"] .wpr,
.pfc-brand [class*="pfc-tb-d"] .tick,
.pfc-brand [class*="pfc-tb-d"] .rose line,
.pfc-brand [class*="pfc-tb-d"] .rose circle { stroke:rgba(124,160,228,.11); }
.pfc-brand [class*="pfc-tb-d"] .wpd,
.pfc-brand [class*="pfc-tb-d"] .plane { fill:rgba(140,176,236,.2); }
.pfc-brand [class*="pfc-tb-d"] .map { fill:rgba(120,162,238,.05); stroke:none; }
/* Dark "brand routes" — kept very close to the background. */
.pfc-brand .pfc-tb-d1 .wpd { fill:rgba(120,158,232,.22); }
.pfc-brand .pfc-tb-d1 .route { stroke:rgba(120,158,232,.12); }
/* the moving plane stays a touch more visible than the static graphics */
.pfc-brand [class*="pfc-tb-d"] .pfc-plane { fill:rgba(150,186,246,.42); }
/* Brand Routes (d1): SOLID plane coloured like the dashed route it follows (darker, blends) */
.pfc-brand .pfc-tb-d1 .pfc-plane { fill:#28395c; }
/* Flight Routes (l1): slightly lighter dashed routes + SOLID light plane matching them */
.pfc-brand .pfc-tb-l1 .route { stroke:rgba(80,110,172,.075); }
.pfc-brand .pfc-tb-l1 .pfc-plane { fill:#d3ddee; }

/* ---- Runway-landing sections (pfc-tb-runway): plane lands + recedes on scroll ---- */
/* runway height/centering now comes from the page context (.pfc-sec-center or the page's own
   section padding), NOT from the class — so a content section can use the runway bg at normal height */
.pfc-brand .pfc-tb-runway { }
/* runway covers the section exactly (no parallax oversizing) and fades into the background
   at the top of the section, at any section height */
.pfc-brand .pfc-tb-runway .pfc-tb-svg { top:0; height:100%; -webkit-mask-image:linear-gradient(to top,#000 60%,transparent 95%); mask-image:linear-gradient(to top,#000 60%,transparent 95%); }
.pfc-brand .pfc-tb-svg .runway { stroke:none; }
.pfc-brand .pfc-tb-svg .rwy-edge { fill:none; stroke-width:2.2; }
.pfc-brand .pfc-tb-svg .rwy-center { fill:none; stroke-width:4; stroke-dasharray:34 30; }
.pfc-brand .pfc-tb-l2 .rwy-edge, .pfc-brand .pfc-tb-l2 .rwy-center { stroke:rgba(54,89,156,.055); }
.pfc-brand .pfc-tb-l2 .rwy-thresh rect { fill:rgba(54,89,156,.045); }
/* planes use a SOLID (opaque) faint colour so the runway lines never show through */
.pfc-brand .pfc-tb-l2 .pfc-plane-land { fill:#c6d3ea; }
.pfc-brand .pfc-tb-d2 .rwy-edge, .pfc-brand .pfc-tb-d2 .rwy-center { stroke:rgba(140,176,236,.085); }
.pfc-brand .pfc-tb-d2 .rwy-thresh rect { fill:rgba(140,176,236,.07); }
.pfc-brand .pfc-tb-d2 .pfc-plane-land { fill:#1c2433; }

/* sample-content label chip used on /testing */
.pfc-brand .pfc-tb-tag { display:inline-block; font-family:'Bebas Neue',sans-serif; letter-spacing:.18em; font-size:14px; padding:5px 12px; border-radius:6px; background:var(--b-blue-bright); color:#fff; margin:0 0 14px; }

/* ---- Centered section content (H + V): whole /testing page, plus any .pfc-sec-center
   section elsewhere (e.g. the reference sections on /pfcbranding) ---- */
body.page-id-1584 .pfc-brand .b-sec,
.pfc-brand .b-sec.pfc-sec-center {
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  min-height:100vh; text-align:center;
}
body.page-id-1584 .pfc-brand .b-sec .b-inner,
.pfc-brand .b-sec.pfc-sec-center .b-inner {
  display:flex; flex-direction:column; align-items:center; text-align:center;
  margin-left:auto; margin-right:auto; width:100%;
}
body.page-id-1584 .pfc-brand .b-sec .b-inner > *,
.pfc-brand .b-sec.pfc-sec-center .b-inner > * { margin-left:auto; margin-right:auto; }
body.page-id-1584 .pfc-brand .b-sec .b-cards,
.pfc-brand .b-sec.pfc-sec-center .b-cards {
  display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch;
  width:100%; text-align:center;
}
body.page-id-1584 .pfc-brand .b-sec .b-cards > *,
.pfc-brand .b-sec.pfc-sec-center .b-cards > * { flex:0 0 295px; max-width:295px; text-align:center; }
body.page-id-1584 .pfc-brand .b-sec .b-btnrow,
.pfc-brand .b-sec.pfc-sec-center .b-btnrow { display:flex; justify-content:center; width:100%; }

/* ---- Radar sweep (REUSABLE): add class pfc-radar-host to a b-bg-2 (light) or b-bg-3 (dark) section ---- */
/* unify the host ring centre so the radar pivots exactly on the small circle */
.pfc-brand .pfc-radar-host.b-bg-2::before { background-image:repeating-radial-gradient(circle at 85% 26%, transparent 0 32px, rgba(29,69,148,.07) 32px 33px); }
.pfc-brand .pfc-radar-host.b-bg-3::before { background-image:repeating-radial-gradient(circle at 85% 26%, transparent 0 40px, rgba(255,255,255,.06) 40px 41px); }
/* keep section content above the radar overlay (works with or without a .b-inner wrapper) */
.pfc-brand .pfc-radar-host { position:relative; }
.pfc-brand .pfc-radar-host > :not(.pfc-radar) { position:relative; z-index:2; }
.pfc-brand .pfc-radar { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; max-width:none; margin:0; }
.pfc-brand .pfc-radar-line { position:absolute; height:2px; margin-top:-1px; transform-origin:100% 50%; border-radius:2px; }
.pfc-brand .pfc-radar-dot { position:absolute; width:8px; height:8px; margin:-4px 0 0 -4px; border-radius:50%; }
.pfc-brand .pfc-radar-plane { position:absolute; width:38px; height:38px; opacity:0; overflow:visible; transition:opacity .12s linear; }
/* light section colours (match the faint blue rings) */
.pfc-brand .pfc-radar-host.b-light .pfc-radar-line { background:linear-gradient(to left, rgba(29,69,148,.11) 0%, rgba(29,69,148,.11) 80%, rgba(29,69,148,0) 100%); }
.pfc-brand .pfc-radar-host.b-light .pfc-radar-dot { background:rgba(29,69,148,.28); }
.pfc-brand .pfc-radar-host.b-light .pfc-radar-plane path { fill:#4f6ea8; }
/* dark section colours (match the faint white rings) */
.pfc-brand .pfc-radar-host.b-dark .pfc-radar-line { background:linear-gradient(to left, rgba(255,255,255,.10) 0%, rgba(255,255,255,.10) 80%, rgba(255,255,255,0) 100%); }
.pfc-brand .pfc-radar-host.b-dark .pfc-radar-dot { background:rgba(255,255,255,.26); }
.pfc-brand .pfc-radar-host.b-dark .pfc-radar-plane path { fill:#9db9e8; }

/* inline "how to use" class line under the Background 01-04 eyebrows on /pfcbranding */
.pfc-brand .pfc-ref-use { margin:4px 0 16px; font-size:13.5px; opacity:.92; }
.pfc-brand .pfc-ref-use code { font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace; font-size:13px; padding:3px 9px; border-radius:6px; background:rgba(127,127,127,.16); }
.pfc-brand .b-light .pfc-ref-use code { color:#1d4594; }
.pfc-brand .b-dark .pfc-ref-use code { color:#9db9e8; background:rgba(255,255,255,.08); }

/* ---- Reference-label panel (names each animated background + the classes to copy) ---- */
.pfc-brand .pfc-ref { display:inline-block; max-width:600px; margin:0 auto 22px; padding:14px 20px; border-radius:12px; background:rgba(120,135,165,.12); border:1px solid rgba(120,135,165,.3); text-align:center; }
.pfc-brand .b-dark .pfc-ref { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); }
.pfc-brand .pfc-ref-name { display:block; font-family:'Bebas Neue',sans-serif; letter-spacing:.16em; font-size:23px; line-height:1.1; }
.pfc-brand .pfc-ref-code { display:block; margin:9px 0 0; font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace; font-size:12.5px; word-break:break-word; }
.pfc-brand .b-light .pfc-ref-code { color:#1d4594; }
.pfc-brand .b-dark .pfc-ref-code { color:#9db9e8; }
.pfc-brand .pfc-ref-note { display:block; margin:9px 0 0; font-size:13px; opacity:.82; }

/* Site-wide: remove the WordPress 24px block-gap "dark bands" — between full-width sections
   (including below every hero) and between the last section and the footer. Pages + posts + Woo. */
.pfc-brand .b-sec { margin-top:0; margin-bottom:0; }
.wp-site-blocks > footer { margin-top:0; }

/* Contact form on dark (b-dark) sections uses the Carbon Steel glass-card treatment
   (matches the b-bg-4 section's glass cards: rgba(255,255,255,.08) + blur + .2 border) */
.pfc-brand .b-dark .pfc-cf input, .pfc-brand .b-dark .pfc-cf textarea { background:rgba(255,255,255,.08); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); color:#e8ecf3; border-color:rgba(255,255,255,.2); }
.pfc-brand .b-dark .pfc-cf input::placeholder, .pfc-brand .b-dark .pfc-cf textarea::placeholder { color:rgba(232,236,243,.6); }
.pfc-brand .b-dark .pfc-cf input:focus, .pfc-brand .b-dark .pfc-cf textarea:focus { background:rgba(255,255,255,.12); border-color:var(--b-blue-bright); }

/* FAA Documentation (page 34): body section = Atmosphere Light (b-bg-2) instead of the
   template's dark b-bg-4, and center the download list (boxes keep their own dark styling) */
body.page-id-34 .pfc-main > .b-sec.b-bg-4 { background:linear-gradient(160deg,#f4f7fc 0%, #e6edf6 58%, #d9e3f1 100%); }
body.page-id-34 .pfc-main > .b-sec.b-bg-4::before { background-image:repeating-radial-gradient(circle at 86% 20%, transparent 0 32px, rgba(29,69,148,.07) 32px 33px); }
body.page-id-34 .pfc-main > .b-sec.b-bg-4::after { inset:0; height:auto; z-index:0; background:radial-gradient(120% 85% at 50% -25%, rgba(74,123,217,.16), transparent 60%); }
body.page-id-34 .pfc-prose > .entry-content { margin-left:auto; margin-right:auto; }
.pfc-brand .pfc-doclist { margin-left:auto; margin-right:auto; }
/* FAA doc boxes: glass-card styling (frosted, for the Atmosphere Light section) */
body.page-id-34 .pfc-doclist li a { background:rgba(15,28,60,.05); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-color:rgba(15,28,60,.14); color:#0f1830; }
body.page-id-34 .pfc-doclist li a::before { background:#1d4594; }
body.page-id-34 .pfc-doclist li a:hover { background:rgba(15,28,60,.09); border-color:rgba(15,28,60,.22); }

/* ---- Notification bar (home only, injected inside the sticky header) ---- */
.pfc-notice { width:100%; font-family:'Inter',sans-serif; }
.pfc-notice-in { max-width:1240px; margin:0 auto; display:flex; align-items:center; gap:16px; padding:10px 24px; }
.pfc-notice-text { margin:0; font-size:15px; line-height:1.4; flex:1 1 auto; }
.pfc-notice-text strong { font-weight:700; }
.pfc-notice-link { flex:0 0 auto; font-size:14px; font-weight:600; white-space:nowrap; text-decoration:underline; text-underline-offset:2px; }
.pfc-notice-x { flex:0 0 auto; background:none; border:0; cursor:pointer; padding:4px; line-height:0; color:inherit; opacity:.7; }
.pfc-notice-x:hover { opacity:1; }
@media (max-width:640px){ .pfc-notice-in { padding:9px 16px; gap:12px; } .pfc-notice-text { font-size:13.5px; } .pfc-notice-link { font-size:13px; } }
/* themes */
.pfc-notice--announcement { background:#1D4594; color:#fff; }
.pfc-notice--announcement .pfc-notice-link { color:#cfe0ff; }
.pfc-notice--alert { background:#F4C043; color:#4A3608; }
.pfc-notice--alert .pfc-notice-link { color:#4A3608; }
.pfc-notice--notice { background:#B3261E; color:#fff; }
.pfc-notice--notice .pfc-notice-link { color:#ffdad6; }
.pfc-notice--success { background:#1E7A46; color:#fff; }
.pfc-notice--success .pfc-notice-link { color:#c9ecd6; }
.pfc-notice--independence { background:#123A82; color:#fff; border-left:5px solid #C8202E; }
.pfc-notice--independence .pfc-notice-link { color:#cfe0ff; }
.pfc-notice--memorial { background:#0F1D3C; color:#D3DAE8; border-left:5px solid #B23A3A; }
.pfc-notice--memorial .pfc-notice-text strong { color:#fff; }
.pfc-notice--memorial .pfc-notice-link { color:#cdd6e6; }
.pfc-notice--labor { background:#15498E; color:#fff; border-left:5px solid #C8202E; }
.pfc-notice--labor .pfc-notice-link { color:#cfe0ff; }
.pfc-notice--presidents { background:#16336B; color:#fff; border-left:5px solid #C9A227; }
.pfc-notice--presidents .pfc-notice-link { color:#f0dda0; }
.pfc-notice--thanksgiving { background:#A24A17; color:#FBEAD4; border-left:5px solid #5A3620; }
.pfc-notice--thanksgiving .pfc-notice-text strong { color:#fff; }
.pfc-notice--thanksgiving .pfc-notice-link { color:#f7dcbf; }
.pfc-notice--christmas { background:#0E5233; color:#F5EEDD; border-left:5px solid #C8202E; }
.pfc-notice--christmas .pfc-notice-text strong { color:#fff; }
.pfc-notice--christmas .pfc-notice-link { color:#e9dfc4; }
.pfc-notice--newyear { background:#0B1230; color:#EAD08A; border-left:5px solid #C9A227; }
.pfc-notice--newyear .pfc-notice-text strong { color:#fff; }
.pfc-notice--newyear .pfc-notice-link { color:#ead08a; }

/* /updates (page 43) post grid: uniform featured-image thumbnails (16:9 ≈ 411x231), image cover-centered */
body.page-id-43 .wp-block-post-featured-image { display:block; aspect-ratio:16 / 9; overflow:hidden; margin:0; }
body.page-id-43 .wp-block-post-featured-image a { display:block; width:100%; height:100%; }
body.page-id-43 .wp-block-post-featured-image img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

/* Home "Unlimited Options" (b-bg-4): keep the body text clear of the image's offset accent frame */
@media (min-width:782px){
  .pfc-brand .b-bg-4 .wp-block-columns > .wp-block-column:last-child { padding-left:64px; }
}

/* /request-received: thank-you message in a tidy success-alert box (like /pfcbranding b-alert-ok) */
.pfc-brand .pfc-rr-box { max-width:620px; margin-left:auto; margin-right:auto; text-align:left; }
.pfc-brand .pfc-rr-box p { margin:0; color:rgb(21,98,60); }

/* Home page: consistent 140px top/bottom space inside every section (edge to first/last element) */
body.page-id-19 .b-sec { padding-top:140px; padding-bottom:140px; margin-top:0; margin-bottom:0; }
body.page-id-19 .b-sec > .b-inner > :first-child { margin-top:0; }
body.page-id-19 .b-sec > .b-inner > :last-child { margin-bottom:0; }
.pfc-brand .pfc-tb-l1 .pfc-tb-tag, .pfc-brand .pfc-tb-l2 .pfc-tb-tag { background:var(--b-blue); }
