/* Readability and positioning pass — added after visual QA */
body { font-size: 18px; line-height: 1.65; }
.desktop-nav { font-size: 15px; }
.member-link { font-size: 14px; }
.brand-name { font-size: 12px; line-height: 1.28; }
.brand-name strong { font-size: 12px; }
.eyebrow, .section-index, .kicker { font-size: 13px; line-height: 1.45; }
.button, .text-link, .arrow-link { font-size: 15px; }
.hero-intro { font-size: clamp(19px, 1.55vw, 23px); line-height: 1.7; }
.next-label { font-size: 12px; }
.next-date span, .next-up p span { font-size: 13px; }
.next-up p { font-size: 16px; }
.hero-footer { font-size: 11px; }
.manifesto-copy p { font-size: 18px; }
.fact span { max-width: 170px; font-size: 15px; line-height: 1.55; }
.section-title-row > p { font-size: 18px; }
.card-content > span { font-size: 12px; }
.card-content p { font-size: 16px; line-height: 1.65; }
.experience-grid { grid-template-rows: 430px 370px; }
.lake { min-height: 1020px; }
.lake-copy > p:not(.kicker) { font-size: 19px; }
.lake-details dt { font-size: 12px; }
.lake-details dd { font-size: 16px; }
.steps p { font-size: 16px; line-height: 1.55; }
.steps li > span { font-size: 13px; }
.portal-content > p:not(.eyebrow) { font-size: 18px; }
.member-portal { min-height: 660px; }
.contact-heading > p:not(.kicker), .contact address { font-size: 17px; }
.contact-form label > span { font-size: 13px; }
.contact-form input, .contact-form textarea { font-size: 17px; }
.form-status { font-size: 15px; }
.footer-meta span { font-size: 12px; }
.footer-meta a, .footer-meta p { font-size: 16px; }
.footer-bottom { font-size: 13px; }

/* Front interior pages */
.inner-hero { min-height: min(860px, 94svh); }
.inner-hero-minimal { min-height: 720px; }
.inner-hero-lead { font-size: clamp(19px, 1.7vw, 24px); line-height: 1.7; }
.page-intro-copy p:not(.lead), .info-split p { font-size: 19px; line-height: 1.85; }
.page-intro-copy .lead { font-size: clamp(29px, 3.1vw, 45px); }
.pullquote cite { font-size: 13px; }
.dark-panel p { font-size: 17px; }
.timeline time { font-size: 20px; }
.timeline p { font-size: 16px; line-height: 1.65; }
.feature-photo, .feature-photo-content { min-height: 760px; }
.feature-photo-content p { font-size: 18px; }
.value-card, .benefit-card { min-height: 380px; }
.value-card .num, .benefit-card .num { font-size: 12px; }
.value-card p, .benefit-card p { font-size: 16px; line-height: 1.7; }
.section-heading > p { font-size: 18px; }
.tile-content span { font-size: 12px; }
.tile-content p { font-size: 15px; line-height: 1.65; }
.activity-grid { grid-auto-rows: 215px; }
.season { min-height: 310px; }
.season span { font-size: 12px; }
.season p { font-size: 15px; line-height: 1.7; }
.lake-fact span { font-size: 12px; }
.rule-list li { font-size: 17px; }
.rule-list li::before { font-size: 13px; }
.info-aside dt { font-size: 14px; }
.info-aside dd { font-size: 15px; }
.process p { font-size: 17px; }
.accordion-answer p { font-size: 17px; }
.page-cta { min-height: 580px; }
.page-cta p { font-size: 18px; }
.gallery-note { font-size: 16px; }
.gallery-caption span { font-size: 12px; }
.contact-card span { font-size: 12px; }
.contact-card strong { font-size: 22px; }
.map-coords { font-size: 12px; }

/* Member login */
.login-copy .overline { font-size: 13px; }
.login-copy > p:last-child { font-size: 19px; }
.login-status-card small { font-size: 11px; }
.login-status-card strong { font-size: 16px; }
.prototype-tag { font-size: 11px; }
.login-kicker { font-size: 13px; }
.login-lead { font-size: 17px; }
.member-field > span { font-size: 14px; }
.member-field input, .member-field select, .member-field textarea { font-size: 17px; }
.password-button, .login-options, .login-help { font-size: 14px; }
.member-primary-button { min-height: 58px; font-size: 14px; }
.member-secondary-button { min-height: 48px; font-size: 13px; }

/* Member app */
.member-navigation > p { font-size: 11px; }
.member-nav-link { min-height: 56px; font-size: 15px; }
.sidebar-lake-card small { font-size: 11px; }
.sidebar-lake-card strong { font-size: 18px; }
.sidebar-lake-card a { font-size: 13px; }
.sidebar-user strong { font-size: 13px; }
.sidebar-user span { font-size: 11px; }
.topbar-path { font-size: 13px; }
.member-topbar > div > strong { font-size: 14px; }
.mini-profile { font-size: 13px; }
.member-page-head .eyebrow { font-size: 12px; }
.member-page-head p { font-size: 17px; line-height: 1.7; }
.date-pill { font-size: 13px; }
.span-12 { grid-column: span 12; }
.card-label > span:first-child { font-size: 12px; }
.card-label a, .card-label button { font-size: 12px; }
.welcome-content .live-label { font-size: 11px; }
.welcome-content p { font-size: 16px; line-height: 1.7; }
.member-ghost-button { min-height: 46px; font-size: 13px; }
.hero-weather small, .lake-metric small { font-size: 11px; }
.hero-weather strong, .lake-metric strong { font-size: 16px; }
.quick-action span { font-size: 14px; }
.digital-card-head span { font-size: 12px; }
.digital-card-stack p { font-size: 14px; }
.membership-number small { font-size: 11px; }
.next-event p { font-size: 14px; }
.news-item h4 { font-size: 15px; line-height: 1.4; }
.news-item p { font-size: 13px; line-height: 1.5; }
.news-item time { font-size: 12px; }
.chart-total span { font-size: 13px; }
.mini-catch-chart i::after { font-size: 11px; }
.member-toast { font-size: 14px; }
.lake-open { font-size: 11px; }
.lake-command p { font-size: 16px; line-height: 1.7; }
.status-row time { font-size: 12px; }
.status-row h4 { font-size: 15px; }
.status-row p { font-size: 13px; }
.compact-field span { font-size: 12px; }
.compact-field input, .compact-field select { font-size: 16px; }
.guest-card-flow > div > p, .guest-confirm-step > p { font-size: 14px !important; }
.guest-summary::before { font-size: 11px; }
.guest-summary span { font-size: 14px; }
.member-accordion-trigger { min-height: 72px; font-size: 15px; }
.member-accordion-content p { font-size: 14px; line-height: 1.65; }
.stat-card small { font-size: 11px; }
.filter-chip { min-height: 36px; font-size: 12px; }
.journal-head { font-size: 11px; }
.catch-row { min-height: 72px; font-size: 14px; }
.catch-date span { font-size: 12px; }
.released-badge { font-size: 11px; }
.feed-post-head strong { font-size: 14px; }
.feed-post-head span { font-size: 12px; }
.feed-post-copy p { font-size: 16px; line-height: 1.75; }
.feed-actions button { min-height: 38px; font-size: 12px; }
.compact-event h4 { font-size: 14px; }
.compact-event p { font-size: 12px; }
.compact-date span { font-size: 10px; }
.side-copy { font-size: 14px; }

@media (max-width: 1000px) {
  .experience-grid { grid-template-rows: 460px 390px; }
  .member-portal { min-height: 700px; }
}
@media (max-width: 760px) {
  body { font-size: 17px; }
  .eyebrow, .section-index, .kicker { font-size: 12px; }
  .hero { min-height: 910px; }
  .hero-content { padding-top: 160px; padding-bottom: 210px; }
  .hero-intro { font-size: 18px; }
  .next-up { min-height: 145px; }
  .experience-grid { grid-template-rows: 560px 370px 350px; }
  .experience-card { padding: 28px; }
  .card-content { left: 28px; right: 28px; bottom: 28px; }
  .lake { min-height: auto; }
  .steps li { min-height: 185px; }
  .portal-content > p:not(.eyebrow) { font-size: 17px; }
  .inner-hero { min-height: 800px; }
  .inner-hero-minimal { min-height: 760px; }
  .page-intro-copy p:not(.lead), .info-split p { font-size: 18px; }
  .value-card, .benefit-card { min-height: 340px; }
  .activity-tile, .activity-tile.wide, .activity-tile.short { min-height: 340px; }
  .activity-tile.photo { min-height: 460px; }
  .season { min-height: 270px; }
  .page-cta { min-height: 600px; }
  .gallery-item, .gallery-item.wide, .gallery-item.tall, .gallery-item.short { height: 430px; }
  .member-bottom-nav .member-nav-link { font-size: 11px; }
  .member-bottom-nav { height: 76px; }
  .member-main { padding-bottom: 82px; }
  .member-content { padding-top: 34px; }
  .quick-action { min-height: 120px; }
  .quick-action span { font-size: 13px; }
  .welcome-hero { min-height: 510px; }
  .lake-command { min-height: 610px; }
  .lake-metrics { bottom: 24px; }
  .feed-post-copy p { font-size: 16px; }
  .member-toast { bottom: 92px; }
}
/* Final member legibility refinements */
.member-navigation > p,
.sidebar-lake-card small,
.sidebar-user span,
.hero-weather small,
.lake-metric small,
.membership-number small,
.stat-card small,
.journal-head,
.released-badge,
.compact-date span { font-size: 12px; }
.avatar { font-size: 12px; }
.member-page-head .eyebrow { font-size: 13px; }
.digital-card-stack p,
.next-event p,
.news-item p,
.status-row p,
.member-accordion-content p,
.side-copy { font-size: 15px; line-height: 1.65; }
.guest-card-flow > div > p,
.guest-confirm-step > p { font-size: 15px !important; }
.catch-row small { font-size: 13px !important; }
.feed-side .compact-event p { font-size: 14px; }
.feed-side .member-card > p { font-size: 15px !important; line-height: 1.65 !important; }
.member-app-page .eyebrow { line-height: 1.5; }

/* No visible informational text is rendered below 12 px. */
.hero-footer,
.card-number,
.portal-card > span { font-size: 12px; }
.login-status-card small,
.prototype-tag,
.welcome-content .live-label,
.lake-open,
.event-date-big span { font-size: 12px; }
.member-logo strong { font-size: 12px; }

@media (max-width: 620px) {
  .span-12 { grid-column: auto; }
  .journal-list { width: 100%; }
  .member-page-head p { font-size: 16px; }
  .news-item { grid-template-columns: 48px minmax(0,1fr) auto; }
  .news-item time { white-space: nowrap; }
}

/* Mobile navigation and compact brand remain readable. */
.login-brand strong { font-size: 12px; }
.member-bottom-nav .member-nav-link { font-size: 12px; }

/* Expanded member portal navigation. */
@media (min-width: 861px) {
  .member-sidebar { width: 288px; padding-top: 22px; }
  .member-main { margin-left: 288px; }
}
.member-sidebar-head { display: flex; align-items: center; justify-content: space-between; }
.member-sidebar-head .member-logo { padding-bottom: 14px; }
.sidebar-close { display: none; width: 40px; height: 40px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 50%; font-size: 22px; }
.member-navigation > p { margin: 12px 13px 7px; }
.member-nav-link { min-height: 46px; font-size: 14px; }
.sidebar-lake-card { margin-top: 16px; padding: 14px; }
.sidebar-lake-card strong { margin: 7px 0 9px; font-size: 16px; }
.sidebar-user { margin-top: 10px; }
.sidebar-user > a { color: rgba(255,255,255,.5); font-size: 16px; }
@media (max-width: 860px) {
  .sidebar-close { display: grid; place-items: center; }
  .member-sidebar { width: min(310px, 88vw); }
}