.work-hero{position:relative;min-height:620px;display:grid;align-items:center;color:#fff;background:#071a38;overflow:hidden}.work-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.work-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,48,.96),rgba(4,20,48,.55),rgba(4,20,48,.28))}.work-hero .container{position:relative;z-index:2}.work-hero h1{max-width:760px;font-family:Georgia,serif;font-size:clamp(2.8rem,5.7vw,5rem);line-height:1.05;margin:.2em 0}.work-hero p{max-width:690px;font-size:1.08rem}.work-badges{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.work-badges span{padding:7px 11px;border:1px solid rgba(255,255,255,.45);border-radius:99px}.work-section{padding:80px 0}.work-section.alt{background:#f3f6f8}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.work-card{padding:27px;border:1px solid #dbe2e9;border-radius:14px;background:#fff}.work-card h2,.work-section h2{font-family:Georgia,serif}.work-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:step}.work-steps li{list-style:none;padding:20px;background:#fff;border-top:4px solid #c72e39}.work-steps li::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#071a38;color:#fff;font-weight:800}.official-note{padding:22px;border-left:5px solid #c72e39;background:#fff8e8}.official-links{display:grid;gap:10px}.official-links a{display:block;padding:13px;border:1px solid #dbe2e9;background:#fff}.work-registration{padding:65px 0;background:#f3f6f8;min-height:100vh}@media(max-width:800px){.work-grid,.work-steps{grid-template-columns:1fr}.work-hero{min-height:580px}}

/* Matching Job Tokutei Ginou */
.matching-hero::after{background:linear-gradient(90deg,rgba(5,14,31,.98),rgba(8,34,68,.72),rgba(8,34,68,.25))}.hero-microcopy{font-size:.92rem;color:#d8e5ef;margin-top:10px}.section-heading{max-width:780px;margin-bottom:28px}.section-heading.compact{max-width:650px}.job-section{background:linear-gradient(180deg,#fff 0,#f7f9fb 100%)}.job-list{display:grid;gap:24px}.job-card{overflow:hidden;border:1px solid #dbe2e9;border-radius:22px;background:#fff;box-shadow:0 18px 46px rgba(7,26,56,.09)}.job-topline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 24px;background:#071a38;color:#dce8f2;font-size:.86rem;font-weight:800}.job-status{display:inline-flex;align-items:center;gap:7px;color:#fff}.job-status::before{content:"";width:9px;height:9px;border-radius:50%;background:#26c36a;box-shadow:0 0 0 5px rgba(38,195,106,.16)}.job-main{display:grid;grid-template-columns:1fr 300px;gap:28px;padding:30px}.job-main h3{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.5rem);margin:.1em 0}.job-company{font-weight:850;color:#071a38}.job-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.job-meta span{border:1px solid #dbe2e9;border-radius:999px;padding:8px 12px;background:#f7f9fb;font-size:.9rem;font-weight:750}.salary-box{align-self:start;padding:22px;border-radius:18px;background:#fff8e8;border:1px solid #ead3a3}.salary-box p{margin:0;color:#5d6975;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.salary-box strong{display:block;margin:3px 0 13px;color:#c72532;font-size:1.35rem}.salary-box small{display:block;color:#5d6975}.requirement-panel{margin:0 30px 30px;padding:24px;border-radius:18px;background:#f4f7f9}.requirement-panel h4{margin:0 0 10px;font-size:1.08rem}.job-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:0 30px 30px}.text-link-inline{font-weight:850;color:#071a38;text-decoration:none}.matching-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;list-style:none;padding:0;margin:0;counter-reset:matching}.matching-steps li{padding:22px;border-radius:16px;background:#fff;border:1px solid #dbe2e9;box-shadow:0 12px 30px rgba(7,26,56,.06)}.matching-steps span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#c72532;color:#fff;font-weight:900;margin-bottom:14px}.matching-steps strong{display:block;color:#071a38}.matching-steps p{font-size:.92rem;color:#5d6975}.support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.support-grid article{padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08)}.support-grid strong{display:block;color:#fff}.support-grid p{color:#dce8f2}.registration-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form-note{padding:14px 16px;border-radius:12px;background:#fff8e8;border:1px solid #ead3a3;color:#614915;font-weight:700}@media(max-width:900px){.job-main{grid-template-columns:1fr}.matching-steps{grid-template-columns:1fr 1fr}.support-grid{grid-template-columns:1fr}}@media(max-width:560px){.job-main,.requirement-panel,.job-actions{padding:20px;margin:0}.requirement-panel{border-radius:0}.job-actions{padding-top:20px}.job-topline{padding:13px 18px}.matching-steps{grid-template-columns:1fr}.registration-nav{font-size:.9rem}}

/* Program sync additions */
.course-hero::after{background:linear-gradient(90deg,rgba(5,14,31,.96),rgba(13,54,91,.68),rgba(13,54,91,.25))}.job-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.matching-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;padding:0;margin:0}.matching-flow li{padding:22px;border-radius:16px;background:#fff;border:1px solid #dbe2e9;box-shadow:0 12px 30px rgba(7,26,56,.06)}.matching-flow span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#c72532;color:#fff;font-weight:900;margin-bottom:14px}.matching-flow strong{display:block;color:#071a38}.matching-flow small{display:block;color:#5d6975;margin-top:7px;line-height:1.5}@media(max-width:900px){.job-card-grid,.matching-flow{grid-template-columns:1fr 1fr}}@media(max-width:560px){.job-card-grid,.matching-flow{grid-template-columns:1fr}}

/* Patch 20260626: course choices + public job sync */
.course-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.course-choice-card{position:relative;overflow:hidden}.course-choice-card h3{font-size:1.65rem}.course-choice-badge{display:inline-flex;width:max-content;border-radius:999px;background:#071a38;color:#fff;padding:6px 12px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.featured-choice{border-color:#c72532;box-shadow:0 18px 46px rgba(199,37,50,.12)}.job-detail-more{margin-top:16px;padding:14px 16px;border:1px solid #dbe2e9;border-radius:12px;background:#fff}.job-detail-more summary{cursor:pointer;font-weight:850;color:#071a38}.job-detail-more p{margin:12px 0 0;color:#5d6975}.salary-box small+small{margin-top:6px}.work-card,.job-card,.salary-box{min-width:0}@media(max-width:760px){.course-choice-grid{grid-template-columns:1fr}.course-choice-card .btn{width:100%}.work-hero h1{font-size:clamp(2.3rem,13vw,3.5rem)}}

/* Public job sync */
.selected-job-panel{margin:22px 0;padding:18px;border:1px solid rgba(148,163,184,.32);border-radius:20px;background:linear-gradient(135deg,#fff7ed,#ffffff);box-shadow:0 18px 42px rgba(15,23,42,.08)}
.selected-job-panel h2{margin:8px 0 6px;font-size:clamp(1.2rem,3vw,1.6rem);color:#0f172a}.selected-job-panel p{margin:0 0 12px;color:#475569}.selected-job-panel .job-meta{display:flex;flex-wrap:wrap;gap:8px}.selected-job-panel .job-meta span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid rgba(148,163,184,.32);font-size:.86rem;font-weight:800;color:#334155}
