[hidden]{display:none!important}
.pp-hidden{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Forms: owner report, founding members, privacy requests */
.report-card,.form-card{background:white;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,4vw,30px);margin-top:26px;box-shadow:var(--shadow)}
.report-card h3,.form-card h3{font-size:1.4rem;letter-spacing:-.02em;margin:0 0 6px}.report-card>p,.form-card>p{color:var(--muted);line-height:1.6;margin:0 0 18px}
.report-form,.join-form,.request-form{display:flex;flex-direction:column;gap:16px}
.report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.report-form label,.join-form label,.request-form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:700;color:var(--ink)}
.report-form input:not([type=checkbox]),.report-form select,.report-form textarea,.join-form input:not([type=checkbox]),.join-form select,.request-form input,.request-form select,.request-form textarea{font:inherit;font-weight:500;width:100%;min-height:46px;padding:10px 12px;border:1px solid #afbfcd;border-radius:9px;background:white;color:var(--ink)}
.report-form textarea,.request-form textarea{min-height:92px;resize:vertical}
.report-form label small,.join-form label small,.request-form label small{font-weight:500;color:var(--muted);font-size:.8rem;line-height:1.45}
.report-form .check,.join-form .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:600;line-height:1.45}
.report-form .check input,.join-form .check input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--navy)}
.report-problems,.join-interests{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0}
.report-problems legend,.join-interests legend{font-weight:750;font-size:.9rem;padding:0 6px}
.report-checks,.join-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;margin:6px 0 4px}
.report-problem-hours{margin-top:12px}
.report-ratings summary{cursor:pointer;font-weight:750;color:#165f88}.report-ratings .report-grid{margin-top:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.report-consent{background:var(--lime-soft);padding:12px 14px;border-radius:10px}.report-consent a,.form-card a{color:#165f88;text-decoration:underline;text-underline-offset:3px}
.report-form .btn,.join-form .btn,.request-form .btn{align-self:flex-start}
.report-status p,.join-status p,.request-status p{margin:0;line-height:1.6}.report-ok{color:#24693d}.report-error{color:#a3361f}

/* Owner-report totals on paddle pages */
.owner-summary{margin:18px 0 6px}
.owner-empty{background:white;border:1px dashed #b9c7d3;border-radius:14px;padding:20px}.owner-empty b{font-size:1.08rem}.owner-empty p{color:var(--muted);margin:6px 0 0;line-height:1.6}
.owner-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.owner-tiles article{background:var(--navy);color:white;border-radius:14px;padding:18px}.owner-tiles b{display:block;font-size:2rem;color:var(--lime);line-height:1.1}.owner-tiles span{display:block;font-size:.84rem;margin-top:8px;color:#d2dee7}
.owner-note{color:var(--muted);font-size:.9rem;line-height:1.6;margin:12px 0}
.owner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:16px}
.owner-table{margin:0}.owner-table table{min-width:0;background:white}.owner-table th,.owner-table td{min-width:0!important}.owner-table caption{text-align:left;font-weight:750;padding:0 0 8px}

/* Durability curve */
.km-figure{margin:22px 0 0;background:white;border:1px solid var(--line);border-radius:16px;padding:18px}
.km-figure figcaption b{display:block;font-size:1.1rem}.km-figure figcaption span{display:block;color:var(--muted);font-size:.85rem;margin-top:4px}
.km-wrap{position:relative}.km-chart{display:block;width:100%;height:auto;margin-top:10px;overflow:visible}
.km-chart text{font:12px system-ui,sans-serif;fill:#40586b}
.km-grid{stroke:#e3eaf0;stroke-width:1}.km-axis{stroke:#8898a6;stroke-width:1}
.km-band{fill:var(--navy);fill-opacity:.1}
.km-line{fill:none;stroke:var(--navy);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.km-end{fill:var(--navy);stroke:white;stroke-width:2}.km-chart .km-end-label{font-weight:700;fill:var(--ink)}
.km-cross{stroke:#8898a6;stroke-width:1;opacity:0}.km-hit{fill:transparent;cursor:crosshair}
.km-tip{position:absolute;top:8px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:8px 12px;font-size:.84rem;line-height:1.5;pointer-events:none;min-width:150px}.km-tip b,.km-tip span{display:block}

/* Community hub */
.community-hero{background:var(--navy);color:white;padding:60px 0 46px}.community-hero .eyebrow{color:var(--lime)}.community-hero h1{font-size:clamp(2.3rem,5.5vw,4.2rem);line-height:1.04;letter-spacing:-.05em;margin:14px 0 18px;max-width:900px}.community-hero h1 span{color:var(--lime)}.community-hero p{max-width:720px;color:#d2dee7;line-height:1.75}
.community-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.community-count{display:inline-flex;gap:8px;align-items:baseline;margin-top:22px;padding:10px 16px;border-radius:12px;background:rgba(255,255,255,.08);color:#d2dee7}.community-count b{color:var(--lime);font-size:1.3rem}
.picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:18px}.picker label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.88rem}.picker input{font:inherit;min-height:48px;padding:10px 14px;border:1px solid #afbfcd;border-radius:9px;width:100%}
.picker-note{color:var(--muted);font-size:.88rem;margin:10px 0 0}
.community-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:20px}.community-cards article{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:8px}.community-cards h3{margin:4px 0 0}.community-cards p{color:var(--muted);line-height:1.6;margin:0}.community-cards a{margin-top:auto;font-weight:750;color:#165f88;text-decoration:underline;text-underline-offset:3px}
.community-steps{counter-reset:step;display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}.community-steps li{counter-increment:step;background:white;border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 58px;position:relative;line-height:1.6}.community-steps li::before{content:counter(step);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--navy);font-weight:900;display:grid;place-items:center}.community-steps b{display:block}
.thanks-banner{background:var(--lime-soft);border:1px solid #d5deaa;border-radius:12px;padding:14px 18px;margin:18px 0 0;font-weight:650}

/* Policy pages */
.policy{max-width:820px}.policy h2{font-size:1.6rem;letter-spacing:-.03em;margin:40px 0 10px;scroll-margin-top:110px}.policy p,.policy li{line-height:1.75}.policy ul,.policy ol{padding-left:22px}.policy li{margin:6px 0}.policy .lead{font-size:1.12rem}
.policy-table{overflow-x:auto;margin:16px 0}.policy-table table{min-width:640px;background:white}.policy-table th,.policy-table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line);line-height:1.55}
.policy-date{color:var(--muted);font-size:.9rem}

@media(max-width:650px){.owner-tiles{grid-template-columns:1fr 1fr}.owner-tiles b{font-size:1.6rem}.picker{grid-template-columns:1fr}.picker .btn{justify-content:center}.km-figure{padding:14px}}
.community-hero .thanks-banner{color:var(--navy)}
.buyer-muted a,.policy a,.owner-empty a{color:#165f88;text-decoration:underline;text-underline-offset:3px}
