/* Networks, Pricing and About share the homepage's quieter editorial rhythm.
   Scope presentation to main; public-navigation.css owns all shared chrome. */
main[class^="page-"] { --line:#dce3d9; --muted:#627267; }
main[class^="page-"] .wrap { width:min(1120px,calc(100% - 48px)); }
main[class^="page-"] p { text-wrap:pretty; }
main[class^="page-"] .hero { padding:48px 0 46px; background:#f7f8f1; border-bottom:1px solid #e2e7db; }
main[class^="page-"] h1 { font-size:clamp(2.65rem,4.5vw,4.25rem); line-height:1.08; letter-spacing:-.055em; }
main[class^="page-"] h1 em { color:#56852f; }
main[class^="page-"] .eyebrow { font-size:.68rem; letter-spacing:.15em; }
main[class^="page-"] .lead { font-size:1.08rem; line-height:1.7; color:#526b5f; }
main[class^="page-"] .section { padding:52px 0; }
main[class^="page-"] .section h2 { font-size:clamp(1.85rem,3vw,2.65rem); line-height:1.13; letter-spacing:-.045em; }
main[class^="page-"] .section-head { max-width:730px; margin-bottom:26px; }
main[class^="page-"] .section-head p { font-size:.98rem; line-height:1.7; }
main[class^="page-"] .section-head .eyebrow { font-size:.68rem; }
main[class^="page-"] .tint { background:#f3f5ee; }
main[class^="page-"] .grid3 { gap:16px; }
main[class^="page-"] .card { padding:24px; border:1px solid var(--line); border-radius:17px; box-shadow:none; }
main[class^="page-"] .card h3 { font-size:1.12rem; line-height:1.3; margin:0 0 12px; letter-spacing:-.02em; }
main[class^="page-"] .card p { font-size:.92rem; line-height:1.7; }
main[class^="page-"] .card .icon,
main[class^="page-"] .card-icon { display:grid; place-items:center; width:36px; height:36px; margin-bottom:16px; border-radius:10px; background:#edf2e5; color:#426437; font-size:1.1rem; }
main[class^="page-"] .button { min-height:46px; padding:12px 20px; font-size:.9rem; line-height:1.3; height:auto; box-shadow:none; text-transform:none; }
main[class^="page-"] .button.alt { background:transparent; border-color:#cbd7c4; }
main[class^="page-"] :focus-visible { outline:3px solid #588c35; outline-offset:4px; }
main[class^="page-"] .message { padding:32px 38px; border-radius:20px; background:#113e2c; gap:30px; }
main[class^="page-"] .message h2 { color:#fff; font-size:clamp(1.8rem,2.7vw,2.5rem); }
main[class^="page-"] .message p { font-size:.96rem; line-height:1.7; }

/* Networks: shared value, a console example, practical use and onboarding. */
main.page-organizations .hero-grid { grid-template-columns:1.25fr .85fr; gap:64px; }
main.page-organizations .hero h1 { margin:16px 0 22px; }
main.page-organizations .network-card { display:block; position:relative; overflow:hidden; padding:32px; background:#e9eddf; border-color:#d5decc; border-radius:22px; box-shadow:none; }
main.page-organizations .network-card::before { content:''; display:block; width:38px; height:5px; margin:0 0 27px; border-radius:5px; background:#5f863e; }
main.page-organizations .network-card .label { padding:0; font-size:.65rem; letter-spacing:.14em; }
main.page-organizations .network-card h3 { margin:12px 0; font-size:1.65rem; }
main.page-organizations .network-card>p:not(.label) { margin-bottom:24px; }
main.page-organizations .signal { gap:12px; font-size:.88rem; border-color:#cbd6c0; padding:15px 0; }
main.page-organizations .signal .dot { width:7px; height:7px; flex-shrink:0; background:#648a42; }
main.page-organizations .benefit-panels { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
main.page-organizations .benefit-panel { padding:30px; border:1px solid #dce3d4; border-radius:20px; background:#f3f5ee; }
main.page-organizations .benefit-panel h3 { margin:16px 0; font-size:1.65rem; line-height:1.2; letter-spacing:-.035em; color:#244a33; }
main.page-organizations .benefit-panel>p:not(.eyebrow) { font-size:.94rem; line-height:1.7; color:#526b5f; }
main.page-organizations .benefit-panel ul { display:grid; gap:20px; list-style:none; padding:24px 0 0; margin:24px 0 0; border-top:1px solid #d5dfcc; }
main.page-organizations .benefit-panel li { display:grid; gap:6px; font-size:.87rem; line-height:1.65; }
main.page-organizations .benefit-panel li strong { color:#244a33; font-size:.94rem; }
main.page-organizations .benefit-panel li span { color:#526b5f; }
main.page-organizations .organization-benefit { background:#113e2c; border-color:#113e2c; }
main.page-organizations .organization-benefit .eyebrow { color:#b9d996; }
main.page-organizations .organization-benefit h3,
main.page-organizations .organization-benefit li strong { color:#fff; }
main.page-organizations .organization-benefit>p:not(.eyebrow),
main.page-organizations .organization-benefit li span { color:#d9e7d5; }
main.page-organizations .organization-benefit ul { border-color:#ffffff30; }
main.page-organizations .console-overview { padding-top:12px; }
main.page-organizations .console-preview { margin:0; overflow:hidden; border:1px solid #d7e6d1; border-radius:20px; background:#fefdfb; box-shadow:0 12px 30px #043b2a09; }
main.page-organizations .console-preview-topbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:10px 22px; border-bottom:1px solid #d7e6d1; background:#fff; }
main.page-organizations .console-preview-brand { display:flex; align-items:center; gap:10px; color:#244a33; font-size:.85rem; font-weight:800; }
main.page-organizations .console-preview-brand img { display:block; width:100px; height:50px; object-fit:contain; }
main.page-organizations .console-example-label { padding:6px 10px; border-radius:6px; background:#edf3e4; color:#536b44; font-size:.68rem; font-weight:700; }
main.page-organizations .console-preview-shell { display:grid; grid-template-columns:154px minmax(0,1fr); }
main.page-organizations .console-preview-menu { display:grid; align-content:start; gap:4px; padding:20px 12px; border-right:1px solid #d7e6d1; background:#f5f8f0; }
main.page-organizations .console-preview-menu>span { padding:10px 12px; border-radius:8px; color:#5a705e; font-size:.76rem; line-height:1.4; }
main.page-organizations .console-preview-menu .preview-nav-active { background:#043b2a; color:#fff; font-weight:700; }
main.page-organizations .console-preview-main { min-width:0; padding:24px; }
main.page-organizations .console-preview-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
main.page-organizations .console-preview-heading p { margin:0 0 5px; color:#65814d; font-size:.68rem; font-weight:800; letter-spacing:.04em; }
main.page-organizations .console-preview-heading h3 { margin:0; color:#17362a; font-size:1.65rem; letter-spacing:-.035em; line-height:1.2; }
main.page-organizations .console-preview-periods { display:flex; flex-wrap:wrap; gap:4px; }
main.page-organizations .console-preview-periods>span { padding:6px 9px; border:1px solid #d7e6d1; border-radius:20px; font-size:.65rem; color:#61715c; }
main.page-organizations .console-preview-periods .preview-period-active { background:#043b2a; border-color:#043b2a; color:#fff; }
main.page-organizations .preview-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
main.page-organizations .preview-metric { display:flex; flex-direction:column; justify-content:space-between; gap:12px; min-width:0; padding:16px; border:1px solid #d7e6d1; border-radius:14px; background:#fff; }
main.page-organizations .preview-metric>span { color:#627267; font-size:.7rem; line-height:1.4; }
main.page-organizations .preview-metric>strong { color:#17362a; font-family:'DM Sans',sans-serif; font-size:1.8rem; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
main.page-organizations .preview-data-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:14px; }
main.page-organizations .preview-data-panel { min-width:0; padding:20px; border:1px solid #d7e6d1; border-radius:14px; background:#fff; }
main.page-organizations .preview-data-panel h4 { margin:0; color:#244a33; font-size:.86rem; font-weight:800; line-height:1.4; }
main.page-organizations .preview-data-panel .preview-expense-total { margin:6px 0 18px; color:#61715c; font-size:.72rem; }
main.page-organizations .preview-cost-row { display:grid; grid-template-columns:1fr auto; gap:7px 10px; margin:14px 0 0; font-size:.71rem; line-height:1.5; color:#526b5f; }
main.page-organizations .preview-cost-row strong { align-self:center; white-space:nowrap; color:#244a33; font-size:.7rem; font-variant-numeric:tabular-nums; }
main.page-organizations .preview-cost-track { grid-column:1/-1; height:6px; overflow:hidden; border-radius:4px; background:#edf3e4; }
main.page-organizations .preview-cost-track i { display:block; height:100%; border-radius:4px; background:#6cb324; }
main.page-organizations .preview-production { list-style:none; display:grid; gap:0; margin:12px 0 0; padding:0; }
main.page-organizations .preview-production li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:16px 0; border-bottom:1px solid #e5ebdf; font-size:.8rem; color:#526b5f; }
main.page-organizations .preview-production li:last-child { border:0; }
main.page-organizations .preview-production strong { color:#244a33; font-family:'DM Sans',sans-serif; font-size:1rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
main.page-organizations .console-preview figcaption { padding:14px 22px; border-top:1px solid #d7e6d1; background:#f5f8f0; color:#627267; font-size:.73rem; line-height:1.6; }
main.page-organizations .console-story { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; list-style:none; margin:24px 0 0; padding:0; }
main.page-organizations .console-story>li { display:grid; grid-template-columns:26px 1fr; gap:12px; padding-top:18px; border-top:1px solid #d7e6d1; }
main.page-organizations .console-story-number { padding-top:2px; color:#698751; font-size:.72rem; font-weight:800; }
main.page-organizations .console-story h3 { margin:0 0 8px; font-size:.99rem; line-height:1.3; color:#244a33; }
main.page-organizations .console-story p { margin:0; font-size:.87rem; line-height:1.65; color:#587064; }
main.page-organizations .network-use-cases { padding-top:28px; }
main.page-organizations .network-model { padding-top:30px; }
main.page-organizations .network-model>.wrap { display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:start; }
main.page-organizations .network-model .grid3 { grid-template-columns:1fr; gap:0; border-top:1px solid var(--line); }
main.page-organizations .network-model .card { display:grid; grid-template-columns:36px 1fr; gap:0 17px; padding:22px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
main.page-organizations .network-model .icon { grid-row:1/3; }
main.page-organizations .network-model h3 { margin:0 0 7px; }
main.page-organizations .network-steps .steps { display:grid; grid-auto-flow:row; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; overflow:visible; }
main.page-organizations .network-steps .step { display:block; min-width:0; padding:0 0 0 20px; text-align:left; border:0; border-left:1px solid #cbd7c2; border-radius:0; background:transparent; }
main.page-organizations .network-steps .step::before,
main.page-organizations .network-steps .step::after { content:none; }
main.page-organizations .number { display:block; font-size:.8rem; letter-spacing:.1em; color:#698751; }
main.page-organizations .step h3 { margin:17px 0 9px; font-size:1.12rem; }
main.page-organizations .step p { font-size:.92rem; color:#587064; }
main.page-organizations .network-use-cases .card { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; padding:22px 6px 0 0; }
main.page-organizations .network-invitation { padding:12px 0 40px; }
main.page-organizations .network-questions>.wrap { display:grid; grid-template-columns:.65fr 1.35fr; gap:50px; }
main.page-organizations .network-questions .network-faq { gap:0; }
main.page-organizations .network-questions details { padding:18px 0; border:0; border-bottom:1px solid #d4decb; border-radius:0; background:transparent; }
main.page-organizations .network-questions summary { font-size:.94rem; }
main.page-organizations .network-questions details p { max-width:850px; font-size:.9rem; line-height:1.7; }
main.page-organizations .network-questions details p+p { margin-top:12px; }
main.page-organizations .network-questions details p a { text-decoration:underline; text-underline-offset:3px; }
main.page-organizations .network-questions details p[style] { margin-top:16px!important; font-size:.82rem; }
main.page-organizations .network-questions .actions { margin-top:18px; }

/* Pricing: two products; commercial conditions live in one FAQ. */
main.page-pricing .hero { text-align:left; }
main.page-pricing .hero h1 { margin:16px 0 20px; max-width:800px; }
main.page-pricing .hero .lead { margin:0; max-width:740px; }
main.page-pricing .pricing-content { padding-top:30px; }
main.page-pricing .pricing-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
main.page-pricing .plan-card { display:flex; flex-direction:column; min-width:0; padding:32px; border:1px solid var(--line); border-radius:20px; background:#f5f7ef; }
main.page-pricing .plan-card>.eyebrow { margin:0 0 14px; }
main.page-pricing .plan-card h2 { margin:0; color:#244a33; font-size:1.85rem; line-height:1.15; }
main.page-pricing .plan-description { margin:16px 0 0; color:#526b5f; font-size:.96rem; line-height:1.65; }
main.page-pricing .plan-ruralia { background:#113e2c; border-color:#113e2c; color:#fff; }
main.page-pricing .plan-ruralia h2 { color:#fff; }
main.page-pricing .plan-ruralia>.eyebrow { color:#c3df9f; }
main.page-pricing .plan-ruralia .plan-description { color:#e0ebdb; }
main.page-pricing .plan-trial { align-self:flex-start; margin:24px 0 0; padding:6px 11px; border:1px solid #badf8b50; border-radius:7px; background:#20513a; color:#d3efb4; font-size:.82rem; font-weight:800; }
main.page-pricing .plan-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; margin:18px 0 24px; color:#c3df9f; font-family:'DM Sans',sans-serif; font-size:clamp(2.2rem,3.6vw,3rem); font-weight:700; line-height:1.2; letter-spacing:-.04em; }
main.page-pricing .plan-price small { font:600 .82rem 'Nunito Sans',sans-serif; color:#c2d6bd; letter-spacing:0; }
main.page-pricing .plan-price>span { font-size:1rem; font-weight:500; letter-spacing:-.02em; }
main.page-pricing .plan-contact { color:#244a33; margin-top:26px; }
main.page-pricing .plan-features { display:grid; gap:13px; padding:22px 0 0; margin:0; border-top:1px solid #d6dfce; list-style:none; font-size:.9rem; line-height:1.6; color:#526b5f; }
main.page-pricing .plan-features li { position:relative; padding-left:22px; }
main.page-pricing .plan-features li::before { content:'✓'; position:absolute; left:0; color:#698751; font-weight:800; }
main.page-pricing .plan-ruralia .plan-features { border-color:#ffffff30; color:#e1ebda; }
main.page-pricing .plan-ruralia .plan-features li::before { color:#b9d996; }
main.page-pricing .plan-action { display:grid; justify-items:start; gap:13px; margin-top:auto; padding-top:28px; }
main.page-pricing .plan-ruralia .button { background:var(--lime); border-color:var(--lime); color:var(--deep); }
main.page-pricing .plan-detail-link { font-size:.79rem; line-height:1.5; text-decoration:underline; text-underline-offset:3px; color:#526b5f; }
main.page-pricing .plan-ruralia .plan-detail-link { color:#c2d6bd; }
main.page-pricing .pricing-data-note { max-width:850px; margin:24px 0 0; color:var(--muted); font-size:.83rem; line-height:1.7; }
main.page-pricing .pricing-questions { background:#f3f5ee; }
main.page-pricing .pricing-questions>.wrap { display:grid; grid-template-columns:.7fr 1.3fr; gap:50px; }
main.page-pricing .pricing-faq details { border-bottom:1px solid #d4decb; scroll-margin-top:100px; }
main.page-pricing .pricing-faq summary { padding:20px 0; font-weight:700; font-size:.94rem; line-height:1.5; color:#244a33; cursor:pointer; }
main.page-pricing .pricing-faq p { margin:0; padding:0 0 22px; font-size:.9rem; line-height:1.75; color:#526b5f; }
main.page-pricing .pricing-faq details:target { border-bottom-color:#6e9258; }
main.page-pricing .pricing-services>.wrap { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
main.page-pricing .pricing-services h2 { margin:12px 0 16px; font-size:2rem; }
main.page-pricing .pricing-services p:not(.eyebrow) { margin:0; max-width:750px; font-size:.94rem; line-height:1.75; color:#526b5f; }
main.page-pricing .pricing-close { padding-top:0; }
main.page-pricing .pricing-close .eyebrow { color:#c3df9f; }
main.page-pricing .pricing-close-actions { display:grid; justify-items:start; gap:16px; }
main.page-pricing .pricing-contact-link { color:#d0e5b7; font-size:.84rem; line-height:1.5; text-decoration:underline; text-underline-offset:3px; }

/* About: actual founders take precedence over decorative interface panels. */
main.page-about .hero h1 { max-width:900px; margin:16px 0 22px; }
main.page-about .hero .lead { max-width:760px; }
main.page-about .people { gap:24px; }
main.page-about .person { min-width:0; padding:0; border:0; border-radius:0; background:transparent; }
main.page-about .person-heading { display:grid; grid-template-columns:168px 1fr; gap:25px; align-items:center; padding:0 0 24px; }
main.page-about .portrait { width:168px; height:190px; border:0; border-radius:15px; object-fit:cover; object-position:center 30%; background:#edf1e6; }
main.page-about .person h2 { font-size:1.8rem; margin:0 0 12px; }
main.page-about .role { font-size:.84rem; line-height:1.6; font-weight:700; }
main.page-about .bio { margin:0; padding-top:22px; border-top:1px solid var(--line); font-size:.94rem; line-height:1.8; }
main.page-about .areas { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
main.page-about .areas li { padding:7px 10px; border:1px solid #dde4d6; background:#f5f7ef; border-radius:7px; font-size:.75rem; line-height:1.4; font-weight:600; }
main.page-about .about-experience { padding-bottom:32px; }
main.page-about .experience-grid { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 36px; padding:0; margin:0; }
main.page-about .experience-grid>li { display:grid; grid-template-columns:28px 1fr; gap:14px; padding:20px 0 0; border-top:1px solid var(--line); }
main.page-about .experience-number { color:#698751; font-size:.73rem; font-weight:800; padding-top:3px; }
main.page-about .experience-grid h3 { margin:0 0 10px; color:#244a33; font-size:1.1rem; line-height:1.35; letter-spacing:-.02em; }
main.page-about .experience-grid p { margin:0; color:#526b5f; font-size:.93rem; line-height:1.75; }
main.page-about .section:last-child { padding-top:12px; padding-bottom:48px; }
main.page-about .contact { padding:32px 38px; border-radius:20px; background:#113e2c; }
main.page-about .contact h2 { font-size:clamp(1.8rem,2.7vw,2.5rem); }
main.page-about .contact p { font-size:.96rem; line-height:1.7; }

@media(max-width:1000px){
 main.page-organizations .hero-grid { grid-template-columns:1.15fr .85fr; gap:30px; }
 main.page-organizations .hero h1 { font-size:3.25rem; }
 main.page-organizations .network-model>.wrap { gap:30px; }
 main.page-about .person-heading { grid-template-columns:130px 1fr; gap:20px; }
 main.page-about .portrait { width:130px; height:160px; }
 main.page-about .person h2 { font-size:1.5rem; }
}
@media(max-width:760px){
 main[class^="page-"] .wrap { width:calc(100% - 40px); }
 main[class^="page-"] .hero { padding:32px 0; }
 main[class^="page-"] h1 { font-size:clamp(2.5rem,9vw,3.3rem); }
 main.page-organizations .hero h1 { font-size:clamp(2.5rem,9vw,3.3rem); }
 main[class^="page-"] .section { padding:36px 0; }
 main[class^="page-"] .section h2 { font-size:2rem; }
 main[class^="page-"] .grid3 { grid-template-columns:1fr; }
 main[class^="page-"] .message { grid-template-columns:1fr; padding:26px; gap:14px; }
 main[class^="page-"] .message .button { justify-self:start; white-space:normal; }
 main.page-organizations .hero-grid,
 main.page-organizations .network-model>.wrap { grid-template-columns:1fr; gap:28px; }
 main.page-organizations .network-card { padding:26px; }
 main.page-organizations .network-card::before { margin-bottom:20px; }
 main.page-organizations .benefit-panels { grid-template-columns:1fr; gap:14px; }
 main.page-organizations .benefit-panel { padding:24px; }
 main.page-organizations .benefit-panel h3 { font-size:1.5rem; }
 main.page-organizations .network-questions>.wrap { grid-template-columns:1fr; gap:0; }
 main.page-organizations .network-steps .steps { grid-template-columns:1fr; gap:24px; }
 main.page-organizations .network-model .section-head { margin:0; }
 main.page-organizations .network-invitation { padding-top:8px; }
 main.page-organizations .console-preview-topbar { padding:10px 14px; }
 main.page-organizations .console-preview-shell { grid-template-columns:minmax(0,1fr); }
 main.page-organizations .console-preview-menu { display:flex; flex-wrap:wrap; gap:3px; padding:10px; border-right:0; border-bottom:1px solid #d7e6d1; }
 main.page-organizations .console-preview-menu>span { padding:7px 8px; font-size:.65rem; }
 main.page-organizations .console-preview-main { padding:16px; }
 main.page-organizations .preview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 main.page-organizations .preview-metric { padding:14px; }
 main.page-organizations .preview-data-grid { grid-template-columns:minmax(0,1fr); }
 main.page-organizations .preview-data-panel { padding:16px; }
 main.page-organizations .console-preview figcaption { padding:14px 16px; }
 main.page-organizations .console-story { grid-template-columns:minmax(0,1fr); gap:16px; }
 main.page-pricing .pricing-plans { grid-template-columns:1fr; gap:16px; }
 main.page-pricing .plan-card { padding:26px; }
 main.page-pricing .pricing-questions>.wrap { grid-template-columns:1fr; gap:0; }
 main.page-pricing .pricing-services>.wrap { grid-template-columns:1fr; gap:22px; }
 main.page-pricing .pricing-services .button { justify-self:start; }
 main.page-about .experience-grid { grid-template-columns:1fr; gap:20px; }
 main.page-about .people { grid-template-columns:1fr; gap:38px; }
 main.page-about .person-heading { grid-template-columns:130px 1fr; gap:20px; }
 main.page-about .contact { grid-template-columns:1fr; padding:26px; gap:15px; }
 main.page-about .contact .button { justify-self:start; }
}
@media(max-width:380px){
 main.page-about .person-heading { grid-template-columns:100px 1fr; gap:15px; }
 main.page-about .portrait { width:100px; height:130px; }
 main.page-about .role { font-size:.76rem; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
