/* Internal development milestone: public website integration. */
.publicAccountMenu{position:relative}.publicAccountButton{display:flex!important;align-items:center;gap:8px}.publicAvatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:10px;font-weight:800}.publicAccountDropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);width:190px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:8px;box-shadow:0 18px 45px #17204b24;z-index:120}.publicAccountMenu.open .publicAccountDropdown{display:grid}.publicAccountDropdown a{padding:11px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:12px;font-weight:700}.publicAccountDropdown a:hover{background:var(--light)}.publicAccountDropdown .signOut{color:#bd443f;border-top:1px solid var(--line);border-radius:0;margin-top:4px;padding-top:12px}.publicBell{position:relative;font-size:17px!important}.publicBell:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--orange);right:7px;top:8px;border:2px solid #fff}.publicEmptyState{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:18px;padding:42px;text-align:center;color:var(--muted);box-shadow:0 14px 35px #17204b0b}.publicEmptyState b{display:block;color:var(--navy);font-size:22px;margin-bottom:7px}.productionInfoBadge{display:inline-flex;align-items:center;gap:7px;background:#eff8fd;color:#237da5;border-radius:999px;padding:7px 11px;font-size:9px;font-weight:800;letter-spacing:.08em}.productionInfoBadge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sky)}.dbNewsCard,.dbEventCard,.dbAlbumCard{min-width:0}.dbNewsCard .newsDate{width:72px;height:72px}.dbNewsCard .newsDate b{font-size:25px}.dbEventGrid{grid-template-columns:repeat(3,1fr)!important}.dbEventCard{padding:27px;display:flex;flex-direction:column;min-height:260px}.dbEventCard>span{font-size:9px;color:var(--sky);font-weight:800;letter-spacing:.11em}.dbEventCard h3{font-size:24px;margin:12px 0}.dbEventCard p{color:var(--muted);line-height:1.65}.dbEventMeta{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:4px;font-size:10px;color:var(--muted)}.dbAlbumCover{height:220px;background:linear-gradient(145deg,#d8eaf2,#468eae);background-position:center;background-size:cover}.dbMembershipList{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.dbMembershipCard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 14px 35px #17204b0b}.dbMembershipCard.premium{border:2px solid var(--orange)}.dbMembershipCard>span{font-size:9px;color:var(--sky);font-weight:800;letter-spacing:.14em}.dbMembershipCard h3{font-size:26px;margin:10px 0}.dbMembershipCard p{color:var(--muted);line-height:1.6}.dbMembershipCard .planAmount{font-size:34px;color:var(--navy);font-weight:800;margin:18px 0}.dbMembershipCard.premium .planAmount{color:var(--orange)}.dbMembershipCard ul{padding-left:18px;color:var(--muted);line-height:1.7}.authGateCopy{text-align:center}.authGateCopy .successMark{background:#eef8fd;color:var(--sky)}.authGateActions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.infoOnlyNote{font-size:10px;color:var(--muted);margin-top:12px}.publicSiteFooter .footerLegalInline{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.publicSiteFooter .footerLegalInline a{color:#b8c2dc;text-decoration:none;font-size:10px}.publicSiteFooter .footerLegalInline a:hover{color:#fff}@media(max-width:900px){header nav .publicAccountMenu{display:grid}.publicAccountDropdown{position:static;width:auto;box-shadow:none;margin-top:4px}.dbEventGrid{grid-template-columns:1fr!important}}@media(max-width:650px){.authGateActions{grid-template-columns:1fr}.dbMembershipList{grid-template-columns:1fr}}
/* Server-rendered public content: PHP/MariaDB owns content; JavaScript only enhances motion. */
.dbHeadlineCarousel{position:absolute;right:6%;top:14%;width:min(48%,590px);height:235px;background:#ffffffef;color:var(--ink);border-radius:18px;overflow:hidden;box-shadow:0 25px 55px #0004;z-index:3}.dbHeadlineSlide{position:absolute;inset:0;padding:27px 28px 50px;display:flex;flex-direction:column;opacity:0;transform:translateX(24px);transition:.45s ease;background-size:cover;background-position:center}.dbHeadlineSlide:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#fffffff2 45%,#ffffffbd);z-index:-1}.dbHeadlineSlide.active{opacity:1;transform:none;z-index:2}.dbHeadlineSlide small{font-size:9px;color:var(--orange);font-weight:800;letter-spacing:.14em}.dbHeadlineSlide h3{font-size:27px;line-height:1.08;margin:12px 0 8px;max-width:470px}.dbHeadlineSlide p{color:var(--muted);line-height:1.6;max-width:470px}.dbHeadlineSlide button{margin-top:auto;align-self:flex-start;border:0;background:transparent;color:var(--sky);font-weight:800;padding:0}.dbHeadlineCarousel .headlineControls{z-index:5}.dbNewsDots{display:flex;gap:4px}.dbNewsDots i{width:5px;height:5px;border-radius:50%;background:#cbd3d9}.dbNewsDots i.active{width:15px;border-radius:5px;background:var(--orange)}.dbEventVisual,.dbEventThumb,.dbAlbumCover{background-size:cover;background-position:center}.dbAlbumCover{height:230px;background-color:#d9edf6;background-image:linear-gradient(145deg,#44b0e5,#272970)}.largeAlbum .dbAlbumCover{height:300px}.dbBenefitList{padding-left:20px;color:var(--muted);line-height:1.7}.dbMembershipList{margin-top:30px}.dbMembershipCard .infoOnlyNote{display:block;margin-top:18px;color:var(--muted);line-height:1.5}.publicEmptyState{min-height:180px;width:100%;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f7f9fc);display:grid;place-content:center;text-align:center;padding:35px;box-sizing:border-box}.publicEmptyState b{font-size:20px;color:var(--navy)}.publicEmptyState span{margin-top:8px;color:var(--muted)}@media(max-width:780px){.dbHeadlineCarousel{position:relative;right:auto;top:auto;width:100%;height:210px;margin-top:28px}.dbHeadlineSlide h3{font-size:22px}}

/* Internal development milestone: membership action states. */
.dbMembershipCard{display:flex;flex-direction:column}
.dbMembershipCard .dbBenefitList{flex:1}
.dbMembershipCard.freePlan{border:2px solid var(--sky);background:linear-gradient(160deg,#fff 70%,#eef9ff)}
.dbMembershipCard.freePlan>span{color:var(--sky)}
.dbMembershipCard.freePlan .planPrice b{color:var(--navy)}
.membershipPlanAction{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:20px;border-radius:12px;font-size:12px;font-weight:800;text-decoration:none;box-sizing:border-box;transition:.2s ease}
.membershipPlanActionFree{background:var(--orange);color:#fff;border:1px solid var(--orange);box-shadow:0 10px 24px #ed6d2630}
.membershipPlanActionFree:hover{transform:translateY(-1px);box-shadow:0 13px 28px #ed6d2640}
.membershipPlanActionDisabled,.membershipPlanActionActive{background:#f3f5f9;color:#8a93a8;border:1px solid var(--line);cursor:not-allowed;box-shadow:none}
.membershipPlanActionActive{color:#536078;background:#eef1f6}

/* Internal development checkpoint: DB-driven membership values while preserving approved v36 design. */
.membershipRegisterLink{display:flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.membershipPlans button[disabled]{opacity:.58;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.benefitMatrix tbody:empty{height:0}


/* STATIC V36 MEMBERSHIP: frozen approved design; no dependency on runtime JS reaching V32. */
.membershipPage{background:#f5f7fb}.membershipHero{min-height:565px;background:linear-gradient(125deg,#0d1437,#282b76 55%,#075278);color:#fff;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:70px 7vw;overflow:hidden;position:relative}.membershipHero:before{content:"";position:absolute;width:520px;height:520px;border:80px solid #44b0e510;border-radius:50%;right:-190px;top:-270px;animation:membershipHalo 11s ease-in-out infinite}.membershipHeroCopy{position:relative;z-index:3;max-width:690px}.membershipHeroCopy>span,.membershipIntro span,.matrixHeading span,.membershipCta span{font-size:9px;letter-spacing:.18em;font-weight:800;color:var(--sky)}.membershipHero h1{font-size:67px;line-height:.96;letter-spacing:-.045em;margin:18px 0}.membershipHero h1 em{font-style:normal;color:var(--sky)}.membershipHero p{font-size:16px;line-height:1.7;color:#d2d9ea;max-width:610px}.membershipHeroActions{display:flex;gap:10px;margin-top:28px}.membershipHeroArt{height:390px;position:relative}.membershipOrbit{position:absolute;left:50%;top:50%;border:1px dashed #ffffff25;border-radius:50%;transform:translate(-50%,-50%);animation:memberOrbit 18s linear infinite}.orbitOne{width:345px;height:345px}.orbitTwo{width:250px;height:250px;animation-direction:reverse;animation-duration:12s}.memberCard{position:absolute;width:225px;min-height:245px;border-radius:23px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 28px 55px #05082062;backdrop-filter:blur(7px);animation:memberCardFloat 4.6s ease-in-out infinite}.memberCard small{font-size:9px;letter-spacing:.14em}.memberCard b{font-size:27px;line-height:1.05;margin:13px 0}.memberCard span{font-size:10px}.basicCard{left:4%;top:24px;background:#ffffffeb;color:var(--navy);transform:rotate(-6deg)}.basicCard small{color:var(--sky)}.premiumCard{right:0;bottom:16px;background:linear-gradient(145deg,var(--orange),#ff9249);transform:rotate(7deg);animation-delay:-2s}.membershipBall{position:absolute;width:82px;height:82px;border-radius:50%;left:47%;top:42%;background:#ddea45;color:var(--navy);display:grid;place-content:center;text-align:center;font-weight:bold;letter-spacing:5px;line-height:.7;box-shadow:0 0 30px #ddea4555;animation:membershipBall 3.5s ease-in-out infinite}.membershipContent{max-width:1450px;margin:auto;padding:78px 6vw 90px}.membershipIntro,.matrixHeading{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:end}.membershipIntro h2,.matrixHeading h2,.membershipCta h2{font-size:43px;line-height:1.08;margin:10px 0}.membershipIntro p,.matrixHeading p{color:var(--muted);font-size:16px;line-height:1.7}.billingToggle{width:max-content;margin:34px auto 24px;background:#e7eaf1;border-radius:13px;padding:5px;display:flex}.billingToggle button{border:0;background:transparent;border-radius:9px;padding:11px 20px;color:var(--muted);font-weight:bold}.billingToggle button.active{background:#fff;color:var(--navy);box-shadow:0 6px 17px #17204b17}.billingToggle small{display:block;font-size:9px;color:#2c9556}.membershipPlans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;scroll-margin-top:100px}.planCard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;position:relative;box-shadow:0 14px 35px #17204b0b}.planCard>span{font-size:9px;color:var(--sky);font-weight:800;letter-spacing:.14em}.planCard h3{font-size:25px;margin:10px 0}.planCard>p{color:var(--muted);line-height:1.6;min-height:51px}.premiumPlan{border:2px solid var(--orange);box-shadow:0 20px 45px #ed6d2617}.recommended{position:absolute;right:20px;top:-13px;background:var(--orange);color:#fff;border-radius:20px;padding:7px 12px;font-size:9px;font-weight:bold;letter-spacing:.1em}.planPrice{display:flex;align-items:end;gap:7px;margin:18px 0}.planPrice b{font-size:38px;color:var(--navy)}.premiumPlan .planPrice b{color:var(--orange)}.planPrice small{color:var(--muted);padding-bottom:6px}.matrixSection{margin-top:85px}.matrixHeading{margin-bottom:25px}.matrixScroll{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 40px #17204b0c}.benefitMatrix{width:100%;min-width:820px;border-collapse:collapse}.benefitMatrix th,.benefitMatrix td{padding:18px 20px;text-align:left;border-bottom:1px solid #e8ebf1;vertical-align:middle}.benefitMatrix th{background:#111735;color:#fff;font-size:12px;position:sticky;top:0}.benefitMatrix th:first-child{width:38%}.benefitMatrix td{font-size:13px}.benefitMatrix td:first-child{display:grid;gap:4px}.benefitMatrix td small{display:block;color:var(--muted);font-size:10px;line-height:1.4}.premiumColumn{background:#fff8f3}.benefitMatrix th.premiumColumn{background:var(--orange)}.rankedRow td{background:#eff9fd}.rankedRow td.premiumColumn{background:#fff1e8}.yes{font-style:normal;color:#2d9959;font-weight:bold}.no{font-style:normal;color:#a2a9b7}.benefitMatrix strong{color:var(--orange)}.membershipRules{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.membershipRules article{background:#fff;border-radius:16px;padding:22px;display:grid;grid-template-columns:42px 1fr;gap:14px;border:1px solid var(--line)}.membershipRules article>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e9f6fc;color:var(--sky);font-weight:bold}.membershipRules h3{margin:2px 0 7px;font-size:16px}.membershipRules p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.membershipCta{margin-top:60px;background:linear-gradient(130deg,#161d49,#2e337f);color:#fff;border-radius:24px;padding:38px 45px;display:flex;align-items:center;justify-content:space-between;gap:30px}.membershipCta h2{margin-bottom:6px}.membershipCta p{margin:0;color:#c9d0e3}.membershipCta button{white-space:nowrap}@keyframes membershipHalo{50%{transform:translate(-38px,28px) rotate(13deg)}}@keyframes memberOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes memberCardFloat{0%,100%{translate:0 5px}50%{translate:0 -15px}}@keyframes membershipBall{0%,100%{transform:translate(-18px,-20px) rotate(0)}50%{transform:translate(24px,25px) rotate(180deg)}}@media(max-width:1000px){.membershipHero{grid-template-columns:1fr;min-height:850px}.membershipHeroArt{max-width:620px;width:100%;margin:auto}.membershipPlans,.membershipRules{grid-template-columns:1fr}.planCard>p{min-height:0}.membershipIntro,.matrixHeading{grid-template-columns:1fr;gap:5px}.membershipCta{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.membershipHero{padding:55px 22px;min-height:790px}.membershipHero h1{font-size:46px}.membershipHeroActions{display:grid}.membershipHeroArt{height:330px}.memberCard{width:180px;min-height:210px;padding:19px}.memberCard b{font-size:21px}.membershipBall{width:62px;height:62px}.membershipContent{padding:55px 20px}.membershipIntro h2,.matrixHeading h2,.membershipCta h2{font-size:33px}.billingToggle{width:100%}.billingToggle button{flex:1}.membershipCta{padding:29px 25px}.orbitOne{width:285px;height:285px}.orbitTwo{width:210px;height:210px}}@media(prefers-reduced-motion:reduce){.membershipHero:before,.membershipOrbit,.memberCard,.membershipBall{animation:none!important}}


/* Public-page stability fixes: essential layout must not depend on demo JS execution order. */
.publicMembershipPage{background:#f5f7fb}
.publicMembershipPage.membershipPage{background:#f5f7fb}
.membershipHero{min-height:470px;padding-top:42px;padding-bottom:42px}
.membershipHeroArt{height:330px}.memberCard{min-height:215px}.membershipContent{padding-top:58px}
.membershipRegisterLink{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Database-driven event hero keeps the approved composition without text collision. */
.eventsHero .eventMotion{position:absolute;right:5%;top:0;width:42%;height:100%;pointer-events:none}
.eventsHero .countdownEventName{top:16%;right:5%;width:88%;text-align:right;display:block}
.eventsHero .countdownEventName small{margin-top:5px}
.eventsHero .countdown{top:38%!important;right:5%}
.eventsHero .eventOrbit{right:10%;bottom:-45px}
.dbEventGrid .mainEvent{min-height:360px}.dbEventGrid .compactEvent{min-height:170px}
.dbEventCard .eventInfo{min-width:0}.dbEventCard h3{overflow-wrap:anywhere}

/* Approved later Booking Step 1: dropdown-based add-ons. */
#booking .bookingStepOne{max-height:none!important}
.bookingSectionTitle{background:linear-gradient(120deg,var(--navy),#3e4290);color:#fff;border-radius:10px;padding:12px 14px;display:grid;margin-bottom:10px}
.bookingSectionTitle span{font-size:9px;color:#cbd2e6}.bookingSectionTitle.addonSection{margin-top:18px;background:linear-gradient(120deg,#d8571b,var(--orange))}
.bookingStepOne>label{display:grid;gap:5px;margin:9px 0}.bookingStepOne input,.bookingStepOne select,.bookingStepOne textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink)}
.cleanBookingTotal{background:#eaf7fd;border:1px solid #c9e9f7;border-radius:11px;padding:13px;display:flex;justify-content:space-between;align-items:center;margin:13px 0}.cleanBookingTotal span{display:grid}.cleanBookingTotal small{color:var(--muted)}.cleanBookingTotal b{font-size:25px;color:var(--navy)}
.assignmentRule{font-size:9px;color:var(--muted);line-height:1.5;background:#f4f6f8;padding:9px;border-radius:8px}
@media(max-width:1000px){.membershipHero{min-height:730px;padding-top:48px;padding-bottom:35px}.membershipHeroArt{height:315px}.eventsHero .eventMotion{opacity:.55;width:48%}}
@media(max-width:780px){.eventsHero .eventMotion{position:relative;right:auto;top:auto;width:100%;height:210px;margin-top:20px}.eventsHero .countdownEventName{left:0;right:auto;width:100%;text-align:left}.eventsHero .countdown{left:0;right:auto}.eventsHero .eventOrbit{right:5%}}
@media(max-width:650px){.membershipHero{min-height:680px;padding-top:42px;padding-bottom:28px}.membershipHeroArt{height:285px}.memberCard{min-height:185px}.membershipContent{padding-top:45px}}
