/* Founder note + beta application */
.fn-section{background:linear-gradient(180deg,var(--teal-bg,#F0FAF6),#fff)}
.fn-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--gray-200,#E5E7EB);border-top:4px solid var(--green,#1D9E75);border-radius:16px;box-shadow:0 10px 32px rgba(13,43,31,.08);padding:40px 44px;display:grid;gap:28px;min-width:0}
.fn-card:has(.fn-photo:not([hidden])){grid-template-columns:180px minmax(0,1fr);max-width:900px}
.fn-photo{margin:0;width:100%;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--green-light,#E1F5EE)}
.fn-photo[hidden]{display:none}
.fn-photo img{width:100%;height:100%;object-fit:cover;display:block}
.fn-text{min-width:0}
.fn-kicker{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-dark,#0F6E56);margin:0 0 8px}
.fn-title{font-family:'DM Serif Display',serif;font-weight:400;font-size:32px;line-height:1.15;color:var(--navy,#0D2B1F);margin:0 0 22px;letter-spacing:-.01em}
.fn-body p{font-size:17px;line-height:1.75;color:var(--gray-700,#374151);margin:0 0 14px;overflow-wrap:anywhere}
.fn-body p:first-child{font-family:'DM Serif Display',serif;font-size:22px;line-height:1.4;color:var(--navy,#0D2B1F)}
.fn-body .fn-check{background:var(--green-light,#E1F5EE);border-radius:10px;padding:12px 16px;color:var(--navy-mid,#1A4333);font-weight:500}
.fn-sign{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--gray-200,#E5E7EB);font-size:16px;color:var(--gray-600,#4B5563);line-height:1.5}
.fn-sign-name{font-family:'DM Serif Display',serif;font-size:26px;color:var(--navy,#0D2B1F)}
.fn-cta,.bf-submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;margin-top:24px;border-radius:10px;border:0;background:linear-gradient(135deg,var(--green,#1D9E75),var(--green-dark,#0F6E56));color:#fff!important;font:700 16px 'DM Sans',sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 4px 14px rgba(29,158,117,.3);transition:transform .15s,box-shadow .15s}
.fn-cta:hover,.bf-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px rgba(29,158,117,.35)}
.fn-cta:focus-visible,.bf-submit:focus-visible{outline:3px solid var(--navy,#0D2B1F);outline-offset:3px}
.fn-about{margin:32px 0}
.fn-about .fn-card{padding:32px}
#beta-view .bf-shell{max-width:620px;margin:0 auto}
#beta-view h1{font-family:'DM Serif Display',serif;font-weight:400;font-size:36px;line-height:1.15;color:var(--navy,#0D2B1F);margin:0 0 12px}
.bf-lead{font-size:16px;line-height:1.7;color:var(--gray-600,#4B5563);margin:0 0 28px}
.bf-form,.bf-success{background:#fff;border:1px solid var(--gray-200,#E5E7EB);border-top:4px solid var(--green,#1D9E75);border-radius:16px;padding:32px;box-shadow:0 10px 32px rgba(13,43,31,.08);display:flex;flex-direction:column;gap:20px}
.bf-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.bf-field label{font-size:16px;font-weight:600;color:var(--gray-800,#1F2937)}
.bf-hint{font-size:14px;color:var(--gray-500,#6B7280);margin:0}
.bf-form input,.bf-form textarea{font-size:16px!important;min-height:48px;width:100%;max-width:100%}
.bf-form textarea{height:auto;min-height:140px;resize:vertical}
.bf-form [aria-invalid=true]{border-color:var(--red,#EF4444)}
.bf-err{color:#B91C1C;font-size:14px;margin:0}
.bf-err[hidden],.bf-success[hidden]{display:none}
.bf-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.bf-status:empty{display:none}
.bf-status{font-size:15px;border-radius:10px;padding:12px 14px;background:var(--gray-100,#F3F4F6);color:var(--gray-700,#374151)}
.bf-status.is-error{background:var(--red-light,#FEF2F2);color:#991B1B;border-left:4px solid var(--red,#EF4444)}
.bf-submit{margin-top:0;width:100%}
.bf-submit:disabled{opacity:.7;cursor:progress;transform:none}
.bf-privacy{font-size:14px;color:var(--gray-500,#6B7280);margin:0}
.bf-privacy a{color:var(--green-dark,#0F6E56)}
.bf-success h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:26px;color:var(--navy,#0D2B1F);margin:0}
.bf-success p{font-size:16px;margin:0}
@media(max-width:760px){
 .fn-card,.fn-about .fn-card,.fn-card:has(.fn-photo:not([hidden])){grid-template-columns:1fr;padding:24px 18px;gap:20px}
 .fn-photo{max-width:200px}
 .fn-title{font-size:26px}
 .fn-body p{font-size:16px}
 .fn-body p:first-child{font-size:20px}
 .fn-cta{width:100%}
 #beta-view h1{font-size:28px}
 .bf-form,.bf-success{padding:22px 16px}
}
@media(prefers-reduced-motion:reduce){.fn-cta,.bf-submit{transition:none}}
