/* A quiet Society gallery, sharing Meso's ink, forest green, paper and brass. */
.society-page{max-width:1160px;margin:28px auto 0;padding-top:36px;color:#eee7d7;min-width:0;}
body>.site-header~main.society-page{margin-block-start:0;padding-top:72px;}
.society-page h1,.society-page h2,.society-page h3{color:#eee7d7;}
.society-page h1{font-size:clamp(40px,5.5vw,64px);line-height:1.06;letter-spacing:-1.5px;max-width:16ch;margin:12px 0 24px;}
.society-page h2{font-size:clamp(28px,3.5vw,36px);line-height:1.2;margin:0 0 18px;}
.society-page h3{font-size:24px;line-height:1.3;margin:0 0 10px;}
.society-page p{line-height:1.75;}
.society-page .eyebrow{color:#d4ba83;font-size:11px;letter-spacing:2px;}
.society-page a{color:#efdfb7;text-underline-offset:4px;overflow-wrap:anywhere;}
.society-page a:hover{color:#fff4dd;}
.society-page :focus-visible{outline:2px solid #f0dfb5;outline-offset:4px;}
.society-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:54px;align-items:center;}
.society-introduction{padding-block:12px;}
.society-lockup{display:block;width:min(290px,100%);height:auto;max-height:100px;object-fit:contain;object-position:left;margin-bottom:28px;}
.society-introduction>.intro{font-size:17px;max-width:47ch;color:#d2d1bf;margin:0 0 24px;}
.society-launch{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;margin:24px 0;background:#1e3040;border:1px solid #8c795249;border-left:3px solid #bca16a;}
.society-launch p{margin:0;font-size:14px;color:#e1dbc7;}
.society-launch strong{display:block;color:#f0e6cd;}
.society-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;}
.society-page .society-play{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:#2d475b;border:1px solid #a99568;border-radius:7px;color:#f2e9d9;font-weight:650;text-decoration:none;}
.society-page .society-play:hover{background:#a4613e;color:#fff4e5;}
.society-actions>a:not(.society-play){display:inline-flex;align-items:center;min-height:44px;font-size:14px;}
.society-benefits{position:relative;padding:30px;background:radial-gradient(ellipse at 18% 0,#bca16a16,transparent 65%),linear-gradient(145deg,#1e3040,#172633);border:1px solid #9e87585c;border-radius:4px;box-shadow:0 18px 48px #0002;}
.society-page .society-benefits-heading{font-family:var(--sans);font-size:18px;font-weight:600;line-height:1.5;margin:0 0 22px;color:#e9dfc3;}
.society-benefit{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;padding:22px 0;border-top:1px solid #ad976b40;}
.society-benefit:last-child{padding-bottom:0;}
.society-benefit-number{font:18px/1.5 var(--serif);color:#c3aa75;}
.society-benefit h3{font-size:25px;margin:0 0 8px;}
.society-benefit p{font-size:14px;color:#d2dbe0;margin:0;}
.society-benefit small{display:block;color:#ded3b5;font-size:12px;line-height:1.65;margin-top:8px;}
.society-plans{padding-top:50px;margin-top:50px;border-top:1px solid #ac97654d;scroll-margin-top:28px;}
.society-section-heading{max-width:690px;}
.society-section-heading .eyebrow{margin:0 0 12px;}
.society-section-heading>p:not(.eyebrow){color:#ced0bd;font-size:15px;margin:0 0 24px;}
.society-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.society-plan{min-width:0;padding:28px 30px;background:#ded4b8;color:#27382e;border:1px solid #bda77b;border-radius:4px;background-image:url('textures/paper-grain-v2.png');background-size:192px 192px;}
.society-page .society-plan h3,.society-plan p{color:#27382e;}
.society-plan h3{font-size:27px;margin-bottom:24px;}
.society-plan dl{margin:0;}
.society-plan dl>div{display:grid;grid-template-columns:60px minmax(0,1fr);gap:18px;align-items:baseline;padding:12px 0;border-top:1px solid #84704c55;}
.society-plan dt{font-size:12px;font-weight:700;letter-spacing:.5px;}
.society-plan dd{margin:0;font-size:13px;}
.society-plan dd strong{font:36px/1.2 var(--serif);letter-spacing:-.8px;}
.society-plan .society-plan-detail{font-size:13px;margin:20px 0 0;line-height:1.7;}
.society-plan-year{border-top:3px solid #c2a368;padding-top:26px;}
.society-billing-note{color:#c9cbb8;font-size:13px;line-height:1.8;margin:18px 0 0;max-width:none;}
.society-questions{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;padding-top:48px;margin-top:46px;border-top:1px solid #ac97654d;}
.society-questions h2{font-size:30px;}
.society-questions details{border-bottom:1px solid #ac97654d;}
.society-questions summary{cursor:pointer;padding:18px 0;min-height:48px;line-height:1.5;font-size:15px;color:#eee4cc;}
.society-questions details:first-child summary{padding-top:0;}
.society-questions details p{margin:0 0 20px;font-size:14px;color:#ccd0bb;}
.society-policy-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:32px 0 8px;}
.society-policy-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;}
.society-contact{color:#bec4b1;font-size:13px;margin:0;}
.policy-page{max-width:1000px;margin:28px auto 0;padding-top:36px;}
.policy-heading{max-width:760px;margin:0 0 30px;}
.policy-heading .eyebrow{color:#d4ba83;}
.policy-heading h1{font-size:clamp(36px,5vw,52px);color:#eee7d7;margin:0 0 12px;}
.policy-heading .intro,.policy-heading .policy-date{color:#cbd0bc;line-height:1.75;}
.policy-contents{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:20px;}
.policy-contents a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#e8d9b4;text-underline-offset:4px;}
.policy-content{padding:32px 38px;background:#e0d7be;color:#29382f;border:1px solid #a9946c;border-radius:4px;--focus-ring:#344d3c;}
.policy-content h2{font-size:26px;line-height:1.3;color:#29382f;margin:0 0 14px;}
.policy-content p,.policy-content li{color:#354435;font-size:15px;line-height:1.8;}
.policy-content p{margin:0 0 14px;}
.policy-content section{margin:30px 0;padding-top:28px;border-top:1px solid #927e5455;scroll-margin-top:28px;}
.policy-content section:first-child{margin-top:0;padding-top:0;border:0;}
.policy-content section:last-child{margin-bottom:0;}
.policy-content a{color:#315840;text-underline-offset:3px;overflow-wrap:anywhere;}
.policy-content a:hover{color:#183c29;}
.policy-content ul{padding-left:22px;}
.policy-content li{padding-left:3px;margin-bottom:8px;}
.policy-notice{padding:18px 20px;border-left:3px solid #a18450;background:#c7b8884d;margin:0 0 26px;}
.policy-notice p:last-child{margin-bottom:0;}
.policy-page :focus-visible{outline:2px solid var(--focus-ring,#edddb7);outline-offset:4px;}
.policy-page>.policy-return{color:#d8dfcc;border-color:#9a895655;}
.policy-page>.policy-return a{color:#e8d9b4;}
@media(max-width:850px){
 .society-hero{gap:28px;grid-template-columns:1fr 1fr;}
 .society-benefits{padding:24px;}
 .society-plan{padding-inline:24px;}
 .society-questions{gap:28px;grid-template-columns:1fr 1.5fr;}
}
@media(max-width:680px){
 .society-page,.policy-page{margin-top:24px;padding-top:24px;}
 body>.site-header~main.society-page{padding-top:64px;}
 .society-hero,.society-questions{grid-template-columns:minmax(0,1fr);gap:26px;}
 .society-page h1{max-width:16ch;font-size:clamp(38px,10vw,53px);letter-spacing:-1px;}
 .society-lockup{width:240px;margin-bottom:24px;}
 .society-introduction{padding-top:0;}
 .society-introduction>.intro{font-size:16px;}
 .society-plans{padding-top:32px;margin-top:34px;}
 .society-plan-grid{gap:14px;}
 .society-plan{padding:24px 18px;}
 .society-plan-year{padding-top:22px;}
 .society-plan h3{font-size:24px;}
 .society-plan dl>div{grid-template-columns:minmax(0,1fr);gap:6px;}
 .society-plan dd strong{font-size:31px;}
 .society-questions{padding-top:32px;margin-top:32px;}
 .policy-content{padding:26px 24px;}
}
@media(max-width:380px){.society-plan-grid{grid-template-columns:minmax(0,1fr);}.society-page .society-play{width:100%;}.policy-content{padding:24px 18px;}}
@media print{body:has(.policy-page){background:#fff!important;color:#000!important;}.policy-page{max-width:none;margin:0;padding:0;}.policy-page~footer,body:has(.policy-page)>.site-header,.policy-contents,.policy-return{display:none!important;}.policy-content{border:0;padding:0;background:#fff;}.policy-page h1,.policy-page h2,.policy-page p,.policy-page li,.policy-page a{color:#000!important;}.policy-content section{break-inside:avoid;}}

.operator-contact{font-style:normal;font-size:13px;line-height:1.8;margin:32px 0 8px;color:#d2d1bf}
.operator-contact strong{font-weight:600}
.membership-status{min-height:24px;margin:16px 0;color:#ece2c9}
#membership-account{margin:18px 0}
#membership-account:empty{display:none}
#membership-account .membership-actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
#membership-account .auth-form{max-width:500px}
#membership-account .auth-form input{background:#f2e9d9;color:#26382e}
#membership-account .auth-options{display:flex;flex-wrap:wrap;gap:12px}
.society-plan .primary-button{width:100%;min-height:46px;margin-top:14px;background:#344a3c;border-color:#9a8355;color:#f2e9d9;border-radius:7px}
.society-plan .primary-button:hover{background:#435e4b}
.society-plan .primary-button:disabled{opacity:.6;cursor:default}
.society-plan .membership-local-price{min-height:22px;margin:10px 0 0;font-size:14px;font-weight:600}
.membership-pending{margin-top:16px;font-size:14px}

/* Keep membership controls readable and bounded on both page layouts. */
#membership-account .membership-game-button,#membership-account .membership-game-button:visited{background:#344a3c;border:1px solid #a58c58;color:#f2e9d9;text-decoration:none;min-height:48px;border-radius:7px;font-weight:600}
#membership-account .membership-game-button:hover{background:#435e4b;color:#fff6df}
#membership-account.membership-member{padding:24px 28px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 18% 0,#bca16a24,transparent 65%),linear-gradient(110deg,#192b39,#1c2a36);border:1px solid #ba945c80;border-radius:7px;margin:0}
#membership-account .society-billing h4{margin:0 0 8px;font-size:16px;line-height:1.5;color:#f0e6cd}
#membership-account .society-billing p{margin:8px 0 16px;color:#dedbc9;font-size:14px}
#membership-account .society-billing [data-membership-action-status]:empty{display:none}
#membership-account .membership-actions{margin-top:16px}
#membership-account .secondary-button{color:#27382e;text-decoration:none;background:#e8dfc4;border:1px solid #a99568}
#membership-account .secondary-button:hover{background:#f1e8ce;color:#21372c}
#membership-account.membership-auth{max-width:480px;margin:0 auto}
.membership-auth-card{padding:28px;background:#233640;border:1px solid #8d805452;border-radius:7px;min-width:0}
.society-page .membership-auth-card h2{font-size:30px;margin:0 0 22px;line-height:1.2}
#membership-account .membership-auth-card .auth-form{max-width:none;width:100%;margin:18px 0;gap:10px}
#membership-account .membership-auth-card .auth-form input{min-width:0;border-color:#ac996d}
#membership-account .membership-auth-card .auth-form button[type=submit]{background:#344738;border:1px solid #a99568;color:#f2e9d9;font-weight:650}
#membership-account .membership-auth-card .auth-form button[type=submit]:hover{background:#435b48}
#membership-account .auth-divider{margin:16px 0;color:#cdd4cd}
#membership-account .auth-options{gap:10px}
#membership-account .auth-options #auth-forgot{align-self:flex-start;color:#eee3c5}
#membership-account .auth-privacy{margin:16px 0 0;color:#cdd4cd}
#membership-account .auth-privacy a{color:#f0dfb5}
#membership-account .membership-auth-cancel{min-height:44px;margin-top:8px;color:#eee3c5;text-decoration:underline;text-underline-offset:4px}
.membership-status:empty{display:none}
.society-plan .membership-local-price:not(:empty){font:34px/1.2 var(--serif);letter-spacing:-.5px;color:#27382e;margin:16px 0}
.society-plan-grid[hidden],.society-section-heading[hidden],.society-billing-note[hidden]{display:none}
.society-plan-grid{align-items:stretch}
.society-plan{display:flex;flex-direction:column}
.society-plan .primary-button{margin-top:auto;align-self:stretch}
.society-plan .society-plan-detail{margin:12px 0 22px}
@media(max-width:680px){.society-plan-grid{grid-template-columns:minmax(0,1fr)}#membership-account.membership-member,.membership-auth-card{padding:22px}#membership-account .membership-actions{display:grid;grid-template-columns:minmax(0,1fr)}#membership-account .membership-game-button{width:100%}}

.society-page .membership-auth-card .auth-confirmation,.society-page .membership-auth-card .auth-confirmation-help{color:#27382e}
.society-page .membership-auth-card .auth-confirmation h3,.society-page .membership-auth-card .auth-confirmation p,.society-page .membership-auth-card .auth-confirmation-help p{color:#27382e}
.society-page .membership-auth-card #auth-resend-message[data-state=error]{color:#7f3525;font-weight:600}

.membership-register-copy{position:relative;z-index:1;max-width:65%;}
.membership-register-brand{margin:0 0 18px;}
.membership-register-brand img{display:block;width:min(100%,300px);height:auto;}

/* The existing studio mark is decorative; member status remains written text. */
#membership-account .membership-register-moth{position:absolute;right:32px;top:50%;transform:translateY(-50%);width:clamp(180px,32%,340px);height:auto;opacity:.12;pointer-events:none;user-select:none;z-index:0;}
@media(max-width:680px){
 .membership-register-copy{max-width:none;}
 #membership-account .membership-register-moth{width:200px;right:-48px;top:32px;transform:none;opacity:.055;}
}
