.rivet-public .photo-hero{min-height:480px;padding-block:48px}
.rivet-public .photo-hero h1{font-size:clamp(38px,4.8vw,65px)}
.rivet-public section.block{padding-block:48px}
.rivet-public .owner-directory-intro{padding-block:30px 0}
.rivet-public .owner-directory-intro h1{font-size:clamp(32px,4vw,48px);margin-block:12px 20px}
.rivet-public .owner-directory-intro p{margin-bottom:12px}
.rivet-public .owner-shops-page .public-shops{padding-top:24px}
.rivet-public .education-hero,.rivet-public .events-hero{min-height:0;padding-block:28px!important;background:#e5ead9;color:#253528}
.rivet-public .education-hero h1,.rivet-public .events-hero h1{font-size:clamp(32px,4vw,48px);margin:8px 0 16px}
.rivet-public .education-hero p,.rivet-public .events-hero p{color:#40513b;margin-bottom:0;max-width:65ch}
.rivet-public .education-hero .eyebrow,.rivet-public .events-hero .eyebrow{color:#405d3d}
.rivet-public .education-body,.rivet-public .events-section{padding-block:32px}
.rivet-public .education-prose{max-width:68ch;font-size:18px!important;line-height:1.85;overflow-wrap:anywhere}
.rivet-public .education-prose h2{font-size:28px;margin:36px 0 16px;line-height:1.3}
.rivet-public .education-prose li{padding-left:6px;margin-bottom:20px}
.rivet-public .education-prose ol{padding-left:26px}
.rivet-public .education-meta{color:#52604c;line-height:1.6}
.public-review-note{max-width:72ch;margin:24px auto;padding:22px;border-left:4px solid #60774f;background:#edf0e5;border-radius:6px}
.public-review-note h2{font-size:21px;margin:0 0 12px}.public-review-note p{font-size:15px;margin:0}
.public-next{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:30px;border-top:1px solid #d6ddcd;padding-top:24px}
.public-next a,.public-reset{min-height:44px;display:inline-flex;align-items:center}
.public-reset{border:0;background:transparent;color:#405d3d;text-decoration:underline;padding:0 4px;font-weight:650}
.public-references{margin-top:32px}.public-references h2{font-size:24px}
.public-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
.public-photo-grid figure{margin:0}.public-photo-grid img{width:100%;height:auto;object-fit:contain}.public-photo-grid figcaption{font-size:14px}
.professional-intro{max-width:850px}.professional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.professional-grid section,.professional-faq{padding:28px;background:#fff;border:1px solid #d6ddcd;border-radius:12px}
.professional-grid h2,.professional-faq h2{font-size:28px}.professional-grid li{margin-bottom:12px}.professional-faq{margin-top:28px}.professional-faq details{border-top:1px solid #d6ddcd;padding:16px 0}.professional-faq summary{font-weight:650;cursor:pointer;min-height:44px}.professional-faq details p{margin-top:12px}
.rivet-public .event-facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:18px 0}.event-facts dt{font-weight:650}.event-facts dd{margin:0;overflow-wrap:anywhere}
.rivet-public .event-card h3{margin-top:0}.rivet-public .events-empty{padding:28px;border:1px solid #d6ddcd;border-radius:12px;background:#fff}.rivet-public .events-empty h2{font-size:27px}
.rivet-public .events-empty a.button{color:#fff;text-decoration:none}
.rivet-public .events-empty{display:block}.rivet-public .events-empty .actions{margin-bottom:0}
.rivet-public a:focus-visible,.rivet-public button:focus-visible,.rivet-public summary:focus-visible,.rivet-public input:focus-visible{outline:3px solid #617a39;outline-offset:4px;box-shadow:0 0 0 2px #fff}
.rivet-public .dark .button{background:#cedeb7;color:#1c321f}.rivet-public .dark a:focus-visible{outline-color:#e4f0c7}
.rivet-public main{overflow-wrap:anywhere}.rivet-public .event-card,.professional-grid>*{min-width:0}
@media(max-width:650px){.professional-grid{grid-template-columns:1fr}.rivet-public .photo-hero{min-height:0;padding-block:38px}.rivet-public section.block{padding-block:32px}.professional-grid section,.professional-faq{padding:22px}.rivet-public .education-prose{font-size:17px!important}.rivet-public .event-facts{grid-template-columns:1fr;gap:2px}.event-facts dd{margin-bottom:12px}}

/* Professional invitation: current benefits lead; plans remain secondary. */
.professionals-page>.block{max-width:1248px}
.professionals-page .professional-intro{max-width:890px;margin-bottom:44px}
.professionals-page h1{font-size:clamp(36px,4.8vw,64px);line-height:1.12;margin-block:16px 24px}
.professionals-page .professional-intro .intro{max-width:66ch}
.professional-benefits{margin-bottom:36px}
.professional-benefits>h2{font-size:clamp(28px,3.2vw,40px);margin-top:10px}
.professional-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.professional-benefit-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;min-width:0}
.professional-benefit-grid article:last-child{grid-column:1/-1;background:#e9eedf}
.professional-benefit-grid h3{margin:0 0 12px;font-size:23px}
.professional-benefit-grid p{margin:0;color:var(--muted)}
.professional-role-note{font-size:14px;color:var(--muted);max-width:90ch;margin:18px 0 0}
.professional-future{border-left:3px solid #a7b49c;padding:4px 0 4px 20px;margin:28px 0}
.professional-future h2{font-size:20px;margin:0 0 8px}
.professional-future p{margin:0;color:var(--muted);font-size:15px}
.professional-closing{background:#e5ead9;border:1px solid var(--line);border-radius:12px;padding:28px;margin-top:28px}
.professional-closing h2{font-size:clamp(26px,3vw,36px);margin-top:0}
.professional-closing .actions{margin-bottom:0}
.professionals-page summary:focus-visible{outline:3px solid #405d3d;outline-offset:4px}
@media(max-width:650px){.professional-benefit-grid{grid-template-columns:1fr}.professional-benefit-grid article{padding:22px}.professional-benefit-grid article:last-child{grid-column:auto}.professionals-page .professional-intro{margin-bottom:32px}.professional-closing{padding:22px}.professionals-page .actions{align-items:flex-start;flex-direction:column}.professionals-page .actions .button{width:100%}}

.board-card-text{display:flex;align-items:center;background:#e8eddf}.board-card-text .board-detail{width:100%;padding:32px}.board-card-text h3{margin-bottom:0}@media(max-width:600px){.board-card-text{min-height:160px}}
