/* Clear whites, dark structural elements and the original sky-blue accent. */
@font-face{font-family:ShindaiHero;src:url('assets/zen-hero-study-v7.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--ink:#142d3e;--paper:#fafbfc;--pale:#edf1f4;--muted:#64727c;--line:#d8e0e6;--blue:#41b5fa}
body{background:var(--paper)}
.proposal-bar{background:#edf1f4;color:#425564}
.site-header{background:#fff;border-color:var(--line);height:90px;padding-right:0}
.recruit-nav,.page-home .recruit-nav{background:var(--ink);color:white;border:0;border-radius:0;height:90px;min-width:170px;padding:0 28px;gap:28px;margin:0;align-self:stretch;transition:background .25s}
.recruit-nav>span:first-child{font-size:13px;font-weight:700;line-height:1.5;white-space:nowrap}
.recruit-nav small,.page-home .recruit-nav small{font-size:8px;font-weight:500;letter-spacing:.12em;margin-top:5px}
.recruit-nav>.arrow,.page-home .recruit-nav>.arrow{font-size:27px;color:var(--blue);transition:transform .25s}
.recruit-nav:hover,.page-home .recruit-nav:hover{background:#24495f;color:white}
.recruit-nav:hover>.arrow{transform:translate(3px,-3px)}
.page-home .site-header{height:90px;padding:0 28px;align-items:start}
.page-home .brand{border-radius:0;background:#fff;padding:21px 18px;height:90px;display:flex;align-items:center}
.page-home .recruit-nav{height:90px;min-width:170px;margin:0;padding:0 28px}
.scene-caption{top:50%;width:94%}
.scene-caption h1{font-family:ShindaiHero,Noto,sans-serif;font-weight:700;font-size:clamp(52px,6.4vw,100px);line-height:1.5;letter-spacing:.055em;font-feature-settings:'palt' 1;font-synthesis:none;text-shadow:0 2px 20px #081b2e45}
.scene-caption p{font-size:11px;font-weight:500;letter-spacing:.12em;margin-top:25px;text-shadow:0 1px 9px #081b2e}
.scene-shade{background:linear-gradient(180deg,#0b1f33a8,transparent 31%,#0b1f3330 49%,#0b1f3360 72%,#0b1f3394)}
.scene-enter{background:#fff;border-radius:0;padding:0 0 0 22px;min-height:52px;gap:28px;box-shadow:none;font-size:10px;letter-spacing:.05em}
.scene-enter>span:last-child{border-radius:0;width:52px;height:52px;background:var(--blue);font-size:22px}
.scene-enter:hover>span:last-child{transform:none;background:#9cdcff}
.scene-bench path:first-child{fill:var(--paper)}
.button{border-radius:0;min-height:64px;padding:20px 28px;font-size:13px;font-weight:650;letter-spacing:.04em}
.button .arrow{font-size:24px;color:var(--blue)}
.button.light{background:#fff;color:var(--ink)}
.button.light:hover{background:#e8f5fe}
.button.dark:hover{background:#24495f}
.section-label{padding-top:18px;border-top:1px solid var(--line);letter-spacing:.12em}
.section-label>span:first-child:before{height:2px;width:20px;vertical-align:middle}
.section-heading h2,.world-heading h2,.field-note h2,.trust .section-heading h2{font-weight:700;letter-spacing:.045em}
.world-about{background:var(--paper)}
.world-marker{background:#fff;border-color:var(--line);border-radius:0}
.world-marker b{color:#2784bb}
.fresh-business,.qualifications,.team-section,.brand-variations,.reference-note{background:var(--pale)}
.core-work-photo,.work-main-photo,.company-panorama,.job-feature>.photo,.job-pair .photo,.brand-application-grid .photo{border-radius:0}
.core-work-photo>.arrow{border-radius:0}
.core-number{border-radius:0}
.field-note{background:#e9eef2}
.field-note>div>p{color:var(--muted)}
.field-recruit{background:var(--ink);color:white}
.field-recruit-photo:after{background:linear-gradient(90deg,transparent 80%,#142d3e70)}
.field-recruit-content>.eyebrow{color:#9ebbcf}
.field-recruit-content>p:not(.eyebrow){color:#c5d2dc}
.field-recruit h2{font-size:40px;font-weight:700;letter-spacing:.08em}
.field-recruit .button{border:0;min-width:300px;min-height:68px;margin-top:32px;padding:21px 28px;background:#fff;color:var(--ink)}
.field-recruit .button:hover{background:#e8f5fe}
.field-photo-note{color:#a0b1be}
.work-trend{background:var(--pale);border-radius:0}
.work-trend>div:first-child>span,.work-trend>div+div>p,.work-trend .trend-note{color:var(--muted)}
.work-trend>div+div{border-color:#cad6df}
.trust-links .arrow,.qualification-list strong{color:#2382b8}
.qualifications h2{letter-spacing:.04em}
.qualification-list>div{border-color:#cbd6df}
.company-history{background:#eef2f5}
.history-grid>div{border-color:#b9cad6}
.history-grid strong{color:var(--ink)}
.recruit-anchor{background:#fff}
.career-photo-hero:after{background:linear-gradient(180deg,#142d3e08 20%,#142d3e10 40%,#142d3ec9 100%)}
.career-photo-copy{bottom:48px}
.career-photo-copy h1{font-size:40px;font-weight:700;letter-spacing:.09em;margin:18px 0 25px;text-shadow:0 2px 14px #142d3e60}
.career-photo-copy .button{min-width:285px;padding:21px 27px;min-height:64px;font-size:12px}
.career-photo-copy .button>.arrow{color:var(--ink);font-size:23px}
.entry-section{background:#eaf0f5}
.entry-section .button{max-width:390px}
.contact-band{background:var(--ink);color:white;border:0}
.contact-band .eyebrow{color:#9ebbcf}
.contact-band>div>p:not(.eyebrow){color:#c5d2dc}
.contact-band .button{border:0;background:#fff;color:var(--ink)}
.contact-band .button:hover{background:#e8f5fe}
.footer{background:#fff}
.preferred-reference{background:#e9f3fa;color:#36617b}
.brand-color-swatch{background:#edf3f7;border-radius:0}
.brand-variation-grid>div{border-radius:0}
.dialog{background:#fff}
.dialog::backdrop{background:#142d3ebd}

@media(max-width:1200px){.recruit-nav{min-width:155px;padding:0 23px}.page-home .recruit-nav{min-width:155px;padding:0 23px}.page-home .desktop-nav{gap:18px}}
@media(max-width:1050px){.site-header{height:82px}.recruit-nav,.page-home .recruit-nav{height:82px;min-width:150px;padding:0 22px}.page-home .site-header{height:82px;grid-template-columns:80px minmax(0,1fr) 150px}.page-home .brand{height:82px}.scene-caption h1{font-size:clamp(42px,6.4vw,68px)}.field-recruit h2{font-size:35px}.field-recruit .button{min-width:260px}}
@media(max-width:700px){
 .site-header{height:74px;padding:0 0 0 16px;gap:12px}
 .recruit-nav,.page-home .recruit-nav{height:74px;min-width:100px;padding:0 14px;gap:13px;flex-shrink:0}
 .recruit-nav>span:first-child{font-size:11px;line-height:1.4}
 .recruit-nav small,.page-home .recruit-nav small{font-size:6px;margin-top:4px}
 .recruit-nav>.arrow,.page-home .recruit-nav>.arrow{font-size:21px}
 .page-home .site-header{padding:0 12px;height:74px;grid-template-columns:80px minmax(0,1fr) 100px;gap:8px}
 .page-home .brand{padding:15px 12px;height:74px;width:100%;max-width:180px;justify-self:center}
 .page-home .recruit-nav{height:74px;min-width:100px;padding:0 13px;margin:0}
 .page-home .menu-toggle{margin-top:15px}
 .scene-caption{top:51%;width:calc(100% - 24px)}
 .scene-caption h1{font-size:clamp(27px,8.4vw,39px);line-height:1.65;letter-spacing:.025em}
 .scene-caption p{font-size:9px;line-height:2.1;letter-spacing:.08em;margin-top:21px}
 .scene-enter{bottom:132px;padding:0 0 0 19px;gap:22px;min-height:46px;font-size:9px}
 .scene-enter>span:last-child{width:46px;height:46px;font-size:20px}
 .scene-shade{background:linear-gradient(180deg,#0b1f338f,transparent 29%,#0b1f3330 50%,#0b1f3380 81%,#0b1f3399)}
 .scene-signature{top:104px}
 .button{min-height:62px;padding:20px 23px;font-size:11px}
 .section-label{padding-top:15px}
 .section-label>span:first-child:before{width:15px;height:2px}
 .field-recruit h2{font-size:31px}
 .field-recruit .button{min-width:0;width:100%;max-width:310px;min-height:64px;padding:20px 24px;margin-top:27px}
 .field-recruit-photo:after{background:linear-gradient(0deg,#142d3e40,transparent 50%)}
 .career-photo-copy{bottom:38px}
 .career-photo-copy h1{font-size:33px;margin:17px 0 24px}
 .career-photo-copy .button{width:270px;min-width:0;min-height:62px;padding:20px 23px;font-size:11px}
 .trust .section-heading h2{font-size:25px}
}
@media(max-width:370px){.page-home .site-header{grid-template-columns:64px minmax(0,1fr) 94px}.page-home .recruit-nav{min-width:94px;padding:0 11px}.scene-caption h1{font-size:clamp(27px,8.4vw,39px)}}

/* A clear technical plate with a separate legend. */
.world-canvas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px;max-width:1100px;margin:24px auto 28px}
.world-canvas>img{grid-column:1/-1;width:100%;max-width:1100px;margin:0 auto}
.world-canvas .world-marker{position:static;inset:auto;display:flex;justify-content:center;align-items:center;gap:12px;padding:15px 18px;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent;font-size:12px;white-space:nowrap}
.world-canvas .world-marker+.world-marker{border-left:1px solid var(--line)}
.world-canvas .world-marker b{font-size:20px;color:#2784bb}
.world-canvas .world-marker:before,.world-canvas .world-marker:after{display:none}
@media(max-width:700px){.world-canvas{width:100%;margin:20px auto 24px;row-gap:9px}.world-canvas>img{width:calc(100% + 24px);max-width:none;justify-self:center}.world-canvas .world-marker{font-size:9px;gap:6px;padding:12px 5px}.world-canvas .world-marker b{font-size:16px}}
