.member-personal{position:relative;font-family:Montserrat,Arial,sans-serif}
.member-toggle{display:flex;align-items:center;gap:14px;border:0;border-radius:5px;background:#ffe000;color:#001321;padding:18px 24px;font:700 12px Montserrat,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;white-space:nowrap;cursor:pointer;min-height:48px}
.member-toggle.is-current{box-shadow:0 3px #00bde9}
.member-dropdown{position:absolute!important;inset:calc(100% + 12px) 0 auto auto!important;width:285px!important;display:block!important;padding:12px!important;border:1px solid #315261;border-top:3px solid #00bde9;border-radius:6px;background:#082735;box-shadow:0 20px 60px #0008;z-index:100}
.member-dropdown[hidden]{display:none!important}
.member-dropdown a,.member-dropdown .member-soon,.member-dropdown button{display:block!important;width:100%;padding:12px 14px!important;border:0;border-radius:4px;color:#fff!important;font:600 14px/1.5 Montserrat,Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-align:left;text-decoration:none;background:none;white-space:normal}
.member-dropdown a:hover,.member-dropdown a[aria-current]{background:#123b4b}
.member-dropdown small{display:block;font-size:11px;font-weight:400;color:#afc9d5}
.member-dropdown button{border-top:1px solid #315261;margin-top:8px;cursor:pointer}
.member-dropdown p{font-size:12px;color:#ffcfbf;padding:0 14px}
.member-dropdown .member-soon{color:#afc9d5!important}
.member-header .site-nav .member-log,.member-header #navigation .member-log{background:#00bde9;color:#001321;padding:17px 20px;border-radius:5px;font-weight:700}
.member-header .member-log:after{display:none}
.member-personal :is(a,button):focus-visible{outline:3px solid #00bde9;outline-offset:4px}
@media(max-width:1100px){.member-toggle{padding:16px;font-size:10px;letter-spacing:1px}.member-header .site-nav{gap:18px}.member-header .site-nav .member-log{padding:14px 12px;font-size:10px;letter-spacing:1px}}
@media(max-width:850px){.member-header .site-nav{justify-content:space-between;gap:8px}.member-header .site-nav a{letter-spacing:1px}.member-header .site-nav .member-log{margin-left:auto}.member-dropdown{max-width:calc(100vw - 32px)}}
@media(max-width:850px){.header.member-header .menu{display:none}.header.member-header #navigation{display:flex;order:3;justify-content:space-between;gap:8px}.header.member-header .account{display:flex}.header.member-header .brand{left:0;width:180px}.header.member-header #navigation a{letter-spacing:1px}.header.member-header #navigation .member-log{padding:14px 10px}}
@media(max-width:370px){.header.member-header .brand{width:140px}}
/* Keep member controls on one consistent scale, including intermediate widths. */
.site-header.member-header { width:min(1420px,92%); min-height:100px; gap:28px; }
.site-header.member-header .brand { width:240px; }
.site-header.member-header .site-nav { gap:26px; }
.site-header.member-header .site-nav a { font-size:11px; letter-spacing:1.5px; }
.member-toggle { min-height:48px; padding:15px 20px; font-size:11px; line-height:18px; letter-spacing:1.5px; }
.member-header .site-nav .member-log { min-height:48px; padding:15px 20px; line-height:18px; }
@media(max-width:1100px) {
  .site-header.member-header { gap:18px; }
  .site-header.member-header .brand { width:200px; }
  .site-header.member-header .site-nav { gap:18px; }
  .site-header.member-header .site-nav a { font-size:10px; letter-spacing:1px; }
  .member-toggle,.member-header .site-nav .member-log { padding:13px 14px; font-size:10px; min-height:44px; }
}
@media(max-width:900px) {
  .site-header.member-header { flex-wrap:wrap; padding-block:16px; gap:12px; }
  .site-header.member-header .header-actions { margin-left:auto; }
  .site-header.member-header .site-nav { display:flex; order:3; flex:1 0 100%; justify-content:space-between; gap:8px; }
  .site-header.member-header .site-nav .member-log { margin-left:0; }
}
@media(max-width:480px) {
  .site-header.member-header { width:calc(100% - 32px); }
  .site-header.member-header .brand { width:168px; }
  .site-header.member-header .site-nav a { font-size:9px; letter-spacing:.6px; }
  .member-header .site-nav .member-log { padding-inline:10px; }
}

.session-fab { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: calc(20px + env(safe-area-inset-bottom)); z-index: 40; display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 20px; border: 1px solid #47dbef; border-radius: 999px; background: #00c3e5; color: #001321; font: 700 13px/1.2 Montserrat, Arial, sans-serif; text-decoration: none; box-shadow: 0 8px 28px #0008; }
.session-fab > span:first-child { font-size: 25px; font-weight: 500; }
.session-fab:hover { background: #76e7f7; }
.session-fab:focus-visible { outline: 3px solid #ffe000; outline-offset: 4px; }
body:has(.session-fab) .site-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
body:has(dialog[open], [role="dialog"]:not([hidden]):not([aria-hidden="true"]), #session-editor:not([hidden])) .session-fab { display: none; }
@media(max-width:480px) { .session-fab { right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); min-height: 48px; padding-inline: 16px; font-size: 12px; } }
