/* Forest Studio｜team portrait page */
#forestAboutPanelStudio.studio-members {
    --studio-ink: #33473a;
    --studio-muted: #77847a;
    --studio-line: #dce4dc;
    --studio-green: #eaf2eb;
    --studio-blue: #edf4f8;
    --studio-pink: #fff2f2;
    --studio-cream: #faf5eb;
    --studio-lavender: #f5eff8;
    max-width: 1140px;
    margin: 0 auto;
    padding: 30px 22px 24px;
    border: 1px solid #dce5dc;
    border-radius: 20px;
    background: #fffefa;
    box-shadow: 0 16px 45px rgba(54, 73, 58, .06);
    color: var(--studio-ink);
    font-family: "Iowan Old Style", Georgia, "Noto Serif TC", "PMingLiU", serif;
}
#forestAboutPanelStudio .studio-members-hero { margin: 2px 0 25px; text-align: center; }
#forestAboutPanelStudio .studio-members-eyebrow { margin: 0 0 9px; color: #8a9a89; font: 600 10px/1.5 system-ui, sans-serif; letter-spacing: .2em; }
#forestAboutPanelStudio .studio-members-hero h1 { margin: 0; color: #304437; font-size: clamp(34px, 5vw, 52px); font-weight: 500; line-height: 1.15; }
#forestAboutPanelStudio .studio-members-hero > p:last-child { margin: 9px 0 0; color: var(--studio-muted); font-size: 15px; line-height: 1.65; }
#forestAboutPanelStudio .studio-organization { max-width: 1000px; margin: 0 auto; }
#forestAboutPanelStudio .studio-member { min-width: 0; overflow: hidden; border: 1px solid var(--studio-line); border-radius: 18px; background: #fff; box-shadow: 0 6px 18px rgba(50, 67, 54, .035); }
#forestAboutPanelStudio .studio-leader { position: relative; display: grid; grid-template-columns: minmax(175px, 38%) 1fr; align-items: center; max-width: 600px; min-height: 214px; margin: 0 auto; border-color: #edcccc; background: linear-gradient(115deg, #fff5f4, #fffafa); }
#forestAboutPanelStudio .studio-leader-art { position: relative; align-self: stretch; display: flex; align-items: end; justify-content: center; min-height: 210px; overflow: hidden; background: radial-gradient(ellipse at 54% 50%, #fff 0, #fff8f7 61%, transparent 62%); }
#forestAboutPanelStudio .studio-leader-art img { display: block; width: 100%; height: 218px; object-fit: contain; object-position: center bottom; }
#forestAboutPanelStudio .studio-flower-mark, #forestAboutPanelStudio .studio-sparkle { position: absolute; color: #e5a5ae; pointer-events: none; }
#forestAboutPanelStudio .studio-flower-mark { top: 30px; left: 18px; font-size: 25px; }
#forestAboutPanelStudio .studio-sparkle { color: #e9b97d; }
#forestAboutPanelStudio .studio-sparkle-one { top: 28px; right: 13px; font-size: 21px; }
#forestAboutPanelStudio .studio-sparkle-two { top: 84px; left: 10px; font-size: 18px; }
#forestAboutPanelStudio .studio-member-copy { min-width: 0; padding: 18px 20px; }
#forestAboutPanelStudio .studio-member-role { margin: 0 0 3px; color: #837b6f; font-size: 13px; letter-spacing: .06em; }
#forestAboutPanelStudio .studio-member-copy h2 { margin: 0 0 8px; color: #25372c; font-size: 36px; font-weight: 500; line-height: 1.1; }
#forestAboutPanelStudio .studio-authority { display: inline-block; margin: 0 0 7px; padding: 5px 11px; border: 1px solid #dec28b; border-radius: 999px; background: #fff7e5; color: #81662f; font: 600 12px/1.2 system-ui, sans-serif; }
#forestAboutPanelStudio .studio-member-description { margin: 0; color: #69776c; font-size: 13px; line-height: 1.75; }
#forestAboutPanelStudio .studio-org-connector { position: relative; width: min(47%, 470px); height: 35px; margin: 0 auto; border-bottom: 1px solid #9eac9c; }
#forestAboutPanelStudio .studio-org-connector::before { position: absolute; bottom: 0; left: 50%; height: 100%; border-left: 1px solid #9eac9c; content: ""; }
#forestAboutPanelStudio .studio-org-connector i { position: absolute; bottom: -3px; width: 6px; height: 6px; border-radius: 50%; background: #829484; }
#forestAboutPanelStudio .studio-org-connector i:first-of-type { left: 0; }
#forestAboutPanelStudio .studio-org-connector i:last-of-type { right: 0; }
#forestAboutPanelStudio .studio-primary-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#forestAboutPanelStudio .studio-primary-card { display: grid; grid-template-columns: minmax(130px, 48%) 1fr; align-items: center; min-height: 198px; }
#forestAboutPanelStudio .studio-sprite { background-image: url("assets/forest-studio-team-portraits.png"); background-repeat: no-repeat; background-size: 300% 318%; }
#forestAboutPanelStudio .studio-primary-card .studio-sprite { align-self: center; width: 100%; height: auto; min-height: 0; aspect-ratio: 1 / 1; }
#forestAboutPanelStudio .studio-portrait-ceo { background-position: 0% 0%; }
#forestAboutPanelStudio .studio-portrait-mori { background-position: 50% 0%; }
#forestAboutPanelStudio .studio-portrait-engineering { background-position: 100% 0%; }
#forestAboutPanelStudio .studio-portrait-design { background-position: 0% 48%; }
#forestAboutPanelStudio .studio-portrait-accounting { background-position: 50% 48%; }
#forestAboutPanelStudio .studio-portrait-thai { background-position: 100% 48%; }
#forestAboutPanelStudio .studio-portrait-fan { background-position: 0% 94%; }
#forestAboutPanelStudio .studio-portrait-police { background-position: 50% 94%; }
#forestAboutPanelStudio .studio-portrait-office { background-position: 100% 94%; }
#forestAboutPanelStudio .studio-primary-card .studio-member-copy h2 { font-size: 31px; }
#forestAboutPanelStudio .studio-primary-card .studio-member-description { font-size: 12px; }
#forestAboutPanelStudio .studio-primary-card:nth-child(1) { background: #f1f6ef; }
#forestAboutPanelStudio .studio-primary-card:nth-child(2) { background: #f0f6fa; }
#forestAboutPanelStudio .studio-team-heading { display: flex; align-items: center; gap: 15px; margin: 26px 0 14px; text-align: center; }
#forestAboutPanelStudio .studio-team-heading > span { height: 1px; flex: 1; background: var(--studio-line); }
#forestAboutPanelStudio .studio-team-heading h2 { margin: 0; color: #3d5042; font-size: 24px; font-weight: 500; }
#forestAboutPanelStudio .studio-team-heading p { margin: 4px 0 0; color: var(--studio-muted); font-size: 12px; }
#forestAboutPanelStudio .studio-specialists { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
#forestAboutPanelStudio .studio-specialist-card { border-radius: 14px; text-align: center; }
#forestAboutPanelStudio .studio-specialist-card .studio-sprite { aspect-ratio: 1 / 1; }
#forestAboutPanelStudio .studio-specialist-card:nth-child(4n+1) { background: #f0f6ef; }
#forestAboutPanelStudio .studio-specialist-card:nth-child(4n+2) { background: #fff1f1; }
#forestAboutPanelStudio .studio-specialist-card:nth-child(4n+3) { background: #fbf5e9; }
#forestAboutPanelStudio .studio-specialist-card:nth-child(4n+4) { background: #eef5fa; }
#forestAboutPanelStudio .studio-specialist-card:nth-child(5) { background: #f5eff8; }
#forestAboutPanelStudio .studio-specialist-card:nth-child(6) { background: #eef4f8; }
#forestAboutPanelStudio .studio-specialist-card:nth-child(7) { background: #f5f3ec; }
#forestAboutPanelStudio .studio-specialist-card .studio-member-copy { padding: 9px 10px 13px; }
#forestAboutPanelStudio .studio-specialist-card h3 { margin: 0; color: #33473a; font-size: 16px; font-weight: 500; line-height: 1.35; }
#forestAboutPanelStudio .studio-member-subrole { margin: 2px 0 6px; color: #839087; font-size: 11px; }
#forestAboutPanelStudio .studio-specialist-card .studio-member-description { font-size: 11px; line-height: 1.6; }
#forestAboutPanelStudio .studio-secret-area { display: flex; align-items: center; gap: 12px; max-width: 540px; margin: 22px auto 0; padding: 10px 14px; border: 1px solid #e8d4b9; border-radius: 13px; background: linear-gradient(110deg, #fff8ed, #fffdfa); }
#forestAboutPanelStudio .studio-envelope-mark { display: grid; width: 42px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid #dec49d; border-radius: 7px; color: #a78655; font-size: 17px; }
#forestAboutPanelStudio .studio-secret-copy { flex: 1; }
#forestAboutPanelStudio .studio-secret-copy p { margin: 0; color: #554633; font-size: 13px; }
#forestAboutPanelStudio .studio-secret-copy small { color: #9a876a; font-size: 11px; }
#forestAboutPanelStudio .studio-secret-button { min-height: 38px; margin: 0; padding: 8px 12px; border: 1px solid #dfc9a8; border-radius: 999px; background: transparent; color: #775d38; font: inherit; font-size: 12px; cursor: pointer; }
#forestAboutPanelStudio .studio-secret-button:hover { background: #fff2db; }
#forestAboutPanelStudio .studio-secret-button:focus-visible { outline: 3px solid #b99c70; outline-offset: 3px; }
#forestAboutPanelStudio .studio-members-footer { margin: 20px 0 0; color: #8a968b; text-align: center; font: 11px/1.5 system-ui, sans-serif; letter-spacing: .08em; }
#forestAboutPanelStudio .studio-members-footer span { padding: 0 5px; color: #c2b295; }
body.night-mode #forestAboutPanelStudio.studio-members { --studio-ink: #e5e9df; --studio-muted: #aeb9ad; --studio-line: #424e43; border-color: #3e4b40; background: #202820; color: #e5e9df; box-shadow: none; }
body.night-mode #forestAboutPanelStudio .studio-members-hero h1,
body.night-mode #forestAboutPanelStudio .studio-team-heading h2,
body.night-mode #forestAboutPanelStudio .studio-member-copy h2,
body.night-mode #forestAboutPanelStudio .studio-specialist-card h3 { color: #e5e9df; }
body.night-mode #forestAboutPanelStudio .studio-member { border-color: #465248; background-color: #29332b; }
body.night-mode #forestAboutPanelStudio .studio-leader { border-color: #775860; background: linear-gradient(115deg, #34282c, #30292b); }
body.night-mode #forestAboutPanelStudio .studio-leader-art { background: radial-gradient(ellipse at 54% 50%, #3e3034 0, #34282c 61%, transparent 62%); }
body.night-mode #forestAboutPanelStudio .studio-member-description,
body.night-mode #forestAboutPanelStudio .studio-member-role,
body.night-mode #forestAboutPanelStudio .studio-team-heading p,
body.night-mode #forestAboutPanelStudio .studio-member-subrole { color: #b8c2b7; }
body.night-mode #forestAboutPanelStudio .studio-primary-card:nth-child(1) { background: #29372d; }
body.night-mode #forestAboutPanelStudio .studio-primary-card:nth-child(2) { background: #293641; }
body.night-mode #forestAboutPanelStudio .studio-specialist-card:nth-child(4n+1) { background: #29372d; }
body.night-mode #forestAboutPanelStudio .studio-specialist-card:nth-child(4n+2) { background: #3b2c31; }
body.night-mode #forestAboutPanelStudio .studio-specialist-card:nth-child(4n+3) { background: #39352a; }
body.night-mode #forestAboutPanelStudio .studio-specialist-card:nth-child(4n+4) { background: #293641; }
body.night-mode #forestAboutPanelStudio .studio-specialist-card:nth-child(5) { background: #382e3e; }
body.night-mode #forestAboutPanelStudio .studio-specialist-card:nth-child(6) { background: #293641; }
body.night-mode #forestAboutPanelStudio .studio-specialist-card:nth-child(7) { background: #37342d; }
body.night-mode #forestAboutPanelStudio .studio-secret-area { border-color: #655640; background: #322f27; }
body.night-mode #forestAboutPanelStudio .studio-secret-copy p { color: #e5dcc8; }
body.night-mode #forestAboutPanelStudio .studio-secret-copy small { color: #c0ae8e; }
body.night-mode #forestAboutPanelStudio .studio-secret-button { border-color: #76664a; color: #e3d2ae; }
body.night-mode #forestAboutPanelStudio .studio-members-footer { color: #b5beb4; }
@media (max-width: 760px) {
    #forestAboutPanelStudio.studio-members { padding: 23px 12px 20px; border-radius: 16px; }
    #forestAboutPanelStudio .studio-members-hero { margin-bottom: 19px; }
    #forestAboutPanelStudio .studio-members-hero > p:last-child { font-size: 13px; }
    #forestAboutPanelStudio .studio-leader { grid-template-columns: minmax(120px, 40%) 1fr; min-height: 170px; border-radius: 15px; }
    #forestAboutPanelStudio .studio-leader-art { min-height: 170px; }
    #forestAboutPanelStudio .studio-leader-art img { height: 177px; }
    #forestAboutPanelStudio .studio-flower-mark { top: 22px; left: 10px; font-size: 19px; }
    #forestAboutPanelStudio .studio-sparkle-one { top: 19px; right: 8px; font-size: 17px; }
    #forestAboutPanelStudio .studio-sparkle-two { top: 70px; left: 7px; font-size: 15px; }
    #forestAboutPanelStudio .studio-member-copy { padding: 13px 12px; }
    #forestAboutPanelStudio .studio-member-copy h2 { font-size: 29px; }
    #forestAboutPanelStudio .studio-member-role { font-size: 11px; }
    #forestAboutPanelStudio .studio-authority { padding: 4px 8px; font-size: 10px; }
    #forestAboutPanelStudio .studio-member-description { font-size: 11px; line-height: 1.65; }
    #forestAboutPanelStudio .studio-org-connector { height: 25px; }
    #forestAboutPanelStudio .studio-primary-team { grid-template-columns: 1fr; gap: 9px; }
    #forestAboutPanelStudio .studio-primary-card { grid-template-columns: minmax(125px, 42%) 1fr; min-height: 145px; border-radius: 13px; }
    #forestAboutPanelStudio .studio-primary-card .studio-sprite { min-height: 0; aspect-ratio: 1 / 1; }
    #forestAboutPanelStudio .studio-primary-card .studio-member-copy { padding: 10px 8px; }
    #forestAboutPanelStudio .studio-primary-card .studio-member-copy h2 { margin-bottom: 5px; font-size: 24px; }
    #forestAboutPanelStudio .studio-primary-card .studio-member-role { font-size: 10px; }
    #forestAboutPanelStudio .studio-primary-card .studio-member-description { font-size: 10px; line-height: 1.5; }
    #forestAboutPanelStudio .studio-team-heading { gap: 8px; margin: 22px 0 12px; }
    #forestAboutPanelStudio .studio-team-heading h2 { font-size: 19px; }
    #forestAboutPanelStudio .studio-team-heading p { font-size: 10px; }
    #forestAboutPanelStudio .studio-specialists { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    #forestAboutPanelStudio .studio-specialist-card .studio-sprite { aspect-ratio: 1 / 1; }
    #forestAboutPanelStudio .studio-specialist-card .studio-member-copy { padding: 8px 7px 10px; }
    #forestAboutPanelStudio .studio-specialist-card h3 { font-size: 14px; }
    #forestAboutPanelStudio .studio-member-subrole { font-size: 10px; }
    #forestAboutPanelStudio .studio-specialist-card .studio-member-description { font-size: 10px; }
    #forestAboutPanelStudio .studio-secret-area { gap: 8px; margin-top: 16px; padding: 9px; }
    #forestAboutPanelStudio .studio-envelope-mark { width: 34px; height: 32px; font-size: 14px; }
    #forestAboutPanelStudio .studio-secret-copy p { font-size: 11px; }
    #forestAboutPanelStudio .studio-secret-copy small { font-size: 9px; }
    #forestAboutPanelStudio .studio-secret-button { padding: 7px 9px; font-size: 10px; white-space: nowrap; }
}
@media (max-width: 380px) {
    #forestAboutPanelStudio.studio-members { padding-inline: 9px; }
    #forestAboutPanelStudio .studio-leader { grid-template-columns: 37% 1fr; }
    #forestAboutPanelStudio .studio-primary-card { grid-template-columns: minmax(115px, 40%) 1fr; }
    #forestAboutPanelStudio .studio-primary-card .studio-member-copy { padding-inline: 6px; }
    #forestAboutPanelStudio .studio-primary-card .studio-member-copy h2 { font-size: 21px; }
}

/* Spiritual Leader Archive: illustrated profile, sized for the existing seal. */
.forest-about-archive .forest-about-seal-portrait {
    overflow: hidden;
    padding: 0;
    border: 2px solid rgba(222, 180, 178, .72);
    background: #fff2f1;
    box-shadow: 0 8px 22px rgba(87, 59, 51, .12);
}
.forest-about-archive .forest-about-seal-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
}
.forest-about-archive .forest-about-observation-kicker {
    margin: 0 0 8px;
    color: #a68178;
    font: 650 10px/1.5 system-ui, sans-serif;
    letter-spacing: .16em;
}
.forest-about-archive .forest-about-observation-intro {
    margin: 0 0 14px;
    color: #77847a;
    line-height: 1.75;
}
.forest-about-archive .forest-about-observation-next {
    padding: 16px 18px;
    border: 1px dashed #dec9c3;
    border-radius: 14px;
    background: linear-gradient(135deg, #fff8f5, #fffdf9);
}
.forest-about-archive .forest-about-observation-next > span {
    color: #a68178;
    font: 650 10px/1.5 system-ui, sans-serif;
    letter-spacing: .1em;
}
.forest-about-archive .forest-about-observation-next h3 {
    margin: 6px 0;
    color: #455448;
    font-size: 18px;
}
.forest-about-archive .forest-about-observation-next p {
    margin: 0;
    color: #77847a;
    line-height: 1.7;
}
body.night-mode .forest-about-archive .forest-about-observation-next {
    border-color: #6a5752;
    background: linear-gradient(135deg, #302724, #282621);
}
body.night-mode .forest-about-archive .forest-about-observation-next h3 { color: #e9dfd5; }
body.night-mode .forest-about-archive .forest-about-observation-next p { color: #b5b0a5; }
