/* =========================================================
   Portland Advisers — design tokens (v10 brand-blue baseline)
   Scoped to .pa-site (body class) so it covers the entire
   front-end without intruding into the Elementor editor.
   ========================================================= */
.pa-site {
	/* Brand */
	--pa-blue:        #2F0F6B;
	--pa-blue-deep:   #1A0742;
	--pa-blue-950:    #0E0326;
	--pa-ink:         #1A0E3A;       /* body text colour */
	--pa-ink-2:       #261756;

	/* Neutrals */
	--pa-silver:      #9A97AF;
	--pa-silver-2:    #6E6B83;
	--pa-platinum:    #E6E5EC;
	--pa-bone:        #F5F3EE;
	--pa-bone-2:      #EDEAE2;
	--pa-paper:       #FFFFFF;

	/* Accents */
	--pa-accent:      #9A97AF;
	--pa-accent-warm: #C9A96A;

	/* Rules */
	--pa-rule:        rgba(47, 15, 107, 0.12);
	--pa-rule-soft:   rgba(47, 15, 107, 0.06);
	--pa-rule-dark:   rgba(255, 255, 255, 0.14);

	/* Type */
	--pa-font-serif:  "Source Serif 4", "Source Serif Pro", ui-serif, Georgia, serif;
	--pa-font-sans:   "Inter", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--pa-font-mono:   ui-monospace, "SF Mono", Menlo, Consolas, monospace;

	/* Layout */
	--pa-container:   1320px;
	--pa-gutter:      clamp(20px, 3.2vw, 48px);
	--pa-nav-height:  76px;

	/* Motion */
	--pa-ease:        cubic-bezier(0.21, 0.47, 0.32, 0.98);

	font-family: var(--pa-font-sans);
	color: var(--pa-ink);
	background: var(--pa-paper);
	font-feature-settings: "ss01", "cv11";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Grain keyframes used by hero-style backgrounds */
@keyframes pa-grain {
	0%, 100% { transform: translate(0, 0); }
	10%      { transform: translate(-3%, -4%); }
	20%      { transform: translate(4%, 2%); }
	30%      { transform: translate(-2%, 5%); }
	40%      { transform: translate(3%, -2%); }
	50%      { transform: translate(-4%, 4%); }
	60%      { transform: translate(5%, -3%); }
	70%      { transform: translate(-3%, 2%); }
	80%      { transform: translate(4%, -5%); }
	90%      { transform: translate(-2%, 3%); }
}

@media (prefers-reduced-motion: reduce) {
	.pa-site * {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
