.join-page{--paper-light:#fcf5e4;background-color:var(--paper-light)}
.join-wrap{width:min(1200px,88%);margin-inline:auto}
.join-page .join-header{position:relative;z-index:5}
.join-header .join-home{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;font-size:13px!important;font-weight:500}
.join-home small{font-size:10px!important;color:var(--muted);margin-top:3px}
.join-header .join-home>svg{width:20px;height:20px}
.join-header .join-home:hover{color:var(--red)}
.notice-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:65px;position:relative;isolation:isolate;width:min(1280px,89%);margin:auto;padding:45px 0 55px}
.notice-hero:before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);z-index:-1;background:url('assets/balanced-hero-art.webp') 50% 100%/cover;opacity:.16;pointer-events:none}
.join-kicker{display:flex;align-items:center;gap:11px;color:var(--red);font-size:12px;letter-spacing:.1em}
.join-kicker>span{display:grid;place-items:center;border:3px double var(--red);width:32px;height:36px;font:400 25px var(--display)}
.join-kicker>b{font-size:9px;font-weight:500;letter-spacing:.16em;color:var(--muted);margin-left:5px}
.notice-copy h1{width:110%;max-width:675px;margin:14px 0 10px -6px;line-height:0}
.notice-copy h1 img{width:100%;height:auto;animation:join-ink-arrive 1.3s cubic-bezier(.2,.7,.2,1) both}
.join-handwritten{font:700 27px/1.4 'Kalam',cursive}
.join-lead{font-size:19px;line-height:1.8;margin:22px 0 9px}
.join-english{font-size:12px;line-height:1.9;max-width:390px;color:var(--muted)}
.join-hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px}
.join-hero-actions .button{font-size:14px}
.join-hero-actions .button>span{font-size:11px}
.join-hero-actions .text-link{font-size:12px;gap:7px}
.join-hero-actions .text-link>span{font-size:10px}
.join-location{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.12em;color:var(--muted);margin-top:27px}
.join-location svg{width:14px;height:14px}
.recruitment-notice{position:relative;width:min(100%,400px);margin:0 auto;animation:board-arrive .8s cubic-bezier(.2,.7,.2,1) both}
.recruitment-board{position:relative;container-type:inline-size;isolation:isolate}
.recruitment-board-art{display:block;width:100%;height:auto;pointer-events:none;filter:drop-shadow(0 4px 6px #4b37190a)}
.recruitment-board-content{position:absolute;top:47%;left:21%;right:21%;display:flex;flex-direction:column;gap:1.4cqw}
.board-welcome{display:flex;align-items:center;justify-content:center;gap:2.5cqw;margin-bottom:0}
.board-mascot{display:block;width:13cqw;height:13.65cqw;overflow:hidden;flex:none;mix-blend-mode:multiply;transform-origin:50% 90%}
.board-mascot img{display:block;width:271.187%;max-width:none;height:auto}
.board-welcome p{font:400 clamp(15px,4.3cqw,19px)/1.15 var(--display);margin:0}
.board-welcome small{display:block;font:500 clamp(7px,2cqw,9px)/1.4 var(--body);letter-spacing:.05em;margin-top:1.2cqw;color:#675134}
.board-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2cqw}
.board-teams a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:44px;padding:5px 2px;border:1px solid #98754c7a;background:#fcf5e43d;text-align:center;color:var(--ink);transition:background .2s,border-color .2s,translate .2s}
.board-teams a>span{font:400 clamp(15px,4.8cqw,21px)/1.1 var(--display)}
.board-teams a>small{font-size:clamp(8px,2.4cqw,10px);line-height:1.2;color:#675134}
.board-teams a:hover{background:#af302612;border-color:var(--red);translate:0 -2px}
.board-invitation{display:flex;align-items:center;justify-content:center;gap:1.8cqw;min-height:44px;padding:6px 3px;margin-top:1cqw;background:var(--red);color:#fff6df;border:1px solid #8d2922;box-shadow:2px 2px 0 #734d2e2b;font:400 clamp(15px,4.3cqw,19px)/1.2 var(--display);transition:background .2s,translate .2s}
.board-invitation>span{font:500 clamp(8px,2.5cqw,10px)/1.2 var(--body)}
.board-invitation>svg{width:4cqw;height:4cqw;flex:none;min-width:12px;min-height:12px}
.board-invitation:hover{background:#8d2922;translate:0 -2px}
.board-teams a:focus-visible,.board-invitation:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.recruitment-board:has(a:hover) .board-mascot{animation:board-mascot-bow .6s ease both}
.recruitment-notice figcaption{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:7px;font-size:8px;letter-spacing:.06em;color:var(--muted)}
.recruitment-notice figcaption a{display:flex;align-items:center;gap:5px;min-height:44px;font-size:10px;letter-spacing:0;border-bottom:1px solid var(--line)}
.recruitment-notice figcaption a>span{font-size:8px}
.crew-values{background:var(--navy) url('assets/navy-texture.jpg');color:#f5e6c9;position:relative;border-block:3px double #b6a174}
.crew-values>.join-wrap{display:grid;grid-template-columns:.9fr 2fr;gap:70px;align-items:center;padding-block:48px}
.join-overline{font-size:10px;font-weight:500;letter-spacing:.15em;color:var(--red);margin-bottom:16px}
.crew-values .join-overline{color:#e8c481}
.values-intro h2{font:400 43px/1.2 var(--display)}
.values-intro>p:last-child{font-size:10px;margin-top:15px;color:#dfcfae}
.value-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.value-notes article{border-left:1px solid #dec39350;padding-left:25px}
.value-number{font:400 24px var(--display);color:#dfb35b;display:block;margin-bottom:13px}
.value-notes h3{font:400 31px var(--display);margin-bottom:7px}
.value-notes b{font:700 17px 'Kalam',cursive}
.value-notes p{font-size:11px;line-height:1.9;color:#dfcfae;margin-top:13px}
.roles-section{padding-block:77px 65px}
.roles-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:30px}
.roles-intro h2,.join-faq h2{font:400 55px var(--display);margin-bottom:9px}
.roles-intro>p{font-size:14px;line-height:1.9;color:var(--muted);padding-bottom:5px}
.roles-intro>p>span{font-size:11px}
.team-filters{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:23px;border-bottom:3px double var(--line)}
.team-filters button{display:flex;align-items:center;gap:7px;min-height:49px;padding:8px 18px;border:1px solid var(--line);border-radius:3px;background:transparent;font-size:14px;transition:background .2s,color .2s}
.team-filters button small{font-size:10px;color:var(--muted)}
.team-filters button svg{width:18px;height:18px}
.team-filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--paper-light)}
.team-filters button[aria-pressed="true"] small{color:#e6d3ae}
.team-filters button:hover{border-color:var(--navy)}
.role-results{display:flex;justify-content:space-between;gap:15px;padding:18px 0 0;color:var(--muted);font-size:10px}
.role-results>span{letter-spacing:.06em;font-size:9px}
.job-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}
.job-card{position:relative;padding:27px 0 25px;border-bottom:1px solid var(--line);min-width:0;animation:join-card-arrive .35s ease both}
.job-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.08em;color:var(--muted);margin-bottom:13px}
.job-meta>span:first-child{display:flex;align-items:center;gap:6px}
.job-meta svg{width:14px;height:14px;color:var(--red)}
.job-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.job-card h3{font:400 35px/1.25 var(--display)}
.job-name-en{font-size:12px;color:var(--muted);margin-top:4px}
.job-salary{text-align:right;white-space:nowrap;padding-top:6px;font-size:18px;font-weight:600;color:var(--red)}
.job-salary small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:5px}
.job-intro{font-size:13px;margin-top:15px}
.job-summary{font-size:11px;line-height:1.8;color:var(--muted);margin-top:6px;max-width:410px}
.job-card details{margin-top:14px}
.job-card summary{display:flex;gap:8px;align-items:center;min-height:42px;font-size:11px;width:max-content;max-width:100%}
.job-card summary svg{width:14px;height:14px;transition:rotate .2s}
.job-card details[open] summary svg{rotate:180deg}
.job-card details ul{font-size:12px;line-height:1.9;padding-left:20px;margin:6px 0 13px;color:#564936}
.job-card details h4{font-size:11px;margin:13px 0 0;color:var(--muted)}
.job-choose{display:inline-flex;align-items:center;gap:14px;color:var(--red);font-size:12px;font-weight:500;border-bottom:1px solid #af30264d;padding-block:7px;min-height:44px;margin-top:4px}
.job-choose svg{width:17px;height:17px;transition:translate .2s}
.job-choose:hover svg{translate:4px 0}
.job-card.is-picked:after{content:"已选";position:absolute;right:0;bottom:20px;border:3px double var(--red);padding:3px 8px;rotate:-8deg;color:var(--red);font:400 20px var(--display)}
.roles-source{font-size:10px;line-height:1.9;color:var(--muted);margin-top:25px}
.roles-source a{border-bottom:1px solid var(--line)}
.roles-source span{font-size:9px}
.hello-section{background:var(--navy) url('assets/navy-texture.jpg');color:#f6e6c5;position:relative;border-block:3px double #b6a174}
.hello-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding-block:65px;align-items:center}
.hello-copy .join-overline{color:#e8c481}
.hello-copy h2{font:400 clamp(40px,4.4vw,60px)/1.2 var(--display);margin-bottom:17px}
.hello-copy .join-handwritten{font-size:24px;margin-bottom:24px}
.hello-copy>p:not([class]){font-size:13px;line-height:1.9;color:#dfcfae}
.hello-steps{list-style:none;display:flex;padding:0;margin:32px 0;gap:25px}
.hello-steps li{display:flex;gap:10px;align-items:center}
.hello-steps li>span{font:700 26px 'Kalam',cursive;color:#d4ad64}
.hello-steps li>div{font-size:12px}
.hello-steps small{display:block;font-size:8px;color:#dfcfae;margin-top:3px}
.hiring-phone{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;font-size:19px;font-weight:500;border-top:1px solid #dec39350;padding-top:23px;flex-wrap:wrap}
.hiring-phone svg{width:18px;height:18px}
.hiring-phone small{display:block;width:100%;font-size:9px;color:#dfcfae;font-weight:400;letter-spacing:.04em}
.hello-note{background:var(--paper-light) url('assets/paper-texture.jpg');color:var(--ink);padding:29px 30px 23px;border:1px solid #a89267;box-shadow:8px 8px 0 #061e2e6b;rotate:1deg}
.hello-note-heading{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}
.hello-note-heading img{width:34px;height:auto}
.hello-note-heading>div{font:400 23px var(--display);flex:1;min-width:0}
.hello-note-heading small{display:block;font:400 8px var(--body);letter-spacing:.09em;margin-top:5px}
.hello-note-heading>span{margin-left:auto;font:400 25px var(--display);color:var(--red);rotate:-12deg;writing-mode:vertical-rl;flex:none;letter-spacing:.08em}
.hello-note label{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:8px}
.hello-note label span{font-size:9px;color:var(--muted);align-self:center}
.hello-note select,.hello-note input:not([type="hidden"]),.hello-note textarea{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:#fffaf060;color:var(--ink);padding:12px 10px;font:400 12px/1.6 var(--body);margin-bottom:19px}
.hello-note textarea{resize:vertical;min-height:90px;max-height:240px}
.enquiry-preview{border-top:1px solid var(--line);margin:0 0 17px;padding-top:6px}
.enquiry-preview summary{display:flex;gap:9px;align-items:center;min-height:40px;font-size:11px;color:var(--muted)}
.enquiry-preview summary span{font-size:9px}
.enquiry-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 11px/1.8 var(--body);margin:8px 0;padding:12px;border-left:2px solid var(--red);background:#efe2c75e}
.hello-note>.button{width:100%;font-size:14px;margin-top:2px;gap:10px}
.hello-note>.button>span{font-size:11px;font-weight:500}
.hello-form-help{font-size:9px;line-height:1.9;color:var(--muted);text-align:center;margin-top:13px}
.join-faq{padding-block:62px;display:grid;grid-template-columns:1fr 1.5fr;gap:85px}
.join-faq h2{font-size:42px}
.join-faq .join-handwritten{font-size:24px}
.faq-questions details{border-bottom:1px solid var(--line);padding:15px 0}
.faq-questions details:first-child{border-top:1px solid var(--line)}
.faq-questions summary{display:grid;grid-template-columns:1fr auto;gap:4px 15px;align-items:center;font-size:14px;min-height:51px}
.faq-questions summary>span{font-size:10px;grid-column:1;color:var(--muted)}
.faq-questions summary>svg{grid-column:2;grid-row:1/3;width:16px;height:16px}
.faq-questions details[open] summary>svg{rotate:45deg}
.faq-questions details>p{font-size:12px;line-height:1.9;margin:13px 0;color:var(--muted)}
.faq-questions .text-link{font-size:11px;margin-bottom:7px}
.join-page .site-footer{padding-inline:6%;background:#f4ead3}
.join-page .footer-careers{display:none}
.join-reveal{opacity:0;translate:0 17px;transition:opacity .6s,translate .6s}
.join-reveal.has-arrived,.join-reveal:focus-within{opacity:1;translate:0 0}
@keyframes join-ink-arrive{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes board-arrive{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@keyframes board-mascot-bow{0%,100%{rotate:0deg}45%{rotate:-8deg}70%{rotate:4deg}}
@keyframes join-card-arrive{from{opacity:.4;translate:0 5px}to{opacity:1;translate:0 0}}
@media(max-width:1100px){.notice-hero{gap:45px;padding-top:45px}.notice-copy h1{width:115%}.join-handwritten{font-size:23px}.join-lead{font-size:17px}.recruitment-notice{width:360px;max-width:100%}.join-hero-actions{gap:17px}.join-hero-actions .button{font-size:12px;padding-inline:18px}.join-hero-actions .button>span{font-size:10px}.join-hero-actions .text-link>span{display:none}.crew-values>.join-wrap{gap:35px;grid-template-columns:.85fr 2fr}.values-intro h2{font-size:36px}.value-notes{gap:17px}.value-notes article{padding-left:18px}.value-notes h3{font-size:27px}.job-ledger{column-gap:32px}.job-card h3{font-size:30px}.job-salary{font-size:16px}.hello-layout{gap:45px}.hello-steps{gap:14px}.hello-note{padding:25px 24px}.hello-note-heading>div{font-size:21px}.hello-note-heading>span{font-size:22px}.join-faq{gap:45px}}
@media(min-width:801px) and (max-height:800px){.notice-hero{padding-block:34px 42px;gap:55px}.notice-copy h1{width:98%;max-width:535px;margin:8px 0 5px -3px}.notice-copy .join-handwritten{font-size:24px}.join-lead{font-size:16px;margin:15px 0 7px}.join-english{font-size:11px}.join-hero-actions{margin-top:21px}.join-location{margin-top:20px}.recruitment-notice{width:340px}}
@media(max-width:800px){.notice-hero{gap:30px;grid-template-columns:1.2fr .8fr}.join-kicker{font-size:10px}.join-kicker>b{font-size:7px;margin-left:0}.notice-copy h1{width:116%;margin-top:15px}.join-handwritten{font-size:20px}.join-lead{font-size:15px;margin-top:17px}.join-english{font-size:10px}.recruitment-notice{width:400px}.join-hero-actions{gap:14px}.join-hero-actions .button>span{display:none}.join-hero-actions .button{min-height:46px}.crew-values>.join-wrap{grid-template-columns:1fr;gap:28px;padding-block:37px}.values-intro h2{font-size:40px}.values-intro h2 br{display:none}.value-notes article:first-child{border-left:0;padding-left:0}.value-notes h3{font-size:30px}.roles-intro h2{font-size:46px}.roles-intro>p{font-size:12px}.team-filters button{padding-inline:12px;font-size:12px;gap:5px}.team-filters button small{font-size:8px}.job-title-row{display:block}.job-salary{text-align:left;font-size:18px;padding-top:12px}.job-salary small{display:inline;font-size:8px;margin-left:8px}.hello-layout{grid-template-columns:1fr 1fr;gap:28px}.hello-copy h2{font-size:40px}.hello-steps{display:grid;gap:13px}.hello-steps li{gap:15px}.hello-note{padding:23px 19px}.hello-note-heading>div{font-size:18px}.hello-note-heading>span{display:none}.hello-note-heading small{font-size:7px}.hello-note>.button>span{font-size:9px}.hello-note label{display:block}.hello-note label span{display:block;margin-top:3px}.join-faq{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.join-wrap{width:calc(100% - 44px)}.join-page .join-header{min-height:78px;padding:10px 22px;gap:12px}.join-header .brand>img{width:153px;height:53px}.join-header nav{gap:14px}.join-header nav>a:not(.join-home){display:none}.join-header .join-home{font-size:11px!important}.join-home small{font-size:8px!important}.join-home>svg{width:15px!important}.notice-hero{display:flex;flex-direction:column;width:calc(100% - 44px);padding:30px 0 45px;gap:38px}.notice-copy{width:100%}.join-kicker{gap:9px;font-size:10px}.join-kicker>b{font-size:8px}.join-kicker>span{width:29px;height:32px;font-size:22px}.notice-copy h1{width:100%;max-width:460px;margin:17px -3px 10px}.join-handwritten{font-size:22px}.join-lead{font-size:17px;margin-top:18px}.join-english{font-size:11px}.join-hero-actions{gap:20px;flex-wrap:wrap;margin-top:23px}.join-hero-actions .button{font-size:13px;padding-inline:20px}.join-hero-actions .button>span{display:inline;font-size:10px}.join-hero-actions .text-link{font-size:12px}.join-hero-actions .text-link>span{display:inline;font-size:10px}.join-location{font-size:8px;margin-top:22px}.recruitment-notice{width:min(400px,calc(100% + 16px));max-width:none;margin:0}.recruitment-notice figcaption{padding-block:10px;font-size:8px}.recruitment-notice figcaption a{font-size:7px}.values-intro h2{font-size:37px}.values-intro h2 br{display:block}.value-notes{grid-template-columns:1fr;gap:0}.value-notes article,.value-notes article:first-child{display:grid;grid-template-columns:35px 1fr;gap:0 13px;padding:21px 0;border-left:0;border-top:1px solid #dec39350}.value-number{grid-row:1/4;margin:0;font-size:25px}.value-notes h3{font-size:29px}.value-notes b{font-size:17px}.value-notes p{grid-column:2;font-size:12px;margin-top:9px}.value-notes p br{display:none}.crew-values>.join-wrap{padding-block:35px 16px;gap:24px}.roles-section{padding-block:43px}.roles-intro{display:block;margin-bottom:23px}.roles-intro h2{font-size:43px}.roles-intro .join-handwritten{font-size:24px}.roles-intro>p{margin-top:17px;font-size:12px}.team-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-bottom:18px}.team-filters button{justify-content:flex-start;padding:10px 11px;min-height:46px;font-size:13px}.team-filters button:first-child{grid-column:1/-1;justify-content:center;min-height:40px}.team-filters button small{font-size:8px}.role-results{font-size:9px;padding-top:15px;flex-wrap:wrap;gap:7px}.role-results>span{font-size:8px}.job-ledger{grid-template-columns:1fr}.job-card{padding-block:23px}.job-title-row{display:flex;gap:10px}.job-card h3{font-size:30px}.job-name-en{font-size:10px}.job-salary{text-align:right;padding-top:4px;font-size:16px}.job-salary small{display:block;margin-left:0;font-size:8px}.job-intro{font-size:13px}.job-summary{font-size:11px}.job-card summary{font-size:11px}.roles-source{font-size:9px;margin-top:21px}.roles-source span{font-size:9px}.hello-layout{grid-template-columns:1fr;padding-block:39px 45px;gap:30px}.hello-copy h2{font-size:clamp(32px,9.5vw,39px)}.hello-copy .join-handwritten{font-size:23px}.hello-copy>p:not([class]){font-size:12px}.hello-steps{display:flex;gap:14px;justify-content:space-between;margin:27px 0}.hello-steps li{display:block}.hello-steps li>span{font-size:24px}.hello-steps li>div{font-size:11px;margin-top:2px}.hello-steps small{font-size:7px}.hiring-phone{font-size:20px}.hello-note{rotate:0;padding:24px 21px 20px}.hello-note-heading>div{font-size:23px}.hello-note-heading small{font-size:8px}.hello-note-heading>span{display:block;font-size:23px}.hello-note label{display:flex;font-size:12px}.hello-note label span{margin:0;font-size:8px}.hello-note input:not([type="hidden"]),.hello-note select,.hello-note textarea{font-size:16px}.hello-note>.button>span{font-size:10px}.hello-form-help{font-size:9px}.join-faq{padding-block:42px;gap:26px}.join-faq h2{font-size:38px}.faq-questions summary{font-size:13px}.faq-questions summary>span{font-size:9px}.join-page .site-footer{padding-inline:23px}}
@media(max-width:360px){.join-wrap,.notice-hero{width:calc(100% - 36px)}.join-page .join-header{padding-inline:18px}.join-header .brand>img{width:140px}.join-home small{font-size:7px!important}.join-header .join-home{font-size:10px!important;gap:5px}.join-handwritten{font-size:20px}.join-hero-actions{gap:13px}.join-hero-actions .button{padding-inline:15px;font-size:12px}.join-hero-actions .button>span{font-size:9px}.join-hero-actions .text-link>span{display:none}.job-title-row{display:block}.job-salary{text-align:left;font-size:18px;margin-top:7px}.job-salary small{display:inline;margin-left:8px}.hello-note{padding-inline:17px}.hello-note-heading>div{font-size:21px}.hello-note label{display:block}.hello-note label span{display:block;margin-top:3px}}
@media(max-width:900px) and (min-width:601px){.notice-hero{grid-template-columns:1fr;gap:30px;width:min(620px,88%)}.notice-copy h1{width:100%;max-width:560px}.recruitment-notice{width:400px;max-width:100%}}
@media(max-width:360px){.recruitment-board-content{gap:1cqw}.board-welcome{gap:2cqw;margin-bottom:0}.board-mascot{width:10cqw;height:10.5cqw}.board-welcome p{font-size:14px;line-height:1.1}.board-welcome small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.notice-copy h1 img,.recruitment-notice,.job-card,.recruitment-board:has(a:hover) .board-mascot{animation:none}.join-reveal{opacity:1;translate:none;transition:none}.team-filters button,.job-card summary svg,.job-choose svg,.board-teams a,.board-invitation{transition:none}}
