/**
 * PayFeeCalc visual identity
 *
 * Load after Blocksy and the component styles. This file is presentation only:
 * no calculator state, math, form field, or interaction is changed.
 *
 * Logo hook:
 * --pfc-brand-mark-image accepts a CSS image such as
 * url("../images/payfeecalc-mark.svg"). Until an asset is supplied, the
 * local SVG keeps the brand mark sharp without an extra external request.
 */

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/manrope-latin.woff2") format("woff2");
}

:root {
	/* Brand */
	--pfc-brand-ink: #0b1f3a;
	--pfc-brand-primary: #1d4ed8;
	--pfc-brand-light: #eaf2ff;
	--pfc-brand-medium: #6ea8ff;
	--pfc-brand-white: #ffffff;
	--pfc-brand-surface: #f7f9fc;
	--pfc-ink: var(--pfc-brand-ink);
	--pfc-ink-deep: #07172c;
	--pfc-ink-soft: #243b5a;
	--pfc-primary: var(--pfc-brand-primary);
	--pfc-primary-dark: #153aa3;
	--pfc-primary-bright: var(--pfc-brand-medium);
	--pfc-light-blue: var(--pfc-brand-light);
	--pfc-light-blue-strong: #dbe9ff;

	/* Neutrals */
	--pfc-text: #24344d;
	--pfc-muted: #5f6f85;
	--pfc-border: #d7e0eb;
	--pfc-border-strong: #b8c6d8;
	--pfc-surface: var(--pfc-brand-surface);
	--pfc-surface-raised: var(--pfc-brand-white);
	--pfc-surface-tint: #f0f5ff;

	/* Type and shape */
	--pfc-font-sans: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--pfc-radius-sm: 10px;
	--pfc-radius-md: 14px;
	--pfc-radius-lg: 18px;
	--pfc-radius-pill: 999px;

	/* Elevation */
	--pfc-shadow-sm: 0 4px 16px rgba(11, 31, 58, 0.055);
	--pfc-shadow-md: 0 12px 32px rgba(11, 31, 58, 0.08);
	--pfc-shadow-lg: 0 18px 48px rgba(11, 31, 58, 0.1);
	--pfc-focus-ring: 0 0 0 3px rgba(29, 78, 216, 0.22);

	--pfc-brand-mark-image: url("../images/payfeecalc-mark.svg?ver=1.5.0");

	/* Blocksy palette bridge */
	--theme-palette-color-1: var(--pfc-primary);
	--theme-palette-color-2: var(--pfc-primary-dark);
	--theme-palette-color-3: var(--pfc-muted);
	--theme-palette-color-4: var(--pfc-ink);
	--theme-palette-color-5: var(--pfc-border);
	--theme-palette-color-6: var(--pfc-surface-tint);
	--theme-palette-color-7: var(--pfc-surface);
	--theme-palette-color-8: var(--pfc-surface-raised);
	--theme-text-color: var(--pfc-text);
	--theme-link-initial-color: var(--pfc-primary);
	--theme-link-hover-color: var(--pfc-primary-dark);
	--theme-font-family: var(--pfc-font-sans);
	--theme-heading-font-family: var(--pfc-font-sans);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 6rem;
}

body {
	background: var(--pfc-surface);
	color: var(--pfc-text);
	font-family: var(--pfc-font-sans);
	font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

::selection {
	background: var(--pfc-light-blue-strong);
	color: var(--pfc-ink-deep);
}

body :where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid rgba(29, 78, 216, 0.32);
	outline-offset: 3px;
}

/* Header and brand lockup -------------------------------------------------- */

#header.ct-header {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid rgba(11, 31, 58, 0.08);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 3px 14px rgba(11, 31, 58, 0.035);
	backdrop-filter: blur(14px);
}

#header [data-row="middle"] {
	background: transparent;
}

#header [data-row="middle"] > .ct-container {
	min-height: 72px;
}

#header .site-branding[data-id="logo"] {
	min-width: max-content;
}

#header .site-title,
#header .site-title a {
	color: var(--pfc-ink);
	font-family: var(--pfc-font-sans);
	font-size: clamp(1.2rem, 2vw, 1.46rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	text-decoration: none;
}

#header .site-title a {
	display: inline-flex;
	align-items: center;
	gap: 0.66rem;
}

/* The reusable .pfc-brand-mark class supports the mark outside the header. */
#header .site-title a::before,
.pfc-brand-mark {
	display: inline-block;
	width: 2.1rem;
	height: 2.1rem;
	flex: 0 0 2.1rem;
	border: 0;
	border-radius: 0.66rem;
	background-color: var(--pfc-primary);
	background-image: var(--pfc-brand-mark-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: 0 4px 12px rgba(29, 78, 216, 0.16);
	content: "";
}

#header .site-logo-container img,
.pfc-brand-logo img {
	width: auto;
	max-height: 42px;
	object-fit: contain;
}

#header .header-menu-1 .menu {
	gap: 0.16rem;
}

#header .header-menu-1 .ct-menu-link {
	min-height: 42px;
	padding: 0.62rem 0.82rem;
	border-radius: 8px;
	box-shadow: inset 0 -2px 0 transparent;
	color: var(--pfc-ink-soft);
	font-family: var(--pfc-font-sans);
	font-size: 0.91rem;
	font-weight: 700;
	letter-spacing: -0.012em;
	text-transform: none;
	transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

#header .header-menu-1 .menu-item:hover > .ct-menu-link,
#header .header-menu-1 .menu-item:focus-within > .ct-menu-link {
	background: transparent;
	color: var(--pfc-primary-dark);
	box-shadow: inset 0 -2px 0 rgba(29, 78, 216, 0.35);
}

#header .header-menu-1 .current-menu-item > .ct-menu-link,
#header .header-menu-1 .current_page_item > .ct-menu-link {
	background: transparent;
	color: var(--pfc-primary);
	box-shadow: inset 0 -2px 0 var(--pfc-primary);
}

#header .ct-header-search,
#header .ct-header-trigger {
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid var(--pfc-border);
	border-radius: 50%;
	background: var(--pfc-surface-raised);
	color: var(--pfc-ink);
	transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

#header .ct-header-search:hover,
#header .ct-header-trigger:hover {
	border-color: var(--pfc-primary);
	background: var(--pfc-light-blue);
	color: var(--pfc-primary-dark);
}

#offcanvas .ct-toggle-close {
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
}

/* Page hierarchy and editorial content ----------------------------------- */

#main {
	background: var(--pfc-surface);
}

.hero-section {
	position: relative;
	overflow: hidden;
	border-bottom: 0;
	background: var(--pfc-brand-white);
}

.hero-section::after {
	display: none;
}

.page-title,
.hero-section .page-title,
.hero-section .entry-title,
.entry-content h1 {
	max-width: 22ch;
	margin-bottom: 0.72em;
	color: var(--pfc-ink);
	font-family: var(--pfc-font-sans);
	font-size: clamp(2.25rem, 5vw, 3.35rem);
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 1.04;
	text-wrap: balance;
}

.hero-section .page-title,
.hero-section .entry-title {
	padding-left: 1rem;
	border-left: 4px solid var(--pfc-primary);
}

body.home .entry-content > p:nth-of-type(2) {
	display: none;
}

.entry-content {
	color: var(--pfc-text);
	font-size: clamp(1rem, 1.2vw, 1.075rem);
	line-height: 1.78;
}

.entry-content > :where(p, ul, ol, blockquote) {
	text-wrap: pretty;
}

.entry-content h2,
.archive #main h2:not(.entry-title) {
	position: relative;
	margin-top: clamp(2.5rem, 6vw, 4.6rem);
	margin-bottom: 0.8rem;
	padding-top: 0.82rem;
	color: var(--pfc-ink);
	font-family: var(--pfc-font-sans);
	font-size: clamp(1.65rem, 3.1vw, 2.5rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.16;
	text-wrap: balance;
}

.entry-content h2::before,
.archive #main h2:not(.entry-title)::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 3.35rem;
	height: 4px;
	border-radius: var(--pfc-radius-pill);
	background: var(--pfc-primary);
	content: "";
}

.entry-content h3 {
	margin-top: 2rem;
	margin-bottom: 0.55rem;
	color: var(--pfc-ink-soft);
	font-family: var(--pfc-font-sans);
	font-size: clamp(1.24rem, 2vw, 1.58rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.3;
}

.entry-content a:not(.wp-element-button):not(.wp-block-button__link) {
	color: var(--pfc-primary);
	font-weight: 650;
	text-decoration-color: rgba(29, 78, 216, 0.32);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.17em;
}

.entry-content a:not(.wp-element-button):not(.wp-block-button__link):hover {
	color: var(--pfc-primary-dark);
	text-decoration-color: currentColor;
}

.entry-content :where(ul, ol) li::marker {
	color: var(--pfc-primary);
	font-weight: 800;
}

.entry-content blockquote,
.wp-block-quote {
	margin-inline: 0;
	padding: 1.25rem 1.35rem;
	border: 1px solid var(--pfc-border);
	border-left: 5px solid var(--pfc-primary);
	border-radius: var(--pfc-radius-md);
	background: var(--pfc-surface-tint);
	color: var(--pfc-ink-soft);
	box-shadow: var(--pfc-shadow-sm);
}

.entry-content code:not(pre code) {
	padding: 0.14em 0.38em;
	border: 1px solid var(--pfc-border);
	border-radius: 6px;
	background: var(--pfc-surface-tint);
	color: var(--pfc-primary-dark);
	font-size: 0.9em;
}

.wp-element-button,
.wp-block-button__link {
	min-height: 48px;
	padding: 0.76rem 1.2rem;
	border: 1px solid transparent;
	border-radius: var(--pfc-radius-pill);
	background: var(--pfc-primary);
	box-shadow: 0 10px 24px rgba(29, 78, 216, 0.18);
	color: var(--pfc-brand-white);
	font-family: var(--pfc-font-sans);
	font-weight: 800;
	transition: background-color 160ms ease, box-shadow 160ms ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	background: var(--pfc-primary-dark);
	box-shadow: 0 14px 30px rgba(29, 78, 216, 0.24);
	color: var(--pfc-brand-white);
}

/* Editorial utility blocks already used by the manual fee guide. */
.pfc-table-of-contents,
.entry-content .wp-block-group.has-background {
	padding: clamp(1.15rem, 3vw, 1.7rem);
	border: 1px solid var(--pfc-border);
	border-radius: var(--pfc-radius-md);
	background: var(--pfc-surface-tint);
	box-shadow: var(--pfc-shadow-sm);
}

.pfc-table-of-contents h2:first-child,
.entry-content .wp-block-group.has-background h2:first-child {
	margin-top: 0;
}

/* Tables ------------------------------------------------------------------ */

.entry-content .wp-block-table {
	margin-block: clamp(1.5rem, 3vw, 2.3rem);
	overflow-x: auto;
	border: 1px solid var(--pfc-border);
	border-radius: var(--pfc-radius-md);
	background: var(--pfc-surface-raised);
	box-shadow: var(--pfc-shadow-sm);
	-webkit-overflow-scrolling: touch;
}

.entry-content .wp-block-table table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	background: transparent;
	font-size: 0.92rem;
	line-height: 1.55;
}

.entry-content .wp-block-table th,
.entry-content .wp-block-table td {
	padding: 0.88rem 1rem;
	border: 0;
	border-right: 1px solid var(--pfc-border);
	border-bottom: 1px solid var(--pfc-border);
	vertical-align: top;
	text-align: left;
}

.entry-content .wp-block-table th:last-child,
.entry-content .wp-block-table td:last-child {
	border-right: 0;
}

.entry-content .wp-block-table tbody tr:last-child td {
	border-bottom: 0;
}

.entry-content .wp-block-table thead th {
	background: var(--pfc-ink);
	color: var(--pfc-brand-white);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.025em;
	text-transform: none;
}

.entry-content .wp-block-table tbody tr:nth-child(even) td,
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(even) td {
	background: var(--pfc-surface-tint);
}

.entry-content .wp-block-table tbody tr:hover td {
	background: var(--pfc-light-blue);
}

.entry-content .wp-block-table figcaption {
	margin: 0;
	padding: 0.8rem 1rem;
	border-top: 1px solid var(--pfc-border);
	background: var(--pfc-surface);
	color: var(--pfc-muted);
	font-size: 0.78rem;
	line-height: 1.55;
	text-align: left;
}

/* Archive and guide cards ------------------------------------------------- */

.entries[data-layout="grid"] {
	gap: clamp(1.25rem, 3vw, 2rem);
}

.entries[data-cards="boxed"] .entry-card,
.entry-card.card-content {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--pfc-border);
	border-radius: 16px;
	background: var(--pfc-surface-raised);
	box-shadow: var(--pfc-shadow-sm);
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.entries[data-cards="boxed"] .entry-card:hover,
.entry-card.card-content:hover {
	border-color: rgba(29, 78, 216, 0.38);
	box-shadow: var(--pfc-shadow-md);
	transform: none;
}

.entry-card .ct-media-container {
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--pfc-surface-tint);
}

.entry-card .ct-media-container img {
	transition: opacity 180ms ease;
}

.entry-card:hover .ct-media-container img {
	opacity: 0.96;
}

.entry-card .entry-title {
	margin-block: 0.45rem 0.55rem;
	font-family: var(--pfc-font-sans);
	font-size: clamp(1.22rem, 2vw, 1.55rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.25;
	text-wrap: balance;
}

.entry-card .entry-title a {
	color: var(--pfc-ink);
}

.entry-card .entry-title a:hover {
	color: var(--pfc-primary);
}

.entry-card .entry-excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	color: var(--pfc-muted);
	font-size: 0.94rem;
	line-height: 1.7;
}

.entry-card .entry-meta {
	color: var(--pfc-muted);
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.025em;
}

.entry-card > .entry-meta:first-child a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0.32rem 0.65rem;
	border-radius: var(--pfc-radius-pill);
	background: var(--pfc-light-blue);
	color: var(--pfc-primary-dark);
	font-weight: 800;
	letter-spacing: 0.015em;
}

/* Calculator skin — presentation only ------------------------------------ */

.pfc-calculator {
	--pfc-accent: var(--pfc-primary);
	--pfc-accent-strong: var(--pfc-primary-dark);
	--pfc-teal: var(--pfc-primary);
	--pfc-ink: var(--pfc-brand-ink);
	--pfc-muted: #5f6f85;
	--pfc-line: #d7e0eb;
	--pfc-soft: var(--pfc-light-blue);
	--pfc-card: var(--pfc-brand-white);
	--pfc-success: var(--pfc-primary);
	--pfc-danger: var(--pfc-primary-dark);
	--pfc-shadow: var(--pfc-shadow-lg);
	position: relative;
	border-color: var(--pfc-border);
	border-radius: 18px;
	font-family: var(--pfc-font-sans);
	box-shadow: var(--pfc-shadow-lg);
}

.pfc-calculator::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 2;
	height: 4px;
	background: var(--pfc-primary);
	content: "";
	pointer-events: none;
}

.pfc-calculator__header {
	padding: clamp(1.45rem, 3vw, 2rem);
	background: var(--pfc-brand-ink);
}

.pfc-calculator__eyebrow {
	color: #dbe9ff;
	font-weight: 800;
	letter-spacing: 0.095em;
}

.pfc-calculator__status-dot {
	background: var(--pfc-brand-medium);
	box-shadow: 0 0 0 5px rgba(110, 168, 255, 0.16);
}

.pfc-calculator__title {
	color: var(--pfc-brand-white);
	font-family: var(--pfc-font-sans);
	font-weight: 800;
	letter-spacing: -0.052em;
}

.pfc-calculator__intro {
	color: #dbe9ff;
}

.pfc-calculator__form {
	background: var(--pfc-brand-white);
}

.pfc-calculator__mode legend,
.pfc-calculator__field label {
	color: var(--pfc-ink);
	font-family: var(--pfc-font-sans);
	font-weight: 800;
}

.pfc-calculator__segmented {
	border-color: var(--pfc-border);
	background: var(--pfc-surface-tint);
}

.pfc-calculator__segmented input:checked + span {
	border: 1px solid rgba(29, 78, 216, 0.2);
	background: var(--pfc-brand-white);
	color: var(--pfc-primary-dark);
	box-shadow: 0 5px 16px rgba(11, 31, 58, 0.09);
}

.pfc-calculator__segmented input:focus-visible + span {
	outline-color: rgba(29, 78, 216, 0.32);
}

.pfc-calculator__field input,
.pfc-calculator__field select,
.pfc-calculator__amount-control {
	border-color: var(--pfc-border-strong);
	border-radius: 12px;
	color: var(--pfc-ink);
}

.pfc-calculator__field input:hover,
.pfc-calculator__field select:hover,
.pfc-calculator__amount-control:hover {
	border-color: rgba(29, 78, 216, 0.62);
}

.pfc-calculator__field input:focus,
.pfc-calculator__field select:focus {
	border-color: var(--pfc-primary);
	outline-color: rgba(29, 78, 216, 0.16);
}

.pfc-calculator__amount-control > span {
	border-right-color: var(--pfc-border);
	background: var(--pfc-light-blue);
	color: var(--pfc-primary-dark);
}

.pfc-calculator__quick-amounts button {
	min-width: 44px;
	min-height: 44px;
	border-color: var(--pfc-border);
	background: var(--pfc-brand-white);
	color: var(--pfc-muted);
}

.pfc-calculator__quick-amounts button:hover,
.pfc-calculator__quick-amounts button:focus-visible {
	border-color: var(--pfc-primary);
	background: var(--pfc-light-blue);
	color: var(--pfc-primary-dark);
}

.pfc-calculator__advanced {
	border-color: var(--pfc-border-strong);
	background: var(--pfc-surface);
}

.pfc-calculator__advanced summary {
	color: var(--pfc-primary-dark);
}

.pfc-calculator__check input {
	accent-color: var(--pfc-primary);
}

.pfc-calculator__submit {
	border-radius: 13px;
	background: var(--pfc-primary);
	box-shadow: 0 13px 26px rgba(29, 78, 216, 0.24);
	font-family: var(--pfc-font-sans);
	font-weight: 800;
}

.pfc-calculator__submit:hover {
	background: var(--pfc-primary-dark);
	box-shadow: 0 17px 34px rgba(29, 78, 216, 0.3);
}

.pfc-calculator__submit:focus-visible,
.pfc-calculator__copy:focus-visible {
	outline-color: rgba(29, 78, 216, 0.32);
}

.pfc-calculator__result {
	border-left-color: var(--pfc-border);
	background: #f4f8ff;
}

.pfc-calculator__result-top {
	border-bottom-color: var(--pfc-border);
}

.pfc-calculator__result-label {
	color: var(--pfc-muted);
	font-weight: 800;
}

.pfc-calculator__result-value {
	color: var(--pfc-primary-dark);
	font-family: var(--pfc-font-sans);
	font-weight: 800;
}

.pfc-calculator__copy {
	border-color: var(--pfc-border);
	background: rgba(255, 255, 255, 0.88);
	color: var(--pfc-primary-dark);
}

.pfc-calculator__copy:hover {
	border-color: var(--pfc-primary);
	background: var(--pfc-brand-white);
}

.pfc-calculator__breakdown > div {
	color: var(--pfc-muted);
}

.pfc-calculator__breakdown dd {
	color: var(--pfc-ink);
}

.pfc-calculator__breakdown-total {
	border-top-color: var(--pfc-border);
}

.pfc-calculator__breakdown-total dd,
.pfc-calculator__breakdown-total [data-pfc-total-fee] {
	color: var(--pfc-primary-dark);
}

.pfc-calculator__rate-used {
	border-color: var(--pfc-border-strong);
	background: rgba(255, 255, 255, 0.72);
}

.pfc-calculator__rate-used span {
	color: var(--pfc-muted);
}

.pfc-calculator__footer {
	border-top-color: var(--pfc-border);
	background: var(--pfc-brand-white);
}

.pfc-calculator__footer a {
	color: var(--pfc-primary);
}

.pfc-calculator__field .pfc-calculator__currency-note,
.pfc-calculator__field .pfc-calculator__product-note {
	border-left-color: var(--pfc-primary);
	background: var(--pfc-light-blue);
	color: var(--pfc-ink-soft);
}

.pfc-calculator__error {
	border-left-color: var(--pfc-primary-dark);
	background: var(--pfc-light-blue);
	color: var(--pfc-ink);
}

/* Contact form follows the same system without changing its behavior. */
.pfc-contact {
	--pfc-contact-accent: var(--pfc-primary);
	--pfc-contact-accent-strong: var(--pfc-primary-dark);
	--pfc-contact-ink: var(--pfc-ink);
	--pfc-contact-muted: var(--pfc-muted);
	--pfc-contact-line: var(--pfc-border);
	border-color: var(--pfc-border);
	border-radius: var(--pfc-radius-lg);
	font-family: var(--pfc-font-sans);
	box-shadow: var(--pfc-shadow-md);
}

.pfc-contact__header {
	background: var(--pfc-brand-ink);
}

.pfc-contact__submit {
	background: var(--pfc-primary);
	box-shadow: 0 12px 24px rgba(29, 78, 216, 0.22);
}

/* Footer ------------------------------------------------------------------ */

#footer.ct-footer {
	position: relative;
	overflow: hidden;
	background: var(--pfc-ink-deep);
	color: #dbe9ff;
}

#footer.ct-footer::before {
	display: none;
}

#footer [data-row="top"] {
	position: relative;
	background: transparent;
}

#footer [data-row="top"] > .ct-container {
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
}

#footer nav[aria-label]::before {
	display: block;
	margin-bottom: 1rem;
	color: var(--pfc-brand-white);
	font-family: var(--pfc-font-sans);
	font-size: 0.84rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	content: attr(aria-label);
}

#footer .footer-menu-inline .menu {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 0.42rem;
}

#footer .footer-menu-inline .ct-menu-link {
	padding-block: 0.22rem;
	color: #dbe9ff;
	font-family: var(--pfc-font-sans);
	font-size: 0.91rem;
	font-weight: 600;
	text-transform: none;
	text-decoration: none;
	transition: color 160ms ease, transform 160ms ease;
}

#footer .footer-menu-inline .ct-menu-link:hover,
#footer .footer-menu-inline .ct-menu-link:focus-visible {
	color: var(--pfc-brand-white);
	transform: translateX(3px);
}

#footer [data-row="bottom"] {
	position: relative;
	border-top: 1px solid rgba(219, 233, 255, 0.16);
	background: rgba(7, 23, 44, 0.34);
}

#footer [data-row="bottom"] > .ct-container {
	padding-block: 1.25rem;
}

#footer .ct-footer-copyright {
	max-width: 78rem;
	color: #afc6e8;
	font-family: var(--pfc-font-sans);
	font-size: 0.76rem;
	line-height: 1.65;
}

#footer .ct-footer-copyright a {
	color: #dbe9ff;
}

/* Responsive behavior ----------------------------------------------------- */

@media (max-width: 999px) {
	#header [data-row="middle"] > .ct-container {
		min-height: 64px;
	}

	#header .site-title a::before,
	.pfc-brand-mark {
		width: 1.92rem;
		height: 1.92rem;
		flex-basis: 1.92rem;
	}

	.mobile-menu .ct-menu-link {
		font-family: var(--pfc-font-sans);
		font-weight: 750;
		text-transform: none;
	}

	.mobile-menu .current-menu-item > .ct-menu-link {
		color: var(--pfc-primary-dark);
	}

	.pfc-calculator__result {
		border-top-color: var(--pfc-border);
	}
}

@media (max-width: 720px) {
	html {
		scroll-padding-top: 4.5rem;
	}

	.page-title,
	.hero-section .page-title,
	.hero-section .entry-title,
	.entry-content h1 {
		font-size: clamp(2.05rem, 10vw, 2.65rem);
		line-height: 1.08;
	}

	.entry-content {
		font-size: 1rem;
		line-height: 1.72;
	}

	.entry-content h2,
	.archive #main h2:not(.entry-title) {
		margin-top: 2.65rem;
		font-size: clamp(1.55rem, 7vw, 2rem);
	}

	.entry-content .wp-block-table table {
		min-width: 620px;
		font-size: 0.86rem;
	}

	.entry-content .wp-block-table th,
	.entry-content .wp-block-table td {
		padding: 0.75rem 0.82rem;
	}

	.entries[data-cards="boxed"] .entry-card,
	.entry-card.card-content {
		border-radius: 19px;
	}

	.pfc-calculator,
	.pfc-contact {
		border-radius: 18px;
		box-shadow: var(--pfc-shadow-md);
	}

	.pfc-calculator__header {
		padding: 1.45rem 1.2rem 1.55rem;
	}

	.pfc-calculator__form,
	.pfc-calculator__result {
		padding-inline: 1.05rem;
	}

	#footer [data-row="top"] > .ct-container {
		gap: 2rem;
		padding-block: 2.5rem;
	}
}

@media (max-width: 480px) {
	#header .site-title,
	#header .site-title a {
		font-size: 1.13rem;
	}

	#header .site-title a {
		gap: 0.52rem;
	}

	#header .site-title a::before,
	.pfc-brand-mark {
		width: 1.72rem;
		height: 1.72rem;
		flex-basis: 1.72rem;
		border-radius: 0.54rem;
	}

	.entry-content .wp-block-table {
		margin-inline: -0.35rem;
		border-radius: 12px;
	}

	.pfc-calculator__trust-row {
		gap: 0.55rem 0.8rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto;
		transition-duration: 0.01ms;
		animation-duration: 0.01ms;
		animation-iteration-count: 1;
	}
}

@media (prefers-contrast: more) {
	:root {
		--pfc-border: #91a4bd;
		--pfc-border-strong: #6f85a3;
	}

	#header .header-menu-1 .current-menu-item > .ct-menu-link,
	#header .header-menu-1 .current_page_item > .ct-menu-link {
		outline: 2px solid currentColor;
	}
}
