/* ============================================================
   Proxima Capital — design system
   Institutional editorial: Fraunces display (italic accents) +
   Gellix body, deep teal ink, green accent, sharp radii, hairlines,
   full-bleed hero, ink stat-band. Adapted from the sibling brand system.
   ============================================================ */

:root {
	--pc-ink:        #0a1f1c;   /* deep teal near-black */
	--pc-teal:       #085454;   /* deep brand */
	--pc-teal-deep:  #06403f;
	--pc-green:      #01c977;   /* primary accent (brand) */
	--pc-green-dk:   #00a862;
	--pc-green-mint: #bfe9e0;   /* light mint for headline accents on dark */
	--pc-paper:      #f3f6f5;
	--pc-paper-2:    #e7eeec;
	--pc-white:      #ffffff;
	--pc-body:       #3a4a47;
	--pc-muted:      #6c7c78;
	--pc-rule:       #d6e0dd;
	--pc-rule-soft:  #e5ece9;

	--pc-r: 4px;        /* sharp editorial radius */
	--pc-r-lg: 10px;
	--pc-shadow: 0 1px 2px rgba(10,31,28,.05), 0 10px 28px rgba(10,31,28,.07);
	--pc-shadow-lg: 0 30px 70px rgba(6,64,63,.22);
	--pc-ease: cubic-bezier(.22,1,.36,1);
}

html { scroll-behavior: smooth; }
body {
	font-family: var(--wp--preset--font-family--gellix);
	color: var(--pc-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: -0.005em;
}

/* Headings come from theme.json (Fraunces). Italic accent inside headings. */
:where(h1,h2,h3) em { font-style: italic; color: var(--pc-teal); font-weight: 500; }
.pc-hero :where(h1,h2) em,
.pc-on-dark :where(h1,h2) em { color: var(--pc-green-mint); }
h3 { font-weight: 500; letter-spacing: -0.015em; }

/* ---- Layout: full-bleed sections + centred container with gutters ---- */
.entry-content .alignwide,
.entry-content .alignfull {
	margin-left: auto !important; margin-right: auto !important;
	width: 100% !important; max-width: 100% !important;
}
.pc-section { width: 100%; }
.pc-container { max-width: 1180px; margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 3rem); }
.no-sidebar .entry-content, .full-width-content .entry-content { width: 100%; }

/* ---- Kicker (eyebrow) ---- */
.pc-eyebrow, .kicker {
	display: inline-block; font-family: var(--wp--preset--font-family--gellix);
	font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--pc-green-dk);
}
/* When centred, the inline-block must become a block or it stays pinned left */
.pc-eyebrow.has-text-align-center, .kicker.has-text-align-center { display: block; }
.pc-hero .pc-eyebrow, .pc-on-dark .pc-eyebrow { color: var(--pc-green); }

/* ---- Lede (serif intro) ---- */
.pc-lead {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: clamp(1.1rem, 1rem + 0.5vw, 1.35rem); line-height: 1.5; font-weight: 400;
	color: var(--pc-ink);
}
.pc-hero .pc-lead, .pc-on-dark .pc-lead { font-family: var(--wp--preset--font-family--gellix); color: rgba(255,255,255,.9); }

/* ---- Buttons: sharp, institutional ---- */
.wp-block-button__link {
	border-radius: var(--pc-r) !important;
	font-weight: 600; letter-spacing: .005em;
	padding: .85rem 1.6rem;
	transition: transform .2s var(--pc-ease), background-color .2s var(--pc-ease), box-shadow .2s var(--pc-ease), color .2s var(--pc-ease);
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: var(--pc-shadow); }
/* Solid green (brand) keeps dark ink text for contrast */
.wp-block-button .has-green-background-color { color: var(--pc-ink) !important; }
/* Outline / ghost */
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border-width: 1px; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { transform: translateY(-2px); }
.pc-hero .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.5); }
.pc-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1); border-color:#fff; }

/* ====================================================================
   HERO — full-bleed cover image + overlay + editorial content
   ==================================================================== */
.pc-hero { position: relative; color: #fff; }
.pc-hero, .pc-hero .wp-block-cover__inner-container { color: #fff; }
.pc-hero :where(h1,h2) { color: #fff; max-width: 18ch; }
.pc-hero.has-text-align-center :where(h1,h2), .pc-hero .pc-lead { margin-inline: auto; }
/* fine grain for depth on dark sections */
.pc-on-dark, .pc-hero { position: relative; }
.pc-grain::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .05; mix-blend-mode: overlay; z-index: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.pc-grain > * { position: relative; z-index: 1; }

/* ====================================================================
   SPLIT HERO — editorial headline + lending-snapshot card (service pages)
   ==================================================================== */
.pc-hero-split { position: relative; overflow: clip; color: #fff; }
.pc-hero-split::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
	background:
		radial-gradient(115% 75% at 82% 12%, rgba(1,201,119,.18), transparent 58%),
		radial-gradient(90% 60% at 8% 100%, rgba(8,84,84,.45), transparent 60%);
}
.pc-hero-split > .pc-container { position: relative; z-index: 1; }
.pc-hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(2rem, 4vw, 4.5rem); align-items: center; }
.pc-hero-copy { max-width: 36rem; }
.pc-hero-split .pc-eyebrow { color: var(--pc-green); }
.pc-hero-split h1 { color: #fff; letter-spacing: -.025em; }
.pc-hero-split h1 em { color: var(--pc-green-mint); }
.pc-hero-split .pc-lead { color: rgba(255,255,255,.82); font-family: var(--wp--preset--font-family--gellix); }
@media (max-width: 900px) {
	.pc-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.pc-hero-copy { max-width: none; }
}

/* Lending snapshot — a term-sheet/deal-ticket, not a marketing stat band */
.pc-snapshot {
	position: relative; overflow: hidden;
	background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.02)), rgba(7,28,26,.5);
	border: 1px solid rgba(255,255,255,.16); border-radius: var(--pc-r-lg);
	padding: 1.5rem 1.6rem 1.3rem; box-shadow: 0 34px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.09);
	-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
.pc-snapshot::before { /* green accent bar across the top */
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, var(--pc-green), var(--pc-teal));
}
.pc-snapshot::after { /* interior glow behind the header */
	content: ""; position: absolute; top: -40%; right: -20%; width: 70%; height: 80%; pointer-events: none;
	background: radial-gradient(circle, rgba(1,201,119,.20), transparent 70%);
}
.pc-snapshot > * { position: relative; z-index: 1; }
.pc-snapshot__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .85rem; border-bottom: 1px solid rgba(255,255,255,.13); }
.pc-snapshot__title { font-family: var(--wp--preset--font-family--gellix); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--pc-green); }
.pc-snapshot__live { display: inline-flex; align-items: center; gap: .45rem; font-size: .66rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.pc-snapshot__live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--pc-green); box-shadow: 0 0 0 0 rgba(1,201,119,.55); animation: pc-pulse 2.6s var(--pc-ease) infinite; }
.pc-snapshot__row { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .72rem 0; border-bottom: 1px solid rgba(255,255,255,.085); transition: background-color .2s var(--pc-ease); }
.pc-snapshot__row:last-child { border-bottom: 0; padding-bottom: .2rem; }
.pc-snapshot__label { font-family: var(--wp--preset--font-family--gellix); font-size: .82rem; color: rgba(255,255,255,.62); }
.pc-snapshot__value { font-family: var(--wp--preset--font-family--fraunces); font-weight: 500; font-size: 1.45rem; line-height: 1; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.pc-snapshot__row:first-of-type .pc-snapshot__value { font-size: 1.75rem; color: var(--pc-green-mint); }
.pc-snapshot__value small { font-size: .64em; color: rgba(255,255,255,.55); font-weight: 400; margin: 0 .14em; letter-spacing: 0; }
.pc-snapshot__value .u { color: var(--pc-green-mint); }
.pc-snapshot__foot { margin: .95rem 0 0; font-size: .72rem; line-height: 1.5; color: rgba(255,255,255,.42); }
@keyframes pc-pulse { 0% { box-shadow: 0 0 0 0 rgba(1,201,119,.55); } 70% { box-shadow: 0 0 0 9px rgba(1,201,119,0); } 100% { box-shadow: 0 0 0 0 rgba(1,201,119,0); } }
@media (prefers-reduced-motion: reduce) { .pc-snapshot__live::before { animation: none; } }

/* ====================================================================
   STAT BAND — ink ground, hairline grid
   ==================================================================== */
.pc-statband { background: var(--pc-ink); color: #fff; }
.pc-statband .pc-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px,1fr)); gap: 1px; background: rgba(255,255,255,.12); padding-block: clamp(2rem,1.5rem + 1.5vw,3rem); }
.pc-stat { background: var(--pc-ink); padding: 1.1rem 1.3rem; }
.pc-stat__value {
	font-family: var(--wp--preset--font-family--fraunces); font-weight: 500;
	font-size: clamp(2rem, 1.5rem + 1.4vw, 2.85rem); line-height: 1; letter-spacing: -.02em;
	color: #fff; font-variant-numeric: tabular-nums;
}
.pc-stat__label { margin-top: .5rem; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); }

/* ---- Trust strip ---- */
.pc-trust { border-block: 1px solid var(--pc-rule); background: var(--pc-white); }
.pc-trust p { margin: 0; }

/* ====================================================================
   CARDS — sharp, left accent bar
   ==================================================================== */
.pc-card {
	position: relative; background: var(--pc-white); border: 1px solid var(--pc-rule);
	border-radius: var(--pc-r); overflow: hidden;
	transition: transform .25s var(--pc-ease), box-shadow .25s var(--pc-ease), border-color .25s var(--pc-ease);
}
.pc-card::after {
	content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 3px;
	background: linear-gradient(180deg, var(--pc-green), var(--pc-teal));
	transform: scaleY(0); transform-origin: top; transition: transform .3s var(--pc-ease);
}
.pc-card:hover { transform: translateY(-4px); box-shadow: var(--pc-shadow); border-color: var(--pc-rule-soft); }
.pc-card:hover::after { transform: scaleY(1); }
.pc-card h3 { color: var(--pc-ink); }
.pc-card p { color: var(--pc-muted); }

/* ---- Numbered steps ---- */
.pc-step__num {
	font-family: var(--wp--preset--font-family--fraunces); font-size: 2.4rem; line-height: 1; font-weight: 500;
	color: var(--pc-green-dk); letter-spacing: -.02em;
}
.pc-step { border-top: 2px solid var(--pc-ink); padding-top: 1rem; }

/* ====================================================================
   FOUNDER NOTE
   ==================================================================== */
.pc-founder { background: var(--pc-ink); color: #fff; }
.pc-founder .wp-block-image img { border-radius: var(--pc-r-lg); }
.pc-founder__quote {
	font-family: var(--wp--preset--font-family--fraunces); font-weight: 400;
	font-size: clamp(1.4rem, 1.1rem + 1.3vw, 2.1rem); line-height: 1.28; color: #fff; letter-spacing: -.01em;
}
.pc-founder__quote em { color: var(--pc-green-mint); font-style: italic; }
.pc-founder cite { color: rgba(255,255,255,.7); font-style: normal; }
.pc-founder cite b { color: #fff; font-weight: 600; }

/* ====================================================================
   LEADERSHIP / TEAM
   ==================================================================== */
.pc-team__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: clamp(1.5rem, 3vw, 2.25rem); margin-top: var(--wp--preset--spacing--50);
}
.pc-leader {
	display: flex; flex-direction: column; align-items: flex-start;
	background: var(--pc-white); border: 1px solid var(--pc-rule); border-radius: var(--pc-r-lg);
	padding: clamp(1.75rem, 1.25rem + 1.6vw, 2.5rem); position: relative; overflow: hidden;
	transition: transform .25s var(--pc-ease), box-shadow .25s var(--pc-ease), border-color .25s var(--pc-ease);
}
.pc-leader::after {
	content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 3px;
	background: linear-gradient(180deg, var(--pc-green), var(--pc-teal));
	transform: scaleY(0); transform-origin: top; transition: transform .3s var(--pc-ease);
}
.pc-leader:hover { transform: translateY(-4px); box-shadow: var(--pc-shadow); border-color: var(--pc-rule-soft); }
.pc-leader:hover::after { transform: scaleY(1); }
.pc-leader__photo {
	width: 128px; height: 128px; border-radius: 50%; overflow: hidden; flex: none;
	border: 1px solid var(--pc-rule); background: var(--pc-paper-2); margin-bottom: 1.4rem;
}
.pc-leader__photo .wp-block-image, .pc-leader__photo figure { margin: 0; width: 100%; height: 100%; }
.pc-leader__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.02); display: block; }
.pc-leader__name {
	font-family: var(--wp--preset--font-family--fraunces); font-weight: 500;
	font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem); line-height: 1.1; letter-spacing: -.015em;
	color: var(--pc-ink); margin: 0;
}
.pc-leader__role {
	font-family: var(--wp--preset--font-family--gellix); font-size: .72rem; font-weight: 700;
	letter-spacing: .16em; text-transform: uppercase; color: var(--pc-green-dk);
	margin: .55rem 0 0;
}
.pc-leader__bio { color: var(--pc-body); line-height: 1.7; margin: 1.1rem 0 0; }
.pc-leader__bio + .pc-leader__bio { margin-top: .9rem; }

/* ---- Compact team teaser (home) ---- */
.pc-team-teaser { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(1.5rem, 4vw, 3.5rem); margin-top: var(--wp--preset--spacing--40); }
.pc-teaser-person { display: flex; align-items: center; gap: 1rem; text-align: left; }
.pc-teaser-person__photo {
	width: 76px; height: 76px; border-radius: 50%; overflow: hidden; flex: none;
	border: 1px solid var(--pc-rule); background: var(--pc-paper-2);
}
.pc-teaser-person__photo .wp-block-image, .pc-teaser-person__photo figure { margin: 0; width: 100%; height: 100%; }
.pc-teaser-person__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); display: block; }
.pc-teaser-person__name { font-family: var(--wp--preset--font-family--fraunces); font-weight: 500; font-size: 1.15rem; color: var(--pc-ink); line-height: 1.15; }
.pc-teaser-person__role { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pc-green-dk); margin-top: .3rem; }

/* ====================================================================
   SERVICE-PAGE GRAPHICS — icon feature row, interest-model charts, MD quote
   ==================================================================== */
/* Icon feature row */
.pc-iconrow { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(1rem, 2.5vw, 2rem); margin-top: var(--wp--preset--spacing--40); }
.pc-ifeat__ic { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: var(--pc-r); background: var(--pc-paper); border: 1px solid var(--pc-rule); color: var(--pc-green-dk); margin-bottom: .85rem; }
.pc-ifeat__ic svg { width: 23px; height: 23px; }
.pc-ifeat h3 { font-family: var(--wp--preset--font-family--gellix); font-size: 1rem; font-weight: 600; color: var(--pc-ink); margin: 0 0 .35rem; letter-spacing: -.005em; }
.pc-ifeat p { font-size: .9rem; color: var(--pc-muted); line-height: 1.55; margin: 0; }
@media (max-width: 720px) { .pc-iconrow { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }

/* Interest-model cards with mini chart */
.pc-models { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.5vw, 1.75rem); margin-top: var(--wp--preset--spacing--40); }
.pc-model { background: var(--pc-white); border: 1px solid var(--pc-rule); border-radius: var(--pc-r-lg); padding: 1.4rem 1.4rem 1.5rem; transition: transform .25s var(--pc-ease), box-shadow .25s var(--pc-ease), border-color .25s var(--pc-ease); }
.pc-model:hover { transform: translateY(-4px); box-shadow: var(--pc-shadow); border-color: var(--pc-rule-soft); }
.pc-model__chart { display: block; width: 100%; height: 56px; margin-bottom: 1.05rem; }
.pc-model__chart .axis { stroke: var(--pc-rule); stroke-width: 1; }
.pc-model__chart .ln { fill: none; stroke: var(--pc-green-dk); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.pc-model__chart .dot { fill: var(--pc-green-dk); }
.pc-model__chart .area { fill: rgba(1,201,119,.10); stroke: none; }
.pc-model h3 { font-size: 1.05rem; color: var(--pc-ink); margin: 0 0 .4rem; }
.pc-model p { font-size: .9rem; color: var(--pc-muted); line-height: 1.6; margin: 0; }
@media (max-width: 700px) { .pc-models { grid-template-columns: 1fr; } }

/* MD pull-quote */
.pc-mdquote { background: var(--pc-paper); }
.pc-mdquote__inner { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.pc-mdquote__photo { width: clamp(110px, 14vw, 150px); height: clamp(110px, 14vw, 150px); border-radius: 50%; overflow: hidden; flex: none; border: 3px solid var(--pc-white); box-shadow: 0 0 0 1px var(--pc-rule), var(--pc-shadow); }
.pc-mdquote__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); display: block; }
.pc-mdquote__mark { font-family: var(--wp--preset--font-family--fraunces); font-size: 3.4rem; line-height: .5; color: var(--pc-green); display: block; margin-bottom: .25rem; }
.pc-mdquote__q { font-family: var(--wp--preset--font-family--fraunces); font-weight: 400; font-size: clamp(1.3rem, 1.05rem + 1.1vw, 1.85rem); line-height: 1.32; color: var(--pc-ink); letter-spacing: -.01em; margin: 0; }
.pc-mdquote__q em { font-style: italic; color: var(--pc-teal); }
.pc-mdquote__cite { margin: 1.1rem 0 0; font-style: normal; color: var(--pc-muted); font-size: .95rem; }
.pc-mdquote__cite b { color: var(--pc-ink); font-weight: 600; }
@media (max-width: 640px) { .pc-mdquote__inner { grid-template-columns: 1fr; gap: 1.25rem; } }

/* ---- Lists ---- */
.is-style-none { list-style: none; padding-left: 0; margin-left: 0; }

/* ---- Header / logo ---- */
.site-logo img.header-image, .site-header .site-logo img { max-height: 46px; width: auto; }
.main-navigation .main-nav ul li a { font-weight: 600; font-size: .95rem; }
.inside-header { align-items: center; }

/* ====================================================================
   Bridging loan calculator
   ==================================================================== */
.pc-calc {
	background: var(--pc-white); border: 1px solid var(--pc-rule);
	border-radius: var(--pc-r-lg); box-shadow: var(--pc-shadow);
	padding: clamp(1.25rem, 3vw, 2rem); max-width: 920px; margin-inline: auto;
}
.pc-calc__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem 1.25rem; }
.pc-calc__field { display: flex; flex-direction: column; gap: .4rem; }
.pc-calc__field label { font-size: .875rem; font-weight: 600; color: var(--pc-ink); }
.pc-calc__field input, .pc-calc__field select {
	font-family: inherit; font-size: 1rem; padding: .7rem .85rem;
	border: 1px solid var(--pc-rule); border-radius: var(--pc-r); background: var(--pc-paper); color: var(--pc-ink);
	transition: border-color .18s var(--pc-ease), box-shadow .18s var(--pc-ease);
}
.pc-calc__field input:focus, .pc-calc__field select:focus { outline: none; border-color: var(--pc-green); box-shadow: 0 0 0 3px rgba(1,201,119,.16); }
.pc-calc__hint { margin: 0; font-size: .8125rem; color: var(--pc-muted); }
.pc-calc__hint.is-high { color: #c0392b; font-weight: 600; }
.pc-calc__results { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; background: var(--pc-rule); margin-top: 1.5rem; border: 1px solid var(--pc-rule); border-radius: var(--pc-r); overflow: hidden; }
.pc-calc__result { background: var(--pc-white); padding: 1rem; text-align: center; }
.pc-calc__result--total { background: var(--pc-teal); color: #fff; }
.pc-calc__result-label { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; opacity: .75; margin-bottom: .35rem; }
.pc-calc__result-value { display: block; font-family: var(--wp--preset--font-family--fraunces); font-size: 1.4rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.pc-calc__disclaimer { margin: 1.25rem 0 0; font-size: .8125rem; line-height: 1.5; color: var(--pc-muted); }
@media (max-width: 640px) { .pc-calc__grid { grid-template-columns: 1fr; } .pc-calc__results { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* ====================================================================
   MOTION — scroll reveal
   ==================================================================== */
@media (prefers-reduced-motion: no-preference) {
	.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--pc-ease), transform .7s var(--pc-ease); }
	.reveal.is-visible { opacity: 1; transform: none; }
	.reveal-stagger.is-visible > * { animation: pc-rise .6s var(--pc-ease) both; }
	.reveal-stagger.is-visible > *:nth-child(2) { animation-delay: .07s; }
	.reveal-stagger.is-visible > *:nth-child(3) { animation-delay: .14s; }
	.reveal-stagger.is-visible > *:nth-child(4) { animation-delay: .21s; }
	@keyframes pc-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
}

/* ====================================================================
   FOOTER
   ==================================================================== */
.site-footer { background: var(--pc-ink); color: rgba(255,255,255,.7); border-top: 1px solid rgba(255,255,255,.08); }
.pc-foot__grid {
	display: grid; grid-template-columns: 1.7fr 1fr 1fr 1.1fr; gap: 2rem 2.5rem;
	padding-block: clamp(3.25rem, 2.5rem + 3vw, 5.5rem) clamp(1.75rem, 1.5rem + 1vw, 2.75rem);
}
.pc-foot__logo { height: 46px; width: auto; display: block; }
.pc-foot__tag { color: var(--pc-green-mint); font-family: var(--wp--preset--font-family--fraunces); font-style: italic; margin-top: 1.25rem; }
.pc-foot__brand p { color: rgba(255,255,255,.6); margin-top: .6rem; max-width: 34ch; font-size: .93rem; line-height: 1.6; }
.pc-foot__col h4 { font-family: var(--wp--preset--font-family--gellix); font-size: .72rem; text-transform: uppercase; letter-spacing: .16em; color: var(--pc-green); margin-bottom: 1.1rem; font-weight: 700; }
.pc-foot__col a { color: rgba(255,255,255,.62); display: block; margin-bottom: .62rem; font-size: .93rem; text-decoration: none; transition: color .18s var(--pc-ease); }
.pc-foot__col a:hover { color: #fff; }
.pc-foot__email { font-size: .85rem; word-break: break-word; margin-top: .4rem !important; color: rgba(255,255,255,.5) !important; }
.pc-foot__rule { height: 1px; background: rgba(255,255,255,.1); }
.pc-foot__legal { padding-block: 1.6rem 1.1rem; color: rgba(255,255,255,.42); font-size: .78rem; line-height: 1.65; max-width: 90ch; }
.pc-foot__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem; padding-bottom: 2.25rem; color: rgba(255,255,255,.5); font-size: .85rem; }
.pc-foot__legal-links a { color: rgba(255,255,255,.5); text-decoration: none; }
.pc-foot__legal-links a:hover { color: #fff; }
.pc-foot__legal-links span { margin: 0 .5rem; color: rgba(255,255,255,.3); }
@media (max-width: 860px) { .pc-foot__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .pc-foot__grid { grid-template-columns: 1fr; gap: 1.75rem; } }

/* ---- Accessibility ---- */
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--pc-green-dk); outline-offset: 2px; }

/* ---- Enquiry form ---- */
.pc-form { background: var(--pc-white); border: 1px solid var(--pc-rule); border-radius: var(--pc-r-lg); box-shadow: var(--pc-shadow); padding: 2rem 1.9rem 1.7rem; }
.pc-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.3rem; }
.pc-form__field { display: flex; flex-direction: column; gap: .35rem; }
.pc-form__field--full { margin-top: 1.1rem; }
.pc-form__field span { font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--pc-teal); }
.pc-form input, .pc-form select, .pc-form textarea {
	border: 1px solid var(--pc-rule); border-radius: var(--pc-r); background: var(--pc-paper);
	padding: .7rem .8rem; font: inherit; color: var(--pc-ink); width: 100%;
}
.pc-form input:focus, .pc-form select:focus, .pc-form textarea:focus { background: var(--pc-white); border-color: var(--pc-green-dk); }
.pc-form__submit {
	margin-top: 1.4rem; border: 0; cursor: pointer; border-radius: var(--pc-r);
	background: var(--pc-green); color: var(--pc-ink); font-weight: 600; padding: .85rem 2rem;
	transition: background .2s var(--pc-ease);
}
.pc-form__submit:hover { background: var(--pc-green-dk); color: var(--pc-white); }
.pc-form__foot { margin-top: 1rem; font-size: .78rem; line-height: 1.6; color: var(--pc-muted); }
.pc-form__hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }
.pc-form__notice { border-radius: var(--pc-r); padding: 1rem 1.2rem; margin-bottom: 1.4rem; font-size: .92rem; line-height: 1.6; }
.pc-form__notice--ok { background: #e7f8f0; border: 1px solid var(--pc-green-dk); color: var(--pc-teal-deep); }
.pc-form__notice--err { background: #fdf0ee; border: 1px solid #c0564a; color: #7c2d24; }
.pc-form__notice strong { display: block; }
@media (max-width: 640px) { .pc-form__grid { grid-template-columns: 1fr; } .pc-form { padding: 1.5rem 1.2rem 1.3rem; } }


/* Fix: WP flow layout injects 24px margin-block-start on sibling blocks,
   which misaligned the team teaser (home) and the leader cards (about). */
.pc-team-teaser > .pc-teaser-person,
.pc-teaser-person > *,
.pc-team__grid > .pc-leader { margin-block-start: 0 !important; }


/* Fix: GeneratePress styles every .wp-block-button__link that lacks .has-background,
   including a dark slate :hover/:focus background. Its selector outranks the outline
   rule above, so the teal ghost buttons went dark-slate-on-dark-teal and were unreadable.
   Give outline buttons a real brand fill on hover instead. */
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):hover,
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):focus,
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):active {
	background-color: var(--pc-teal) !important;
	border-color: var(--pc-teal);
	color: #fff !important;
}

/* The hero outline button sits on a dark image — keep its lighter ghost treatment. */
.pc-hero .wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):hover,
.pc-hero .wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):focus,
.pc-hero .wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):active {
	background-color: rgba(255, 255, 255, .12) !important;
	border-color: #fff;
	color: #fff !important;
}
