/* PhpOG theme for Freehold CMS. Module selectors live in module packages. */
:root {
	--classic-ink: #e2e8f0;
	--classic-ink-soft: #cbd5e1;
	--classic-steel: #94a3b8;
	--classic-paper: #0f172a;
	--classic-white: #1e293b;
	--classic-line: #334155;
	--classic-accent: #fbbf24;
	--classic-accent-dark: #f59e0b;
	--classic-gold: #fbbf24;
	--classic-header-bg: #1e293b;
	--classic-hero-bg: #1e293b;
	--classic-success: #22c55e;
	--classic-success-soft: color-mix(in srgb, var(--classic-success) 12%, var(--classic-white));
	--classic-warning: #f59e0b;
	--classic-warning-soft: color-mix(in srgb, var(--classic-gold) 16%, var(--classic-white));
	--classic-danger: #ef4444;
	--classic-danger-soft: color-mix(in srgb, var(--classic-danger) 12%, var(--classic-white));
	--classic-shadow: rgba(0, 0, 0, .35);
	--classic-max: 1180px;
	--cms-color-text: var(--classic-ink);
	--cms-color-text-soft: var(--classic-ink-soft);
	--cms-color-text-muted: var(--classic-steel);
	--cms-color-canvas: var(--classic-paper);
	--cms-color-surface: var(--classic-white);
	--cms-color-surface-subtle: #172033;
	--cms-color-surface-inverse: #020617;
	--cms-color-surface-inverse-soft: #0f172a;
	--cms-color-text-inverse: #f8fafc;
	--cms-color-text-inverse-muted: #cbd5e1;
	--cms-color-border: var(--classic-line);
	--cms-color-border-strong: var(--classic-steel);
	--cms-color-accent: var(--classic-accent);
	--cms-color-accent-strong: var(--classic-accent-dark);
	--cms-color-highlight: var(--classic-gold);
	--cms-color-on-accent: #0f172a;
	--cms-color-on-highlight: #0f172a;
	--cms-color-header: var(--classic-header-bg);
	--cms-color-hero: var(--classic-hero-bg);
	--cms-color-success: var(--classic-success);
	--cms-color-success-soft: var(--classic-success-soft);
	--cms-color-warning: var(--classic-warning);
	--cms-color-warning-soft: var(--classic-warning-soft);
	--cms-color-danger: var(--classic-danger);
	--cms-color-danger-soft: var(--classic-danger-soft);
	--cms-color-focus: var(--classic-accent-dark);
	--cms-color-focus-inverse: #fbbf24;
	--cms-shadow: 0 2px 8px var(--classic-shadow);
	--cms-shadow-strong: 0 18px 60px var(--classic-shadow);
	--cms-content-max: var(--classic-max);
	--cms-font-heading: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--cms-radius-card: 8px;
	--cms-radius-control: 6px;
}
html { color-scheme: dark; text-size-adjust: 100%; }
body,
main,
header,
footer,
nav,
section,
article,
aside,
address { color: inherit; font: inherit; }
h1,
h2,
h3,
h4,
h5,
h6 { color: var(--classic-ink); font-family: var(--cms-font-heading); line-height: 1.16; text-wrap: balance; }
p,
ol,
ul,
menu,
dl,
figure,
blockquote,
pre,
table,
fieldset,
details { margin-block: 0 1em; }
hr { height: 1px; border: 0; background: var(--classic-line); }
pre { max-width: 100%; overflow: auto; padding: 1rem; border: 1px solid var(--classic-line); background: var(--classic-white); }
blockquote { margin-inline: 0; padding: .75rem 1rem; border-left: 4px solid var(--classic-gold); background: color-mix(in srgb, var(--classic-paper) 72%, var(--classic-white)); }
ol,
ul,
menu { padding-inline-start: 1.4em; }
li { margin-block: .2em; }
dt { color: var(--classic-ink); font-weight: 800; }
dd { margin-inline-start: 0; margin-block-end: .7em; }
figcaption,
small { color: var(--classic-steel); font-size: .82em; }
a { text-underline-offset: .15em; }
em,
cite,
dfn,
var,
i { font-style: italic; }
strong,
b { font-weight: 800; }
s { text-decoration: line-through; }
q { quotes: "“" "”" "‘" "’"; }
abbr[title] { cursor: help; text-decoration: underline dotted; text-underline-offset: .16em; }
data,
time,
code,
samp,
kbd { font-variant-numeric: tabular-nums; }
code,
var,
samp,
kbd { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9em; }
kbd { padding: .12em .42em; border: 1px solid var(--classic-line); border-bottom-width: 2px; border-radius: 3px; background: var(--classic-white); }
sub,
sup { position: relative; font-size: .72em; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.45em; }
u { text-underline-offset: .16em; }
mark { padding-inline: .16em; background: color-mix(in srgb, var(--classic-gold) 38%, white); color: #0f172a; }
img,
picture,
svg,
canvas,
video { max-width: 100%; height: auto; }
audio { max-width: 100%; }
iframe,
object,
embed { max-width: 100%; border: 1px solid var(--classic-line); }
map,
area { color: inherit; }
table { width: 100%; border-collapse: collapse; background: var(--classic-white); }
caption { padding: .65rem; color: var(--classic-ink-soft); font-weight: 800; text-align: left; }
thead,
tbody,
tfoot,
colgroup,
col { border-color: var(--classic-line); }
tr { border-bottom: 1px solid var(--classic-line); }
th,
td { padding: .7rem .8rem; text-align: left; vertical-align: top; }
th { background: color-mix(in srgb, var(--classic-paper) 72%, var(--classic-white)); color: var(--classic-ink); font-weight: 800; }
form { max-width: 100%; }
fieldset { min-width: 0; padding: 1rem; border: 1px solid var(--classic-line); }
legend,
label { color: var(--classic-ink); font-weight: 750; }
input,
button,
select,
textarea { min-height: 44px; border: 1px solid var(--classic-line); border-radius: 3px; background: var(--classic-white); color: var(--classic-ink); font: inherit; }
input,
select,
textarea { width: 100%; padding: .65rem .75rem; }
button { padding: .6rem 1rem; background: var(--classic-accent-dark); color: var(--classic-white); font-weight: 800; cursor: pointer; }
button:hover { background: var(--classic-accent); }
input[type="checkbox"],
input[type="radio"] { width: 1.15rem; min-height: 1.15rem; accent-color: var(--classic-accent-dark); }
textarea { min-height: 8rem; resize: vertical; }
datalist,
optgroup,
option { color: var(--classic-ink); background: var(--classic-white); }
output { font-weight: 750; }
progress,
meter { width: 100%; accent-color: var(--classic-accent-dark); }
details { border: 1px solid var(--classic-line); background: var(--classic-white); }
summary { min-height: 44px; padding: .65rem .8rem; color: var(--classic-ink); font-weight: 800; cursor: pointer; }
dialog { max-width: min(92vw, 42rem); padding: 1.25rem; border: 1px solid var(--classic-line); background: var(--classic-white); color: var(--classic-ink); }
noscript { display: block; padding: .75rem; border: 1px solid var(--classic-line); background: var(--classic-white); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.theme-phpog { margin: 0; background: #0f172a; color: #e2e8f0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; font-size: 16px; line-height: 1.6; }
img { max-width: 100%; }
a { color: #3b82f6; text-decoration: none; }
a:hover { color: #60a5fa; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; }
.container { display: grid; grid-template-columns: 210px minmax(0, 1fr); grid-template-rows: 64px auto minmax(0, 1fr) auto; min-height: 100vh; }
.site-skip-link { position: fixed; top: 8px; left: 8px; z-index: 3000; transform: translateY(-160%); padding: 9px 14px; border-radius: 6px; background: #fbbf24; color: #0f172a; font-weight: 800; }
.site-skip-link:focus { transform: translateY(0); }
.site-header { grid-column: 1 / -1; grid-row: 1; z-index: 100; display: flex; min-width: 0; align-items: center; gap: 16px; padding: 0 24px; border-bottom: 1px solid #334155; background: #1e293b; }
.header-logo { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; color: #fbbf24; font-size: 24px; font-weight: 700; text-decoration: none; }
.header-logo:hover { color: #f59e0b; }
.header-logo .svg-icon { width: 28px; height: 28px; }
.material-icons-outlined.svg-icon,
.svg-icon { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; background: currentColor; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; }
.svg-icon-terminal { -webkit-mask-image: url("../images/icons/terminal.svg"); mask-image: url("../images/icons/terminal.svg"); }
.svg-icon-menu { -webkit-mask-image: url("../images/icons/menu.svg"); mask-image: url("../images/icons/menu.svg"); }
.svg-icon-search { -webkit-mask-image: url("../images/icons/search.svg"); mask-image: url("../images/icons/search.svg"); }
.svg-icon-library-books { -webkit-mask-image: url("../images/icons/library-books.svg"); mask-image: url("../images/icons/library-books.svg"); }
.svg-icon-game-controller { -webkit-mask-image: url("../images/icons/game-controller.svg"); mask-image: url("../images/icons/game-controller.svg"); }
.svg-icon-code { -webkit-mask-image: url("../images/icons/code.svg"); mask-image: url("../images/icons/code.svg"); }
.svg-icon-functions { -webkit-mask-image: url("../images/icons/functions.svg"); mask-image: url("../images/icons/functions.svg"); }
.svg-icon-schema { -webkit-mask-image: url("../images/icons/schema.svg"); mask-image: url("../images/icons/schema.svg"); }
.svg-icon-home { -webkit-mask-image: url("../images/icons/home.svg"); mask-image: url("../images/icons/home.svg"); }
.svg-icon-storage { -webkit-mask-image: url("../images/icons/storage.svg"); mask-image: url("../images/icons/storage.svg"); }
.svg-icon-folder-open { -webkit-mask-image: url("../images/icons/folder-open.svg"); mask-image: url("../images/icons/folder-open.svg"); }
.header-quick-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.header-quick-nav > ul { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.header-quick-nav li { position: relative; margin: 0; }
.header-quick-nav .managed-menu-item-row { display: inline-flex; align-items: center; }
.header-quick-nav a { display: inline-flex; min-height: 42px; align-items: center; padding: 0 10px; color: #cbd5e1; font-size: 13px; font-weight: 700; text-decoration: none; }
.header-quick-nav a:hover,
.header-quick-nav a:focus-visible { color: #fbbf24; outline: 0; }
.header-quick-nav .header-quick-link { position: relative; width: 42px; height: 42px; min-height: 42px; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: 10px; }
.header-quick-nav .header-quick-link:hover,
.header-quick-nav .header-quick-link:focus-visible { border-color: #475569; background: #0f172a; }
.header-quick-link .svg-icon { width: 22px; height: 22px; }
.header-quick-label { position: absolute; top: calc(100% + 8px); left: 50%; z-index: 1200; transform: translate(-50%, -4px); padding: 7px 9px; border: 1px solid #334155; border-radius: 7px; background: #020617; color: #f8fafc; font-size: 12px; font-weight: 700; opacity: 0; pointer-events: none; transition: opacity .15s ease, transform .15s ease; white-space: nowrap; }
.header-quick-link:hover .header-quick-label,
.header-quick-link:focus-visible .header-quick-label { transform: translate(-50%, 0); opacity: 1; }
.site-header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.fhc-cart-action { position: relative; display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 10px; color: #cbd5e1; }
.fhc-cart-action:hover,
.fhc-cart-action:focus-visible { border-color: #475569; background: #0f172a; color: #fbbf24; outline: 0; }
.fhc-cart-action svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fhc-cart-count { position: absolute; top: 1px; right: 0; display: grid; min-width: 17px; height: 17px; place-items: center; padding: 0 4px; border-radius: 999px; background: #fbbf24; color: #0f172a; font-size: 10px; font-weight: 900; }
.site-menu-button { display: none; width: 42px; height: 42px; min-height: 42px; align-items: center; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #fbbf24; }
.site-menu-button .svg-icon { width: 24px; height: 24px; }
.site-breadcrumbs { grid-column: 1 / -1; grid-row: 2; display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 18px; padding: 10px 24px; border-bottom: 1px solid #334155; background: #1a2436; color: #94a3b8; font-size: 13px; }
.site-breadcrumb-trail { min-width: 0; }
.site-breadcrumbs .breadcrumbs { padding: 0; border: 0; background: transparent; color: #94a3b8; }
.site-breadcrumbs a { color: #e2e8f0; text-decoration: underline; text-underline-offset: 3px; }
.site-breadcrumbs a:hover { color: #fbbf24; }
.site-breadcrumbs .sep { margin: 0 8px; color: #475569; }
.site-customer-utility { flex: 0 0 auto; }
.customer-utility-navigation { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: 0; color: #94a3b8; font-size: 12px; white-space: nowrap; }
.customer-utility-navigation a { color: #fbbf24; font-weight: 750; text-decoration: none; }
.customer-utility-navigation a:hover { color: #f59e0b; text-decoration: underline; }
.customer-utility-label { color: #cbd5e1; }
.site-drawer { grid-column: 1; grid-row: 3 / 5; min-width: 0; padding: 24px 0; overflow-y: auto; border-right: 1px solid #334155; background: #1e293b; color: #e2e8f0; }
.site-drawer-head { display: none; }
.site-drawer-backdrop,
.site-drawer-backdrop[hidden] { display: none; }
.nav-search { margin-bottom: 24px; padding: 0 8px 24px 4px; border-bottom: 1px solid #334155; }
.search-form { display: flex; align-items: center; gap: 8px; margin: 0; }
.search-input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 16px; border: 1px solid #334155; border-radius: 8px; background: #0f172a; color: #e2e8f0; font: inherit; font-size: 14px; }
.search-input::placeholder { color: #64748b; }
.search-input:focus { border-color: #fbbf24; outline: none; }
.search-button { display: inline-flex; width: 48px; min-width: 48px; height: 48px; min-height: 48px; align-items: center; justify-content: center; padding: 0; border: 1px solid #334155; border-radius: 8px; background: #1e293b; color: #94a3b8; }
.search-button:hover { color: #fbbf24; }
.search-button .svg-icon { width: 20px; height: 20px; }
.nav-section { padding: 0 6px 0 4px; }
.site-drawer nav ul { margin: 0; padding: 0; list-style: none; }
.site-drawer nav li { margin: 0; }
.site-drawer .managed-menu-item-row { display: flex; min-width: 0; align-items: center; }
.site-drawer nav a { display: flex; min-width: 0; min-height: 44px; flex: 1; align-items: center; gap: 12px; padding: 12px 16px 12px 2px; overflow: hidden; border-left: 3px solid transparent; color: #cbd5e1; font-size: 13px; text-decoration: none; text-overflow: ellipsis; transition: background-color .2s ease, color .2s ease; white-space: nowrap; }
.site-drawer nav a:hover { background: #334155; color: #fbbf24; }
.site-drawer nav a[aria-current="page"],
.site-drawer nav a.active { border-left-color: #fbbf24; background: #334155; color: #fbbf24; }
.site-drawer nav a .svg-icon { width: 20px; height: 20px; }
.managed-submenu-toggle { display: inline-grid; width: 36px; min-width: 36px; min-height: 38px; place-items: center; padding: 0; border: 0; background: transparent; color: #fbbf24; }
.managed-submenu-toggle:hover { background: #334155; color: #f59e0b; }
.managed-submenu-toggle span::before { content: "+"; font-size: 18px; }
.managed-submenu-toggle[aria-expanded="true"] span::before { content: "−"; }
.managed-primary-navigation [data-managed-submenu][hidden],
.managed-drawer-menu [data-managed-submenu][hidden] { display: none; }
.managed-drawer-menu > ul > li.has-managed-submenu { margin-top: 24px; }
.managed-drawer-menu > ul > li.has-managed-submenu:first-child { margin-top: 0; }
.managed-drawer-menu > ul > li.has-managed-submenu > .managed-menu-item-row > a { min-height: 34px; padding: 4px; border: 0; background: transparent; color: #94a3b8; font-size: 10px; font-weight: 600; letter-spacing: .8px; text-transform: uppercase; }
.managed-drawer-menu ul ul { margin: 0 0 6px; }
.managed-drawer-menu ul ul .managed-menu-item-row { margin-left: 6px; }
.managed-drawer-menu ul ul a::before { content: none; }
.site-drawer-extra { padding: 0 10px; }
.phpog-main-slot { grid-column: 2; grid-row: 3; min-width: 0; min-height: 65vh; }
.phpog-academy-body .phpog-main-slot { grid-column: 1 / -1; grid-row: 1; min-height: 0; margin: 0; }
main { max-width: 100%; min-width: 0; overflow: visible; padding: 40px; }
.phpog-main-slot > #main-content { margin-left: 0; }
.content-shell { width: auto; max-width: none; margin: 0; }
.legal-page { max-width: 900px; margin: 0 auto; padding: 0; border: 0; background: transparent; color: #cbd5e1; line-height: 1.75; }
.legal-page h1 { margin: 0 0 18px; color: #fbbf24; font-family: inherit; font-size: 36px; line-height: 1.2; text-align: center; }
.legal-page h2 { margin: 28px 0 10px; color: #fbbf24; font-size: 20px; }
.email-page { max-width: 850px; margin: 0 auto; }
.email-page-intro,
.form-section { padding: 40px; border: 1px solid #334155; border-radius: 8px; background: #1e293b; }
.email-page-intro { margin-bottom: 24px; }
.email-page-intro h1 { margin: 8px 0 12px; color: #fbbf24; font-size: 38px; }
.email-page-intro p { color: #cbd5e1; }
.contact-demo-status { min-height: 1.7em; color: #fbbf24; font-weight: 750; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group.full-width { grid-column: 1 / -1; }
.form-group label { color: #fbbf24; font-size: 14px; font-weight: 600; }
.form-control { width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid #334155; border-radius: 6px; background: #0f172a; color: #e2e8f0; font: inherit; }
textarea.form-control { min-height: 140px; resize: vertical; }
.btn-submit { min-height: 48px; padding: 12px 28px; border: 0; border-radius: 6px; background: #fbbf24; color: #0f172a; font: inherit; font-weight: 700; }
.cms-immediate-site-information,
.cms-managed-footer-region { display: none; }
.site-footer { grid-column: 2; grid-row: 4; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 22px; padding: 18px 40px; border-top: 1px solid #334155; background: #0f172a; color: #94a3b8; }
.site-footer nav > ul { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; padding: 0; list-style: none; }
.site-footer nav li { margin: 0; }
.site-footer a { color: #cbd5e1; font-size: 12px; font-weight: 700; text-decoration: none; }
.site-footer a:hover { color: #fbbf24; }
.site-footer-identity { margin-left: auto; text-align: right; }
.site-footer-tagline { margin: 0 0 2px; color: #cbd5e1; font-size: 12px; }
.site-copyright { margin: 0; color: #94a3b8; font-size: 12px; }
.site-return-top { position: fixed; right: 24px; bottom: 24px; z-index: 2400; display: flex; width: 48px; height: 48px; align-items: center; justify-content: center; padding: 0; border: 1px solid #fbbf24; border-radius: 999px; background: #fbbf24; box-shadow: 0 14px 38px rgba(0,0,0,.42); color: #0f172a; }
.site-return-top[hidden] { display: none !important; }
.site-return-top:hover,
.site-return-top:focus-visible { border-color: #f59e0b; background: #f59e0b; color: #0f172a; outline: 0; transform: translateY(-2px); }
.site-return-top svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.phpog-page-actions { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; margin-top: 14px; }
.phpog-page-action-core { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px; }
.phpog-page-action-share-wrap { position: relative; display: inline-flex; }
.phpog-page-action-button,
.phpog-page-action-link { display: inline-flex; width: 40px; min-width: 40px; height: 40px; min-height: 40px; align-items: center; justify-content: center; padding: 0; border: 1px solid #334155; border-radius: 999px; background: rgba(15,23,42,.72); color: #cbd5e1; line-height: 1; text-decoration: none; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.phpog-page-action-button:hover,
.phpog-page-action-button:focus,
.phpog-page-action-link:hover,
.phpog-page-action-link:focus,
.phpog-page-action-button.is-active,
.phpog-page-action-button.is-copied,
.phpog-page-action-button[aria-expanded="true"],
.phpog-page-action-button[aria-pressed="true"] { border-color: #fbbf24; background: #fbbf24; color: #0f172a; outline: 0; transform: translateY(-1px); }
.phpog-page-action-icon { display: block; width: 18px; height: 18px; fill: currentColor; }
.phpog-page-action-menu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 2300; display: grid; min-width: 180px; gap: 4px; padding: 8px; border: 1px solid #334155; border-radius: 14px; background: #0f172a; box-shadow: 0 18px 52px rgba(0,0,0,.42); }
.phpog-page-action-menu[hidden] { display: none; }
.phpog-page-action-menu-item { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; background: transparent; color: #e2e8f0; font: inherit; font-size: 13px; font-weight: 800; line-height: 1.2; text-align: left; white-space: nowrap; }
.phpog-page-action-menu-item:hover,
.phpog-page-action-menu-item:focus { background: #fbbf24; color: #0f172a; outline: 0; }
.blog-post-header .phpog-page-actions,
.item-header .phpog-page-actions { clear: both; display: flex !important; width: 100%; margin-top: 14px; }
.phpog-bookmark-modal { position: fixed; inset: 0; z-index: 2400; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(2,6,23,.72); }
.phpog-bookmark-modal[hidden] { display: none; }
.phpog-bookmark-dialog { position: relative; width: min(520px, 100%); max-width: 520px; padding: 24px; border: 1px solid #fbbf24; border-radius: 18px; background: #1e293b; box-shadow: 0 24px 90px rgba(0,0,0,.48); color: #cbd5e1; }
.phpog-bookmark-dialog h2 { margin: 0 42px 12px 0; color: #fbbf24; font-size: 22px; line-height: 1.2; }
.phpog-bookmark-dialog p { margin: 0 0 12px; line-height: 1.65; }
.phpog-bookmark-dialog-title { color: #e2e8f0; font-weight: 800; overflow-wrap: anywhere; }
.phpog-bookmark-close { position: absolute; top: 18px; right: 18px; display: flex; width: 36px; height: 36px; min-height: 36px; align-items: center; justify-content: center; padding: 0; border: 1px solid #334155; border-radius: 999px; background: transparent; color: #cbd5e1; font-size: 22px; line-height: 1; }
.phpog-bookmark-close:hover,
.phpog-bookmark-close:focus { border-color: #fbbf24; background: #fbbf24; color: #0f172a; outline: 0; }
.phpog-bookmark-dialog-url-field { display: block; width: 100%; margin: 12px 0 10px; padding: 11px 12px; border: 1px solid #334155; border-radius: 10px; background: #0f172a; color: #e2e8f0; font: inherit; font-size: 13px; line-height: 1.5; }
.phpog-bookmark-dialog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.phpog-bookmark-dialog-button { padding: 10px 16px; border: 1px solid #fbbf24; border-radius: 999px; background: #fbbf24; color: #0f172a; font-size: 13px; font-weight: 800; line-height: 1; }
.phpog-share-dialog { max-width: 620px; }
.phpog-share-dialog-intro { margin: 0 0 14px; color: #cbd5e1; line-height: 1.65; }
.phpog-share-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0 14px; }
.phpog-share-option { display: flex; width: 100%; min-height: 58px; align-items: center; gap: 12px; padding: 11px 13px; border: 1px solid #334155; border-radius: 14px; background: #0f172a; color: #e2e8f0; font: inherit; line-height: 1.25; text-align: left; text-decoration: none; }
.phpog-share-option:hover,
.phpog-share-option:focus { border-color: #fbbf24; background: #fbbf24; color: #0f172a; outline: 0; transform: translateY(-1px); }
.phpog-share-option-icon { display: flex; width: 36px; height: 36px; flex: 0 0 36px; align-items: center; justify-content: center; border-radius: 999px; background: #fbbf24; color: #0f172a; }
.phpog-share-option-icon svg { width: 18px; height: 18px; fill: currentColor; }
.phpog-share-option-copy .phpog-share-option-icon svg { fill: none; stroke: currentColor; stroke-width: 2; }
.phpog-share-option-text,
.phpog-share-option-title,
.phpog-share-option-note { display: block; }
.phpog-share-option-title { font-size: 14px; font-weight: 800; }
.phpog-share-option-note { margin-top: 3px; color: #94a3b8; font-size: 12px; font-weight: 600; }
.phpog-share-url-label { display: block; margin-top: 8px; color: #94a3b8; font-size: 12px; font-weight: 800; }
@media (min-width: 769px) {
	.managed-drawer-menu > ul > li:not(.has-managed-submenu) { display: none; }
}
@media (max-width: 768px) {
	.container { grid-template-columns: 1fr; grid-template-rows: 64px auto minmax(0, 1fr) auto; }
	.header-quick-nav { display: none; }
	.site-menu-button { display: inline-flex; }
	.site-breadcrumbs { grid-column: 1; flex-wrap: wrap; padding: 10px 16px; }
	.site-customer-utility { max-width: 100%; overflow-x: auto; }
	.customer-utility-label { display: none; }
	.site-drawer { position: fixed; top: 0; bottom: auto; left: 0; z-index: 2200; display: block; width: min(86vw, 340px); height: 100dvh; padding: 22px 0; overflow-y: auto; transform: translateX(-105%); box-shadow: 18px 0 50px rgba(0,0,0,.35); transition: transform .3s ease; }
	.site-menu-open .site-drawer { transform: translateX(0); }
	.site-drawer-backdrop { position: fixed; inset: 0; z-index: 2100; display: block; width: 100%; min-height: 100%; padding: 0; border: 0; border-radius: 0; background: rgba(0,0,0,.58); }
	.site-drawer-backdrop[hidden] { display: none !important; }
	.site-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 12px 18px; padding: 0 0 14px; border-bottom: 1px solid #334155; }
	.site-drawer-head button { min-height: 38px; padding: 6px 10px; border: 1px solid #475569; background: transparent; color: #e2e8f0; }
	.managed-drawer-menu > ul > li.has-managed-submenu { margin-top: 0; }
	.managed-drawer-menu > ul > li.has-managed-submenu > .managed-menu-item-row > a { min-height: 44px; padding: 12px 16px 12px 2px; border-left: 3px solid transparent; color: #cbd5e1; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; }
	.phpog-main-slot { grid-column: 1; grid-row: 3; }
	main { padding: 24px; }
	.site-footer { grid-column: 1; grid-row: 4; padding: 16px 24px; }
	body.site-menu-open { overflow: hidden; }
	.no-js .site-menu-button,
	.no-js .site-drawer-backdrop { display: none; }
	.blog-post-header .phpog-page-actions { justify-content: flex-start; }
}
@media (max-width: 560px) {
	body.theme-phpog { font-size: 15px; }
	.header-logo { font-size: 21px; }
	.header-logo .svg-icon { width: 25px; height: 25px; }
	.site-header { padding: 0 14px; }
	.site-breadcrumb-trail { width: 100%; }
	main { padding: 18px 14px 32px; }
	.legal-page h1 { font-size: 30px; }
	.contact-form { grid-template-columns: 1fr; }
	.site-footer { align-items: flex-start; flex-direction: column; padding: 16px 14px; }
	.site-footer-identity { margin-left: 0; text-align: left; }
	.site-return-top { right: 14px; bottom: 14px; }
	.phpog-share-options { grid-template-columns: 1fr; }
	.phpog-bookmark-modal { align-items: flex-end; padding: 14px; }
	.phpog-bookmark-dialog { max-height: 92vh; overflow: auto; padding: 22px 18px; border-radius: 18px 18px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (forced-colors: active) {
	.site-return-top,
	.button,
	.btn { border: 1px solid ButtonText; }
}
.rt-align-left { text-align: left; }
.rt-align-center { text-align: center; }
.rt-align-right { text-align: right; }
.rt-indent-1 { margin-left: 2rem; }
.rt-indent-2 { margin-left: 4rem; }
.rt-indent-3 { margin-left: 6rem; }
.rt-font-sans { font-family: Arial, Helvetica, sans-serif; }
.rt-font-serif { font-family: Georgia, 'Times New Roman', serif; }
.rt-font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.rt-text-yellow { color: #8a5a00; }
.rt-text-red { color: #a51d2d; }
.rt-text-blue { color: #145da0; }
.rt-text-green { color: #176b45; }
.rt-text-gray { color: #56636b; }
.rt-bg-yellow { background-color: #fff0bd; }
.rt-bg-red { background-color: #fde2e5; }
.rt-bg-blue { background-color: #dfefff; }
.rt-bg-green { background-color: #def3e8; }
.rt-bg-gray { background-color: #e9eeef; }
.rt-image-left { width: min(42%, 360px); float: left; margin: 0.35rem 1.25rem 0.75rem 0 !important; }
.rt-image-right { width: min(42%, 360px); float: right; margin: 0.35rem 0 0.75rem 1.25rem !important; }
.rt-image-center { display: block; margin: 1rem auto !important; }
.rt-image-small { max-width: 240px !important; }
.rt-image-medium { max-width: 480px !important; }
.rt-image-large { max-width: 760px !important; }
@media (max-width: 680px) {
.rt-indent-1,
.rt-indent-2,
.rt-indent-3 { margin-left: 1rem; }
.rt-image-left,
.rt-image-right { width: 100%; max-width: none !important; margin: 1rem 0 !important; float: none; }

}
:root {--color-page:var(--classic-paper);--color-surface:var(--classic-white);--color-surface-elevated:var(--classic-white);--color-text:var(--classic-ink);--color-muted:var(--classic-steel);--color-border:var(--classic-line);--color-primary:var(--classic-accent-dark);--color-secondary:var(--classic-ink-soft);--color-link:var(--classic-accent-dark);--color-focus:var(--classic-gold);--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-selection:var(--classic-gold);--color-table-stripe:#172033;--color-navigation:#020617;--color-code:#020617}
.phpog-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.managed-primary-navigation .managed-menu-item-row { display: inline-flex; align-items: center; }
.managed-primary-navigation .managed-submenu-toggle { width: 30px; min-height: 38px; }
.managed-primary-navigation ul ul { position: absolute; top: 100%; left: 0; z-index: 120; min-width: 220px; margin: 0; padding: 8px; border: 1px solid var(--classic-line); border-radius: 6px; background: var(--classic-white); box-shadow: var(--cms-shadow-strong); list-style: none; }
.managed-primary-navigation ul ul .managed-menu-item-row { display: flex; margin-left: 6px; }
.managed-primary-navigation ul ul a { width: 100%; color: var(--classic-ink); text-transform: none; }
.managed-primary-navigation ul ul a::before { content: "›"; margin-right: 6px; color: var(--classic-gold); }
form:not(.site-search-form) input:not([type="checkbox"]):not([type="radio"]),
form:not(.site-search-form) select {min-height:40px;padding-top:8px;padding-bottom:8px}
form textarea {min-height:0}
.form-density-compact input:not([type="checkbox"]):not([type="radio"]),
.form-density-compact select,
.form-density-compact button {min-height:38px}
.form-density-compact textarea {min-height:0}
.contact-form,
.public-form {display:grid;grid-template-columns:1fr;gap:12px}
.contact-form textarea,
.public-form textarea {min-height:0}
