/* PayStubCheck 2026 — Contact and About page layouts (patch-002-r2).
   PSC palette (dark emerald, ivory, mint, orange) and the existing site fonts.
   No decorative line artwork. */
.pp-page { --pp-forest: #0B3D2B; --pp-forest-2: #072B21; --pp-emerald: #187A55; --pp-emerald-2: #136B4B; --pp-mint: #E7F4EC; --pp-mint-2: #F3FAF6; --pp-ivory: #FAF8F2; --pp-line: #E1ECE6; --pp-ink: #14241D; --pp-muted: #55655E; --pp-orange: #FDB447; --pp-orange-2: #F29A21;
  display: block; background: var(--pp-ivory); color: var(--pp-ink); font-family: 'DM Sans', sans-serif; padding-bottom: 72px; }
.pp-page *, .pp-page *::before, .pp-page *::after { box-sizing: border-box; }
.pp-page :is(h1, h2, h3) { font-family: var(--psx-display, 'Bricolage Grotesque', sans-serif); color: var(--pp-forest-2); letter-spacing: -.02em; margin: 0; }
.pp-page p { margin: 0; }
.pp-page a { color: var(--pp-emerald-2); }
.pp-wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.pp-i { width: 22px; height: 22px; flex: 0 0 auto; }

/* Hero */
.pp-hero { position: relative; overflow: hidden; color: #fff; padding: calc(var(--psx-nav-h, 72px) + clamp(48px, 6vw, 84px)) 0 clamp(52px, 6vw, 80px);
  background: radial-gradient(60% 120% at 82% 0%, rgba(253, 180, 71, .16) 0%, rgba(253, 180, 71, 0) 60%), radial-gradient(70% 140% at 0% 100%, #155C43 0%, rgba(21, 92, 67, 0) 60%), linear-gradient(135deg, #0B3D2B 0%, #072B21 60%, #062419 100%); }
.pp-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 18px !important; color: var(--pp-orange); font: 700 12.5px/1.2 'DM Sans', sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.pp-kicker span { width: 28px; height: 2px; background: var(--pp-orange); border-radius: 2px; }
.pp-hero h1 { color: #fff; font-size: clamp(40px, 5.6vw, 72px); line-height: 1.02; letter-spacing: -.035em; max-width: 860px; }
.pp-hero-lead { margin-top: 20px !important; max-width: 760px; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; font-weight: 600; color: #F2FAF5; }
.pp-hero-sub { margin-top: 8px !important; max-width: 760px; font-size: 16px; line-height: 1.6; color: rgba(233, 246, 238, .82); }
.pp-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.pp-chip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .07); font-size: 14px; font-weight: 600; color: #EAF6EF; }
.pp-chip::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--pp-orange); }

/* Shared cards and buttons */
.pp-card { background: #fff; border: 1px solid var(--pp-line); border-radius: 22px; padding: clamp(22px, 2.6vw, 32px); box-shadow: 0 10px 28px rgba(7, 43, 33, .05); }
.pp-card-head { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: start; margin-bottom: 22px; }
.pp-card-head h2 { font-size: clamp(26px, 2.4vw, 32px); line-height: 1.12; }
.pp-card-head p { margin-top: 8px !important; color: var(--pp-muted); font-size: 16px; line-height: 1.55; }
.pp-head-i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(180deg, #FFF2E0, #FFE3BD); color: #B5600B; }
.pp-head-i .pp-i { width: 24px; height: 24px; }
.pp-head-i--sm { width: 44px; height: 44px; }
.pp-head-i--sm .pp-i { width: 21px; height: 21px; }
.pp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: 12px; font-weight: 700; font-size: 15.5px; text-decoration: none; transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.pp-btn .pp-i { width: 19px; height: 19px; }
.pp-btn--dark { background: var(--pp-forest); color: #fff !important; }
.pp-btn--dark:hover { background: var(--pp-emerald-2); }
.pp-btn--orange { background: linear-gradient(180deg, var(--pp-orange), var(--pp-orange-2)); color: #1B1206 !important; box-shadow: 0 10px 22px rgba(242, 154, 33, .28); }
.pp-btn--orange:hover { transform: translateY(-1px); }
.pp-btn--ghost { border: 1px solid #CFDDD5; background: #fff; color: var(--pp-forest) !important; }
.pp-btn--ghost:hover { border-color: var(--pp-emerald); background: var(--pp-mint-2); }
.pp-btn--block { width: 100%; }
.pp-page :is(a, button):focus-visible { outline: 3px solid rgba(24, 122, 85, .45); outline-offset: 3px; }

/* ---------- Contact ---------- */
.pp-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; margin-top: -36px; position: relative; z-index: 1; }
.pp-col-main, .pp-col-side { display: grid; gap: 24px; min-width: 0; }
.pp-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pp-topic { display: flex; flex-direction: column; padding: 20px 20px 18px; border: 1px solid var(--pp-line); border-radius: 18px; background: #FBFDFC; transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }
.pp-topic:hover, .pp-topic:focus-within { border-color: #A9D3BC; background: #fff; box-shadow: 0 10px 24px rgba(7, 43, 33, .08); }
.pp-topic--featured { background: var(--pp-mint); border-color: #CBE6D7; }
.pp-topic-head { display: grid; grid-template-columns: 42px minmax(0, 1fr) 30px; gap: 12px; align-items: center; text-decoration: none; color: inherit !important; }
.pp-topic-head h3 { font-size: 18px; line-height: 1.25; }
.pp-topic-i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #fff; color: var(--pp-emerald-2); box-shadow: inset 0 0 0 1px var(--pp-line); }
.pp-topic-go { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #EEF5F0; color: var(--pp-forest); transition: background-color .18s ease, color .18s ease; }
.pp-topic-go .pp-i { width: 16px; height: 16px; }
.pp-topic-head:hover .pp-topic-go, .pp-topic-head:focus-visible .pp-topic-go { background: var(--pp-forest); color: #fff; }
.pp-topic ul { margin: 14px 0 0; padding: 0 0 0 20px; color: var(--pp-muted); font-size: 15px; line-height: 1.55; display: grid; gap: 6px; }
.pp-topic ul li::marker { color: var(--pp-emerald); }
.pp-topic-link { margin-top: auto; padding-top: 14px; font-weight: 700; font-size: 14.5px; color: #A85A07 !important; text-decoration: none; }
.pp-topic-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.pp-email-btn { font-size: 16.5px; margin-left: 68px; }
.pp-email-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--pp-line); }
.pp-email-facts > div { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding-right: 20px; }
.pp-email-facts > div + div { padding: 0 0 0 20px; border-left: 1px solid var(--pp-line); }
.pp-fact-i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--pp-mint); color: var(--pp-emerald-2); }
.pp-fact-i .pp-i { width: 18px; height: 18px; }
.pp-email-facts strong { display: block; font-size: 15.5px; color: var(--pp-forest-2); margin-bottom: 4px; }
.pp-email-facts p { color: var(--pp-muted); font-size: 14.5px; line-height: 1.55; }
.pp-privacy-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px !important; padding: 12px 14px; border-radius: 12px; background: var(--pp-mint-2); color: #3E5149; font-size: 14px; line-height: 1.5; }
.pp-privacy-note .pp-i { width: 18px; height: 18px; color: var(--pp-emerald-2); margin-top: 1px; }
.pp-quick-list { display: grid; gap: 10px; }
.pp-quick-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) 28px; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--pp-line); border-radius: 14px; background: #FBFDFC; text-decoration: none; color: inherit !important; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.pp-quick-i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--pp-mint); color: var(--pp-emerald-2); }
.pp-quick-copy strong { display: block; font-size: 16px; color: var(--pp-forest-2); }
.pp-quick-copy small { display: block; margin-top: 2px; color: var(--pp-muted); font-size: 14px; line-height: 1.45; }
.pp-quick-go { color: var(--pp-forest); }
.pp-quick-go .pp-i { width: 18px; height: 18px; }
.pp-quick-row:hover, .pp-quick-row:focus-visible { background: var(--pp-forest); border-color: var(--pp-forest); }
.pp-quick-row:hover :is(strong, .pp-quick-go), .pp-quick-row:focus-visible :is(strong, .pp-quick-go) { color: #fff; }
.pp-quick-row:hover small, .pp-quick-row:focus-visible small { color: rgba(236, 248, 241, .86); }
.pp-quick-row:hover .pp-quick-i, .pp-quick-row:focus-visible .pp-quick-i { background: rgba(255, 255, 255, .14); color: var(--pp-orange); }
.pp-quick-foot { margin-top: 14px !important; color: var(--pp-muted); font-size: 14.5px; }
.pp-quick-foot a { font-weight: 700; color: #A85A07 !important; text-decoration: none; }
.pp-side { padding: 24px; }
.pp-side-head { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: center; margin-bottom: 16px; }
.pp-side-head h2 { font-size: 20px; line-height: 1.2; }
.pp-side-head p { margin-top: 4px !important; color: var(--pp-muted); font-size: 14.5px; }
.pp-common-list { list-style: none; margin: 0 0 18px; padding: 14px 0 0; border-top: 1px solid var(--pp-line); display: grid; gap: 4px; }
.pp-common-list a { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: center; padding: 9px 8px; border-radius: 10px; color: var(--pp-ink) !important; text-decoration: none; font-size: 15px; }
.pp-common-list a .pp-i { width: 20px; height: 20px; color: var(--pp-emerald-2); }
.pp-common-list a:hover, .pp-common-list a:focus-visible { background: var(--pp-mint); }
.pp-address { font-style: normal; font-size: 16px; line-height: 1.6; color: var(--pp-ink); padding-left: 58px; }
.pp-side-note { margin-top: 10px !important; padding-left: 58px; color: var(--pp-muted); font-size: 13.5px; line-height: 1.5; }
.pp-side-copy { color: var(--pp-muted); font-size: 15px; line-height: 1.6; margin-bottom: 16px !important; }
.pp-side-link { display: inline-block; margin-left: 14px; font-weight: 700; font-size: 14.5px; text-decoration: none; }
.pp-note { background: var(--pp-mint-2); border-color: #D6EBDF; }
.pp-note .pp-side-copy { margin-bottom: 0 !important; color: #3E5149; }
.pp-note .pp-head-i { background: #fff; color: var(--pp-emerald-2); }

/* ---------- About ---------- */
.pp-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; align-items: end; padding: clamp(48px, 6vw, 76px) 0 clamp(28px, 3vw, 40px); }
.pp-intro h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.04; letter-spacing: -.03em; }
.pp-intro p { font-size: 17px; line-height: 1.65; color: var(--pp-muted); }
.pp-intro strong { color: var(--pp-forest-2); }
.pp-editorial { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.pp-ed { background: #fff; border: 1px solid var(--pp-line); border-radius: 22px; padding: clamp(26px, 3vw, 38px); box-shadow: 0 10px 28px rgba(7, 43, 33, .05); display: flex; flex-direction: column; gap: 16px; }
.pp-ed h2 { font-size: clamp(26px, 2.4vw, 34px); line-height: 1.1; margin-bottom: 4px; }
.pp-ed p { font-size: 16px; line-height: 1.7; color: #3E4F48; }
.pp-ed p a, .pp-ed li a { color: var(--pp-emerald-2); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(24, 122, 85, .35); text-underline-offset: 3px; }
.pp-ed strong { color: var(--pp-forest-2); }
.pp-ed-kicker { display: flex; align-items: center; gap: 10px; color: var(--pp-emerald) !important; font: 700 12px/1.2 'DM Sans', sans-serif !important; letter-spacing: .16em; text-transform: uppercase; }
.pp-ed-kicker span { width: 22px; height: 2px; border-radius: 2px; background: var(--pp-orange-2); }
.pp-ed-strong { font-weight: 700; color: var(--pp-forest-2) !important; }
.pp-ed-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pp-ed-list li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.5; color: #3E4F48; }
.pp-ed-list li::before { content: ''; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--pp-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23136B4B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 13px no-repeat; }
.pp-ed--dark { background: radial-gradient(120% 90% at 100% 0%, #155C43 0%, #0B3D2B 52%, #072B21 100%); border-color: #0B3D2B; box-shadow: 0 16px 34px rgba(7, 43, 33, .22); }
.pp-ed--dark h2 { color: #fff; }
.pp-ed--dark p { color: rgba(236, 248, 241, .88); }
.pp-ed--dark strong, .pp-ed--dark .pp-ed-strong { color: #fff !important; }
.pp-ed--dark .pp-ed-kicker { color: var(--pp-orange) !important; }
.pp-ed--dark p a { color: var(--pp-orange); text-decoration-color: rgba(253, 180, 71, .5); }
.pp-mission { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; margin-top: 28px; padding: clamp(30px, 4vw, 52px); border-radius: 26px; background: linear-gradient(135deg, #F3FAF6 0%, #E4F3EA 100%); border: 1px solid #D3E8DB; }
.pp-mission-copy { display: grid; gap: 14px; max-width: 760px; }
.pp-mission h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.1; }
.pp-mission p { font-size: 16.5px; line-height: 1.65; color: #3E4F48; }
.pp-mission-strong { font-family: var(--psx-display, 'Bricolage Grotesque', sans-serif); font-size: clamp(19px, 1.7vw, 23px) !important; font-weight: 700; color: var(--pp-forest-2) !important; line-height: 1.35 !important; }
.pp-mission-cta { display: grid; gap: 12px; min-width: 240px; }

/* ---------- Responsive ---------- */
@media (max-width: 1023px) {
  .pp-contact-grid { grid-template-columns: minmax(0, 1fr); margin-top: -28px; }
  .pp-col-side { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .pp-intro { grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
  .pp-mission { grid-template-columns: minmax(0, 1fr); }
  .pp-mission-cta { grid-auto-flow: column; justify-content: start; min-width: 0; }
}
@media (max-width: 767px) {
  .pp-wrap { width: calc(100% - 32px); }
  .pp-topics, .pp-editorial, .pp-col-side, .pp-email-facts { grid-template-columns: minmax(0, 1fr); }
  .pp-email-facts { gap: 18px; }
  .pp-email-facts > div + div { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--pp-line); }
  .pp-email-btn { margin-left: 0; width: 100%; font-size: 15px; padding: 0 14px; }
  .pp-card-head { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; }
  .pp-head-i { width: 44px; height: 44px; }
  .pp-address, .pp-side-note { padding-left: 0; }
  .pp-mission-cta { grid-auto-flow: row; }
  .pp-mission-cta .pp-btn { width: 100%; }
  .pp-hero h1 { font-size: clamp(36px, 10vw, 48px); }
}

/* ---------- Legal pages (reference legal-page format, PSC palette) ---------- */
.legal-hero { position: relative; overflow: hidden; border-bottom: 0 !important; color: #fff;
  background: radial-gradient(55% 140% at 78% 0%, rgba(253, 180, 71, .18) 0%, rgba(253, 180, 71, 0) 60%), radial-gradient(70% 160% at 0% 100%, #155C43 0%, rgba(21, 92, 67, 0) 60%), linear-gradient(135deg, #0B3D2B 0%, #072B21 62%, #062419 100%) !important; }
.legal-hero-inner { max-width: 1080px !important; padding: calc(var(--psx-nav-h, 68px) + 64px) 5% 60px !important; }
.legal-hero .legal-kick { color: #FDB447 !important; font: 700 12.5px/1.2 'DM Sans', sans-serif !important; letter-spacing: .18em !important; text-transform: uppercase; margin: 0 0 14px !important; }
.legal-hero h1 { color: #fff !important; font-size: clamp(36px, 4.8vw, 58px) !important; letter-spacing: -.03em !important; margin: 0 !important; }
.legal-hero .legal-date { color: rgba(236, 248, 241, .82) !important; font-size: 15px !important; margin-top: 16px !important; }
body:has(.legal-hero) { background: #FAF8F2; }
.legal-layout { max-width: 1080px !important; padding-top: 44px !important; padding-bottom: 80px !important; }
@media (min-width: 901px) { .legal-layout { grid-template-columns: minmax(0, 1fr) 240px !important; gap: 64px !important; } }
.legal-toc a.active { background: #E7F4EC !important; color: #0B3D2B !important; font-weight: 700; box-shadow: inset 3px 0 0 #187A55; }
.legal-doc { max-width: 680px !important; }
.legal-doc > p:first-child { font-size: 16.5px !important; color: #2E3F38 !important; }
.legal-doc h2 { font-size: 22px !important; color: #072B21 !important; margin: 36px 0 12px !important; scroll-margin-top: calc(var(--psx-nav-h, 68px) + 24px); }
.legal-doc p, .legal-doc li { font-size: 15.5px !important; line-height: 1.8 !important; color: #3E4F48 !important; }
.legal-doc li::before { background: #187A55 !important; }
.legal-doc a { color: #0B3D2B !important; text-decoration: underline; text-decoration-color: rgba(24, 122, 85, .4); text-underline-offset: 3px; }
.legal-address { font-style: normal; line-height: 1.7; margin-top: 10px; color: #3E4F48; }
.legal-callout { margin: 0 0 28px; padding: 16px 20px !important; border-radius: 14px !important; background: #EEF7F1 !important; border: 1px solid #CFE6D8 !important; }
.legal-callout p { margin: 0 !important; font-weight: 600 !important; color: #0B3D2B !important; line-height: 1.6 !important; }
.legal-callout--warn { background: #FFF6E8 !important; border-color: #F5D29A !important; }
.legal-callout--warn p { color: #7A4A06 !important; }
.legal-toc { top: calc(var(--psx-nav-h, 68px) + 24px) !important; }
.legal-toc-card { border-radius: 18px !important; border: 1px solid #E1ECE6 !important; background: #fff !important; box-shadow: 0 12px 28px rgba(7, 43, 33, .06) !important; }
.legal-toc a.is-active, .legal-toc a[aria-current="true"] { background: #E7F4EC !important; color: #0B3D2B !important; font-weight: 700; box-shadow: inset 3px 0 0 #187A55; }
