/* Focused member views. Scoped to the member portal. */
body[data-page="members"] { --portal-space: clamp(20px, 3.5vw, 48px); }
body[data-page="members"] [hidden] { display: none !important; }
body[data-page="members"] .portal-shell { grid-template-columns: 244px minmax(0, 1fr); }
body[data-page="members"] .portal-sidebar { padding: 28px 20px; }
body[data-page="members"] .portal-sidebar .brand { gap: 8px; }
body[data-page="members"] .portal-sidebar .brand__type strong { font-size: 14px; letter-spacing: .06em; }
body[data-page="members"] .portal-sidebar .brand__type em { font-size: 9px; letter-spacing: .12em; }
body[data-page="members"] .portal-sidebar nav a { min-height: 50px; font-size: 14px; letter-spacing: 0; text-transform: none; color: #c2b6a2; }
body[data-page="members"] .portal-sidebar nav a.is-active { color: #efd391; }
body[data-page="members"] .member-identity { margin: 30px 0 24px; }
body[data-page="members"] .member-identity small { font-size: 12px; }
body[data-page="members"] .portal-topbar { height: auto; min-height: 76px; padding: 16px var(--portal-space); gap: 16px; flex-wrap: wrap; }
body[data-page="members"] .portal-topbar > div:first-child span { font-size: 14px; letter-spacing: .09em; }
body[data-page="members"] .portal-topbar > div:first-child strong { font-size: 12px; line-height: 1.5; }
body[data-page="members"] .access-chip { font-size: 12px; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.portal-view { padding: 32px var(--portal-space) 48px; max-width: 1440px; margin: 0 auto; min-width: 0; }
.portal-view-title { font: 500 clamp(34px, 4vw, 48px)/1.1 var(--serif); margin: 0 0 24px; }
body[data-page="members"] .portal-welcome { padding: 0 0 28px; display: block; }
body[data-page="members"] .portal-welcome .eyebrow { font-size: 12px; margin-bottom: 14px; letter-spacing: .12em; }
body[data-page="members"] .portal-welcome h1 { font-size: clamp(40px, 5vw, 64px); line-height: 1; text-transform: none; }
body[data-page="members"] .portal-welcome > p { font: 16px/1.6 var(--sans); margin-top: 16px; }
.portal-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.portal-shortcut { padding: 24px; text-decoration: none; border: 1px solid #cbbda6; background: #faf6ef; border-radius: 8px; display: flex; flex-direction: column; min-width: 0; }
.portal-shortcut > span { font-size: 12px; letter-spacing: .1em; color: #725221; }
.portal-shortcut > strong { font: 600 30px/1.15 var(--serif); margin-top: 12px; }
.portal-shortcut p { font-size: 16px; line-height: 1.5; color: #655b4c; margin: 10px 0 22px; }
.portal-shortcut b { font-size: 14px; margin-top: auto; color: #775423; }
.portal-shortcut--featured { background: #171815; border-color: #171815; color: #f6eddd; }
.portal-shortcut--featured > span, .portal-shortcut--featured b { color: #e4c47c; }
.portal-shortcut--featured p { color: #d0c8b9; }
.portal-shortcut:hover { border-color: #906529; }
body[data-page="members"] :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #a57429; outline-offset: 3px; }
body[data-page="members"] .portal-view :is(.founders-shop, .member-requests, .next-entry, .portal-announcements) { margin: 0; }
body[data-page="members"] .portal-home .portal-announcements { margin-top: 24px; }
body[data-page="members"] .next-entry { padding: 0; }
body[data-page="members"] .founders-shop { padding: 24px; border-radius: 8px; }
.release-switcher { display: flex; gap: 8px; padding: 5px; background: #ded5c6; border-radius: 8px; margin-bottom: 24px; }
.release-switcher a { flex: 1; padding: 14px 12px; text-align: center; text-decoration: none; font-size: 14px; font-weight: 600; line-height: 1.4; border-radius: 5px; }
.release-switcher a.is-active { background: #171815; color: #f3dfb6; }
body[data-page="members"] .founders-bottle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body[data-page="members"] .founders-bottle { display: grid; grid-template-columns: 110px minmax(0, 1fr); border-radius: 6px; }
body[data-page="members"] .founders-bottle__image { height: 100%; aspect-ratio: auto; }
body[data-page="members"] .founders-bottle__body { padding: 16px; }
body[data-page="members"] .founders-bottle__title { flex-direction: row; flex-wrap: wrap; align-items: baseline; }
body[data-page="members"] .founders-bottle__title h3 { font-size: 28px; }
body[data-page="members"] .founders-bottle__age { font-size: 14px; }
body[data-page="members"] .button { min-height: 46px; font-size: 14px; letter-spacing: .02em; }
body[data-page="members"] .founders-shop-fineprint { font-size: 12px; }
body[data-page="members"] .upcoming-release-card, body[data-page="members"] .upcoming-release-card.has-image { grid-template-columns: 120px minmax(0, 1fr); gap: 18px; padding: 20px; border-radius: 8px; }
body[data-page="members"] .upcoming-release-card:not(.has-image) { grid-template-columns: minmax(0,1fr); }
body[data-page="members"] .upcoming-release-image { min-height: 0; width: 120px; aspect-ratio: 3/4; align-self: start; }
body[data-page="members"] .upcoming-release-image img { min-height: 0; object-fit: cover; }
body[data-page="members"] .upcoming-release-action { grid-column: 1/-1; justify-self: stretch; min-width: 0; width: 100%; }
body[data-page="members"] .upcoming-release-specs { grid-template-columns: repeat(2, minmax(0,1fr)); }
body[data-page="members"] .upcoming-release-specs span { font-size: 12px; }
body[data-page="members"] .upcoming-release-specs strong { font-size: 14px; }
.portal-account-card { background: #fbf8f1; padding: 28px; border: 1px solid #cbbda6; border-radius: 8px; max-width: 640px; }
.portal-account-card h2 { font: 500 32px var(--serif); margin: 0 0 24px; }
.portal-account-card dt { font-size: 14px; color: #6b6050; margin-top: 24px; }
.portal-account-card dd { margin: 8px 0 0; font-size: 16px; overflow-wrap: anywhere; }
.portal-account-card .portal-signout { display: block; margin: 24px 0 0; font-size: 14px; min-height: 46px; color: #663b23; border-color: #b9a58c; }
body[data-page="members"] .tasting-field :is(input, select, textarea), body[data-page="members"] .tasting-filter { font-size: 16px; }
body[data-page="members"] .tasting-field label, body[data-page="members"] .tasting-filter-label, body[data-page="members"] .tasting-save { font-size: 14px; }
body[data-page="members"] .tasting-score-field input { font-size: 54px; }
body[data-page="members"] .tasting-privacy { font-size: 12px; }
@media (max-width: 1100px) {
 body[data-page="members"] .portal-shell { display: block; }
 body[data-page="members"] .portal-sidebar { position: relative; height: auto; min-height: 70px; padding: 18px 24px; display: flex; }
 body[data-page="members"] .portal-sidebar .member-identity, body[data-page="members"] .portal-sidebar nav { display: none; }
 body[data-page="members"] .portal-main { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
 body[data-page="members"] .mobile-bottom-nav { position: fixed; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); left: 0; right: 0; bottom: 0; z-index: 100; background: #10100e; border-top: 1px solid #5e4c2d; padding: 0 8px env(safe-area-inset-bottom); }
 body[data-page="members"] .mobile-bottom-nav a { min-width: 0; min-height: 70px; padding: 10px 2px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; color: #c4baaa; text-decoration: none; border-top: 2px solid transparent; }
 body[data-page="members"] .mobile-bottom-nav a small { font-size: 12px; letter-spacing: 0; text-transform: none; }
 body[data-page="members"] .mobile-bottom-nav a span { font-size: 23px; line-height: 1; }
 body[data-page="members"] .mobile-bottom-nav a.is-active { color: #f0d08c; border-top-color: #d5ab60; background: #242117; }
}
@media (max-width: 650px) {
 .portal-view { padding-top: 24px; }
 body[data-page="members"] .portal-topbar { min-height: 62px; padding-top: 12px; padding-bottom: 12px; }
 body[data-page="members"] .portal-topbar .access-chip { padding: 6px 8px; }
 .portal-shortcuts { gap: 10px; }
 .portal-shortcut { padding: 18px 14px; }
 .portal-shortcut > span { font-size: 12px; letter-spacing: .04em; }
 .portal-shortcut > strong { font-size: 25px; }
 .portal-shortcut p { font-size: 14px; margin-bottom: 16px; }
 body[data-page="members"] .founders-shop { padding: 18px 14px; }
 body[data-page="members"] .founders-bottle-grid { grid-template-columns: 1fr; }
 body[data-page="members"] .founders-bottle { grid-template-columns: 96px minmax(0,1fr); }
 body[data-page="members"] .founders-bottle__body { padding: 14px; }
 body[data-page="members"] .upcoming-release-card.has-image { grid-template-columns: 80px minmax(0,1fr); padding: 16px; gap: 14px; }
 body[data-page="members"] .upcoming-release-image { width: 80px; }
 body[data-page="members"] .upcoming-release-card h3 { font-size: 25px; }
 body[data-page="members"] .upcoming-release-card > div > p:not(.eyebrow) { font-size: 14px; }
 body[data-page="members"] .tasting-bottles { display: flex; overflow-x: auto; gap: 10px; padding: 4px 4px 12px; scroll-snap-type: x proximity; }
 body[data-page="members"] .tasting-bottle { flex: 0 0 240px; scroll-snap-align: start; }
 body[data-page="members"] .tasting-shelf { padding: 18px; min-width: 0; }
 body[data-page="members"] .tasting-layout { grid-template-columns: minmax(0,1fr); }
 body[data-page="members"] .personal-ledger-panel > .portal-panel__heading { padding: 22px 18px; }
 body[data-page="members"] .tasting-editor { padding: 24px 18px; }
 body[data-page="members"] .tasting-prompts { grid-template-columns: 1fr; }
 body[data-page="members"] .tasting-field textarea { min-height: 110px; }
}
@media (prefers-reduced-motion: reduce) { body[data-page="members"] * { scroll-behavior: auto !important; } }

.founders-shop:not([hidden]) + .founders-unavailable { display: none; }
body[data-page="members"] .next-entry { border: 0; }
body[data-page="members"] .member-requests__intro { font-size: 14px; line-height: 1.6; }
body[data-page="members"] .portal-panel__heading { flex-wrap: wrap; gap: 14px; }

/* Refined mobile hierarchy: black, gold and neutral white. */
body[data-page="members"] { background: #f6f7f8; color: #191b1e; --portal-space: clamp(18px,3vw,42px); }
body[data-page="members"] .portal-shell { background: #f6f7f8; color: #191b1e; }
body[data-page="members"] .portal-sidebar { background: #101112; border-color: #292b2d; box-shadow: none; }
body[data-page="members"] .portal-topbar { background: #fff; border-color: #e1e3e6; min-height: 64px; }
body[data-page="members"] .access-chip { background: transparent; border: 0; color: #565c63; }
body[data-page="members"] .portal-view { padding-top: 24px; }
body[data-page="members"] .portal-view-title { font-size: 36px; margin-bottom: 20px; line-height: 1.15; }
/* Headings receive programmatic focus for screen readers, not an input ring. */
body[data-page="members"] :is(.portal-view-title,#portalHomeHeading):focus { outline: none !important; box-shadow: none !important; }
body[data-page="members"] .portal-welcome { padding: 0 0 20px; }
body[data-page="members"] .portal-welcome .eyebrow { color: #6c7279; font-size: 12px; margin: 0 0 8px; letter-spacing: .08em; }
body[data-page="members"] .portal-welcome h1 { font-size: clamp(34px,4vw,48px); line-height: 1.12; }
body[data-page="members"] .portal-shortcuts { gap: 14px; }
body[data-page="members"] .portal-shortcut { display: flex; flex-direction: row; align-items: center; gap: 18px; padding: 26px; border: 1px solid #dfe2e5; background: #fff; border-radius: 12px; min-height: 114px; box-shadow: 0 3px 12px #11182704; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
body[data-page="members"] .portal-shortcut .shortcut-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border: 1px solid #e4e5e7; border-radius: 12px; color: #94702f; background: #f7f8f9; }
.shortcut-icon svg { width: 25px; height: 25px; }
body[data-page="members"] .portal-shortcut .shortcut-copy { display: grid; gap: 6px; min-width: 0; letter-spacing: 0; color: #191b1e; }
.shortcut-copy strong { font: 600 24px/1.15 var(--serif); }
.shortcut-copy small { font: 400 14px/1.4 var(--sans); color: #656b73; }
body[data-page="members"] .portal-shortcut--featured { background: #141618; border-color: #141618; box-shadow: 0 8px 20px #12141612; }
body[data-page="members"] .portal-shortcut--featured .shortcut-copy { color: #fff; }
body[data-page="members"] .portal-shortcut--featured small { color: #c2c5ca; }
body[data-page="members"] .portal-shortcut--featured .shortcut-icon { background: #242525; border-color: #454033; color: #e3c17e; }
@media (hover:hover) { body[data-page="members"] .portal-shortcut:hover { transform: translateY(-2px); border-color: #ad8847; box-shadow: 0 8px 24px #171b2210; } }
body[data-page="members"] .portal-shortcut:active { transform: scale(.985); }
body[data-page="members"] .portal-view:not([hidden]) .portal-shortcut { animation: portal-arrive .65s ease both; }
body[data-page="members"] .portal-shortcut:nth-child(2) { animation-delay: .08s !important; }
body[data-page="members"] .portal-shortcut:nth-child(3) { animation-delay: .16s !important; }
body[data-page="members"] .portal-shortcut:nth-child(4) { animation-delay: .24s !important; }
@keyframes portal-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
body[data-page="members"] .release-switcher { background: #e9ebee; margin-bottom: 20px; }
body[data-page="members"] .release-switcher a.is-active { background: #151719; color: #e5c789; }
body[data-page="members"] .founders-shop { border: 0; padding: 0; background: transparent; }
body[data-page="members"] .founders-shop h2 { font-size: 27px; }
body[data-page="members"] .founders-shop-intro { color: #656b73; font-size: 14px; margin: 8px 0 20px; }
body[data-page="members"] .founders-bottle-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
body[data-page="members"] .founders-bottle { display: flex; flex-direction: column; background: #fff; border: 1px solid #e0e3e6; border-radius: 10px; }
body[data-page="members"] .founders-bottle__image { width: 100%; height: auto; aspect-ratio: 1; background: #111511; flex-shrink: 0; }
body[data-page="members"] .founders-bottle__image img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
body[data-page="members"] .founders-bottle__body { padding: 18px; }
body[data-page="members"] .founders-bottle__title { gap: 6px; }
body[data-page="members"] .founders-bottle__title h3 { color: #191b1e; font-size: 28px; }
body[data-page="members"] .founders-bottle__title > span { font-size: 16px; color: #795b28; }
body[data-page="members"] .founders-bottle__age { color: #656b73; margin: 8px 0 12px; }
body[data-page="members"] .founders-bottle__proof { color: #333941; }
body[data-page="members"] .founders-bottle__proof span, body[data-page="members"] .founders-bottle__yield { color: #656b73; font-size: 12px; }
body[data-page="members"] .founders-bottle .button { border-radius: 6px; background: #181a1c; color: #eed39a; text-transform: none; letter-spacing: 0; box-shadow: none; }
body[data-page="members"] .founders-shop .founders-shop-email { border-color: #dfe2e5; color: #626872; }
body[data-page="members"] .founders-shop-fineprint { color: #626872; }
body[data-page="members"] .portal-account-card { background: #fff; border-color: #dfe2e5; }
body[data-page="members"] .portal-account-card .eyebrow { color: #795b28; font-size: 12px; }
body[data-page="members"] .portal-account-card dt { color: #656b73; }
body[data-page="members"] .portal-account-card .button--outline { color: #775624; border-color: #a98a52; border-radius: 6px; text-transform: none; }
body[data-page="members"] .portal-account-card .portal-signout { color: #555d67; border-color: #cbd0d6; border-radius: 6px; text-transform: none; letter-spacing: 0; }
body[data-page="members"] .personal-ledger-panel { background: #fff; border-color: #dfe2e5; box-shadow: none; }
body[data-page="members"] .personal-ledger-panel > .portal-panel__heading { background: #17191b; padding: 20px 24px; }
body[data-page="members"] .personal-ledger-panel .portal-panel__heading h3 { font-size: 28px; }
body[data-page="members"] .tasting-intro { font-size: 14px; margin-top: 6px; }
body[data-page="members"] :is(.tasting-stats,.tasting-shelf) { background: #f0f2f4; border-color: #dfe2e5; }
body[data-page="members"] .tasting-field :is(input,select,textarea) { background: #fff; border-color: #cbd0d6; color: #252a31; }
body[data-page="members"] .tasting-score-field input { background: transparent; color: #f0d39b; }
body[data-page="members"] .tasting-bottle.is-selected { background: #1b1e21; }
body[data-page="members"] .tasting-bottle:hover:not(.is-selected) { background: #e4e7eb; }
body[data-page="members"] .purchase-history { background: #fff; border-color: #dfe2e5; }
body[data-page="members"] .member-requests { border-radius: 10px; background: #17191b; padding: 24px; border-color: #30343a; }
body[data-page="members"] .member-requests .portal-panel__heading h3 { font: 500 28px/1.15 var(--serif); }
body[data-page="members"] .member-requests__intro, body[data-page="members"] .member-request-empty { color: #c3c7cc; }
body[data-page="members"] .member-request-empty { padding: 20px; border-color: #484b4e; line-height: 1.5; }
body[data-page="members"] .upcoming-release-card { background: #fff; border-color: #dfe2e5; }
body[data-page="members"] .upcoming-release-image { aspect-ratio: 1; border: 0; }
body[data-page="members"] .upcoming-release-image img { object-fit: contain; }
@media (min-width:1400px) { body[data-page="members"] .founders-bottle-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width:1100px) {
 body[data-page="members"] .portal-sidebar { min-height: 64px; padding: 14px var(--portal-space); }
 body[data-page="members"] .portal-topbar { display: none; }
 body[data-page="members"] .mobile-bottom-nav { background: #111315; border-color: #34373a; }
 body[data-page="members"] .mobile-bottom-nav a.is-active { background: #232629; }
}
@media (max-width:650px) {
 body[data-page="members"] .portal-view { padding-top: 20px; }
 body[data-page="members"] .portal-view-title { font-size: 32px; margin-bottom: 18px; }
 body[data-page="members"] .portal-shortcuts { grid-template-columns: minmax(0,1fr); gap: 10px; }
 body[data-page="members"] .portal-shortcut { min-height: 76px; padding: 14px 16px; gap: 14px; }
 body[data-page="members"] .portal-shortcut .shortcut-icon { width: 40px; height: 40px; flex-basis: 40px; border-radius: 10px; }
 .shortcut-copy strong { font-size: 23px; }
 .shortcut-copy small { font-size: 13px; }
 body[data-page="members"] .founders-bottle-grid { gap: 12px; }
 body[data-page="members"] .founders-bottle__body { padding: 12px; }
 body[data-page="members"] .founders-bottle__title h3 { font-size: 24px; }
 body[data-page="members"] .founders-bottle__age { font-size: 14px; }
 body[data-page="members"] .founders-bottle .button { font-size: 14px; }
 body[data-page="members"] .personal-ledger-panel > .portal-panel__heading { padding: 18px; gap: 12px; }
 body[data-page="members"] .tasting-private { padding: 6px 10px; }
 body[data-page="members"] .member-requests { padding: 20px; }
}
@media (max-width:359px) {
 body[data-page="members"] .portal-shortcut { padding: 12px; gap: 10px; }
 .shortcut-copy strong { font-size: 22px; }
 body[data-page="members"] .founders-bottle__title { flex-direction: column; }
}
@media (prefers-reduced-motion:reduce) {
 body[data-page="members"] .portal-view:not([hidden]) .portal-shortcut { animation: none !important; }
 body[data-page="members"] .portal-shortcut { transition: none !important; }
}
body[data-page="members"] .portal-account-card dd { color: #252a31; }
body[data-page="members"] .upcoming-release-card > div > p:not(.eyebrow), body[data-page="members"] .upcoming-release-specs span { color: #626872; }
body[data-page="members"] .upcoming-release-specs { border-color: #dfe2e5; }
body[data-page="members"] .upcoming-release-action input { background: #fff; color: #252a31; border-color: #cbd0d6; border-radius: 6px; font-size: 16px; }
body[data-page="members"] .locked-entry { background: #fff; border-color: #dfe2e5; }
body[data-page="members"] .tasting-filter { color: #343a43; border-color: #cbd0d6; background: #fff; }
body[data-page="members"] .tasting-save { background: #191c20; }
body[data-page="members"] .tasting-top, body[data-page="members"] .tasting-stats > div + div { border-color: #dfe2e5; }
body[data-page="members"] .tasting-stats span, body[data-page="members"] .tasting-filter-label { color: #626872; font-size: 12px; }

/* Content enters as a group on navigation; newly loaded records also fade in. */
body[data-page="members"] .founders-bottle__notes { color: #785b29; font-size: 14px; line-height: 1.55; margin: 0 0 18px; }
body[data-page="members"] :is(.upcoming-release-card,.member-request-card,.tasting-editor > *, .purchase-history[open] > :not(summary)) { animation: portal-arrive .7s ease both; }
@media (prefers-reduced-motion:reduce) {
 body[data-page="members"] :is(.upcoming-release-card,.member-request-card,.tasting-editor > *, .purchase-history[open] > :not(summary)) { animation: none !important; }
}
