/* PLC visual refresh (2026-09-23)
   Loaded after each page's own <style>, so these rules win.
   Language: flat navy, calm labels, and one hand-drawn cyan mark per page (see plc-marks.js).
   To undo the whole refresh, remove the two lines that load this file and plc-marks.js. */

:root { --flat-navy: #0F2447; --ink-navy: #0A1930; --marker: #22D3EE; --marker-on-light: #0DA8C4; }

/* 2026-10-06: flat-navy override removed at Prince's request; sections use their original navy gradients again. */

/* ---------- calmer section labels (no tiny spaced-out capitals) ---------- */
.section-head .mono, .eyebrow, .page-hero .eyebrow, .section-warm .mono, .qa-list + .mono,
span.mono, div.mono.eyebrow {
  font-family: 'Montserrat', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 600;
}
.eyebrow::before { display: none !important; }

/* ---------- the hand-drawn mark ---------- */
.hand { position: relative; display: inline-block; white-space: nowrap; }
.hand[data-mark="circle"] { margin: 0 0.2em; }
.hand > svg.hand-mark { position: absolute; overflow: visible; pointer-events: none; }
.hand[data-mark="circle"] > svg.hand-mark { left: -0.36em; top: -0.1em; width: calc(100% + 0.72em); height: calc(100% + 0.26em); }
.hand[data-mark="underline"] > svg.hand-mark { left: -0.06em; bottom: -0.26em; width: calc(100% + 0.12em); height: 0.34em; }
.hand-mark path {
  fill: none; stroke: var(--marker-on-light); stroke-width: 0.075em;
  stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke;
  stroke-dasharray: 1; stroke-dashoffset: 1;
  transition: stroke-dashoffset 0.95s cubic-bezier(0.65, 0, 0.35, 1) 0.25s;
}
.hero .hand-mark path, .section-warm .hand-mark path, .section-navy .hand-mark path,
.cta-band .hand-mark path, .giving .hand-mark path { stroke: var(--marker); }
.hand.is-drawn .hand-mark path { stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) { .hand-mark path { transition: none; stroke-dashoffset: 0; } }

@media (max-width: 600px) { .hand[data-mark="underline"] { white-space: normal; } }

/* hero: "Wealth" in bright cyan with a slow light sweep, white underline (2026-10-06; gold rejected) */
.hero h1 .hand em {
  display: inline-block;
  padding: 0 0.08em 0.04em 0.02em; margin: 0 -0.08em -0.04em -0.02em; /* keeps the italic "h" from clipping */
  background: linear-gradient(100deg, #22D3EE 0%, #67E8F9 30%, #ECFEFF 48%, #67E8F9 66%, #22D3EE 100%);
  background-size: 260% 100%; background-position: 100% 0;
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 14px rgba(10, 25, 48, 0.5));
  animation: wealth-rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) 0.15s both,
             wealth-shine 7s ease-in-out 1.3s infinite;
}
@keyframes wealth-rise { from { opacity: 0; transform: translateY(0.2em); } to { opacity: 1; transform: none; } }
@keyframes wealth-shine { 0% { background-position: 100% 0; } 30%, 100% { background-position: 0% 0; } }
@media (prefers-reduced-motion: reduce) {
  .hero h1 .hand em { animation: none; background-position: 100% 0; }
}
.hero h1 .hand .hand-mark path { stroke: #FFFFFF; }

/* ---------- hand-drawn check marks in comparison tables ---------- */
.check svg { width: 1.05em; height: 1.05em; vertical-align: -0.18em; overflow: visible; }
.check svg path { fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- client questions: plain, readable sans (2026-10-06; was serif italic with curly quotes) ---------- */
.qa-item { grid-template-columns: 1fr !important; padding: 24px 0 !important; }
.qa-item .mark { display: none !important; }
.qa-item p {
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal; font-weight: 500;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem) !important; line-height: 1.6 !important;
  max-width: 760px !important;
}
.section-warm .qa-item p, .section-navy .qa-item p { color: #FFFFFF !important; }

/* fix: .hero-content's padding shorthand was zeroing the side gutter, so hero text touched the screen edge on phones */
.hero .hero-content { padding-left: 24px; padding-right: 24px; }
@media (min-width: 900px) { .hero .hero-content { padding-left: 32px; padding-right: 32px; } }
