/* Open employment catalogue, copied from the company mini program. */
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}.contact-details .base-location{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;margin:0;padding:32px;gap:28px}.contact-details .base-location h3{font-size:1.375rem;line-height:1.6}.contact-details address{font-size:1.0625rem;line-height:1.9;color:var(--ink)}.wechat-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border:1px solid var(--line);border-radius:14px;background:#fff}.wechat-contact .section-label{margin-bottom:16px}.wechat-contact h3{font-size:1.125rem;margin-bottom:12px}.wechat-contact p{font-size:.875rem;margin:0}.wechat-contact .wechat-help{font-size:.8125rem;margin-top:14px;color:var(--muted)}.wechat-qr{display:block;padding:0;border:0;background:white;width:210px;max-width:50%;flex-shrink:0}.wechat-qr img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:1000px){.contact-details{grid-template-columns:1fr}.wechat-contact{justify-content:flex-start;gap:44px}.wechat-qr{max-width:45%}}
@media(max-width:700px){.contact-details{margin-top:28px;gap:18px}.contact-details .base-location{padding:25px 22px;gap:0}.contact-details .base-location h3{font-size:1.1875rem}.contact-details address{font-size:1rem}.wechat-contact{padding:22px;gap:18px;flex-wrap:wrap}.wechat-contact h3{font-size:1.0625rem}.wechat-qr{width:220px;max-width:100%}}
.employment-section{background:#fff}.employment-navigation{display:flex;flex-wrap:wrap;gap:10px 24px;padding:0 0 32px;border-bottom:1px solid var(--line)}.employment-navigation a{font-size:.875rem;line-height:1.6;padding:8px 0;border-bottom:1px solid var(--line);color:var(--muted)}.employment-group{padding:48px 0 12px;scroll-margin-top:160px}.employment-group-title{display:flex;align-items:baseline;gap:20px;margin-bottom:28px}.employment-group-title>span{color:var(--accent);font-size:.875rem;font-variant-numeric:tabular-nums}.employment-group-title h3{font-size:1.65rem;font-weight:500}.employment-group-title p{font-size:.8125rem;margin:0;color:var(--muted)}.employment-job{padding:30px 0;border-top:1px solid var(--line)}.employment-job h4{margin:0 0 24px;font-size:1.125rem;line-height:1.6;font-weight:500}.employment-job-body{display:grid;grid-template-columns:360px minmax(0,1fr);gap:40px;align-items:start}.employment-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.employment-images img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--light);border-radius:6px}.employment-copy p{font-size:1rem;line-height:1.95;overflow-wrap:anywhere;margin:0}.employment-copy p+p{margin-top:18px}.employment-copy br{display:block;content:'';margin-top:14px}.employment-run.is-bold{font-weight:600}.employment-run.tone-blue{color:#1965a8}.employment-run.tone-red{color:#a83d2e}.employment-treatment{padding-top:18px;border-top:1px solid var(--line)}.base-location{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:48px;padding:36px 40px;border:1px solid var(--line);border-radius:14px;background:var(--light)}.base-location .section-label{margin-bottom:16px}.base-location h3{font-size:1.65rem;margin-bottom:20px}.base-location address{font-style:normal;font-size:1rem;line-height:1.8;color:var(--muted)}.base-location address strong{font-size:1.25rem;font-weight:500;color:var(--ink)}.base-location p{font-size:.875rem;margin:13px 0 0}.base-location .button{flex-shrink:0}
@media(hover:hover) and (pointer:fine){.employment-navigation a:hover{color:var(--accent);border-color:var(--accent)}}
@media(max-width:1000px){.employment-job-body{grid-template-columns:300px minmax(0,1fr);gap:28px}.base-location{padding:30px}.base-location h3{font-size:1.4rem}}
@media(max-width:700px){.employment-navigation{gap:6px 18px;padding-bottom:24px}.employment-navigation a{font-size:.8125rem}.employment-group{padding-top:34px;scroll-margin-top:220px}.employment-group-title{gap:12px;flex-wrap:wrap;margin-bottom:20px}.employment-group-title h3{font-size:1.35rem}.employment-group-title p{width:100%;margin-left:30px}.employment-job{padding:24px 0}.employment-job h4{font-size:1.0625rem;margin-bottom:18px}.employment-job-body{grid-template-columns:1fr;gap:23px}.employment-images{max-width:430px;gap:12px}.employment-copy p{font-size:1rem;line-height:1.9}.base-location{display:block;padding:25px 22px;margin-top:32px}.base-location .button{margin-top:25px;font-size:.875rem;gap:20px}.base-location h3{font-size:1.25rem}.base-location address{font-size:.9375rem}.base-location address strong{font-size:1.125rem}}
.contact-details{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:stretch}.contact-details .base-location{display:block;padding:0;overflow:hidden;min-width:0;background:#fff}.location-heading{padding:24px 28px 18px}.contact-details .base-location h3{margin:0;font-size:1.25rem}.location-heading .section-label{margin-bottom:8px}.location-map{position:relative;background:#e5eef1}.location-map>img{display:block;width:100%;height:auto;aspect-ratio:835/600;object-fit:contain}.map-credit{position:absolute;bottom:8px;left:10px;padding:3px 7px;font-size:.75rem;color:#35434d;background:rgba(255,255,255,.9);border-radius:3px}.base-location figcaption{padding:20px 28px 24px}.address-label{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:6px}.wechat-contact{flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px 24px}.wechat-qr{width:260px;max-width:100%}.wechat-help{margin-bottom:0}.contact-details address{color:var(--ink);font-size:1rem}
@media(max-width:1000px){.contact-details{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.wechat-contact{gap:24px;padding:26px 20px}.wechat-qr{max-width:100%}}
@media(max-width:700px){.contact-details{grid-template-columns:1fr}.location-heading{padding:22px 20px 16px}.contact-details .base-location h3{font-size:1.0625rem}.base-location figcaption{padding:18px 20px 22px}.wechat-contact{padding:30px 22px;gap:20px}.wechat-qr{width:250px}}
/* Full-width, image-first employment catalogue; all source text stays visible. */
.employment-section>.wrap{width:calc(100% - 80px);max-width:none}.employment-section .section-head{margin-bottom:24px}.employment-navigation{padding-bottom:20px;gap:4px 22px}.employment-catalogue{columns:3;column-gap:28px;margin-top:30px}.employment-catalogue .employment-job{display:inline-block;vertical-align:top;break-inside:avoid;width:100%;padding:0;margin:0 0 28px;border:1px solid var(--line);border-radius:10px;overflow:hidden;scroll-margin-top:160px;background:#fff}.employment-catalogue .employment-images{max-width:none;gap:2px;grid-template-columns:1fr 1fr}.employment-catalogue .employment-images img{border-radius:0}.employment-catalogue .employment-copy{padding:22px}.employment-catalogue .employment-category{font-size:.875rem;line-height:1.5;color:var(--accent);margin:0 0 10px}.employment-catalogue h3{font-size:1.1875rem;line-height:1.55;font-weight:600;margin:0 0 16px}.employment-catalogue .employment-copy p:not(.employment-category){font-size:1rem;line-height:1.7}.employment-catalogue .employment-copy p+p{margin-top:14px}.employment-catalogue .employment-copy br{margin-top:9px}.employment-catalogue .employment-treatment{padding-top:14px}.course-price{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-top:20px;font-size:.875rem;color:var(--muted)}.course-price strong{font-size:2rem;line-height:1.2;font-weight:500;color:#fff;font-variant-numeric:tabular-nums}.course-offer{display:inline-flex;gap:18px;align-items:center;margin-top:16px;font-size:.9375rem;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:5px}.course-list article{align-items:start}.contact-section .section-head+.contact-details{margin-top:0}
@media(min-width:1800px){.employment-catalogue{columns:4}}
@media(max-width:1050px){.employment-section>.wrap{width:calc(100% - 48px)}.employment-catalogue{columns:2;column-gap:22px}.employment-catalogue .employment-job{margin-bottom:22px}.employment-catalogue .employment-copy{padding:20px}}
@media(max-width:700px){.employment-section>.wrap{width:calc(100% - 32px)}.employment-catalogue{columns:1;margin-top:24px}.employment-catalogue .employment-job{scroll-margin-top:230px}.employment-catalogue .employment-copy{padding:20px}.employment-catalogue .employment-images img{aspect-ratio:4/3}.course-price strong{font-size:1.75rem}.employment-navigation{gap:3px 18px}}
.course-list a.course-offer{display:inline-flex;width:auto;height:auto;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;white-space:nowrap;line-height:1.7}
