/*
Theme Name: Patronus (default)
Fonts: https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@400;500;600;700;800;900&family=Bebas+Neue&display=swap
Logo Light: brands/patronus/logo-light.png
Logo Dark: brands/patronus/logo-dark.png
*/

/* Patronus Marketing brand (patronus.live): teal #158885, terracotta #C96048,
   sand #D4A995, cream #F1E7DF, espresso #2F2924; Red Hat Display + condensed display.
   This file always loads. The --pt-* tokens style the Patronus chrome (login, credit,
   sign-off band) on every page; the plain tokens are the default report theme that
   client themes override. */

:root {
	--pt-ink: #2F2924;
	--pt-ink-2: #241F1B;
	--pt-teal: #158885;
	--pt-teal-l: #5CC3BF;
	--pt-terra: #C96048;
	--pt-sand: #D4A995;
	--pt-cream: #F1E7DF;
	--pt-font: "Red Hat Display", "Segoe UI", system-ui, sans-serif;
	--pt-display: "Bebas Neue", "Oswald", "Arial Narrow", Impact, sans-serif;

	/* Default report theme = Patronus. */
	--ink: #241F1B;
	--ink-2: #2F2924;
	--ink-3: #3B342E;
	--terra: #158885;
	--terra-d: #0F6B69;
	--accent-hi: #3FB0AC;
	--gold: #E2B8A3;
	--gold-ink: #9A5A43;
	--accent-on: #FBE5DA;
	--cream: #F1E7DF;
	--paper: #FFFFFF;
	--paper-2: #F7F1EC;
	--muted: #6A625C;
	--muted-2: #948B84;
	--line-c: #E4D8CE;
	--line-l: #EEE6DF;
	--stripe-l: #FAF6F2;
	--on-dark: #F7F1EC;
	--on-dark-2: #E2D7CE;
	--on-dark-sub: #B3A79E;
	--text-2: #463F39;
	--tip-bg: #241F1B;
	--series-2: #D4A995;
	--decor-1: color-mix(in srgb, #158885 70%, #241F1B);
	--decor-2: color-mix(in srgb, #C96048 70%, #241F1B);
	--bad: #C96048;
	--bad-l: #A84A35;
	--bad-d: #EE9883;
	--good-l: #0F6B69;
	--good-d: #6FD3CE;
	--serif: var(--pt-font);
	--sans: var(--pt-font);
	--h-weight: 800;
	--h1-weight: 400;
	--h-track: -.01em;
	--radius: 14px;
}

/* Patronus-themed pages use the condensed display face for the big titles. */
.pmr-brand-patronus .pmr-h1 { font-family: var(--pt-display); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; font-size: clamp(64px, 11vw, 150px); line-height: .9; }
.pmr-brand-patronus .pmr-hero-rule { background: linear-gradient(90deg, var(--pt-teal), var(--pt-terra)); height: 3px; }
.pmr-brand-patronus .pmr-btn { background: var(--pt-teal); border-color: var(--pt-teal); }
.pmr-brand-patronus .pmr-btn:hover { background: #117471; }
.pmr-brand-patronus .pmr-progress span { background: linear-gradient(90deg, var(--pt-teal), var(--pt-terra)); }
.pmr-brand-patronus .pmr-blob-1 { background: var(--decor-1); }
.pmr-brand-patronus .pmr-blob-2 { background: var(--decor-2); }

/* ------------------------------------------------------------------ */
/* Patronus chrome — identical on every client theme                  */
/* ------------------------------------------------------------------ */

/* Header logo (co-branded / staff pages). */
.pmr-brand-patronus { height: 34px; width: auto; }

/* "by Patronus" badge in the client top bar. */
.pmr-by { display: inline-flex; align-items: center; gap: 7px; margin-left: 6px; padding: 5px 12px 5px 9px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; text-decoration: none; font: 500 11px/1 var(--pt-font); transition: border-color .25s, background .25s, transform .3s; }
.pmr-by:hover { border-color: var(--pt-teal-l); background: rgba(21,136,133,.25); transform: translateY(-1px); }
.pmr-by img { width: 22px; height: 22px; object-fit: contain; }
.pmr-by-text { opacity: .7; }
.pmr-by-name { font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: 11px; }

/* "Prepared by Patronus Marketing" chip in hero areas. */
.pmr-prepared { display: inline-flex; align-items: center; gap: 10px; margin-top: 30px; padding: 8px 16px 8px 8px; border-radius: 999px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); color: #fff; text-decoration: none; transition: background .25s, border-color .25s; }
.pmr-prepared:hover { background: rgba(21,136,133,.28); border-color: var(--pt-teal-l); }
.pmr-prepared img { width: 30px; height: 30px; padding: 3px; border-radius: 50%; background: var(--pt-teal); object-fit: contain; }
.pmr-prepared span { font: 800 13px/1.15 var(--pt-font); letter-spacing: .04em; }
.pmr-prepared small { display: block; font: 500 10px/1.2 var(--pt-font); letter-spacing: .16em; text-transform: uppercase; opacity: .7; }

/* Sign-off band. */
.pmr-ptband { position: relative; background: var(--pt-ink); color: var(--pt-cream); font-family: var(--pt-font); padding: 40px 0 22px; }
.pmr-ptband::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--pt-teal), var(--pt-sand), var(--pt-terra)); }
.pmr-ptband-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.pmr-ptband-logo img { height: 64px; width: auto; display: block; transition: transform .5s var(--ease-spring); }
.pmr-ptband-logo:hover img { transform: scale(1.04); }
.pmr-ptband-kicker { margin: 0; font: 900 13px/1.3 var(--pt-font); letter-spacing: .24em; text-transform: uppercase; color: var(--pt-teal-l); }
.pmr-ptband-line { margin: 6px 0 0; font: 500 15px/1.5 var(--pt-font); color: #CFC3BA; }
.pmr-ptband-links { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.pmr-ptband-links a { color: var(--pt-cream); text-decoration: none; font: 700 14px/1.3 var(--pt-font); border-bottom: 1px solid rgba(241,231,223,.25); transition: color .2s, border-color .2s; }
.pmr-ptband-links a:hover { color: var(--pt-teal-l); border-color: var(--pt-teal-l); }
.pmr-ptband-legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 28px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); font: 500 12px/1.4 var(--pt-font); color: #9A8E85; }
@media (max-width: 760px) {
	.pmr-ptband-inner { grid-template-columns: 1fr; gap: 16px; }
	.pmr-ptband-links { align-items: flex-start; }
	.pmr-by-text, .pmr-by-name { display: none; }
	.pmr-by { padding: 5px; margin-left: 0; }
}

/* ------------------------------------------------------------------ */
/* Sign-in page (always Patronus)                                      */
/* ------------------------------------------------------------------ */

.pmr-login { min-height: 100vh; min-height: 100svh; display: grid; grid-template-columns: 1.1fr 1fr; background: var(--pt-cream); font-family: var(--pt-font); }
.pmr-login-art { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(28px, 5vw, 64px); background: var(--pt-ink); color: var(--pt-cream); isolation: isolate; }
.pmr-login-art::before { content: ""; position: absolute; inset: -20%; background: radial-gradient(40% 40% at 25% 30%, rgba(21,136,133,.45), transparent 70%), radial-gradient(35% 35% at 80% 75%, rgba(201,96,72,.35), transparent 70%); animation: pmr-aurora 18s ease-in-out infinite alternate; z-index: -1; }
@keyframes pmr-aurora { to { transform: translate(4%, -3%) rotate(8deg) scale(1.08); } }
.pmr-login-logo img { height: 72px; width: auto; }
.pmr-login-stag { position: absolute; right: -8%; bottom: -6%; width: min(62%, 520px); opacity: .1; filter: brightness(2); animation: pmr-float 24s ease-in-out infinite; z-index: -1; pointer-events: none; }
.pmr-login-headline { margin: 0; font: 400 clamp(56px, 8vw, 120px)/.88 var(--pt-display); text-transform: uppercase; letter-spacing: .01em; }
.pmr-login-headline span { display: block; color: var(--pt-teal-l); }
.pmr-login-sub { max-width: 40ch; margin: 22px 0 0; font: 500 17px/1.55 var(--pt-font); color: #CFC3BA; }
.pmr-login-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.pmr-login-pills span { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(241,231,223,.18); font: 700 12px/1 var(--pt-font); letter-spacing: .12em; text-transform: uppercase; color: var(--pt-cream); }
.pmr-login-foot { margin: 0; font: 500 12px/1.4 var(--pt-font); color: #9A8E85; }
.pmr-login-form-wrap { display: grid; place-items: center; padding: clamp(24px, 5vw, 64px) 16px; }
.pmr-login-form { width: 100%; max-width: 420px; animation: pmr-rise .9s var(--ease) both; }
.pmr-login-form h1 { margin: 0; font: 900 34px/1.1 var(--pt-font); color: var(--pt-ink); letter-spacing: -.01em; }
.pmr-login-form .pmr-login-intro { margin: 10px 0 28px; color: #6A625C; font-size: 15px; }
.pmr-login-form .pmr-field span { color: #6A625C; }
.pmr-login-form .pmr-field input { background: #fff; color: var(--pt-ink); border: 1.5px solid #E0D3C8; border-radius: 12px; font-family: var(--pt-font); }
.pmr-login-form .pmr-field input:focus { border-color: var(--pt-teal); box-shadow: 0 0 0 4px rgba(21,136,133,.15); }
.pmr-login-form .pmr-pass-toggle { background: #F1E7DF; color: #6A625C; }
.pmr-login-form .pmr-pass-toggle:hover { background: #E7DACE; color: var(--pt-ink); }
.pmr-login-form .pmr-check { color: #4A433D; }
.pmr-login-form .pmr-check input { accent-color: var(--pt-teal); }
.pmr-login-form .pmr-gate-link { color: var(--pt-teal); font-weight: 700; }
.pmr-login-form .pmr-btn { background: var(--pt-teal); border-color: var(--pt-teal); color: #fff; font-family: var(--pt-font); font-weight: 800; letter-spacing: .04em; border-radius: 12px; }
.pmr-login-form .pmr-btn:hover { background: #117471; box-shadow: 0 14px 30px -14px rgba(21,136,133,.9); }
.pmr-login-form .pmr-gate-error { background: rgba(201,96,72,.12); color: #A84A35; }
.pmr-login-form .pmr-gate-notice { background: rgba(21,136,133,.1); color: #0F6B69; }
.pmr-login-secure { display: flex; align-items: center; gap: 8px; margin-top: 22px; font: 500 12.5px/1.4 var(--pt-font); color: #8A8079; }
.pmr-login-secure svg { flex: none; color: var(--pt-teal); }
@media (max-width: 900px) {
	.pmr-login { grid-template-columns: 1fr; }
	.pmr-login-art { min-height: 280px; gap: 28px; }
	.pmr-login-headline { font-size: clamp(48px, 14vw, 80px); }
	.pmr-login-sub, .pmr-login-pills { display: none; }
}
