
/* 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; }
.pf-story { background:#F7F3EE; color:#2A2622; font-family:'Hanken Grotesk',sans-serif; }
.pf-story *, .pf-story *::before, .pf-story *::after { box-sizing:border-box; }
.pf-story p, .pf-story figure, .pf-story h1, .pf-story h2, .pf-story h3 { margin:0; }
.pf-story p { font-size:17px; line-height:1.7; }
.pf-story h1, .pf-story h2 { font-weight:500; letter-spacing:-.055em; line-height:1.06; text-wrap:balance; }
.pf-story h2 { font-size:clamp(36px,4.1vw,60px); }
.pf-story h3 { font-size:22px; font-weight:500; letter-spacing:-.025em; line-height:1.25; }
.pf-story em { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.06em; }
.pf-story .pf-story__eyebrow { color:#696059; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; line-height:1.5; margin-bottom:28px; }
.pf-story__wrap { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.pf-story__hero { border-bottom:1px solid #D9D0C5; background:radial-gradient(ellipse at 50% 0%,#EDE1D4 0%,#F7F3EE 70%); text-align:center; }
.pf-story__intro { max-width:1000px; margin-inline:auto; padding:90px 40px; }
.pf-story h1 { font-size:clamp(52px,5.2vw,78px); margin-bottom:30px; }
.pf-story h1 em { color:var(--pf-primary,#D9772E); }
.pf-story .pf-story__lead { font-size:21px; line-height:1.45; margin-bottom:18px; }
.pf-story__intro > p:not(.pf-story__eyebrow) { max-width:710px; margin-inline:auto; }
.pf-story__intro > p:not(.pf-story__lead):not(.pf-story__eyebrow) { color:#696059; }
.pf-story__button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:52px; padding:14px 22px; background:var(--pf-primary,#D9772E); color:#fff; text-decoration:none; font-size:14px; font-weight:600; line-height:1.4; border:1px solid transparent; border-radius:3px; }
.pf-story__button svg, .pf-story__text-link svg { flex-shrink:0; vertical-align:middle; }
.pf-story__intro .pf-story__button { margin-top:32px; }
.pf-story__button:hover { background:var(--pf-primary,#D9772E); color:#fff; box-shadow:inset 0 0 0 2px #2A2622; }
.pf-story a:focus-visible { outline:3px solid #2A2622; outline-offset:6px; }
.pf-story__purpose { display:grid; grid-template-columns:1fr 2fr; gap:70px; padding-block:110px; border-bottom:1px solid #D9D0C5; }
.pf-story__purpose .pf-story__eyebrow { padding-top:9px; }
.pf-story__purpose-copy { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:35px; color:#696059; }
.pf-story__standards { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:90px; padding-block:90px; }
.pf-story__standards-copy h2 { margin-bottom:34px; }
.pf-story__standard { display:grid; grid-template-columns:24px 1fr; gap:16px; border-top:1px solid #D9D0C5; padding:24px 0; }
.pf-story__standard > span { color:#696059; font-size:11px; padding-top:5px; }
.pf-story__standard p { color:#696059; font-size:16px; margin-top:10px; }
.pf-story__text-link { display:inline-block; color:#696059; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:5px; margin-top:14px; }
.pf-story__evidence { background:#2A2622; color:#F7F3EE; padding-block:100px; scroll-margin-top:110px; }
.pf-story__evidence-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:100px; align-items:center; }
.pf-story__evidence .pf-story__eyebrow { color:#E8B18A; }
.pf-story__evidence h2 { margin-bottom:26px; }
.pf-story__evidence h2 em { color:#E8B18A; }
.pf-story__evidence p { color:#D5CBC1; }
.pf-story__button--light { background:#F7F3EE; color:#2A2622; margin-top:30px; }
.pf-story__button--light:hover { background:#E8B18A; color:#2A2622; }
.pf-story__evidence a:focus-visible { outline-color:#E8B18A; }
.pf-story .pf-story__help { font-size:14px; margin-top:22px; }
.pf-story__help a { color:#F7F3EE; text-underline-offset:4px; }
.pf-story__steps { list-style:none; margin:0; padding:0; counter-reset:report; }
.pf-story__steps li { position:relative; padding:28px 0 28px 60px; border-top:1px solid #61564C; counter-increment:report; }
.pf-story__steps li:last-child { border-bottom:1px solid #61564C; }
.pf-story__steps li::before { content:'0' counter(report); position:absolute; left:0; top:29px; color:#E8B18A; font-size:13px; }
.pf-story__steps p { font-size:16px; margin-top:10px; }
.pf-story__closing { text-align:center; padding-block:100px; }
.pf-story__closing h2 { font-size:clamp(40px,4.8vw,68px); }
.pf-story__closing > p:not(.pf-story__eyebrow) { margin-top:24px; color:#696059; }
.pf-story__closing .pf-story__button { margin-top:30px; }
.pf-story__notice { border-top:1px solid #D9D0C5; padding-block:28px 40px; color:#696059; font-size:12px; line-height:1.65; text-align:center; }
.pf-story__notice strong { color:#2A2622; }
.pf-story__testing { border-top:1px solid #D9D0C5; padding-block:90px; }
.pf-story__testing-head { max-width:700px; }
.pf-story__testing-head > p:last-child { margin-top:24px; color:#696059; }
.pf-story__test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; margin-top:48px; }
.pf-story__test-grid > div { padding-top:24px; border-top:1px solid #D9D0C5; }
.pf-story__test-grid span { display:block; color:#696059; font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:16px; }
.pf-story__test-grid p { color:#696059; font-size:16px; margin-top:14px; }
@media(max-width:1050px) { .pf-story__intro { padding:70px 32px; } .pf-story__wrap { width:calc(100% - 64px); } .pf-story h1 { font-size:64px; } .pf-story__standards, .pf-story__evidence-grid { gap:45px; } .pf-story__purpose { gap:36px; grid-template-columns:1fr 3fr; } .pf-story__test-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:760px) { .pf-story__wrap { width:calc(100% - 40px); } .pf-story__intro { padding:60px 20px; } .pf-story h1 { font-size:clamp(42px,9vw,64px); } .pf-story .pf-story__lead { font-size:20px; } .pf-story__purpose { display:block; padding-block:64px; } .pf-story__purpose-copy { grid-template-columns:1fr; gap:18px; margin-top:24px; } .pf-story__standards { grid-template-columns:1fr; gap:34px; padding-block:64px; } .pf-story__testing { padding-block:64px; } .pf-story__test-grid { grid-template-columns:1fr; gap:28px; margin-top:34px; } .pf-story__evidence { padding-block:64px; } .pf-story__evidence-grid { grid-template-columns:1fr; gap:45px; } .pf-story__steps li { padding-left:44px; } .pf-story__closing { padding-block:64px; } .pf-story__button { gap:18px; max-width:100%; } .pf-story .pf-story__eyebrow { margin-bottom:22px; } }

