
/* Full-bleed soft gradient section (matches `bg-gradient-to-b from-background to-secondary/20`). */
.pf-page-section { background: linear-gradient(to bottom, var(--pf-background,#F7F3EE), hsla(20,55%,45%,0.2)); padding: 4rem 1.25rem 5rem; }
.pf-page-inner { max-width: 896px; margin: 0 auto; }
.pf-accent { color: var(--pf-primary,#D9772E); }

/* Shared icon circle (primary-tinted disc). */
.pf-icon-circle { display: inline-flex; align-items: center; justify-content: center; border-radius: 9999px; background: hsl(24,72%,50%,0.1); flex-shrink: 0; }
.pf-icon-circle .pf-ico { color: var(--pf-primary,#D9772E); }
.pf-icon-circle--lg { width: 4rem; height: 4rem; margin: 0 auto 1rem; }
.pf-icon-circle--lg .pf-ico { width: 2rem; height: 2rem; }
.pf-icon-circle--md { width: 3rem; height: 3rem; margin: 0 auto 0.5rem; }
.pf-icon-circle--md .pf-ico { width: 1.5rem; height: 1.5rem; }
.pf-icon-circle--sm { width: 2.5rem; height: 2.5rem; }
.pf-icon-circle--sm .pf-ico { width: 1.25rem; height: 1.25rem; }
.pf-flag { width: 2.5rem; height: 1.5rem; display: block; }

/* ---- About hero ---- */
.pf-about-hero { text-align: center; margin-bottom: 4rem; }
.pf-about-eyebrow { font-family: 'Hanken Grotesk', sans-serif; font-size: 0.875rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em; color: var(--pf-primary,#D9772E); margin: 0 0 0.75rem; }
.pf-about-title { font-family: 'Hanken Grotesk', sans-serif; font-size: clamp(2.25rem,5vw,3rem); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; color: var(--pf-foreground,#2A2622); margin: 0 0 1.5rem; }
.pf-about-lead { max-width: 768px; margin: 0 auto; color: var(--pf-muted-foreground,#79716A); }
.pf-about-lead p { font-size: 1.125rem; line-height: 1.7; margin: 0 0 1rem; }
.pf-about-lead p:last-child { margin-bottom: 0; }

/* ---- Mission box ---- */
.pf-mission { border: 1px solid hsl(24,72%,50%,0.2); background: hsl(24,72%,50%,0.05); border-radius: 1.25rem; padding: 2.5rem 2rem; text-align: center; margin-bottom: 4rem; }
.pf-mission p { font-family: 'Hanken Grotesk', sans-serif; font-size: clamp(1.25rem,2.5vw,1.5rem); line-height: 1.6; color: var(--pf-charcoal,#2D2926); margin: 0; }

/* ---- Core values (1 / 2) ---- */
.pf-values { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 4rem; }
@media (min-width:768px){ .pf-values { grid-template-columns: repeat(2,1fr); } }
.pf-value-card { background: var(--pf-card,#FCFAF8); border: 1px solid var(--pf-border,#E5DED4); border-radius: 0.75rem; padding: 1.5rem; text-align: center; box-shadow: 0 1px 3px hsl(25,15%,12%,0.05); }
.pf-value-title { font-family: 'Hanken Grotesk', sans-serif; font-size: 1.25rem; font-weight: 600; color: var(--pf-foreground,#2A2622); margin: 0 0 0.5rem; }
.pf-value-body { font-size: 0.95rem; line-height: 1.55; color: var(--pf-muted-foreground,#79716A); margin: 0; }

/* ---- Testing ---- */
.pf-testing-head { text-align: center; margin-bottom: 2rem; }
.pf-section-title { font-family: 'Hanken Grotesk', sans-serif; font-size: clamp(1.6rem,3vw,1.875rem); font-weight: 700; color: var(--pf-foreground,#2A2622); margin: 0 0 0.75rem; }
.pf-section-sub { max-width: 42rem; margin: 0 auto; color: var(--pf-muted-foreground,#79716A); text-wrap: balance; }
.pf-testing { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 4rem; }
@media (min-width:768px){ .pf-testing { grid-template-columns: repeat(3,1fr); } }
.pf-test-card { background: var(--pf-card,#FCFAF8); border: 1px solid var(--pf-border,#E5DED4); border-radius: 0.875rem; padding: 1.5rem; }
.pf-test-head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.pf-test-title { font-family: 'Hanken Grotesk', sans-serif; font-size: 1.125rem; font-weight: 700; color: var(--pf-foreground,#2A2622); margin: 0; }
.pf-test-body { font-size: 0.875rem; line-height: 1.6; color: var(--pf-muted-foreground,#79716A); margin: 0; }

/* ---- Foundry Club CTA (dark) ---- */
.pf-club { background: var(--pf-charcoal,#2D2926); border: 1px solid hsl(24,72%,50%,0.3); border-radius: 1.25rem; padding: 3rem 2rem; text-align: center; box-shadow: 0 10px 30px hsl(25,15%,12%,0.12); margin-bottom: 4rem; }
.pf-club-tile { display: inline-flex; align-items: center; justify-content: center; padding: 1rem; background: hsl(24,72%,50%,0.2); border-radius: 1rem; margin-bottom: 1.5rem; }
.pf-club-tile .pf-ico { width: 2.5rem; height: 2.5rem; color: var(--pf-primary,#D9772E); }
.pf-club-title { font-family: 'Hanken Grotesk', sans-serif; font-size: clamp(1.875rem,4vw,2.25rem); font-weight: 700; color: #fff; margin: 0 0 1rem; }
.pf-club-p1, .pf-club-p2 { max-width: 42rem; margin: 0 auto 1rem; line-height: 1.7; }
.pf-club-p1 { color: #d4d4d8; }
.pf-club-p2 { color: #a1a1aa; margin-bottom: 2rem; }
.pf-club-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; padding: 1rem 2rem; background: var(--pf-primary-accessible,#9C4911); color: #fff; border-radius: 9999px; font-family: 'Hanken Grotesk', sans-serif; font-weight: 500; text-decoration: none; transition: background .3s ease, box-shadow .3s ease; }
.pf-club-btn:hover { background: hsl(24,72%,46%); box-shadow: 0 8px 24px hsl(24,72%,50%,0.3); }
.pf-club-btn .pf-ico { width: 1rem; height: 1rem; transition: transform .3s ease; }
.pf-club-btn:hover .pf-ico { transform: translateX(0.25rem); }

/* ---- RUO disclaimer ---- */
.pf-ruo { border: 1px solid var(--pf-muted,#EFEBE4); background: hsl(30,15%,94%,0.3); border-radius: 0.875rem; padding: 1.5rem; text-align: center; }
.pf-ruo p { font-size: 0.75rem; line-height: 1.6; color: var(--pf-muted-foreground,#79716A); margin: 0; }
.pf-ruo strong { color: var(--pf-foreground,#2A2622); font-weight: 600; }

/* ---- Contact ---- */
.pf-contact-inner { max-width: 896px; }
.pf-contact-head { text-align: center; margin-bottom: 3rem; }
.pf-contact-sub { font-size: 1.125rem; color: var(--pf-muted-foreground,#79716A); margin: 1rem 0 0; }
.pf-card { background: var(--pf-card,#FCFAF8); border: 1px solid var(--pf-border,#E5DED4); border-radius: 0.875rem; box-shadow: 0 1px 3px hsl(25,15%,12%,0.05); }
.pf-contact-emailcard { max-width: 26rem; margin: 0 auto 3rem; padding: 1.75rem; text-align: center; }
.pf-email-title { font-family: 'Hanken Grotesk', sans-serif; font-size: 1.125rem; font-weight: 600; color: var(--pf-foreground,#2A2622); margin: 0 0 0.25rem; }
.pf-email-addr { font-family: 'IBM Plex Mono', monospace; font-size: 0.875rem; margin: 0; }
.pf-email-addr a { color: var(--pf-muted-foreground,#79716A); text-decoration: none; }
.pf-email-addr a:hover { color: var(--pf-primary,#D9772E); }
.pf-contact-formcard { max-width: 42rem; margin: 0 auto; padding: 1.75rem; }
.pf-form-title { font-family: 'Hanken Grotesk', sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--pf-foreground,#2A2622); margin: 0 0 0.35rem; }
.pf-form-desc { font-size: 0.95rem; color: var(--pf-muted-foreground,#79716A); margin: 0 0 1.5rem; }
.pf-field { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1.5rem; }
.pf-field label { font-size: 0.875rem; font-weight: 500; color: var(--pf-foreground,#2A2622); }
.pf-input, .pf-field input, .pf-field textarea { box-sizing: border-box; width: 100%; border: 1px solid var(--pf-border,#E5DED4); background: var(--pf-background,#F7F3EE); border-radius: 0.5rem; padding: 0.6rem 0.8rem; font-family: 'Hanken Grotesk', sans-serif; font-size: 0.95rem; color: var(--pf-foreground,#2A2622); transition: border-color .2s ease, box-shadow .2s ease; }
.pf-field textarea { min-height: 9rem; resize: vertical; }
.pf-field input::placeholder, .pf-field textarea::placeholder { color: var(--pf-muted-foreground,#79716A); }
.pf-field input:focus, .pf-field textarea:focus { outline: none; border-color: var(--pf-primary,#D9772E); box-shadow: 0 0 0 3px hsl(24,72%,50%,0.18); }
.pf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pf-submit { width: 100%; appearance: none; cursor: pointer; border: 0; background: var(--pf-primary-accessible,#9C4911); color: #fff; border-radius: 0.5rem; padding: 0.85rem 1.5rem; font-family: 'Hanken Grotesk', sans-serif; font-size: 0.95rem; font-weight: 600; transition: background .2s ease; }
.pf-submit:hover { background: hsl(24,80%,28%); }
.pf-submit:disabled { opacity: 0.6; cursor: not-allowed; }
.pf-contact-status { margin: 1rem 0 0; font-size: 0.9rem; text-align: center; }
.pf-contact-status.is-ok { color: #16a34a; }
.pf-contact-status.is-err { color: #dc2626; }
/* Understated compliance fine print: present + verifiable, low-key so it doesn't compete with the page. */
.pf-contact-fineprint { max-width: 42rem; margin: 2.5rem auto 0; text-align: center; font-style: normal; font-family: 'Hanken Grotesk', sans-serif; font-size: 0.85rem; line-height: 1.6; color: var(--pf-muted-foreground,#79716A); opacity: 0.8; }
.pf-contact-fineprint a { color: inherit; text-decoration: none; }
.pf-contact-fineprint a:hover { color: var(--pf-primary,#D9772E); text-decoration: underline; }
