#memberDialog{width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:38px 30px 28px;background:#f7eedc;color:#203b44;border:1px solid #d3b58a;border-radius:24px;box-sizing:border-box;overflow:auto}
#memberDialog::backdrop{background:#081d28b8;backdrop-filter:blur(5px)}
#memberDialog h2{font-family:Georgia,serif;font-size:34px;line-height:1.15;margin:15px 0}
#memberDialog p{font-size:15px;line-height:1.6}#memberDialog .eyebrow{color:#826346;font-size:11px;letter-spacing:.15em}
#memberDialog label{display:block;font-size:14px;margin:18px 0 6px}
#memberDialog input{display:block;width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #ac9980;border-radius:10px;background:#fffaf0;color:#203b44;font:inherit;font-size:16px}
#memberDialog button{font:inherit;cursor:pointer}#memberDialog .member-submit{width:100%;padding:14px;border:0;border-radius:30px;background:#203b44;color:#fff3d9;margin-top:20px;font-size:15px}
#memberDialog .member-link{background:none;border:0;color:#294b55;padding:10px 0;text-decoration:underline;text-underline-offset:3px;font-size:14px}
#memberDialog .member-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px}
#memberDialog .close{color:#203b44}#memberDialog .member-status{min-height:24px;color:#684b30;margin:12px 0;font-size:14px}
#memberDialog .member-status[data-error=true]{color:#9a3026}#memberDialog [hidden]{display:none!important}
#memberDialog button:disabled{opacity:.55;cursor:wait}#memberDialog :focus-visible{outline:3px solid #b17846;outline-offset:3px}
.collection-account{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0}.collection-account button{padding:8px 14px;border:1px solid #98764d;border-radius:20px;background:transparent;color:#29434b;cursor:pointer}
#collectionAccountEmail{overflow-wrap:anywhere;font-size:13px;color:#645c51}.collection-device{line-height:1.5}
@media(max-width:600px){.nav{flex-wrap:wrap;gap:8px 14px}.nav button{font-size:10px}#memberDialog{padding:34px 23px 24px}#memberDialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){#memberDialog *{scroll-behavior:auto!important}}
@media(max-width:600px){header{gap:12px}.nav{max-width:230px;justify-content:flex-end}.nav button{letter-spacing:1px;padding:7px 0}}
@media(max-width:600px){.nav .active{display:block}}

#memberDialog #memberGoogle{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;border:1px solid #747775;border-radius:24px;background:#fff;color:#1f1f1f;font-family:Arial,sans-serif;font-size:15px;font-weight:500;margin-top:22px;box-sizing:border-box}
#memberDialog #memberGoogle:hover{background:#f4f6f8}#memberGoogle svg{flex-shrink:0}
#memberDialog .member-divider{display:flex;align-items:center;gap:12px;margin:21px 0 4px;font-size:12px;color:#6b6257}
#memberDialog .member-divider::before,#memberDialog .member-divider::after{content:"";height:1px;background:#d8cbb7;flex:1}

.nav [hidden]{display:none!important}
@media(max-width:600px){.nav #memberNav{order:-1;flex-basis:100%;text-align:right}}

/* Compact navigation, shared by desktop and mobile. */
header .nav{position:relative;display:flex;flex-wrap:nowrap;max-width:none;gap:16px;align-items:center;justify-content:flex-end}
header .nav #memberNav{order:0;flex-basis:auto;white-space:nowrap;text-align:right;letter-spacing:1px}
header .nav #menuToggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;flex-shrink:0}
#navPanel{position:absolute;right:0;top:calc(100% + 12px);min-width:210px;padding:10px;background:#f7eedc;border:1px solid #d3b58a;border-radius:16px;box-shadow:0 12px 35px #0005;z-index:20}
header .nav #navPanel button{display:block;width:100%;min-height:44px;padding:12px 14px;text-align:left;color:#203b44;letter-spacing:.5px;font-size:12px;white-space:nowrap;border:0;border-radius:8px}
header .nav #navPanel button:hover{background:#e9dcc5}
@media(max-width:600px){header .nav{gap:8px}header .nav #memberNav{font-size:10px;letter-spacing:.7px}header .logo{flex-shrink:0}}

header .nav #navPanel #memberNav{text-align:left;order:0}
header .nav #aboutBtn::after{content:none}
/* Personal greeting and the four simple icon links. */
header .nav #memberNav{max-width:150px;overflow:hidden;text-overflow:ellipsis;text-transform:none;font-size:14px;letter-spacing:0}
header .nav #navPanel button{display:flex;align-items:center;gap:14px;font-size:15px;text-transform:none;letter-spacing:0}
#navPanel svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
header .nav #navSignOut{margin-top:9px;padding-top:18px;border-top:1px solid #dac7a9;border-radius:0;font-size:13px;color:#716552}
.member-page{width:min(720px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:42px 32px 30px;background:#f7eedc;color:#203b44;border:1px solid #d3b58a;border-radius:24px;overflow:auto;box-sizing:border-box}
.member-page::backdrop{background:#081d28b8;backdrop-filter:blur(5px)}
.member-page h2{font:38px/1.15 Georgia,serif;margin:12px 0 18px}.member-page h3{font:28px Georgia,serif;margin:0 0 10px}
.member-page p{line-height:1.65}.member-page .eyebrow{color:#826346}.member-page .close{color:#203b44}
.member-page input,.member-page select,.member-page textarea{font:16px/1.5 Arial,sans-serif;color:#203b44;background:#fffaf0;border:1px solid #c3ac87;border-radius:10px;padding:12px;box-sizing:border-box;max-width:100%}
.member-page textarea{width:100%;min-height:230px;resize:vertical}.member-page label{display:block;margin:14px 0 6px;font-size:14px}
.member-page button:not(.close){padding:12px 18px;min-height:44px;border:1px solid #b69a70;border-radius:25px;background:transparent;color:#203b44;font:14px Arial,sans-serif;cursor:pointer}
.member-page button:disabled{opacity:.5;cursor:wait}.member-page [hidden],#savedJournalLink[hidden],#newReflection[hidden],#virtueReflections[hidden]{display:none!important}
.member-page .member-link{border:0!important;padding-left:0!important;text-decoration:underline;text-underline-offset:4px}
#accountSave,#entrySave{background:#203b44;color:#fff3db}#accountForm button{display:block;margin-top:18px}
.journal-order{font-size:12px;color:#786951;margin-left:14px}.journal-card{border:1px solid #dfcbaa;border-radius:16px;padding:22px;margin-top:18px;background:#fffaf040}
.journal-card p{white-space:pre-wrap;overflow-wrap:anywhere}.journal-date{font-size:12px;color:#8a6747;margin:5px 0 12px}.journal-empty{padding:30px 0;color:#6e675a}
#entryWords{font:21px/1.7 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;padding:20px 0}#entryPrompt{font-style:italic;color:#77604b}.journal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
#savedJournalLink,#newReflection,#virtueReflections{font-size:13px;margin:8px 8px 8px 0}#virtueReflections{white-space:normal;text-align:left}
.member-page :focus-visible{outline:3px solid #b17846;outline-offset:3px}
@media(max-width:600px){header .nav #memberNav{font-size:12px;max-width:115px}.member-page{padding:38px 22px 24px}.member-page h2{font-size:32px}#navPanel{min-width:220px}.journal-order{display:block;margin:12px 0 0}}
#navPanel #voiceNav small{display:block;font-size:10px;color:#8a6747;margin-top:4px}
#voiceInvitation{padding:24px;margin-top:24px;border:1px solid #d9bf96;border-radius:20px;background:#fbf4e6;color:#203b44;text-align:center}
#voiceInvitation[hidden],#voiceDialog [hidden]{display:none!important}
.voice-badge{display:inline-block;background:#203b44;color:#fff3dc;padding:9px 15px;border-radius:24px;font:10px/1.4 Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
#voiceInvitation h3{font:29px/1.2 Georgia,serif;margin:12px 0}#voiceInvitation p{font-size:14px;line-height:1.6}
.voice-wave{display:block;width:90px;height:32px;margin:16px auto 8px;fill:none;stroke:#ad8347;stroke-width:2;stroke-linecap:round}
#voiceInvitation button,#voiceDialog #voiceJoin{background:#a9583c;color:#fff6e6;border:0;border-radius:28px;padding:15px 22px;min-height:44px;cursor:pointer;font-size:14px}
#voiceInvitation .member-link{display:block;margin:8px auto 0;background:none;color:#785b3f;padding:8px;text-decoration:underline;text-underline-offset:3px}
#voiceDialog h2{font-size:36px;margin-top:22px}#voiceDialog h3{font-size:25px}.voice-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}
.voice-paths section{padding:20px;border:1px solid #ddc7a6;border-radius:16px}.voice-paths p{font-size:14px}.voice-example{font-family:Georgia,serif;font-style:italic;color:#735d47}
#voiceForm{margin-top:24px;border-top:1px solid #dcc6a4;padding-top:24px}#voiceEmail,#voiceInterest{width:100%}#voiceEmail{background:#eee5d5}
#voiceDialog .voice-check{display:flex;align-items:flex-start;gap:12px;line-height:1.5;margin:22px 0 6px;cursor:pointer}#voiceTesting{width:20px;height:20px;flex:none;accent-color:#a9583c;margin:1px 0 0}
#voiceDialog .voice-small{font-size:12px;line-height:1.6;color:#726451}#voiceDialog .voice-disclosure{font-size:13px;line-height:1.6;padding-top:18px;border-top:1px solid #dcc6a4;margin-top:22px}
#voiceJoin{width:100%}#voiceConfirmation{background:#e7e8d7;border:1px solid #c9cbb3;padding:20px;border-radius:16px}#voiceDone{display:block}
@media(max-width:600px){.voice-paths{grid-template-columns:1fr}#voiceDialog h2{font-size:30px}#voiceInvitation h3{font-size:26px}}

/* Quiet homepage invitation, never a blocking modal. */
#voiceInvitation{position:fixed;z-index:30;right:24px;bottom:24px;width:360px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);overflow:auto;margin:0;padding:30px 24px 20px;box-shadow:0 12px 50px #061b2955;text-align:left}
#voiceInvitation h3{font-size:25px;padding-right:4px}#voiceInvitation .voice-badge{font-size:9px;margin-right:18px}#voiceInvitation .voice-wave{margin:16px 0 8px}
#voiceInvitation #voiceDismiss{position:absolute;right:7px;top:5px;width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:#203b44;font:26px Arial,sans-serif}
#voiceInvitation #voiceInviteJoin{width:100%}
@media(max-width:600px){#voiceInvitation{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:calc(100vw - 28px);padding:25px 20px 14px}#voiceInvitation .voice-wave{display:none}#voiceInvitation h3{font-size:23px;margin-top:16px}#voiceInvitation p{font-size:13px;margin:10px 0}}

/* v12.1: discreet permanent Voice invitation */
.footer-voice{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
#voiceFooter{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:6px 0;background:none;border:0;color:#f3e6ce;font:12px/1.5 Arial,sans-serif;letter-spacing:0;text-transform:none;white-space:nowrap}
#voiceFooter svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;flex:none}
.voice-footer-link{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#c5a16c}
#voiceFooter:hover{color:#fff5e4}
@media(max-width:600px){.footer{flex-direction:column;align-items:center;gap:12px}.footer .domain-control{align-items:center}.footer-voice{align-items:center;gap:2px}.footer .footer-voice .note{max-width:none;text-align:center;font-size:8px}.footer .footer-voice .note br{display:none}.footer .footer-voice .note br:after{content:' '}.footer .footer-voice .note{white-space:normal}}

/* v13: dark guest waitlist with an independent animated sound wave. */
#voiceDialog{width:min(1000px,94vw);max-width:none;max-height:92dvh;padding:0;border:1px solid #68808866;border-radius:20px;background:#10252e;color:#f3e6ce;overflow:auto;color-scheme:dark}
#voiceDialog::backdrop{background:#04121bd9;backdrop-filter:blur(6px)}
#voiceDialog .voice-layout{display:grid;grid-template-columns:46% 54%;min-height:620px}
.voice-art{position:relative;min-height:100%;background:#483021 url('voice-door.png') center/cover no-repeat;overflow:hidden}
.voice-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a202a25,transparent 50%);pointer-events:none}
.voice-equaliser,.voice-popup-wave{position:absolute;z-index:1;left:14%;right:10%;top:44%;height:100px;display:flex;align-items:center;justify-content:center;gap:4px;filter:drop-shadow(0 0 5px #ffc254) drop-shadow(0 0 13px #ef9707)}
.voice-equaliser i,.voice-popup-wave i{display:block;flex:1;max-width:5px;min-width:2px;height:var(--height);border-radius:6px;background:#fff3b2;transform-origin:center;animation:franella-voice-bars var(--duration) ease-in-out var(--delay) infinite alternate;animation-play-state:paused}
#voiceDialog[open] .voice-equaliser i,#voiceInvitation:not([hidden]) .voice-popup-wave i{animation-play-state:running}
@keyframes franella-voice-bars{0%{transform:scaleY(.2);opacity:.7}40%{transform:scaleY(.65);opacity:.95}100%{transform:scaleY(1.2);opacity:1}}
#voiceDialog .voice-content{padding:48px 34px 28px;min-width:0}
#voiceDialog .voice-badge,#voiceInvitation .voice-badge{background:none;color:#e8bb79;border-radius:0;padding:0;font:10px/1.6 Arial,sans-serif;letter-spacing:1.7px}
#voiceDialog h2{font:clamp(30px,3.4vw,43px)/1.08 Georgia,serif;color:#fff0d8;margin:18px 0 14px;letter-spacing:-.6px}
#voiceDialog .voice-subtitle{font:22px/1.35 Georgia,serif;margin:0 0 12px;color:#f3e6ce}
#voiceDialog .voice-intro{font:14px/1.6 Arial,sans-serif;color:#c5cdd0;margin:0 0 24px}
#voiceDialog #voiceForm{margin:0;padding:0;border:0}
#voiceDialog #voiceForm>label:not(.voice-check){display:block;color:#f3e6ce;font:13px/1.5 Arial,sans-serif;margin:16px 0 6px}
#voiceDialog #voiceName,#voiceDialog #voiceEmail{width:100%;min-height:46px;border:1px solid #b29a6d;border-radius:8px;background:#0b2029;color:#fff3dd;padding:11px 13px;font:16px/1.4 Arial,sans-serif;box-sizing:border-box}
#voiceDialog input::placeholder{color:#95a4ac;opacity:1}
#voiceDialog .voice-check{display:flex;align-items:center;gap:10px;margin:18px 0;font:13px/1.5 Arial,sans-serif;color:#e3e1d9}
#voiceDialog #voiceTesting{width:20px;height:20px;margin:0;accent-color:#c37450}
#voiceDialog #voiceJoin{border-radius:9px;background:#b65738;color:#fff7e9;font:18px/1.4 Georgia,serif;min-height:49px;padding:12px}
#voiceDialog #voiceJoin:hover{background:#c46847}
#voiceDialog .voice-small{font:11px/1.55 Arial,sans-serif;color:#bac5ca;margin:10px 0}
#voiceDialog .voice-centre{text-align:center;color:#e0ded4}
#voiceDialog .voice-pricing{color:#a7b3ba}
#voiceDialog #voiceClose{position:absolute;z-index:3;right:10px;top:9px;width:40px;height:40px;padding:0;border-radius:50%;background:#10252ecc;color:#f3e6ce;border:0;font:28px/1 Arial,sans-serif}
#voiceDialog #voiceConfirmation{background:#19343c;border:1px solid #b29a6d77;border-radius:12px;padding:20px;margin:22px 0}
#voiceDialog #voiceConfirmation h3{font:27px/1.2 Georgia,serif;color:#fff0d8;margin:0 0 12px}
#voiceDialog #voiceConfirmation p,#voiceDialog #voiceStatus{font:13px/1.6 Arial,sans-serif;color:#e8dfcf}
#voiceStatus:empty{display:none}
#voiceDialog .member-link{color:#e4c391;min-height:44px;padding:8px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;font:12px/1.5 Arial,sans-serif}
.voice-management{display:flex;flex-wrap:wrap;gap:5px}
#voiceDialog .voice-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#voiceInvitation{background:#10252e;color:#f3e6ce;border-color:#af95666b}
#voiceInvitation h3{color:#fff0d8}#voiceInvitation p{color:#cad2d5}
#voiceInvitation #voiceDismiss,#voiceInvitation .member-link{color:#e5d2ae}
.voice-popup-wave{position:relative;inset:auto;height:36px;width:145px;margin:14px 0;gap:2px}
.voice-popup-wave i{max-width:3px}
@media(max-width:700px){
 #voiceDialog{width:calc(100vw - 24px);max-height:94dvh;border-radius:15px}
 #voiceDialog .voice-layout{grid-template-columns:1fr;min-height:0}
 #voiceDialog .voice-art{min-height:0;height:clamp(185px,58vw,270px);background-position:50% 43%}
 #voiceDialog .voice-content{padding:24px 22px 20px}
 #voiceDialog h2{font-size:33px;margin:12px 0}#voiceDialog h2 br{display:none}
 #voiceDialog .voice-subtitle{font-size:20px}
 #voiceDialog .voice-intro{font-size:13px;margin-bottom:18px}
 .voice-equaliser{left:17%;right:12%;top:38%;height:65px;gap:3px}
 #voiceDialog .voice-small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.voice-equaliser i,.voice-popup-wave i{animation:none!important;transform:scaleY(.8)}}

/* v13.1: gentle speech rhythm, with a shared 1.5-second pause every 8 seconds. */
.voice-equaliser i,.voice-popup-wave i{--voice-a:.84;--voice-b:.94;--voice-c:.8;animation-name:franella-voice-conversation;animation-duration:8s;animation-delay:0s;animation-direction:normal;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.voice-equaliser i:nth-child(3n),.voice-popup-wave i:nth-child(3n){--voice-a:.93;--voice-b:.79;--voice-c:.88}
.voice-equaliser i:nth-child(3n + 1),.voice-popup-wave i:nth-child(3n + 1){--voice-a:.79;--voice-b:.88;--voice-c:.96}
@keyframes franella-voice-conversation{
 0%{transform:scaleY(.72);opacity:.9}
 18%{transform:scaleY(var(--voice-a));opacity:.95}
 35%{transform:scaleY(var(--voice-b));opacity:1}
 55%{transform:scaleY(var(--voice-c));opacity:.95}
 68%{transform:scaleY(var(--voice-a));opacity:.95}
 81.25%,100%{transform:scaleY(.72);opacity:.9}
}
